From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 517821A1DEF for ; Fri, 30 Sep 2016 05:22:21 -0700 (PDT) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP; 30 Sep 2016 05:22:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,272,1473145200"; d="scan'208";a="1064437575" Received: from gchen32-mobl.ccr.corp.intel.com (HELO jyao1-MOBL.ccr.corp.intel.com) ([10.254.214.75]) by fmsmga002.fm.intel.com with ESMTP; 30 Sep 2016 05:22:18 -0700 From: Jiewen Yao To: edk2-devel@lists.01.org Cc: Feng Tian , Star Zeng , Michael D Kinney , Liming Gao , Chao Zhang , Jeff Fan Date: Fri, 30 Sep 2016 20:21:18 +0800 Message-Id: <1475238128-22448-1-git-send-email-jiewen.yao@intel.com> X-Mailer: git-send-email 2.7.4.windows.1 Subject: [PATCH V2 00/50] Add capsule update and recovery sample. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 12:22:21 -0000 ==Below is V2 description== The V2 series patch incorporated the feedback for V1. There are 3 major updates. 1) BDS is update to display a warning message if TEST key is used to sign recovery image or capsule image. So a production BIOS should always use its own production singing key for the capsule image generation. A production BIOS should never use test key. 2) IniParsingLib is enhanced to do more sanity check for invalid input. The detail data format is added in IniParsingLib.h header file. If there is any vialation, the OpenInitFile() API will return failure. 3) The *Bios* keyword is renamed to *SystemFirmware* in any header file or c file data structure definition. The rest is minor update, such as add help info, clean up debug message, coding style. ==Below is V1 description== This series patch provides sample on how to do signed capsule update and recovery in EDKII. This series patch is also checked into git@github.com:jyao1/edk2.git. The feature includes: 1) Define EDKII signed system BIOS capsule format. 2) Provide EDKII signed system BIOS update sample. 3) Provide EDKII signed recovery sample. 4) Provide Microcode update sample for X86 system. 5) Update Quark to use new capsule/recovery solution. 6) Update Vlv2(MinnowMax) to use new capsule/recovery solution. The signed capsule/recovery solution is in MdeModulePkg. The capsule in IntelFrameworkModulePkg is deprecated. The Microcode update solution is in UefiCpuPkg. Cc: Feng Tian Cc: Star Zeng Cc: Michael D Kinney Cc: Liming Gao Cc: Chao Zhang Cc: Jeff Fan Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao Jiewen Yao (50): MdeModulePkg/Include: Add EDKII system FMP capsule header. MdeModulePkg/Include: Add EdkiiSystemCapsuleLib definition. MdeModulePkg/Include: Add FmpAuthenticationLib header. MdeModulePkg/Include: Add IniParsingLib header. MdeModulePkg/Include: Add PlatformFlashAccessLib header. MdeModulePkg/CapsuleLib: Add ProcessCapsules() API. MdeModulePkg/MdeModulePkg.dec: Add capsule related definition. MdeModulePkg/IniParsingLib: Add InitParsingLib instance. MdeModulePkg/FmpAuthenticationLib: Add FmpAuthenticationLib instance. MdeModulePkg/DxeCapsuleLibFmp: Add DxeCapsuleLibFmp instance. MdeModulePkg/DxeCapsuleLibNull: Add ProcessCapsules() interface. MdeModulePkg/EdkiiSystemCapsuleLib: Add EdkiiSystemCapsuleLib instance. MdeModulePkg/PlatformFlashAccessLib: Add NULL PlatformFlashAccessLib. MdeModulePkg/Esrt: Add ESRT_FW_TYPE_SYSTEMFIRMWARE check. MdeModulePkg/SystemFirmwareUpdate: Add SystemFirmwareUpdate. MdeModulePkg/RecoveryModuleLoadPei: Add RecoveryModuleLoadPei. MdeModulePkg/CapsuleApp: Add CapsuleApp application. MdeModulePkg/MdeModulePkg.dsc: Add capsule related component. IntelFrameworkModulePkg/DxeCapsuleLib: Add ProcessCapsules() interface. SecurityPkg/SecurityPkg.dec: Add PcdPkcs7CertBuffer PCD. SecurityPkg/FmpAuthenticationPkcs7Lib: Add PKCS7 NULL class for FMP. SecurityPkg/FmpAuthenticationRsa2048Sha256Lib: Add NULL class for FMP. SecurityPkg/SecurityPkg.dsc: Add FmpAuthentication*Lib. BaseTool/Pkcs7: Add TestRoot.cer. UefiCpuPkg/Include: Add Microcode FMP definition. UefiCpuPkg/Include: Add MicrocodeFlashAccessLib header. UefiCpuPkg/UefiCpuPkg.dec: Add Microcode capsule related definition. UefiCpuPkg/MicrocodeUpdate: Add MicrocodeUpdate component. UefiCpuPkg/MicrocodeFlashAccessLib: Add NULL MicrocodeFlashAccessLib. UefiCpuPkg/MicrocodeCapsuleApp: Add MicrocodeCapsuleApp application. UefiCpuPkg/UefiCpuPkg.dsc: Add MicrocodeCapsule related component. QuarkPlatformPkg/dec: Add test key file guid. QuarkPlatformPkg/PlatformFlashAccessLib: Add instance for capsule update. QuarkPlatformPkg/SystemFirmwareDescriptor: Add Descriptor for capsule update. QuarkPlatformPkg/SystemFirmwareUpdateConfig: Add capsule config file. QuarkPlatformPkg/PlatformInit: Remove recovery PPI installation. QuarkPlatformPkg/PlatformBootManager: Add capsule/recovery handling. QuarkPlatformPkg/dsc/fdf: Add capsule/recovery support. QuarkPlatformPkg/dsc/fdf: add capsule generation DSC/FDF. QuarkPlatformPkg/Readme: add capsule/recovery related content. Vlv2TbltDevicePkg/dec: Add test key file guid. Vlv2TbltDevicePkg/PlatformFlashAccessLib: Add instance for capsule update. Vlv2TbltDevicePkg/SystemFirmwareDescriptor: Add Descriptor for capsule update. Vlv2TbltDevicePkg/SystemFirmwareUpdateConfig: Add capsule config file. Vlv2TbltDevicePkg/FlashDeviceLib: Add DXE flash device lib. Vlv2TbltDevicePkg/PlatformBootManager: Add capsule/recovery handling. Vlv2TbltDevicePkg/dsc/fdf: Add capsule/recovery support. Vlv2TbltDevicePkg/dsc/fdf: add capsule generation DSC/FDF. Vlv2TbltDevicePkg/bat: add capsule generation in bat. Vlv2TbltDevicePkg/Build: Add capsule/recovery in help info. BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer | Bin 0 -> 756 bytes IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.c | 39 +- MdeModulePkg/Application/CapsuleApp/AppSupport.c | 480 ++++++ MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 875 +++++++++++ MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf | 71 + MdeModulePkg/Application/CapsuleApp/CapsuleApp.uni | 22 + MdeModulePkg/Application/CapsuleApp/CapsuleAppExtra.uni | 19 + MdeModulePkg/Application/CapsuleApp/CapsuleDump.c | 840 +++++++++++ MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h | 110 ++ MdeModulePkg/Include/Library/CapsuleLib.h | 45 +- MdeModulePkg/Include/Library/EdkiiSystemCapsuleLib.h | 154 ++ MdeModulePkg/Include/Library/FmpAuthenticationLib.h | 91 ++ MdeModulePkg/Include/Library/IniParsingLib.h | 166 +++ MdeModulePkg/Include/Library/PlatformFlashAccessLib.h | 59 + MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 1543 ++++++++++++++++++++ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | 82 ++ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.uni | 22 + MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleProcessLib.c | 517 +++++++ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c | 447 ++++++ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c | 112 ++ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | 85 ++ MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.uni | 22 + MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.c | 47 +- MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.c | 616 ++++++++ MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf | 55 + MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.uni | 22 + MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.c | 277 ++++ MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.inf | 47 + MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.uni | 22 + MdeModulePkg/Library/IniParsingLib/IniParsingLib.c | 1424 ++++++++++++++++++ MdeModulePkg/Library/IniParsingLib/IniParsingLib.inf | 42 + MdeModulePkg/Library/IniParsingLib/IniParsingLib.uni | 22 + MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.c | 54 + MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.inf | 40 + MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.uni | 21 + MdeModulePkg/MdeModulePkg.dec | 106 ++ MdeModulePkg/MdeModulePkg.dsc | 24 + MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf | 3 +- MdeModulePkg/Universal/EsrtDxe/EsrtImpl.c | 37 +- MdeModulePkg/Universal/RecoveryModuleLoadPei/ParseConfigProfile.c | 176 +++ MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c | 748 ++++++++++ MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.h | 44 + MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf | 69 + MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.uni | 21 + MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPeiExtra.uni | 20 + MdeModulePkg/Universal/SystemFirmwareUpdate/ParseConfigProfile.c | 244 ++++ MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareDxe.h | 393 +++++ MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainDxe.c | 484 ++++++ MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainSetImage.c | 465 ++++++ MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainSetImageDummy.c | 90 ++ MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf | 66 + MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.uni | 21 + MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxeExtra.uni | 20 + MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf | 70 + MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.uni | 21 + MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxeExtra.uni | 20 + QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLibDxe.c | 200 +++ QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLibDxe.inf | 52 + QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFlashDevice.c | 336 +++++ QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFlashDevice.h | 186 +++ QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc | 89 ++ QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf | 45 + QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptorPei.c | 66 + QuarkPlatformPkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini | 62 + QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager.c | 129 +- QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager.h | 9 +- QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf | 15 +- QuarkPlatformPkg/Platform/Pei/PlatformInit/MemoryCallback.c | 3 +- QuarkPlatformPkg/Quark.dsc | 61 +- QuarkPlatformPkg/Quark.fdf | 67 + QuarkPlatformPkg/QuarkCapsule.dsc | 44 + QuarkPlatformPkg/QuarkCapsule.fdf | 82 ++ QuarkPlatformPkg/QuarkMin.dsc | 7 +- QuarkPlatformPkg/QuarkPlatformPkg.dec | 3 + QuarkPlatformPkg/Readme.md | 17 + SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Lib.c | 147 ++ SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Lib.inf | 52 + SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Lib.uni | 26 + SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticationRsa2048Sha256Lib.c | 289 ++++ SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticationRsa2048Sha256Lib.inf | 53 + SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticationRsa2048Sha256Lib.uni | 26 + SecurityPkg/SecurityPkg.dec | 8 +- SecurityPkg/SecurityPkg.dsc | 3 + UefiCpuPkg/Application/MicrocodeCapsuleApp/AppSupport.c | 480 ++++++ UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.c | 283 ++++ UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.inf | 62 + UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.uni | 22 + UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleAppExtra.uni | 19 + UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleDump.c | 171 +++ UefiCpuPkg/Include/Guid/MicrocodeFmp.h | 21 + UefiCpuPkg/Include/Library/MicrocodeFlashAccessLib.h | 39 + UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.c | 42 + UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.inf | 40 + UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.uni | 21 + UefiCpuPkg/MicrocodeUpdate/MicrocodeFmp.c | 537 +++++++ UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.c | 779 ++++++++++ UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.h | 403 +++++ UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf | 68 + UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdateDxe.uni | 21 + UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdateDxeExtra.uni | 20 + UefiCpuPkg/UefiCpuPkg.dec | 7 + UefiCpuPkg/UefiCpuPkg.dsc | 3 + Vlv2TbltDevicePkg/Build_IFWI.bat | 5 + Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.c | 193 +++ Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf | 47 + Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc | 89 ++ Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf | 45 + Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptorPei.c | 66 + Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini | 72 + Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfigGcc.ini | 72 + Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLib.c | 156 +- Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLib.inf | 8 +- Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLibDxe.c | 62 + Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLibDxe.inf | 49 + Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLibDxeRuntimeSmm.c | 188 +++ Vlv2TbltDevicePkg/Library/FlashDeviceLib/SpiChipDefinitions.h | 5 +- Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c | 179 ++- Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf | 6 + Vlv2TbltDevicePkg/PlatformCapsule.dsc | 44 + Vlv2TbltDevicePkg/PlatformCapsule.fdf | 81 + Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf | 81 + Vlv2TbltDevicePkg/PlatformPkg.dec | 3 + Vlv2TbltDevicePkg/PlatformPkg.fdf | 146 +- Vlv2TbltDevicePkg/PlatformPkgConfig.dsc | 3 +- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 146 +- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 70 +- Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 70 +- Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 70 +- Vlv2TbltDevicePkg/bld_vlv.bat | 9 +- 129 files changed, 18331 insertions(+), 381 deletions(-) create mode 100644 BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer create mode 100644 MdeModulePkg/Application/CapsuleApp/AppSupport.c create mode 100644 MdeModulePkg/Application/CapsuleApp/CapsuleApp.c create mode 100644 MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf create mode 100644 MdeModulePkg/Application/CapsuleApp/CapsuleApp.uni create mode 100644 MdeModulePkg/Application/CapsuleApp/CapsuleAppExtra.uni create mode 100644 MdeModulePkg/Application/CapsuleApp/CapsuleDump.c create mode 100644 MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h create mode 100644 MdeModulePkg/Include/Library/EdkiiSystemCapsuleLib.h create mode 100644 MdeModulePkg/Include/Library/FmpAuthenticationLib.h create mode 100644 MdeModulePkg/Include/Library/IniParsingLib.h create mode 100644 MdeModulePkg/Include/Library/PlatformFlashAccessLib.h create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.uni create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleProcessLib.c create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf create mode 100644 MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.uni create mode 100644 MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.c create mode 100644 MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf create mode 100644 MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.uni create mode 100644 MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.c create mode 100644 MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.inf create mode 100644 MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.uni create mode 100644 MdeModulePkg/Library/IniParsingLib/IniParsingLib.c create mode 100644 MdeModulePkg/Library/IniParsingLib/IniParsingLib.inf create mode 100644 MdeModulePkg/Library/IniParsingLib/IniParsingLib.uni create mode 100644 MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.c create mode 100644 MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.inf create mode 100644 MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.uni create mode 100644 MdeModulePkg/Universal/RecoveryModuleLoadPei/ParseConfigProfile.c create mode 100644 MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c create mode 100644 MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.h create mode 100644 MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf create mode 100644 MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.uni create mode 100644 MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPeiExtra.uni create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/ParseConfigProfile.c create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareDxe.h create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainDxe.c create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainSetImage.c create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainSetImageDummy.c create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.uni create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxeExtra.uni create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.uni create mode 100644 MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxeExtra.uni create mode 100644 QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLibDxe.c create mode 100644 QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLibDxe.inf create mode 100644 QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFlashDevice.c create mode 100644 QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFlashDevice.h create mode 100644 QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc create mode 100644 QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf create mode 100644 QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptorPei.c create mode 100644 QuarkPlatformPkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini create mode 100644 QuarkPlatformPkg/QuarkCapsule.dsc create mode 100644 QuarkPlatformPkg/QuarkCapsule.fdf create mode 100644 SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Lib.c create mode 100644 SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Lib.inf create mode 100644 SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Lib.uni create mode 100644 SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticationRsa2048Sha256Lib.c create mode 100644 SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticationRsa2048Sha256Lib.inf create mode 100644 SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticationRsa2048Sha256Lib.uni create mode 100644 UefiCpuPkg/Application/MicrocodeCapsuleApp/AppSupport.c create mode 100644 UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.c create mode 100644 UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.inf create mode 100644 UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleApp.uni create mode 100644 UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleAppExtra.uni create mode 100644 UefiCpuPkg/Application/MicrocodeCapsuleApp/MicrocodeCapsuleDump.c create mode 100644 UefiCpuPkg/Include/Guid/MicrocodeFmp.h create mode 100644 UefiCpuPkg/Include/Library/MicrocodeFlashAccessLib.h create mode 100644 UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.c create mode 100644 UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.inf create mode 100644 UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.uni create mode 100644 UefiCpuPkg/MicrocodeUpdate/MicrocodeFmp.c create mode 100644 UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.c create mode 100644 UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.h create mode 100644 UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdate.inf create mode 100644 UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdateDxe.uni create mode 100644 UefiCpuPkg/MicrocodeUpdate/MicrocodeUpdateDxeExtra.uni create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.c create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptorPei.c create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfigGcc.ini create mode 100644 Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLibDxe.c create mode 100644 Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLibDxe.inf create mode 100644 Vlv2TbltDevicePkg/Library/FlashDeviceLib/FlashDeviceLibDxeRuntimeSmm.c create mode 100644 Vlv2TbltDevicePkg/PlatformCapsule.dsc create mode 100644 Vlv2TbltDevicePkg/PlatformCapsule.fdf create mode 100644 Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf -- 2.7.4.windows.1