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

@@ -19,9 +19,9 @@
#include <types.h>
#include <string.h>
#include <bootmem.h>
#include <bootstate.h>
#include <cbmem.h>
#include <boot/coreboot_tables.h>
#include <console/console.h>
#include <arch/early_variables.h>
#if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
@@ -265,9 +265,9 @@ BOOT_STATE_INIT_ENTRIES(cbmem_bscb) = {
init_cbmem_post_device, NULL),
};
void cbmem_add_lb_mem(struct lb_memory *mem)
void cbmem_add_bootmem(void)
{
lb_add_memory_range(mem, LB_MEM_TABLE, cbmem_base, cbmem_size);
bootmem_add_range(cbmem_base, cbmem_size, LB_MEM_TABLE);
}
void cbmem_list(void)