From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id F235F1A1E60 for ; Mon, 10 Oct 2016 16:29:23 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 10 Oct 2016 16:29:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,474,1473145200"; d="scan'208";a="1042923079" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by orsmga001.jf.intel.com with ESMTP; 10 Oct 2016 16:29:23 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 10 Oct 2016 16:29:23 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.161]) by ORSMSX156.amr.corp.intel.com ([10.22.240.22]) with mapi id 14.03.0248.002; Mon, 10 Oct 2016 16:29:22 -0700 From: "Kinney, Michael D" To: Sean Brogan , "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: AQHSGxVLqGNzP4HLwU6sGhDXHKkWyaCSbIqAgBBLYQD//6WuQA== Date: Mon, 10 Oct 2016 23:29:21 +0000 Message-ID: References: <1475238128-22448-1-git-send-email-jiewen.yao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503869BC66@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMzU3NWFmYzQtMTVkNi00NjdiLThmYWYtZGRmNTE4MWJkNDFjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IklsNVc5b3FaOWs2R3YrQnBxN1lsMnY3Z0s3eHI1bjNIKytadUx1dHpMOFE9In0= x-originating-ip: [10.22.254.138] MIME-Version: 1.0 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 23:29:24 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Sean, Thanks for the feedback. There are no touches to the MdePkg that contains the includes/libs for indu= stry standard specifications. 23 of the patches are against MdeModulePkg, IntelFramework= ModulePkg, and the SecurityPkg. The MdeModulePkg contains modules that are allowed to dep= end on the MdePkg and any additional definitions in the MdeModulePkg itself. Definitions tha= t are added=20 to the MdeModulePkg are for features that are specific to the EDK II implem= entation. =20 Jiewen has followed the guidelines for where content could be placed withou= t adding any=20 new packages. I idea of putting the platform agnostic elements of the recovery and capsul= e update=20 features into its their own package seems like a reasonable idea. Do you h= ave a=20 proposal for a package name, package contents, and package organization? The remaining patches against the Quark, VLV2, and UefiCpuPkg are working e= xamples of using=20 the firmware update and recovery features. It would be reasonable, and may= be easier to review if this patch series have been broken up into 4 series (Generic cont= ent, Quark, VLV2, and UefiCpuPkg). One of the goals of providing a complete implementation of the Firmware Man= agement Protocol (FMP) in EDK II is to provide one implementation that we can all agree meet= s our collective platform requirements to reduce fragmentation of recovery and capsule updat= e solutions. =20 We can then focus review and validation efforts on this one solution. I agree with your observation that the UEFI/PI specification contents for F= MP, capsules, and recovery support a wide array of possible implementations. The same co= uld be said about the implementation of the PEI Core and DXE Core and many other compon= ents in the=20 MdeModulePkg. There are many ways to implement those components that meet = the UEFI/PI=20 Specification requirements. However, we tend to see only one implementatio= n in the=20 EDK II and we update that implementation as needed to improve platform comp= atibility=20 and accommodate new requirements. Do you have additional requirements for the current patch that would help p= revent the need for future fragmentation of this solution? Can you elaborate on the dependencies you see across the tree? I do not th= ink that was the intent, and if there are ways to reduce those dependencies, I want = to help=20 drive those changes. It is my understanding that a platform that wants to = use=20 these recovery and capsule update features would depend on the MdeModulePkg= and the SecurityPkg. Thanks, Mike > -----Original Message----- > From: Sean Brogan [mailto:sean.brogan@microsoft.com] > Sent: Monday, October 10, 2016 2:22 PM > To: Yao, Jiewen ; edk2-devel@lists.01.org; Kinney, = Michael D > > Subject: RE: [edk2] [PATCH V2 00/50] Add capsule update and recovery samp= le. >=20 > Jiewen, Mike, and the EDK2 list, >=20 > This is not a feedback directly on this patch and the C code but more on = the overall > feature of capsule update/recovery. >=20 > You are implementing one specific way to do capsule update. There are in= finite other > implementations and my issue is how this implementation is scattering thr= u the > Industry standard (Mde*) packages. I think our shared goal for Tianocore= and edk2 is > to create a well-designed, modular, flexible codebase for the UEFI FW pro= ducing > industry. As part of those goals I really want to see the standards bas= ed packages > shrink to the minimum necessary to create a secure and robust core, and > optional/advanced features should reside in other packages that a consume= r can pick > and choose from. This set of patches is counter to that goal. It contai= ns over 50 > patches, most are in the MdeModulePkg, and introduces new dependencies ac= ross the > entire tree for this implementation choice. >=20 > Thoughts? >=20 >=20 > Thanks > Sean >=20 >=20 > > -----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, Ch= ao > > B > > Subject: Re: [edk2] [PATCH V2 00/50] Add capsule update and recovery > > sample. > > > > 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. > > > > Thank you > > Yao Jiewen > > > > > -----Original Message----- > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf O= f > > > 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 capsu= le > > > update. > > > QuarkPlatformPkg/SystemFirmwareUpdateConfig: Add capsule config fil= e. > > > 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 caps= ule > > > update. > > > Vlv2TbltDevicePkg/SystemFirmwareUpdateConfig: Add capsule config fi= le. > > > 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/Platfo= r > > > mFlashAccessLib.c | 193 +++ > > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platfo= r > > > 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 mod= e > > > 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/Platf= o > > > r > > > mFlashAccessLibDxe.c > > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Platf= o > > > r > > > mFlashAccessLibDxe.inf > > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFl= a > > > s > > > hDevice.c > > > create mode 100644 > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiFl= a > > > 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/Plat= f > > > or > > > mFlashAccessLib.c > > > create mode 100644 > > > Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/Plat= f > > > 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