coreboot: introduce notion of bootmem for memory map at boot

The write_coreboot_table() in coreboot_table.c was already using
struct memrange for managing and building up the entries that
eventually go into the lb_memory table. Abstract that concept
out to a bootmem memory map. The bootmem concept can then be
used as a basis for loading payloads, for example.

Change-Id: I7edbbca6bbd0568f658fde39ca93b126cab88367
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/5302
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
Aaron Durbin
2014-02-18 21:55:02 -06:00
committed by Aaron Durbin
parent c7db28c580
commit 4904802efc
8 changed files with 245 additions and 91 deletions

View File

@ -174,9 +174,8 @@ void *cbmem_find(u32 id);
#ifndef __PRE_RAM__
/* Ramstage only functions. */
/* Add the cbmem memory used to the memory tables. */
struct lb_memory;
void cbmem_add_lb_mem(struct lb_memory *mem);
/* Add the cbmem memory used to the memory map at boot. */
void cbmem_add_bootmem(void);
void cbmem_list(void);
void cbmem_arch_init(void);
void cbmem_print_entry(int n, u32 id, u64 start, u64 size);