#include <console/console.h>
static struct multiboot_mmap_entry *mb_mem;
-struct multiboot_info *mbi;
+struct multiboot_info *mbi = NULL;
static struct {
u64 addr;
{
int i;
+ mbi = (struct multiboot_info *)rom_table_end;
+
memset(mbi, 0, sizeof(*mbi));
rom_table_end += sizeof(*mbi);
mbi->mmap_addr = (u32) rom_table_end;
mb_mem = (struct multiboot_mmap_entry *)rom_table_end;
+ /* FIXME This code is broken, it does not know about high memory
+ * tables, nor does it reserve the coreboot table area.
+ */
/* reserved regions */
reserved_mem[0].addr = low_table_start;
reserved_mem[0].len = ROUND(low_table_end - low_table_start, 4096);
#if CONFIG_MULTIBOOT
/* The Multiboot information structure */
- mbi = (struct multiboot_info *)rom_table_end;
rom_table_end = write_multiboot_info(
low_table_start, low_table_end,
rom_table_start, rom_table_end);