[edk2] Platforms/AMD/OverDrive: make capsule support conditional

Message ID 20171016163413.15051-1-ard.biesheuvel@linaro.org
State New
Headers show
Series
  • [edk2] Platforms/AMD/OverDrive: make capsule support conditional
Related show

Commit Message

Ard Biesheuvel Oct. 16, 2017, 4:34 p.m.
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

Comments

Leif Lindholm Oct. 17, 2017, 6:22 p.m. | #1
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

Patch

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
 
 ################################################################################
 #