From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on071d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe4a::71d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8D01B1A1E3B for ; Mon, 10 Oct 2016 14:22:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=SOpdWPEyiF0yRb2wiNteeqoe6oNiFjjnS9k3UF8yZMs=; b=CcSpXeQSAfFfdUwpDWcLdL/J6a9qTSvGuSF8N3bGkaMkOrMImV91tBn7L8kO0pIl2snMUEvqaKDzy9CVW2aT+ONa99FkI+yo9OmmXCCv3qe7Jr2HOYPMWcDI4YNi77fCwrOez04vTb5DsG98eiizAJTSDLc68ExUg10dn3H0UuE= Received: from BY1PR03MB1355.namprd03.prod.outlook.com (10.162.109.25) by BY1PR03MB1356.namprd03.prod.outlook.com (10.162.109.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Mon, 10 Oct 2016 21:22:14 +0000 Received: from BY1PR03MB1355.namprd03.prod.outlook.com ([10.162.109.25]) by BY1PR03MB1355.namprd03.prod.outlook.com ([10.162.109.25]) with mapi id 15.01.0659.018; Mon, 10 Oct 2016 21:22:14 +0000 From: Sean Brogan To: "Yao, Jiewen" , "edk2-devel@lists.01.org" , "Kinney, Michael D" Thread-Topic: [edk2] [PATCH V2 00/50] Add capsule update and recovery sample. Thread-Index: AQHSGxVQdU6/6mmGmk67hRlzbrPYIqCR9zGAgBA/RKA= Date: Mon, 10 Oct 2016 21:22:14 +0000 Message-ID: References: <1475238128-22448-1-git-send-email-jiewen.yao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503869BC66@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503869BC66@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=sean.brogan@microsoft.com; x-originating-ip: [2001:4898:80e8:4::4c0] x-ms-office365-filtering-correlation-id: 1d532253-a2be-4e5d-3116-08d3f15381a3 x-microsoft-exchange-diagnostics: 1; BY1PR03MB1356; 7:WE4VkFReqC5cqCE2HoUL+1Ojc5CNrIKZFZr8yo1IVxbhZqjSEHUfHjzCEfH15nAbjZrMHYQ1TER15NiXp1VcXBjpvN9D4KYpyZk+7LBGI3Cp8nCNAC5+YAWTqtYru94XPUUYRmm8cjQmw8UWr1RJrG3/R3K1autrkd/6BLvVD7ltxaKjhGm0OtbS5cnzT8RIDWUSZdrTKxEZ4xpjHRTyPHg8vnkSrz9VCZJUXDRsxVQQ0/N59t+vfLRnL0T06r6TN06mqWiIeajOJk8HtmorD86zT1f0n2M4aukEt13PJKy6EVgVW48I3dWJQk90rQFE9P0PDqTwVUc2ToPepFJyJIccREWMC4uNZ0BUp07CR43x0cYu5AGyoaqTqftNlzzk x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1356; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(166708455590820)(111885846020525)(162533806227266)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425038)(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(61426038)(61427038); SRVR:BY1PR03MB1356; BCL:0; PCL:0; RULEID:; SRVR:BY1PR03MB1356; x-forefront-prvs: 0091C8F1EB x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(199003)(189002)(13464003)(377454003)(9686002)(92566002)(2900100001)(77096005)(106116001)(50986999)(106356001)(8990500004)(5001770100001)(2906002)(102836003)(15650500001)(3660700001)(68736007)(10290500002)(10400500002)(189998001)(5005710100001)(99286002)(101416001)(107886002)(3280700002)(15975445007)(105586002)(5002640100001)(6116002)(586003)(122556002)(10090500001)(54356999)(33656002)(76176999)(19580405001)(19580395003)(87936001)(76576001)(5660300001)(86612001)(8676002)(7696004)(7736002)(7846002)(305945005)(8936002)(74316002)(11100500001)(2501003)(2950100002)(81156014)(97736004)(81166006)(86362001)(3826002)(559001)(569005); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR03MB1356; H:BY1PR03MB1355.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2016 21:22:14.6425 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1356 Subject: Re: [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: Mon, 10 Oct 2016 21:22:17 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Jiewen, Mike, and the EDK2 list, This is not a feedback directly on this patch and the C code but more on th= e overall feature of capsule update/recovery. =20 You are implementing one specific way to do capsule update. There are infi= nite other implementations and my issue is how this implementation is scatt= ering thru the Industry standard (Mde*) packages. I think our shared goal = for Tianocore and edk2 is to create a well-designed, modular, flexible code= base for the UEFI FW producing industry. As part of those goals I really = want to see the standards based packages shrink to the minimum necessary to= create a secure and robust core, and optional/advanced features should res= ide in other packages that a consumer can pick and choose from. This set o= f patches is counter to that goal. It contains over 50 patches, most are i= n the MdeModulePkg, and introduces new dependencies across the entire tree = for this implementation choice. =20 Thoughts? =20 Thanks Sean > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Yao, Jiewen > Sent: Friday, September 30, 2016 5:32 AM > To: Yao, Jiewen ; edk2-devel@lists.01.org > Cc: Tian, Feng ; Gao, Liming ; > Zeng, Star ; Kinney, Michael D > ; Fan, Jeff ; Zhang, Chao > B > Subject: Re: [edk2] [PATCH V2 00/50] Add capsule update and recovery > sample. >=20 > Hi > Here is V2 serial. > I forgot to mention: > 1) This series is also pushed to git@github.com:jyao1/edk2.git. > 2) Below is test I did for IniParsingLib. > 2.1) Unit test: > { EFI_SUCCESS, "[a]\nb=3Dc\n" }, > { EFI_SUCCESS, "[_]\n_=3D0\n" }, > { EFI_SUCCESS, "[a]\nb=3DCCCCCCCC-CCCC-CCCC-CCCC- > CCCCCCCCCCCC\n" }, > { EFI_INVALID_PARAMETER, "[]\n" }, > { EFI_INVALID_PARAMETER, "[[\n" }, > { EFI_INVALID_PARAMETER, "[[a]]\n" }, > { EFI_INVALID_PARAMETER, "[\n" }, > { EFI_INVALID_PARAMETER, "]\n" }, > { EFI_INVALID_PARAMETER, "a\n" }, > { EFI_INVALID_PARAMETER, "=3D\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb\n" }, > { EFI_INVALID_PARAMETER, "[a]\n[=3Dc" }, > { EFI_INVALID_PARAMETER, "[a]\n=3D\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D#\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D;\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D~\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D!\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D@\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D$\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D%\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D^\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D&\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D*\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D(\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D)\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D-\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D+\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D{\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D}\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D[\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D]\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D;\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D:\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D'\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D\"\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D<\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D>\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D,\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D.\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D?\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D/\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D|\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3D\\\n" }, > { EFI_INVALID_PARAMETER, "[a]\nb=3DCCCCCCCC-CCCC-CCCC-CCCC- > CCCCCCCCCCCCC\n" }, > 2.2) Fuzzing test: > a) Randomize a block of valid data. > b) Randomize the length of valid data file. > c) Inject random char as data file. >=20 > Thank you > Yao Jiewen >=20 > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > > Jiewen Yao > > Sent: Friday, September 30, 2016 8:21 PM > > To: edk2-devel@lists.01.org > > Cc: Tian, Feng ; Gao, Liming > > ; Zeng, Star ; Kinney, > > Michael D ; Fan, Jeff > > ; Zhang, Chao B > > Subject: [edk2] [PATCH V2 00/50] Add capsule update and recovery > sample. > > > > =3D=3DBelow is V2 description=3D=3D > > 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. > > > > =3D=3DBelow is V1 description=3D=3D > > 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 capsul= e > > 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/PlatformFlashAccessLib > > Null.c | 54 + > > > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLib > > Null.inf | 40 + > > > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLib > > Null.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/RecoveryModuleLoadP > > ei.c | 748 ++++++++++ > > > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.h | 44 + > > > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.inf | 69 + > > > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.uni | 21 + > > > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > eiExtra.uni | 20 + > > MdeModulePkg/Universal/SystemFirmwareUpdate/ParseConfigProfile.c > > | 244 ++++ > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareDxe.h > > | 393 +++++ > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainD > x > > e.c | 484 ++++++ > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainS > et > > Image.c | 465 ++++++ > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainS > et > > ImageDummy.c | 90 ++ > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReport > > Dxe.inf | 66 + > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReport > > Dxe.uni | 21 + > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReport > > DxeExtra.uni | 20 + > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat > e > > Dxe.inf | 70 + > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat > e > > Dxe.uni | 21 + > > > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat > e > > DxeExtra.uni | 20 + > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platfor > > mFlashAccessLibDxe.c | 200 +++ > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platfor > > mFlashAccessLibDxe.inf | 52 + > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFlas > > hDevice.c | 336 +++++ > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFlas > > hDevice.h | 186 +++ > > > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.aslc | 89 ++ > > > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.inf | 45 + > > > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptorPei.c | 66 + > > > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareUpdateConfig/System > F > > irmwareUpdateConfig.ini | 62 + > > > > > QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager > > .c | 129 +- > > > > > QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager > > .h | 9 +- > > > > > QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManager > > Lib.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/FmpAuthenticatio > > nRsa2048Sha256Lib.c | 289 ++++ > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticatio > > nRsa2048Sha256Lib.inf | 53 + > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticatio > > nRsa2048Sha256Lib.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/MicrocodeFlashAccessLib > > Null.c | 42 + > > > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLib > > Null.inf | 40 + > > > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLib > > Null.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/Platfor > > mFlashAccessLib.c | 193 +++ > > > > > Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platfor > > mFlashAccessLib.inf | 47 + > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.aslc | 89 ++ > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.inf | 45 + > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptorPei.c | 66 + > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/System > F > > irmwareUpdateConfig.ini | 72 + > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/System > F > > irmwareUpdateConfigGcc.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/PlatformFlashAccessLib > > Null.c > > create mode 100644 > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLib > > Null.inf > > create mode 100644 > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLib > > Null.uni > > create mode 100644 > > MdeModulePkg/Universal/RecoveryModuleLoadPei/ParseConfigProfile.c > > create mode 100644 > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.c > > create mode 100644 > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.h > > create mode 100644 > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.inf > > create mode 100644 > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > ei.uni > > create mode 100644 > > > MdeModulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadP > > eiExtra.uni > > create mode 100644 > > MdeModulePkg/Universal/SystemFirmwareUpdate/ParseConfigProfile.c > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareDxe.h > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainD > x > > e.c > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainS > et > > Image.c > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareMainS > et > > ImageDummy.c > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReport > > Dxe.inf > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReport > > Dxe.uni > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReport > > DxeExtra.uni > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat > e > > Dxe.inf > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat > e > > Dxe.uni > > create mode 100644 > > > MdeModulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat > e > > DxeExtra.uni > > create mode 100644 > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platfo > > r > > mFlashAccessLibDxe.c > > create mode 100644 > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platfo > > r > > mFlashAccessLibDxe.inf > > create mode 100644 > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFla > > s > > hDevice.c > > create mode 100644 > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFla > > s > > hDevice.h > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.aslc > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.inf > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptorPei.c > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareUpdateConfig/System > F > > irmwareUpdateConfig.ini > > create mode 100644 QuarkPlatformPkg/QuarkCapsule.dsc create mode > > 100644 QuarkPlatformPkg/QuarkCapsule.fdf create mode 100644 > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Li > > b > > .c > > create mode 100644 > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Li > > b > > .inf > > create mode 100644 > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7Li > > b > > .uni > > create mode 100644 > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticatio > > nRsa2048Sha256Lib.c > > create mode 100644 > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticatio > > nRsa2048Sha256Lib.inf > > create mode 100644 > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticatio > > nRsa2048Sha256Lib.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/MicrocodeFlashAccessLib > > Null.c > > create mode 100644 > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLib > > Null.inf > > create mode 100644 > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLib > > Null.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/Platf > > or > > mFlashAccessLib.c > > create mode 100644 > > Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platf > > or > > mFlashAccessLib.inf > > create mode 100644 > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.aslc > > create mode 100644 > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptor.inf > > create mode 100644 > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirm > > wareDescriptorPei.c > > create mode 100644 > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/System > F > > irmwareUpdateConfig.ini > > create mode 100644 > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareUpdateConfig/System > F > > irmwareUpdateConfigGcc.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 > > > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel