Mike, Comments inline. I'll reply with code review comments to the individual patches.
Thanks Sean > -----Original Message----- > From: Kinney, Michael D [mailto:[email protected]] > Sent: Monday, October 10, 2016 4:29 PM > To: Sean Brogan <[email protected]>; Yao, Jiewen > <[email protected]>; [email protected]; Kinney, Michael D > <[email protected]> > Subject: RE: [edk2] [PATCH V2 00/50] Add capsule update and recovery sample. > > Sean, > > Thanks for the feedback. > > There are no touches to the MdePkg that contains the includes/libs for > industry > standard specifications. 23 of the patches are against MdeModulePkg, > IntelFrameworkModulePkg, and the SecurityPkg. The MdeModulePkg contains > modules that are allowed to depend on the MdePkg and any additional > definitions in the MdeModulePkg itself. Definitions that are added to the > MdeModulePkg are for features that are specific to the EDK II implementation. > Jiewen has followed the guidelines for where content could be placed without > adding any new packages. [Sean Brogan] - I agree but I think tianocore would be best served if MdeModulePkg contained bare bones implementations with as few assumptions and implementation specific features hardcoded into those modules. When I look at the various production code bases I have seen the modules that cause the least maintenance overhead/customization/overriding/security problems are those modules that strictly implement basic functionality. I am all for a module having a set of well-constructed library callouts to allow a plug-in or advanced feature but I just don't like to see that logic hard coded into any MdeModulePkg module. I also don't think those advanced features should be implemented in the MdeModulePkg. > > I idea of putting the platform agnostic elements of the recovery and capsule > update features into its their own package seems like a reasonable idea. Do > you have a proposal for a package name, package contents, and package > organization? [Sean Brogan] - SampleSystemFirmwareUpdatePkg > > The remaining patches against the Quark, VLV2, and UefiCpuPkg are working > examples of using the firmware update and recovery features. It would be > reasonable, and maybe easier to review if this patch series have been broken > up into 4 series (Generic content, Quark, VLV2, and UefiCpuPkg). [Sean Brogan] - yes I agree. > > One of the goals of providing a complete implementation of the Firmware > Management Protocol > (FMP) in EDK II is to provide one implementation that we can all agree meets > our collective platform requirements to reduce fragmentation of recovery and > capsule update solutions. > We can then focus review and validation efforts on this one solution. [Sean Brogan] - I am working on code review comments. Will try to respond to the individual patch emails as appropriate. > > I agree with your observation that the UEFI/PI specification contents for FMP, > capsules, and recovery support a wide array of possible implementations. The > same could be said about the implementation of the PEI Core and DXE Core > and many other components in the MdeModulePkg. There are many ways to > implement those components that meet the UEFI/PI Specification > requirements. However, we tend to see only one implementation in the EDK II > and we update that implementation as needed to improve platform > compatibility and accommodate new requirements. > > Do you have additional requirements for the current patch that would help > prevent the need for future fragmentation of this solution? > > Can you elaborate on the dependencies you see across the tree? I do not think > that was the intent, and if there are ways to reduce those dependencies, I > want > to help drive those changes. It is my understanding that a platform that > wants > to use these recovery and capsule update features would depend on the > MdeModulePkg and the SecurityPkg. > > Thanks, > > Mike > > > > -----Original Message----- > > From: Sean Brogan [mailto:[email protected]] > > Sent: Monday, October 10, 2016 2:22 PM > > To: Yao, Jiewen <[email protected]>; [email protected]; > > Kinney, Michael D <[email protected]> > > Subject: RE: [edk2] [PATCH V2 00/50] Add capsule update and recovery > sample. > > > > Jiewen, Mike, and the EDK2 list, > > > > This is not a feedback directly on this patch and the C code but more > > on the overall feature of capsule update/recovery. > > > > You are implementing one specific way to do capsule update. There are > > infinite other implementations and my issue is how this implementation > > is scattering thru 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 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 reside in other packages that a > > consumer can pick and choose from. This set of patches is counter to > > that goal. It contains over 50 patches, most are in the MdeModulePkg, > > and introduces new dependencies across the entire tree for this > implementation choice. > > > > Thoughts? > > > > > > Thanks > > Sean > > > > > > > -----Original Message----- > > > From: edk2-devel [mailto:[email protected]] On Behalf > > > Of Yao, Jiewen > > > Sent: Friday, September 30, 2016 5:32 AM > > > To: Yao, Jiewen <[email protected]>; [email protected] > > > Cc: Tian, Feng <[email protected]>; Gao, Liming > > > <[email protected]>; Zeng, Star <[email protected]>; Kinney, > > > Michael D <[email protected]>; Fan, Jeff > > > <[email protected]>; Zhang, Chao B <[email protected]> > > > 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 [email protected]:jyao1/edk2.git. > > > 2) Below is test I did for IniParsingLib. > > > 2.1) Unit test: > > > { EFI_SUCCESS, "[a]\nb=c\n" }, > > > { EFI_SUCCESS, "[_]\n_=0\n" }, > > > { EFI_SUCCESS, "[a]\nb=CCCCCCCC-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, "=\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\n[=c" }, > > > { EFI_INVALID_PARAMETER, "[a]\n=\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=#\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=;\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=~\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=!\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=@\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=$\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=%\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=^\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=&\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=*\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=(\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=)\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=-\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=+\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb={\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=}\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=[\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=]\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=;\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=:\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb='\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=\"\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=<\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=>\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=,\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=.\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=?\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=/\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=|\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=\\\n" }, > > > { EFI_INVALID_PARAMETER, "[a]\nb=CCCCCCCC-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:[email protected]] On > > > > Behalf Of Jiewen Yao > > > > Sent: Friday, September 30, 2016 8:21 PM > > > > To: [email protected] > > > > Cc: Tian, Feng <[email protected]>; Gao, Liming > > > > <[email protected]>; Zeng, Star <[email protected]>; Kinney, > > > > Michael D <[email protected]>; Fan, Jeff > > > > <[email protected]>; Zhang, Chao B <[email protected]> > > > > Subject: [edk2] [PATCH V2 00/50] Add capsule update and recovery > > > sample. > > > > > > > > ==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 [email protected]: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 <[email protected]> > > > > Cc: Star Zeng <[email protected]> > > > > Cc: Michael D Kinney <[email protected]> > > > > Cc: Liming Gao <[email protected]> > > > > Cc: Chao Zhang <[email protected]> > > > > Cc: Jeff Fan <[email protected]> > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > > > Signed-off-by: Jiewen Yao <[email protected]> > > > > > > > > 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.i > > > > nf > > > > | 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/PlatformFlashAccessL > > > ib > > > > Null.c | 54 + > > > > > > > > > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessL > > > ib > > > > Null.inf | 40 + > > > > > > > > > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessL > > > ib > > > > 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/Plat > > > for > > > > mFlashAccessLibDxe.c | 200 +++ > > > > > > > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Plat > > > for > > > > mFlashAccessLibDxe.inf | 52 + > > > > > > > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiF > > > las > > > > hDevice.c | 336 +++++ > > > > > > > > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/SpiF > > > las > > > > 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/FmpAuthenticationPkcs7 > > > Lib > > > > .c | 147 ++ > > > > > > > > > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7 > > > Lib > > > > .inf | 52 + > > > > > > > > > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7 > > > Lib > > > > .uni | 26 + > > > > > > > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticat > > > io > > > > nRsa2048Sha256Lib.c | 289 ++++ > > > > > > > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticat > > > io > > > > nRsa2048Sha256Lib.inf | 53 + > > > > > > > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticat > > > io > > > > 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/MicrocodeFlashAccessL > > > ib > > > > Null.c | 42 + > > > > > > > > > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessL > > > ib > > > > Null.inf | 40 + > > > > > > > > > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessL > > > ib > > > > 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/Pla > > > tfor > > > > mFlashAccessLib.c | 193 +++ > > > > > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/Pla > > > tfor > > > > mFlashAccessLib.inf | 47 + > > > > > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFir > > > m > > > > wareDescriptor.aslc | 89 ++ > > > > > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFir > > > m > > > > wareDescriptor.inf | 45 + > > > > > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFir > > > m > > > > 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.i > > > > nf > > > > create mode 100644 > > > > MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.u > > > > ni > > > > 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/PlatformFlashAccessL > > > ib > > > > Null.c > > > > create mode 100644 > > > > > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessL > > > ib > > > > Null.inf > > > > create mode 100644 > > > > > > > MdeModulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessL > > > ib > > > > 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/Pl > > > > atfo > > > > r > > > > mFlashAccessLibDxe.c > > > > create mode 100644 > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Pl > > > > atfo > > > > r > > > > mFlashAccessLibDxe.inf > > > > create mode 100644 > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Sp > > > > iFla > > > > s > > > > hDevice.c > > > > create mode 100644 > > > > QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/Sp > > > > iFla > > > > 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/FmpAuthenticationPkcs7 > > > Li > > > > b > > > > .c > > > > create mode 100644 > > > > > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7 > > > Li > > > > b > > > > .inf > > > > create mode 100644 > > > > > > > SecurityPkg/Library/FmpAuthenticationPkcs7Lib/FmpAuthenticationPkcs7 > > > Li > > > > b > > > > .uni > > > > create mode 100644 > > > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticat > > > io > > > > nRsa2048Sha256Lib.c > > > > create mode 100644 > > > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticat > > > io > > > > nRsa2048Sha256Lib.inf > > > > create mode 100644 > > > > > > > SecurityPkg/Library/FmpAuthenticationRsa2048Sha256Lib/FmpAuthenticat > > > io > > > > 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/MicrocodeFlashAccessL > > > ib > > > > Null.c > > > > create mode 100644 > > > > > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessL > > > ib > > > > Null.inf > > > > create mode 100644 > > > > > > > UefiCpuPkg/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessL > > > ib > > > > 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/P > > > > latf > > > > or > > > > mFlashAccessLib.c > > > > create mode 100644 > > > > Vlv2TbltDevicePkg/Feature/Capsule/Library/PlatformFlashAccessLib/P > > > > latf > > > > or > > > > mFlashAccessLib.inf > > > > create mode 100644 > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFir > > > m > > > > wareDescriptor.aslc > > > > create mode 100644 > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFir > > > m > > > > wareDescriptor.inf > > > > create mode 100644 > > > > > > > Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFir > > > m > > > > 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 > > > > [email protected] > > > > https://lists.01.org/mailman/listinfo/edk2-devel > > > _______________________________________________ > > > edk2-devel mailing list > > > [email protected] > > > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

