summaryrefslogtreecommitdiff
path: root/src/arch/i386/boot/tables.c
diff options
context:
space:
mode:
authorJuhana Helovuo <juhe@iki.fi>2010-09-13 14:47:22 +0000
committerMyles Watson <mylesgw@gmail.com>2010-09-13 14:47:22 +0000
commit6b56e43b6d96678cf7adeb1878702d3e52573985 (patch)
tree77f2026c25e5f77ea0d0af4237e7eb24f04cbb1c /src/arch/i386/boot/tables.c
parent50b78b66d3e8c08ff86b0b82bbfa35537d3de053 (diff)
Generate multiboot tables from coreboot tables.
Signed-off-by: Juhana Helovuo <juhe@iki.fi> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5806 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/i386/boot/tables.c')
-rw-r--r--src/arch/i386/boot/tables.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/arch/i386/boot/tables.c b/src/arch/i386/boot/tables.c
index 6ee7c2c876..69e0539126 100644
--- a/src/arch/i386/boot/tables.c
+++ b/src/arch/i386/boot/tables.c
@@ -179,14 +179,6 @@ struct lb_memory *write_tables(void)
#endif
-#if CONFIG_MULTIBOOT
- post_code(0x9d);
-
- /* The Multiboot information structure */
- rom_table_end = write_multiboot_info(
- low_table_start, low_table_end,
- rom_table_start, rom_table_end);
-#endif
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
post_code(0x9d);
@@ -210,8 +202,9 @@ struct lb_memory *write_tables(void)
new_high_table_pointer - high_table_pointer);
} else {
/* The coreboot table must be in 0-4K or 960K-1M */
- write_coreboot_table(low_table_start, low_table_end,
- rom_table_start, rom_table_end);
+ rom_table_end = write_coreboot_table(
+ low_table_start, low_table_end,
+ rom_table_start, rom_table_end);
}
post_code(0x9e);
@@ -224,6 +217,13 @@ struct lb_memory *write_tables(void)
cbmem_add(CBMEM_ID_RESUME, 1024 * (1024-64));
#endif
+#if CONFIG_MULTIBOOT
+ post_code(0x9d);
+
+ /* The Multiboot information structure */
+ write_multiboot_info(rom_table_end);
+#endif
+
// Remove before sending upstream
cbmem_list();