From 99d05c74b6f32aa667364d5dd4b10b9e512acbb7 Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sat, 28 Nov 2015 15:44:34 -0700 Subject: 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 Reviewed-on: https://review.coreboot.org/12568 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Alexander Couzens --- payloads/external/Makefile.inc | 1 + payloads/external/SeaBIOS/Kconfig | 10 +++++++++- payloads/external/SeaBIOS/Makefile.inc | 8 ++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'payloads/external') diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 26bb52e1d9..11fbcfd214 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 6224697322..468c689714 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 ec877a9fda..21da35e18a 100644 --- a/payloads/external/SeaBIOS/Makefile.inc +++ b/payloads/external/SeaBIOS/Makefile.inc @@ -40,6 +40,14 @@ endif 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 -- cgit v1.2.3