From 61a3c8a005922d46425c84f847c0ad26e9c3cdca Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Sun, 29 Nov 2020 22:11:52 -0600 Subject: payloads/tianocore: Add Kconfig to set boot timeout Add a Kconfig option to set the tianocore boot timeout, which is passed to the payload via a command line parameter. Allows boards without an internal display (eg) to set a longer boot timeout, in order to ensure the boot splash/menu prompt are visible upon boot. The associated changes on the tianocore side have already been merged into MrChromebox's CorebootPayloadPkg and UefiPayloadPkg branches (coreboot_fb and uefipayloadpkg respectively). Change-Id: Ifeaadff05f6667d642c05b81f53c1d2dbc450af6 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/48861 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- payloads/external/Makefile.inc | 1 + payloads/external/tianocore/Kconfig | 8 ++++++++ payloads/external/tianocore/Makefile | 6 ++++-- 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'payloads') diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 823cd87ddf..3a40e5daa5 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -150,6 +150,7 @@ payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd tianocore: $(DOTCONFI CONFIG_TIANOCORE_UEFIPAYLOAD=$(CONFIG_TIANOCORE_UEFIPAYLOAD) \ CONFIG_TIANOCORE_COREBOOTPAYLOAD=$(CONFIG_TIANOCORE_COREBOOTPAYLOAD) \ CONFIG_MMCONF_BASE_ADDRESS=$(CONFIG_MMCONF_BASE_ADDRESS) \ + CONFIG_TIANOCORE_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) \ GCC_CC_x86_32=$(GCC_CC_x86_32) \ GCC_CC_x86_64=$(GCC_CC_x86_64) \ GCC_CC_arm=$(GCC_CC_arm) \ diff --git a/payloads/external/tianocore/Kconfig b/payloads/external/tianocore/Kconfig index 7d5f038ebd..87b6e15582 100644 --- a/payloads/external/tianocore/Kconfig +++ b/payloads/external/tianocore/Kconfig @@ -100,4 +100,12 @@ config TIANOCORE_BOOTSPLASH_FILE If an absolute path is not given, the path will assumed to be relative to the coreboot root directory. +config TIANOCORE_BOOT_TIMEOUT + int + default 2 + help + The length of time in seconds for which the boot splash/menu prompt will be displayed. + For boards with an internal display, the default value of 2s is generally sufficient. + For boards without an internal display, a value of 5s is generally sufficient. + endif diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile index 3d3a3dd748..a29dfd2d8e 100644 --- a/payloads/external/tianocore/Makefile +++ b/payloads/external/tianocore/Makefile @@ -37,10 +37,12 @@ ifneq ($(CONFIG_TIANOCORE_USE_8254_TIMER), y) TIMER=-DUSE_HPET_TIMER endif +TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT) + ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y) - BUILD_STR=-q -a IA32 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32.dsc -b $(BUILD_TYPE) $(TIMER) $(build_flavor) + BUILD_STR=-q -a IA32 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor) else - BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(build_flavor) + BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor) endif all: clean build -- cgit v1.2.3