diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2009-03-17 14:38:48 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2009-03-17 14:38:48 +0000 |
commit | efab4ba3bb3e26de55a7f2e62bbc224c0a7d6e7f (patch) | |
tree | 19c9fec432896de0e0dd45c4b726843107bc4064 /src/include | |
parent | 5d6645ae4435337fd55e60f62daab2e3b372351e (diff) | |
download | coreboot-efab4ba3bb3e26de55a7f2e62bbc224c0a7d6e7f.tar.xz |
This patch adds "high coreboot table support" to coreboot version 2.
Some bootloaders seem to overwrite memory starting at 0x600, thus destroying
the coreboot table integrity, rendering the table useless.
By moving the table to the high tables area (if it's activated), this problem
is fixed.
In order to move the table, a 40 bytes mini coreboot table with a single sub
table is placed at 0x500/0x530 that points to the real coreboot table. This is
comparable to the ACPI RSDT or the MP floating table.
This patch also adds "table forward" support to flashrom and nvramtool.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4011 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/boot/coreboot_tables.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/include/boot/coreboot_tables.h b/src/include/boot/coreboot_tables.h index 3f8e60698e..f0ab7af7cb 100644 --- a/src/include/boot/coreboot_tables.h +++ b/src/include/boot/coreboot_tables.h @@ -155,6 +155,13 @@ struct lb_console { uint16_t type; }; +#define LB_TAG_FORWARD 0x0011 +struct lb_forward { + uint32_t tag; + uint32_t size; + uint64_t forward; +}; + #define LB_TAG_CONSOLE_SERIAL8250 0 #define LB_TAG_CONSOLE_VGA 1 #define LB_TAG_CONSOLE_BTEXT 2 |