Mike,
Comments inline. 
I'll reply with code review comments to the individual patches. 

Thanks
Sean


> -----Original Message-----
> From: Kinney, Michael D [mailto:michael.d.kin...@intel.com]
> Sent: Monday, October 10, 2016 4:29 PM
> To: Sean Brogan <sean.bro...@microsoft.com>; 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.
> 
> 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: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.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
> > > > 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