Martin Roth (gaumless@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6364
-gerrit
commit f2392b23a1999fa1d6f8dc8ad7f3b3a4b4f7135c Author: Martin Roth martin.roth@se-eng.com Date: Fri Jul 25 14:39:05 2014 -0600
payloads/external/SeaBIOS: Allow setting buffers below 0xC0000
Add the option to coreboot to set the SeaBIOS buffers below C0000. This is an absolute requirement on the upcoming rangeley processor because it is designed so that only the processor can write the higher memory areas. This prevents USB from bus-mastering into the buffers when they're set in the typical 0xE0000 area.
Change-Id: I15638605d1c66a2277d4b852796db89978551a34 Signed-off-by: Martin Roth martin.roth@se-eng.com --- payloads/external/SeaBIOS/Makefile.inc | 3 +++ src/Kconfig | 9 +++++++++ src/arch/x86/Makefile.inc | 1 + 3 files changed, 13 insertions(+)
diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc index da587b7..7782ee6 100644 --- a/payloads/external/SeaBIOS/Makefile.inc +++ b/payloads/external/SeaBIOS/Makefile.inc @@ -31,6 +31,9 @@ ifeq ($(CONFIG_CONSOLE_SERIAL),y) else echo "# CONFIG_DEBUG_SERIAL is not set" >> $(OUT)/seabios/.config endif +ifneq ($(CONFIG_SEABIOS_MALLOC_UPPERMEMORY),y) + echo "# CONFIG_MALLOC_UPPERMEMORY is not set" >> $(OUT)/seabios/.config +endif ifneq ($(CONFIG_SEABIOS_THREAD_OPTIONROMS),y) echo "# CONFIG_THREAD_OPTIONROMS is not set" >> $(OUT)/seabios/.config endif diff --git a/src/Kconfig b/src/Kconfig index af82353..397b20c 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -626,6 +626,15 @@ config SEABIOS_THREAD_OPTIONROMS variations during option ROM code execution. It is not known if all option ROMs will behave properly with this option.
+config SEABIOS_MALLOC_UPPERMEMORY + prompt "Allocate memory that needs to be in first Meg above 0xc0000" if PAYLOAD_SEABIOS + default y + bool + help + Use the "Upper Memory Block" area (0xc0000-0xf0000) for internal + "low memory" allocations. If this is not selected, the memory is + instead allocated from the "9-segment" (0x90000-0xa0000). + choice prompt "GRUB2 version" default GRUB2_MASTER diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 2e92d89..3b2517b 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -352,6 +352,7 @@ seabios: CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \ CONFIG_CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL) \ CONFIG_TTYS0_BASE=$(CONFIG_TTYS0_BASE) \ + CONFIG_SEABIOS_MALLOC_UPPERMEMORY=$(CONFIG_SEABIOS_MALLOC_UPPERMEMORY) \ OUT=$(abspath $(obj)) IASL="$(IASL)"
filo: