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.

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?

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).

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.

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:sean.bro...@microsoft.com]
> Sent: Monday, October 10, 2016 2:22 PM
> To: Yao, Jiewen <jiewen....@intel.com>; edk2-devel@lists.01.org; Kinney, 
> Michael D
> <michael.d.kin...@intel.com>
> 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:edk2-devel-boun...@lists.01.org] On Behalf Of
> > Yao, Jiewen
> > Sent: Friday, September 30, 2016 5:32 AM
> > To: Yao, Jiewen <jiewen....@intel.com>; edk2-devel@lists.01.org
> > Cc: Tian, Feng <feng.t...@intel.com>; Gao, Liming <liming....@intel.com>;
> > Zeng, Star <star.z...@intel.com>; Kinney, Michael D
> > <michael.d.kin...@intel.com>; Fan, Jeff <jeff....@intel.com>; Zhang, Chao
> > B <chao.b.zh...@intel.com>
> > 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 g...@github.com: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:edk2-devel-boun...@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 <feng.t...@intel.com>; Gao, Liming
> > > <liming....@intel.com>; Zeng, Star <star.z...@intel.com>; Kinney,
> > > Michael D <michael.d.kin...@intel.com>; Fan, Jeff
> > > <jeff....@intel.com>; Zhang, Chao B <chao.b.zh...@intel.com>
> > > 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 g...@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 <feng.t...@intel.com>
> > > Cc: Star Zeng <star.z...@intel.com>
> > > Cc: Michael D Kinney <michael.d.kin...@intel.com>
> > > Cc: Liming Gao <liming....@intel.com>
> > > Cc: Chao Zhang <chao.b.zh...@intel.com>
> > > Cc: Jeff Fan <jeff....@intel.com>
> > > Contributed-under: TianoCore Contribution Agreement 1.0
> > > Signed-off-by: Jiewen Yao <jiewen....@intel.com>
> > >
> > > Jiewen Yao (50):
> > >   MdeModulePkg/Include: Add EDKII system FMP capsule header.
> > >   MdeModulePkg/Include: Add EdkiiSystemCapsuleLib definition.
> > >   MdeModulePkg/Include: Add FmpAuthenticationLib header.
> > >   MdeModulePkg/Include: Add IniParsingLib header.
> > >   MdeModulePkg/Include: Add PlatformFlashAccessLib header.
> > >   MdeModulePkg/CapsuleLib: Add ProcessCapsules() API.
> > >   MdeModulePkg/MdeModulePkg.dec: Add capsule related definition.
> > >   MdeModulePkg/IniParsingLib: Add InitParsingLib instance.
> > >   MdeModulePkg/FmpAuthenticationLib: Add FmpAuthenticationLib
> > > instance.
> > >   MdeModulePkg/DxeCapsuleLibFmp: Add DxeCapsuleLibFmp instance.
> > >   MdeModulePkg/DxeCapsuleLibNull: Add ProcessCapsules() interface.
> > >   MdeModulePkg/EdkiiSystemCapsuleLib: Add EdkiiSystemCapsuleLib
> > >     instance.
> > >   MdeModulePkg/PlatformFlashAccessLib: Add NULL
> > > PlatformFlashAccessLib.
> > >   MdeModulePkg/Esrt: Add ESRT_FW_TYPE_SYSTEMFIRMWARE check.
> > >   MdeModulePkg/SystemFirmwareUpdate: Add SystemFirmwareUpdate.
> > >   MdeModulePkg/RecoveryModuleLoadPei: Add RecoveryModuleLoadPei.
> > >   MdeModulePkg/CapsuleApp: Add CapsuleApp application.
> > >   MdeModulePkg/MdeModulePkg.dsc: Add capsule related component.
> > >   IntelFrameworkModulePkg/DxeCapsuleLib: Add ProcessCapsules()
> > >     interface.
> > >   SecurityPkg/SecurityPkg.dec: Add PcdPkcs7CertBuffer PCD.
> > >   SecurityPkg/FmpAuthenticationPkcs7Lib: Add PKCS7 NULL class for FMP.
> > >   SecurityPkg/FmpAuthenticationRsa2048Sha256Lib: Add NULL class for
> > > FMP.
> > >   SecurityPkg/SecurityPkg.dsc: Add FmpAuthentication*Lib.
> > >   BaseTool/Pkcs7: Add TestRoot.cer.
> > >   UefiCpuPkg/Include: Add Microcode FMP definition.
> > >   UefiCpuPkg/Include: Add MicrocodeFlashAccessLib header.
> > >   UefiCpuPkg/UefiCpuPkg.dec: Add Microcode capsule related definition.
> > >   UefiCpuPkg/MicrocodeUpdate: Add MicrocodeUpdate component.
> > >   UefiCpuPkg/MicrocodeFlashAccessLib: Add NULL
> > > MicrocodeFlashAccessLib.
> > >   UefiCpuPkg/MicrocodeCapsuleApp: Add MicrocodeCapsuleApp
> > application.
> > >   UefiCpuPkg/UefiCpuPkg.dsc: Add MicrocodeCapsule related component.
> > >   QuarkPlatformPkg/dec: Add test key file guid.
> > >   QuarkPlatformPkg/PlatformFlashAccessLib: Add instance for capsule
> > >     update.
> > >   QuarkPlatformPkg/SystemFirmwareDescriptor: Add Descriptor for capsule
> > >     update.
> > >   QuarkPlatformPkg/SystemFirmwareUpdateConfig: Add capsule config file.
> > >   QuarkPlatformPkg/PlatformInit: Remove recovery PPI installation.
> > >   QuarkPlatformPkg/PlatformBootManager: Add capsule/recovery
> > handling.
> > >   QuarkPlatformPkg/dsc/fdf: Add capsule/recovery support.
> > >   QuarkPlatformPkg/dsc/fdf: add capsule generation DSC/FDF.
> > >   QuarkPlatformPkg/Readme: add capsule/recovery related content.
> > >   Vlv2TbltDevicePkg/dec: Add test key file guid.
> > >   Vlv2TbltDevicePkg/PlatformFlashAccessLib: Add instance for capsule
> > >     update.
> > >   Vlv2TbltDevicePkg/SystemFirmwareDescriptor: Add Descriptor for capsule
> > >     update.
> > >   Vlv2TbltDevicePkg/SystemFirmwareUpdateConfig: Add capsule config file.
> > >   Vlv2TbltDevicePkg/FlashDeviceLib: Add DXE flash device lib.
> > >   Vlv2TbltDevicePkg/PlatformBootManager: Add capsule/recovery
> > > handling.
> > >   Vlv2TbltDevicePkg/dsc/fdf: Add capsule/recovery support.
> > >   Vlv2TbltDevicePkg/dsc/fdf: add capsule generation DSC/FDF.
> > >   Vlv2TbltDevicePkg/bat: add capsule generation in bat.
> > >   Vlv2TbltDevicePkg/Build: Add capsule/recovery in help info.
> > >
> > >  BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer
> > > |  Bin 0 -> 756 bytes
> > >  IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.c
> > > |   39 +-
> > >  MdeModulePkg/Application/CapsuleApp/AppSupport.c
> > > |  480 ++++++
> > >  MdeModulePkg/Application/CapsuleApp/CapsuleApp.c
> > > |  875 +++++++++++
> > >  MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf
> > > |   71 +
> > >  MdeModulePkg/Application/CapsuleApp/CapsuleApp.uni
> > > |   22 +
> > >  MdeModulePkg/Application/CapsuleApp/CapsuleAppExtra.uni
> > > |   19 +
> > >  MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
> > > |  840 +++++++++++
> > >  MdeModulePkg/Include/Guid/EdkiiSystemFmpCapsule.h
> > > |  110 ++
> > >  MdeModulePkg/Include/Library/CapsuleLib.h
> > > |   45 +-
> > >  MdeModulePkg/Include/Library/EdkiiSystemCapsuleLib.h
> > > |  154 ++
> > >  MdeModulePkg/Include/Library/FmpAuthenticationLib.h
> > > |   91 ++
> > >  MdeModulePkg/Include/Library/IniParsingLib.h
> > > |  166 +++
> > >  MdeModulePkg/Include/Library/PlatformFlashAccessLib.h
> > > |   59 +
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c
> > > | 1543 ++++++++++++++++++++
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
> > > |   82 ++
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.uni
> > > |   22 +
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleProcessLib.c
> > > |  517 +++++++
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleReportLib.c
> > > |  447 ++++++
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleRuntime.c
> > > |  112 ++
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
> > > |   85 ++
> > >  MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.uni
> > > |   22 +
> > >  MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.c
> > > |   47 +-
> > >  MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.c
> > > |  616 ++++++++
> > >  MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf
> > > |   55 +
> > >
> > MdeModulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.uni
> > > |   22 +
> > >  MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.c
> > > |  277 ++++
> > >  MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.inf
> > > |   47 +
> > >  MdeModulePkg/Library/FmpAuthenitcationLib/FmpAuthenitcationLib.uni
> > > |   22 +
> > >  MdeModulePkg/Library/IniParsingLib/IniParsingLib.c
> > > | 1424 ++++++++++++++++++
> > >  MdeModulePkg/Library/IniParsingLib/IniParsingLib.inf
> > > |   42 +
> > >  MdeModulePkg/Library/IniParsingLib/IniParsingLib.uni
> > > |   22 +
> > >
> > >
> > MdeModulePkg/Library/PlatformFlashAccessLibNull/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
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to