From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BAFA01A1E46 for ; Wed, 26 Oct 2016 18:08:24 -0700 (PDT) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP; 26 Oct 2016 18:08:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,551,1473145200"; d="scan'208,217";a="184312329" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 26 Oct 2016 18:08:24 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 26 Oct 2016 18:08:24 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 26 Oct 2016 18:08:23 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.206]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.209]) with mapi id 14.03.0248.002; Thu, 27 Oct 2016 09:08:21 +0800 From: "Yao, Jiewen" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: "Tian, Feng" , "Gao, Liming" , "Zeng, Star" , "Zhang, Chao B" Thread-Topic: [edk2] [PATCH V4 7/8] QuarkPlatformPkg/dsc/fdf: Add capsule/recovery support. Thread-Index: AQHSLNWr5t8Kx4NdYkWv486dGZ7TxKC69bWAgACNzNA= Date: Thu, 27 Oct 2016 01:08:20 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C50386B8162@shsmsx102.ccr.corp.intel.com> References: <1477189908-8336-1-git-send-email-jiewen.yao@intel.com> <1477189908-8336-8-git-send-email-jiewen.yao@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: [PATCH V4 7/8] QuarkPlatformPkg/dsc/fdf: Add capsule/recovery support. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Oct 2016 01:08:25 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Agree and updated. From: Kinney, Michael D Sent: Thursday, October 27, 2016 8:41 AM To: Yao, Jiewen ; edk2-devel@lists.01.org; Kinney, Mi= chael D Cc: Tian, Feng ; Gao, Liming ; Z= eng, Star ; Zhang, Chao B Subject: RE: [edk2] [PATCH V4 7/8] QuarkPlatformPkg/dsc/fdf: Add capsule/re= covery support. Jiewen, A couple comments inline below. Mike > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ji= ewen Yao > Sent: Saturday, October 22, 2016 7:32 PM > To: edk2-devel@lists.01.org > Cc: Tian, Feng >; Gao, Li= ming >; Zeng, Star > >; Kinney, Michael D >; Zhang, Chao B > > > Subject: [edk2] [PATCH V4 7/8] QuarkPlatformPkg/dsc/fdf: Add capsule/reco= very support. > > Add capsule and recovery support module in platform dsc and fdf. > > Cc: Michael D Kinney > > Cc: Kelly Steele > > Cc: Feng Tian > > Cc: Star Zeng > > Cc: Liming Gao > > Cc: Chao Zhang > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiewen Yao > > --- > QuarkPlatformPkg/Quark.dsc | 72 ++++++++-- > QuarkPlatformPkg/Quark.fdf | 141 ++++++++++++++++++++ > QuarkPlatformPkg/QuarkMin.dsc | 7 +- > 3 files changed, 205 insertions(+), 15 deletions(-) > > diff --git a/QuarkPlatformPkg/Quark.dsc b/QuarkPlatformPkg/Quark.dsc > index d5988da..153f6e7 100644 > --- a/QuarkPlatformPkg/Quark.dsc > +++ b/QuarkPlatformPkg/Quark.dsc > @@ -39,6 +39,8 @@ > DEFINE SOURCE_DEBUG_ENABLE =3D FALSE > DEFINE PERFORMANCE_ENABLE =3D FALSE > DEFINE LOGGING =3D FALSE > + DEFINE CAPSULE_ENABLE =3D TRUE > + DEFINE RECOVERY_ENABLE =3D TRUE > > # > # Galileo board. Options are [GEN1, GEN2] > @@ -160,11 +162,9 @@ > PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLi= bNull.inf > !endif > > -!if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE) > OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > -!endif > > !if $(SECURE_BOOT_ENABLE) > PlatformSecureLib|QuarkPlatformPkg/Library/PlatformSecureLib/PlatformS= ecureLib.inf > @@ -225,6 +225,17 @@ > > PlatformPcieHelperLib|QuarkPlatformPkg/Library/PlatformPcieHelperLib/Plat= formPcieHelper > Lib.inf > > PlatformHelperLib|QuarkPlatformPkg/Library/PlatformHelperLib/DxePlatformH= elperLib.inf > > +!if $(CAPSULE_ENABLE) > + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > +!else > + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.in= f > +!endif > + > + > EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/Edki= iSystemCapsule > Lib.inf > + > FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAut= henticationLib > Null.inf > + IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf > + > PlatformFlashAccessLib|QuarkPlatformPkg/Feature/Capsule/Library/PlatformF= lashAccessLib/ > PlatformFlashAccessLibDxe.inf > + > [LibraryClasses.common.SEC] > # > # SEC specific phase > @@ -250,9 +261,7 @@ > > PlatformHelperLib|QuarkPlatformPkg/Library/PlatformHelperLib/PeiPlatformH= elperLib.inf > > CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCp= uExceptionHand > lerLib.inf > MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf > -!if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE) > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf > -!endif > !if $(PERFORMANCE_ENABLE) > PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLi= b.inf > !endif > @@ -273,9 +282,7 @@ > PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf > > CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuEx= ceptionHandler > Lib.inf > SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf > -!if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE) > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf > -!endif > !if $(PERFORMANCE_ENABLE) > PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLi= b.inf > !endif > @@ -301,6 +308,10 @@ > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > !endif > > +!if $(CAPSULE_ENABLE) > + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.= inf > +!endif > + > [LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION] > PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf > > @@ -431,6 +442,10 @@ > > gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|FALSE > > +!if $(RECOVERY_ENABLE) > + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"QUARKREC.Cap" > +!endif > + > [PcdsPatchableInModule] > gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803000C7 > gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0 > @@ -449,6 +464,11 @@ > gQuarkPlatformTokenSpaceGuid.PcdUserIsPhysicallyPresent|FALSE > gQuarkPlatformTokenSpaceGuid.PcdSpiFlashDeviceSize|0 > > +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) > + > gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|= {0x0}|VOID*|0x > 100 > + gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0xc= 0, 0x20, 0xaf, > 0x62, 0x16, 0x70, 0x4a, 0x42, 0x9b, 0xf8, 0x9c, 0xcc, 0x86, 0x58, 0x40, 0= x90} > +!endif > + > !if $(MEASURED_BOOT_ENABLE) > # > # TPM1.2 { 0x8b01e5b6, 0x4f19, 0x46e8, { 0xab, 0x93, 0x1c, 0x53, = 0x67, 0x1b, > 0x90, 0xcc } } > @@ -540,6 +560,11 @@ > !endif > } > > +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) > + # FMP image decriptor > + > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareD= escriptor.inf > +!endif > + > # > # PEI Core > # > @@ -594,6 +619,7 @@ > # > # Recovery > # > +!if $(RECOVERY_ENABLE) > QuarkSocPkg/QuarkSouthCluster/Usb/Common/Pei/UsbPei.inf > MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf > QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciPei.inf > @@ -601,6 +627,11 @@ > MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf > FatPkg/FatPei/FatPei.inf > MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf > + SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei= .inf { > + > + > FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha25= 6/FmpAuthentic > ationLibRsa2048Sha256.inf > + } > +!endif > > [Components.IA32] > # > @@ -645,11 +676,7 @@ > NULL|MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLib.inf > } > > - MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf { > - > - GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/Generi= cBdsLib.inf > - CapsuleLib|IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsul= eLib.inf > - } > + MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf > MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRunt= imeDxe.inf > MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf > PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe= .inf > @@ -675,6 +702,11 @@ > > > UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManage= rLib.inf > > PlatformBootManagerLib|QuarkPlatformPkg/Library/PlatformBootManagerLib/Pl= atformBootMana > gerLib.inf > +!if $(CAPSULE_ENABLE) > + > FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAut= henticationLib > Pkcs7.inf > +!else > + > FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAut= henticationLib > Null.inf > +!endif > } > MdeModulePkg/Application/UiApp/UiApp.inf { > > @@ -889,5 +921,23 @@ > gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 > } > > +!if $(CAPSULE_ENABLE) > + MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf > + > + SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDx= e.inf { > + > + > FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAut= henticationLib > Pkcs7.inf > + } > + SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDx= e.inf { > + > + > FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAut= henticationLib > Pkcs7.inf > + } > + > + MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf { > + > + PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > + } > +!endif > + > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] > MSFT:*_*_*_DLINK_FLAGS =3D /ALIGN:4096 > diff --git a/QuarkPlatformPkg/Quark.fdf b/QuarkPlatformPkg/Quark.fdf > index 9f51eb3..a9d828d 100644 > --- a/QuarkPlatformPkg/Quark.fdf > +++ b/QuarkPlatformPkg/Quark.fdf > @@ -317,6 +317,11 @@ APRIORI PEI { > ## > INF UefiCpuPkg/SecCore/SecCore.inf > > +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) > + # FMP image decriptor > +INF RuleOverride =3D FMP_IMAGE_DESC > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareD= escriptor.inf > +!endif > + > INF MdeModulePkg/Core/Pei/PeiMain.inf > > ## > @@ -347,12 +352,16 @@ INF SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf > INF SecurityPkg/Tcg/TcgPei/TcgPei.inf > !endif > > +!if $(RECOVERY_ENABLE) > FILE FV_IMAGE =3D 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 { > SECTION PEI_DEPEX_EXP =3D {gEfiPeiMemoryDiscoveredPpiGuid AND > gEfiPeiBootInRecoveryModePpiGuid} > SECTION GUIDED A31280AD-481E-41B6-95E8-127F4C984779 { # TIANO COMPR= ESS GUID > SECTION FV_IMAGE =3D FVRECOVERY_COMPONENTS > } > } > +!endif > + > +!if $(RECOVERY_ENABLE) > > ########################################################################= ######## > # > @@ -390,6 +399,9 @@ INF MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf > INF MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf > INF FatPkg/FatPei/FatPei.inf > INF MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf > +INF SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoad= Pei.inf > + > +!endif > > ########################################################################= ######## > # > @@ -579,6 +591,25 @@ INF SecurityPkg/Tcg/TcgDxe/TcgDxe.inf > INF RuleOverride =3D DRIVER_ACPITABLE SecurityPkg/Tcg/TcgSmm/TcgSmm.inf > !endif > > +!if $(CAPSULE_ENABLE) > +INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf > +INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareRepor= tDxe.inf > +!endif > + > +!if $(RECOVERY_ENABLE) > +FILE FREEFORM =3D > PCD(gQuarkPlatformTokenSpaceGuid.PcdEdkiiRsa2048Sha256TestPublicKeyFileGu= id) { > + SECTION RAW =3D BaseTools/Source/Python/Rsa2048Sha256Sign/TestSigni= ngPublicKey.bin > + SECTION UI =3D "Rsa2048Sha256TestSigningPublicKey" > + } > +!endif > + > +!if $(CAPSULE_ENABLE) > +FILE FREEFORM =3D PCD(gQuarkPlatformTokenSpaceGuid.PcdEdkiiPkcs7TestPubl= icKeyFileGuid) { > + SECTION RAW =3D BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer > + SECTION UI =3D "Pkcs7TestRoot" > + } > +!endif > + > ########################################################################= ######## > # > # FV Section > @@ -650,6 +681,106 @@ INF RuleOverride =3D TIANOCOMPRESSED > ShellPkg/Application/Shell/Shell.inf > INF RuleOverride =3D TIANOCOMPRESSED PerformancePkg/Dp_App/Dp.inf > !endif > > +!if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE) > + > +[FV.CapsuleDispatchFv] > +FvAlignment =3D 16 > +ERASE_POLARITY =3D 1 > +MEMORY_MAPPED =3D TRUE > +STICKY_WRITE =3D TRUE > +LOCK_CAP =3D TRUE > +LOCK_STATUS =3D TRUE > +WRITE_DISABLED_CAP =3D TRUE > +WRITE_ENABLED_CAP =3D TRUE > +WRITE_STATUS =3D TRUE > +WRITE_LOCK_CAP =3D TRUE > +WRITE_LOCK_STATUS =3D TRUE > +READ_DISABLED_CAP =3D TRUE > +READ_ENABLED_CAP =3D TRUE > +READ_STATUS =3D TRUE > +READ_LOCK_CAP =3D TRUE > +READ_LOCK_STATUS =3D TRUE > + > +!if $(CAPSULE_ENABLE) > +INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdat= eDxe.inf > +!endif > + > +[FV.SystemFirmwareUpdateCargo] > +FvAlignment =3D 16 > +ERASE_POLARITY =3D 1 > +MEMORY_MAPPED =3D TRUE > +STICKY_WRITE =3D TRUE > +LOCK_CAP =3D TRUE > +LOCK_STATUS =3D TRUE > +WRITE_DISABLED_CAP =3D TRUE > +WRITE_ENABLED_CAP =3D TRUE > +WRITE_STATUS =3D TRUE > +WRITE_LOCK_CAP =3D TRUE > +WRITE_LOCK_STATUS =3D TRUE > +READ_DISABLED_CAP =3D TRUE > +READ_ENABLED_CAP =3D TRUE > +READ_STATUS =3D TRUE > +READ_LOCK_CAP =3D TRUE > +READ_LOCK_STATUS =3D TRUE > + > +FILE RAW =3D AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215 { # PcdEdkiiSystemFirm= wareFileGuid > + FD =3D Quark > + } > + > +FILE RAW =3D ce57b167-b0e4-41e8-a897-5f4feb781d40 { # > gEdkiiSystemFmpCapsuleDriverFvFileGuid > + FV =3D CapsuleDispatchFv > + } > + > +FILE RAW =3D 812136D3-4D3A-433A-9418-29BB9BF78F6E { # > gEdkiiSystemFmpCapsuleConfigFileGuid > + > QuarkPlatformPkg/Feature/Capsule/SystemFirmwareUpdateConfig/SystemFirmwar= eUpdateConfig. > ini > + } > + Add !endif here. Non need to nest !if. > +!if $(CAPSULE_ENABLE) > +[FmpPayload.FmpPayloadSystemFirmwarePkcs7] > +IMAGE_HEADER_INIT_VERSION =3D 0x02 > +IMAGE_TYPE_ID =3D 62af20c0-7016-424a-9bf8-9ccc86584090 # > PcdSystemFmpCapsuleImageTypeIdGuid > +IMAGE_INDEX =3D 0x1 > +HARDWARE_INSTANCE =3D 0x0 > +MONOTONIC_COUNT =3D 0x2 > +CERTIFICATE_GUID =3D 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKC= S7 > + > +FV =3D SystemFirmwareUpdateCargo > +!endif > + Move the following section down with the other RECOVERY_ENABLE section so t= here is only one !if (CAPSULE_ENABLE) with 2 sections and one !if (RECOVERY_ENAB= LE) with 2 sections, > +!if $(RECOVERY_ENABLE) > +[FmpPayload.FmpPayloadSystemFirmwareRsa2048] > +IMAGE_HEADER_INIT_VERSION =3D 0x02 > +IMAGE_TYPE_ID =3D 62af20c0-7016-424a-9bf8-9ccc86584090 # > PcdSystemFmpCapsuleImageTypeIdGuid > +IMAGE_INDEX =3D 0x1 > +HARDWARE_INSTANCE =3D 0x0 > +MONOTONIC_COUNT =3D 0x2 > +CERTIFICATE_GUID =3D A7717414-C616-4977-9420-844712A735BF # RSA= 2048SHA256 > + > +FV =3D SystemFirmwareUpdateCargo > +!endif > + > +!if $(CAPSULE_ENABLE) > +[Capsule.QuarkFirmwareUpdateCapsuleFmpPkcs7] > +CAPSULE_GUID =3D 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # > gEfiFmpCapsuleGuid > +CAPSULE_FLAGS =3D PersistAcrossReset,InitiateReset > +CAPSULE_HEADER_SIZE =3D 0x20 > +CAPSULE_HEADER_INIT_VERSION =3D 0x1 > + > +FMP_PAYLOAD =3D FmpPayloadSystemFirmwarePkcs7 > +!endif > + > +!if $(RECOVERY_ENABLE) > +[Capsule.QuarkRec] > +CAPSULE_GUID =3D 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # > gEfiFmpCapsuleGuid > +CAPSULE_FLAGS =3D PersistAcrossReset,InitiateReset > +CAPSULE_HEADER_SIZE =3D 0x20 > +CAPSULE_HEADER_INIT_VERSION =3D 0x1 > + > +FMP_PAYLOAD =3D FmpPayloadSystemFirmwareRsa2048 > +!endif > + > +!endif > + > ########################################################################= ######## > # > # Rules are use with the [FV] section's module INF type to define > @@ -771,3 +902,13 @@ INF RuleOverride =3D TIANOCOMPRESSED PerformancePkg= /Dp_App/Dp.inf > RAW ACPI |.acpi > RAW ASL |.aml > } > + > +[Rule.Common.PEIM.FMP_IMAGE_DESC] > + FILE PEIM =3D $(NAMED_GUID) { > + RAW BIN |.acpi > + PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).de= pex > + PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).= efi > + UI STRING=3D"$(MODULE_NAME)" Optional > + VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUM= BER) > + } > + > diff --git a/QuarkPlatformPkg/QuarkMin.dsc b/QuarkPlatformPkg/QuarkMin.ds= c > index 1a4bd30..be85e3f 100644 > --- a/QuarkPlatformPkg/QuarkMin.dsc > +++ b/QuarkPlatformPkg/QuarkMin.dsc > @@ -161,6 +161,8 @@ > AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableL= ibNull.inf > !endif > > + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.in= f > + > # > # CPU > # > @@ -547,10 +549,7 @@ > MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf > MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.in= f > - MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf { > - > - CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNul= l.inf > - } > + MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf > MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRunt= imeDxe.inf > MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf > PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe= .inf > -- > 2.7.4.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel