From 9031877866fd528f1d1624f0462aeb681e68b576 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Wed, 20 Sep 2023 21:24:24 +0100 Subject: payloads/edk2: Guard MrChromebox's build options Several of the build commands passed by the Makefile only exist in MrChromebox's fork of edk2. Guard these, and the corresponding Kconfig options, against the selection of the MrChromebox repository. Signed-off-by: Sean Rhodes Change-Id: I41d8d54e5b91990dd9fb88967fcd549a86cf6fe9 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78036 Reviewed-by: Matt DeVillier Tested-by: build bot (Jenkins) --- payloads/external/edk2/Kconfig | 4 +++- payloads/external/edk2/Makefile | 30 +++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/payloads/external/edk2/Kconfig b/payloads/external/edk2/Kconfig index 6fdb26472a..cd5b2f614a 100644 --- a/payloads/external/edk2/Kconfig +++ b/payloads/external/edk2/Kconfig @@ -207,6 +207,7 @@ config EDK2_CPU_TIMER_LIB config EDK2_FOLLOW_BGRT_SPEC bool "Center logo 38.2% from the top of screen" + depends on EDK2_REPO_MRCHROMEBOX default n help Follow the BGRT Specification implemented by Microsoft and @@ -229,6 +230,7 @@ config EDK2_HAVE_EFI_SHELL config EDK2_PRIORITIZE_INTERNAL bool "Prioritize internal boot devices" + depends on EDK2_REPO_MRCHROMEBOX default y help Prioritize internal boot devices over external devices @@ -264,7 +266,7 @@ config EDK2_SECURE_BOOT_SUPPORT config EDK2_GOP_DRIVER bool "Add a GOP driver to the Tianocore build" - depends on INTEL_GMA_ADD_VBT && NO_GFX_INIT && (EDK2_REPO_MRCHROMEBOX || EDK2_REPO_CUSTOM) + depends on INTEL_GMA_ADD_VBT && NO_GFX_INIT && EDK2_REPO_MRCHROMEBOX default y if INTEL_GMA_ADD_VBT && NO_GFX_INIT && EDK2_REPO_MRCHROMEBOX help Select this option to have edk2 use an external GOP driver for display init. diff --git a/payloads/external/edk2/Makefile b/payloads/external/edk2/Makefile index 6131c1ca71..e9dbab464e 100644 --- a/payloads/external/edk2/Makefile +++ b/payloads/external/edk2/Makefile @@ -38,7 +38,7 @@ endif endif # -# EDK II has the following build options relevant to coreboot: +# EDK II (edk2/master) has the following build options relevant to coreboot: # # # OPTION = DEFAULT_VALUE @@ -67,10 +67,6 @@ endif ifneq ($(CONFIG_EDK2_SERIAL_SUPPORT),y) BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE endif -# FOLLOW_BGRT_SPEC = FALSE -ifeq ($(CONFIG_EDK2_FOLLOW_BGRT_SPEC),y) -BUILD_STR += -D FOLLOW_BGRT_SPEC=TRUE -endif # MAX_VARIABLE_SIZE = 0x10000 ifeq ($(CONFIG_SMMSTORE_V2),y) BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize=0x8000 @@ -119,9 +115,29 @@ endif ifeq ($(CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS), y) BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport=TRUE endif + +# +# The MrChromebox repository has the following addition options: +# +ifeq ($(CONFIG_EDK2_REPO_MRCHROMEBOX),y) + +# FOLLOW_BGRT_SPEC = FALSE +ifeq ($(CONFIG_EDK2_FOLLOW_BGRT_SPEC),y) +BUILD_STR += -D FOLLOW_BGRT_SPEC=TRUE +endif # GOP_DRIVER = FALSE ifeq ($(CONFIG_EDK2_GOP_DRIVER), y) BUILD_STR += -D USE_PLATFORM_GOP=TRUE +endif +# PRIORITIZE_INTERNAL = FALSE +ifeq ($(CONFIG_EDK2_PRIORITIZE_INTERNAL),y) +BUILD_STR += -D PRIORITIZE_INTERNAL=TRUE +endif +# TPM_ENABLE = TRUE +ifeq ($(CONFIG_TPM_GOOGLE_CR50),y) +BUILD_STR += -D TPM_ENABLE=FALSE +endif + endif # @@ -135,10 +151,6 @@ BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow=0 BUILD_STR += --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn=0 endif -ifeq ($(CONFIG_TPM_GOOGLE_CR50)$(CONFIG_EDK2_REPO_MRCHROMEBOX),yy) -BUILD_STR += -D TPM_ENABLE=FALSE -endif - bootloader = $(word 8,$(subst /, ,$(BUILD_STR))) ifneq ($(CONFIG_EDK2_CUSTOM_BUILD_PARAMS),) -- cgit v1.2.3