encapsule mbi initialization in write_multiboot_table, where it belongs. (very

simple and trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4308 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer 2009-05-26 14:37:17 +00:00 committed by Stefan Reinauer
parent 736221f1b2
commit af7da72533
2 changed files with 6 additions and 2 deletions

View File

@ -24,7 +24,7 @@
#include <console/console.h> #include <console/console.h>
static struct multiboot_mmap_entry *mb_mem; static struct multiboot_mmap_entry *mb_mem;
struct multiboot_info *mbi; struct multiboot_info *mbi = NULL;
static struct { static struct {
u64 addr; u64 addr;
@ -80,12 +80,17 @@ unsigned long write_multiboot_info(
{ {
int i; int i;
mbi = (struct multiboot_info *)rom_table_end;
memset(mbi, 0, sizeof(*mbi)); memset(mbi, 0, sizeof(*mbi));
rom_table_end += sizeof(*mbi); rom_table_end += sizeof(*mbi);
mbi->mmap_addr = (u32) rom_table_end; mbi->mmap_addr = (u32) rom_table_end;
mb_mem = (struct multiboot_mmap_entry *)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 regions */
reserved_mem[0].addr = low_table_start; reserved_mem[0].addr = low_table_start;
reserved_mem[0].len = ROUND(low_table_end - low_table_start, 4096); reserved_mem[0].len = ROUND(low_table_end - low_table_start, 4096);

View File

@ -154,7 +154,6 @@ struct lb_memory *write_tables(void)
#if CONFIG_MULTIBOOT #if CONFIG_MULTIBOOT
/* The Multiboot information structure */ /* The Multiboot information structure */
mbi = (struct multiboot_info *)rom_table_end;
rom_table_end = write_multiboot_info( rom_table_end = write_multiboot_info(
low_table_start, low_table_end, low_table_start, low_table_end,
rom_table_start, rom_table_end); rom_table_start, rom_table_end);