summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2015-11-28 15:44:34 -0700
committerMartin Roth <martinroth@google.com>2015-12-03 21:52:48 +0100
commit99d05c74b6f32aa667364d5dd4b10b9e512acbb7 (patch)
tree6e1174b5364e11d4c3b2a79330da56d40f726fc6
parentb135baa0dbcd8a3f1a1fa0a156c17406149bd8d9 (diff)
downloadcoreboot-99d05c74b6f32aa667364d5dd4b10b9e512acbb7.tar.xz
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> Reviewed-on: https://review.coreboot.org/12568 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Alexander Couzens <lynxis@fe80.eu>
-rw-r--r--payloads/external/Makefile.inc1
-rw-r--r--payloads/external/SeaBIOS/Kconfig10
-rw-r--r--payloads/external/SeaBIOS/Makefile.inc8
3 files changed, 18 insertions, 1 deletions
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
@@ -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/