Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12568
-gerrit
commit c0b34efb010a689335316ef9bbdfd92456c3dad9 Author: Martin Roth martinroth@google.com Date: Sat Nov 28 15:44:34 2015 -0700
payloads/external/SeaBIOS: Add option for saved SeaBIOS .config
Instead of adding various SeaBIOS options into the coreboot Kconfig, just add a way to use saved SeaBIOS .config files. These files can contain full SeaBIOS .configs, but is really intended for individual options.
The coreboot Kconfig options take precedence over the settings in the saved .config.
Change-Id: Ia7f9c76555b8e290777207b3f637c94c4d67a782 Signed-off-by: Martin Roth martinroth@google.com --- payloads/external/Makefile.inc | 1 + payloads/external/SeaBIOS/Kconfig | 10 +++++++++- payloads/external/SeaBIOS/Makefile.inc | 8 ++++++++ 3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index c5f413f..b044a48 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -50,6 +50,7 @@ seabios: AS="$(AS_x86_32)" IASL="$(IASL)" \ CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \ CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) \ + CONFIG_PAYLOAD_CONFIGFILE=$(CONFIG_PAYLOAD_CONFIGFILE) \ CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \ CONFIG_SEABIOS_VGA_COREBOOT=$(CONFIG_SEABIOS_VGA_COREBOOT) \ CONFIG_CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL) \ diff --git a/payloads/external/SeaBIOS/Kconfig b/payloads/external/SeaBIOS/Kconfig index 6224697..468c689 100644 --- a/payloads/external/SeaBIOS/Kconfig +++ b/payloads/external/SeaBIOS/Kconfig @@ -54,10 +54,18 @@ config SEABIOS_VGA_COREBOOT bool help Coreboot can initialize the GPU of some mainboards. - + After initializing the GPU, the information about it can be passed to the payload. Provide an option rom that implements this legacy VGA BIOS compatibility requirement.
+config PAYLOAD_CONFIGFILE + string "SeaBIOS config file" + default "" + help + This option allows a platform to set Kconfig options for a basic + SeaBIOS payload. In general, if the option is used, the default + would be "$(top)/src/mainboard/$(MAINBOARDDIR)/config_seabios" + config PAYLOAD_FILE default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc index ec877a9..21da35e 100644 --- a/payloads/external/SeaBIOS/Makefile.inc +++ b/payloads/external/SeaBIOS/Makefile.inc @@ -41,6 +41,14 @@ ifeq ($(CONFIG_SEABIOS_VGA_COREBOOT),y) echo "CONFIG_VGA_COREBOOT=y" >> seabios/.config echo "CONFIG_BUILD_VGABIOS=y" >> seabios/.config endif +ifneq ($(CONFIG_PAYLOAD_CONFIGFILE),) +ifneq ("$(wildcard $(CONFIG_PAYLOAD_CONFIGFILE))","") + cat $(CONFIG_PAYLOAD_CONFIGFILE) >> seabios/.config +else + echo "Error: File $(CONFIG_PAYLOAD_CONFIGFILE) does not exist" + false +endif +endif # This shows how to force a previously set .config option *off* #echo "# CONFIG_SMBIOS is not set" >> seabios/.config $(MAKE) -C seabios olddefconfig OUT=out/