summaryrefslogtreecommitdiffstats
path: root/coreboot_tables.h
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-03-17 14:39:25 +0000
committerStefan Reinauer <stefan.reinauer@coreboot.org>2009-03-17 14:39:25 +0000
commit2d853bb58740d575c1bbcc1d29e92654069b11d9 (patch)
treea7f21b4c1e82faf30a6dc68569d4f26aa079bca9 /coreboot_tables.h
parent0472f3d82624dcb19f25746172c6d59532e2463c (diff)
downloadflashrom-2d853bb58740d575c1bbcc1d29e92654069b11d9.tar.gz
flashrom-2d853bb58740d575c1bbcc1d29e92654069b11d9.tar.bz2
flashrom-2d853bb58740d575c1bbcc1d29e92654069b11d9.zip
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. Corresponding to flashrom svn r421 and coreboot v2 svn r4012. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se>
Diffstat (limited to 'coreboot_tables.h')
-rw-r--r--coreboot_tables.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/coreboot_tables.h b/coreboot_tables.h
index c4c2d4d1..2eaff087 100644
--- a/coreboot_tables.h
+++ b/coreboot_tables.h
@@ -135,6 +135,13 @@ struct lb_string {
uint8_t string[0];
};
+#define LB_TAG_FORWARD 0x0011
+struct lb_forward {
+ uint32_t tag;
+ uint32_t size;
+ uint64_t forward;
+};
+
/* The following structures are for the cmos definitions table */
#define LB_TAG_CMOS_OPTION_TABLE 200
/* cmos header record */