Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/48861 )
Change subject: payloads/tianocore: Add Kconfig to set boot timeout ......................................................................
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 matt.devillier@gmail.com --- M payloads/external/Makefile.inc M payloads/external/tianocore/Kconfig M payloads/external/tianocore/Makefile 3 files changed, 13 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/48861/1
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 823cd87..3a40e5d 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -150,6 +150,7 @@ 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 7d5f038..87b6e15 100644 --- a/payloads/external/tianocore/Kconfig +++ b/payloads/external/tianocore/Kconfig @@ -100,4 +100,12 @@ 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 3d3a3dd..a29dfd2 100644 --- a/payloads/external/tianocore/Makefile +++ b/payloads/external/tianocore/Makefile @@ -37,10 +37,12 @@ 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
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/48861 )
Change subject: payloads/tianocore: Add Kconfig to set boot timeout ......................................................................
Patch Set 1: Code-Review+2
(2 comments)
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... File payloads/external/tianocore/Kconfig:
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... PS1, Line 109: For boards without an internal display, a value of 5s is generally sufficient. The default is supposed to be set per board, I assume?
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... File payloads/external/tianocore/Makefile:
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... PS1, Line 45: BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor) Would it make sense to extract `-a` and `-p` arguments into another variable? Then, the architecture independent parts of `$(BUILD_STR)` wouldn't have to be repeated.
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/48861 )
Change subject: payloads/tianocore: Add Kconfig to set boot timeout ......................................................................
Patch Set 1:
(2 comments)
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... File payloads/external/tianocore/Kconfig:
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... PS1, Line 109: For boards without an internal display, a value of 5s is generally sufficient.
The default is supposed to be set per board, I assume?
just for boards (with an external display) that need a longer timeout; the current default of 2s has never been problematic IME for boards with an internal display
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... File payloads/external/tianocore/Makefile:
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... PS1, Line 45: BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor)
Would it make sense to extract `-a` and `-p` arguments into another variable? […]
it absolutely would, I'll do that in a follow-up
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/48861 )
Change subject: payloads/tianocore: Add Kconfig to set boot timeout ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... File payloads/external/tianocore/Makefile:
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... PS1, Line 45: BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor)
it absolutely would, I'll do that in a follow-up
done - CB:48942
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/48861 )
Change subject: payloads/tianocore: Add Kconfig to set boot timeout ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... File payloads/external/tianocore/Kconfig:
https://review.coreboot.org/c/coreboot/+/48861/1/payloads/external/tianocore... PS1, Line 109: For boards without an internal display, a value of 5s is generally sufficient.
just for boards (with an external display) that need a longer timeout; the current default of 2s has […]
Ack
Nico Huber has submitted this change. ( https://review.coreboot.org/c/coreboot/+/48861 )
Change subject: payloads/tianocore: Add Kconfig to set boot timeout ......................................................................
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 matt.devillier@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/48861 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Nico Huber nico.h@gmx.de --- M payloads/external/Makefile.inc M payloads/external/tianocore/Kconfig M payloads/external/tianocore/Makefile 3 files changed, 13 insertions(+), 2 deletions(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 823cd87..3a40e5d 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -150,6 +150,7 @@ 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 7d5f038..87b6e15 100644 --- a/payloads/external/tianocore/Kconfig +++ b/payloads/external/tianocore/Kconfig @@ -100,4 +100,12 @@ 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 3d3a3dd..a29dfd2 100644 --- a/payloads/external/tianocore/Makefile +++ b/payloads/external/tianocore/Makefile @@ -37,10 +37,12 @@ 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