diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc index 84f1515082..153cf97322 100644 --- a/payloads/external/SeaBIOS/Makefile.inc +++ b/payloads/external/SeaBIOS/Makefile.inc @@ -21,12 +21,16 @@ config: checkout echo " CONFIG SeaBIOS $(TAG-y)" $(MAKE) -C $(OUT)/seabios defconfig OUT=$(OUT)/seabios/out/ echo "CONFIG_COREBOOT=y" >> $(OUT)/seabios/.config +ifeq ($(CONFIG_SEABIOS_THREAD_OPTIONROMS),y) + echo "CONFIG_THREAD_OPTIONROMS=y" >> $(OUT)/seabios/.config +endif echo "CONFIG_DEBUG_SERIAL=y" >> $(OUT)/seabios/.config echo "CONFIG_DEBUG_SERIAL_PORT=0x3f8" >> $(OUT)/seabios/.config echo "CONFIG_COREBOOT_FLASH=y" >> $(OUT)/seabios/.config echo "CONFIG_LZMA=y" >> $(OUT)/seabios/.config echo "CONFIG_FLASH_FLOPPY=y" >> $(OUT)/seabios/.config echo "CONFIG_VGAHOOKS=y" >> $(OUT)/seabios/.config + echo "CONFIG_DEBUG_COREBOOT=y" >> $(OUT)/seabios/.config # This shows how to force a previously set .config option *off* #echo "# CONFIG_SMBIOS is not set" >> $(OUT)/seabios/.config diff --git a/src/Kconfig b/src/Kconfig index fe7dc9b017..2f5270e918 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -624,6 +624,17 @@ config SEABIOS_PS2_TIMEOUT after powering on. This specifies how long SeaBIOS will wait for the keyboard controller to become ready before giving up. +config SEABIOS_THREAD_OPTIONROMS + prompt "Hardware init during option ROM execution" if PAYLOAD_SEABIOS + default n + bool + help + Allow hardware init to run in parallel with optionrom execution. + + This can reduce boot time, but can cause some timing + variations during option ROM code execution. It is not + known if all option ROMs will behave properly with this option. + choice prompt "GRUB2 version" default GRUB2_MASTER diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 3b17ce3054..56f0c5c7ba 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -468,6 +468,7 @@ seabios: AS="$(AS)" CPP="$(CPP)" \ CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \ CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) \ + CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \ OUT=$(abspath $(obj)) IASL="$(IASL)" filo: