summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward O'Callaghan <eocallaghan@alterapraxis.com>2014-09-13 03:43:49 +1000
committerEdward O'Callaghan <eocallaghan@alterapraxis.com>2014-10-04 07:44:49 +0200
commita296f9e3d385d2d310aae1cdfd4a20c592de1d20 (patch)
tree014ee04c1e7806aa9529fed54754ca43ffb92958
parentd63b97f9ab5bda1b696a53c66a3b802316762bfe (diff)
downloadcoreboot-a296f9e3d385d2d310aae1cdfd4a20c592de1d20.tar.gz
coreboot-a296f9e3d385d2d310aae1cdfd4a20c592de1d20.tar.bz2
coreboot-a296f9e3d385d2d310aae1cdfd4a20c592de1d20.zip
Kconfig: Allow native vga init to be selectable for SeaBIOS payload
Change-Id: I1508f3d3c56cb9afbf4a23355831549552a62866 Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-on: http://review.coreboot.org/6891 Tested-by: build bot (Jenkins) Reviewed-by: Kevin O'Connor <kevin@koconnor.net> Reviewed-by: Martin Roth <gaumless@gmail.com>
-rw-r--r--Makefile.inc4
-rw-r--r--payloads/external/SeaBIOS/Makefile.inc4
-rw-r--r--src/Kconfig16
-rw-r--r--src/arch/x86/Makefile.inc1
4 files changed, 25 insertions, 0 deletions
diff --git a/Makefile.inc b/Makefile.inc
index 8e9605770f46..daf4cf49754a 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -531,6 +531,10 @@ ifneq ($(CONFIG_SEABIOS_PS2_TIMEOUT),0)
$(CBFSTOOL) $@.tmp add-int -i $(CONFIG_SEABIOS_PS2_TIMEOUT) -n etc/ps2-keyboard-spinup
endif
endif
+ifeq ($(CONFIG_SEABIOS_VGA_COREBOOT),y)
+ @printf " SeaBIOS Adding generated legacy VGA option rom.\n"
+ $(CBFSTOOL) $@.tmp add -f $(CONFIG_PAYLOAD_VGABIOS_FILE) -n vgaroms/seavgabios.bin -t raw
+endif
ifeq ($(CONFIG_INCLUDE_CONFIG_FILE),y)
@printf " CONFIG $(DOTCONFIG)\n"
if [ -f $(DOTCONFIG) ]; then \
diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc
index da454528f342..0831eea747a6 100644
--- a/payloads/external/SeaBIOS/Makefile.inc
+++ b/payloads/external/SeaBIOS/Makefile.inc
@@ -37,6 +37,10 @@ endif
ifneq ($(CONFIG_SEABIOS_THREAD_OPTIONROMS),y)
echo "# CONFIG_THREAD_OPTIONROMS is not set" >> seabios/.config
endif
+ifeq ($(CONFIG_SEABIOS_VGA_COREBOOT),y)
+ echo "CONFIG_VGA_COREBOOT=y" >> seabios/.config
+ echo "CONFIG_BUILD_VGABIOS=y" >> seabios/.config
+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/
diff --git a/src/Kconfig b/src/Kconfig
index afcaab6685a4..ec598631bd0d 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -642,6 +642,17 @@ config SEABIOS_MALLOC_UPPERMEMORY
hardware. In general, if this is desired, the option will be
set to 'N' by the chipset Kconfig.
+config SEABIOS_VGA_COREBOOT
+ prompt "Include generated option rom that implements legacy VGA BIOS compatibility" if PAYLOAD_SEABIOS
+ default n
+ depends on !VGA_BIOS && MAINBOARD_DO_NATIVE_VGA_INIT
+ 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.
+
choice
prompt "GRUB2 version"
default GRUB2_MASTER
@@ -689,6 +700,11 @@ config PAYLOAD_FILE
depends on PAYLOAD_SEABIOS
default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
+config PAYLOAD_VGABIOS_FILE
+ string
+ depends on PAYLOAD_SEABIOS && SEABIOS_VGA_COREBOOT
+ default "payloads/external/SeaBIOS/seabios/out/vgabios.bin"
+
config PAYLOAD_FILE
depends on PAYLOAD_FILO
default "payloads/external/FILO/filo/build/filo.elf"
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index aa058c01eb94..0a7399e3ddf8 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -349,6 +349,7 @@ seabios:
CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) \
CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \
+ CONFIG_SEABIOS_VGA_COREBOOT=$(CONFIG_SEABIOS_VGA_COREBOOT) \
CONFIG_CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL) \
CONFIG_TTYS0_BASE=$(CONFIG_TTYS0_BASE) \
CONFIG_SEABIOS_MALLOC_UPPERMEMORY=$(CONFIG_SEABIOS_MALLOC_UPPERMEMORY) \