Message ID | 20171016163413.15051-1-ard.biesheuvel@linaro.org |
---|---|
State | New |
Headers | show |
Series | [edk2] Platforms/AMD/OverDrive: make capsule support conditional | expand |
On Mon, Oct 16, 2017 at 05:34:13PM +0100, Ard Biesheuvel wrote: > The signed capsule update support added to the Overdrive platform in > a recent patch inadvertently introduced a dependency on the external > OpenSSL library, which many users may not have installed into their > EDK2 tree by default. So add a DO_CAPSULE variable that defaults to > FALSE, and only build the capsule pieces if it is set to TRUE. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Thanks! Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Pushed as a9ec390fe8. > --- > Platform/AMD/OverdriveBoard/OverdriveBoard.dsc | 9 +++++++++ > Platform/AMD/OverdriveBoard/OverdriveBoard.fdf | 9 ++++++++- > 2 files changed, 17 insertions(+), 1 deletion(-) > > diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc > index a15f96d2fba9..8620f6be3514 100644 > --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc > +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc > @@ -23,6 +23,7 @@ DEFINE DO_PSCI = 1 > DEFINE DO_ISCP = 1 > DEFINE DO_KCS = 1 > DEFINE DO_FLASHER = FALSE > +DEFINE DO_CAPSULE = FALSE > > PLATFORM_NAME = Overdrive > PLATFORM_GUID = B2296C02-9DA1-4CD1-BD48-4D4F0F1276EB > @@ -124,6 +125,7 @@ DEFINE DO_FLASHER = FALSE > RealTimeClockLib|Silicon/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf > > CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf > +!if $(DO_CAPSULE) == TRUE > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > @@ -131,6 +133,7 @@ DEFINE DO_FLASHER = FALSE > FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf > IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf > PlatformFlashAccessLib|Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.inf > +!endif > > UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf > PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > @@ -507,6 +510,8 @@ DEFINE DO_FLASHER = FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0 > > +!if $(DO_CAPSULE) == TRUE > + > [PcdsDynamicExDefault.common.DEFAULT] > gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100 > > @@ -516,6 +521,8 @@ DEFINE DO_FLASHER = FALSE > # d34b3d29-0085-4ab3-8be8-84188cc50489 > gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x29, 0x3d, 0x4b, 0xd3, 0x85, 0x0, 0xb3, 0x4a, 0x8b, 0xe8, 0x84, 0x18, 0x8c, 0xc5, 0x04, 0x89} > > +!endif > + > [PcdsDynamicHii] > gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5 > > @@ -763,6 +770,7 @@ DEFINE DO_FLASHER = FALSE > } > !endif > > +!if $(DO_CAPSULE) == TRUE > # > # Firmware update > # > @@ -770,3 +778,4 @@ DEFINE DO_FLASHER = FALSE > SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf > SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf > Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf > +!endif > diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf > index 18f74b3c46fe..867523da3638 100644 > --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf > +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf > @@ -249,11 +249,13 @@ READ_LOCK_STATUS = TRUE > # > INF Silicon/AMD/Styx/Drivers/StyxRngDxe/StyxRngDxe.inf > > +!if $(DO_CAPSULE) == TRUE > # > # Firmware update > # > INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf > INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf > +!endif > > [FV.STYX_EFI] > FvAlignment = 16 > @@ -283,8 +285,10 @@ READ_LOCK_STATUS = TRUE > INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf > INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf > INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf > - INF RuleOverride = FMP_IMAGE_DESC Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf > > +!if $(DO_CAPSULE) == TRUE > + INF RuleOverride = FMP_IMAGE_DESC Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf > +!endif > > FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { > SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { > @@ -292,6 +296,8 @@ READ_LOCK_STATUS = TRUE > } > } > > +!if $(DO_CAPSULE) == TRUE > + > [FV.CapsuleDispatchFv] > FvAlignment = 16 > ERASE_POLARITY = 1 > @@ -359,6 +365,7 @@ CAPSULE_HEADER_INIT_VERSION = 0x1 > > FMP_PAYLOAD = FmpPayloadSystemFirmwarePkcs7 > > +!endif > > ################################################################################ > # > -- > 2.11.0 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc index a15f96d2fba9..8620f6be3514 100644 --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.dsc @@ -23,6 +23,7 @@ DEFINE DO_PSCI = 1 DEFINE DO_ISCP = 1 DEFINE DO_KCS = 1 DEFINE DO_FLASHER = FALSE +DEFINE DO_CAPSULE = FALSE PLATFORM_NAME = Overdrive PLATFORM_GUID = B2296C02-9DA1-4CD1-BD48-4D4F0F1276EB @@ -124,6 +125,7 @@ DEFINE DO_FLASHER = FALSE RealTimeClockLib|Silicon/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf +!if $(DO_CAPSULE) == TRUE BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf @@ -131,6 +133,7 @@ DEFINE DO_FLASHER = FALSE FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf PlatformFlashAccessLib|Silicon/AMD/Styx/Library/StyxPlatformFlashAccessLib/StyxPlatformFlashAccessLib.inf +!endif UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf @@ -507,6 +510,8 @@ DEFINE DO_FLASHER = FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0 +!if $(DO_CAPSULE) == TRUE + [PcdsDynamicExDefault.common.DEFAULT] gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100 @@ -516,6 +521,8 @@ DEFINE DO_FLASHER = FALSE # d34b3d29-0085-4ab3-8be8-84188cc50489 gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x29, 0x3d, 0x4b, 0xd3, 0x85, 0x0, 0xb3, 0x4a, 0x8b, 0xe8, 0x84, 0x18, 0x8c, 0xc5, 0x04, 0x89} +!endif + [PcdsDynamicHii] gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5 @@ -763,6 +770,7 @@ DEFINE DO_FLASHER = FALSE } !endif +!if $(DO_CAPSULE) == TRUE # # Firmware update # @@ -770,3 +778,4 @@ DEFINE DO_FLASHER = FALSE SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf +!endif diff --git a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf index 18f74b3c46fe..867523da3638 100644 --- a/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf +++ b/Platform/AMD/OverdriveBoard/OverdriveBoard.fdf @@ -249,11 +249,13 @@ READ_LOCK_STATUS = TRUE # INF Silicon/AMD/Styx/Drivers/StyxRngDxe/StyxRngDxe.inf +!if $(DO_CAPSULE) == TRUE # # Firmware update # INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf +!endif [FV.STYX_EFI] FvAlignment = 16 @@ -283,8 +285,10 @@ READ_LOCK_STATUS = TRUE INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf - INF RuleOverride = FMP_IMAGE_DESC Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf +!if $(DO_CAPSULE) == TRUE + INF RuleOverride = FMP_IMAGE_DESC Platform/AMD/OverdriveBoard/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf +!endif FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { @@ -292,6 +296,8 @@ READ_LOCK_STATUS = TRUE } } +!if $(DO_CAPSULE) == TRUE + [FV.CapsuleDispatchFv] FvAlignment = 16 ERASE_POLARITY = 1 @@ -359,6 +365,7 @@ CAPSULE_HEADER_INIT_VERSION = 0x1 FMP_PAYLOAD = FmpPayloadSystemFirmwarePkcs7 +!endif ################################################################################ #
The signed capsule update support added to the Overdrive platform in a recent patch inadvertently introduced a dependency on the external OpenSSL library, which many users may not have installed into their EDK2 tree by default. So add a DO_CAPSULE variable that defaults to FALSE, and only build the capsule pieces if it is set to TRUE. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- Platform/AMD/OverdriveBoard/OverdriveBoard.dsc | 9 +++++++++ Platform/AMD/OverdriveBoard/OverdriveBoard.fdf | 9 ++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel