CBMEM ARM: Prefer get_cbmem_table() over cbmem_late_set_table()

Implementing get_cbmem_table() allows initializing CBMEM earlier.

Change-Id: I973f3a84dd9aaa2839959df5dda22909fdb9edeb
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/3560
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
This commit is contained in:
Kyösti Mälkki 2013-06-22 14:05:28 +03:00
parent f9f74afdd7
commit 95c39c28a3
2 changed files with 8 additions and 12 deletions

View File

@ -221,14 +221,12 @@ static void mainboard_init(device_t dev)
// gpio_info(); // gpio_info();
} }
static void setup_cbmem(void) void get_cbmem_table(uint64_t *base, uint64_t *size)
{ {
u64 size = CONFIG_COREBOOT_TABLES_SIZE; *size = CONFIG_COREBOOT_TABLES_SIZE;
u64 base = CONFIG_SYS_SDRAM_BASE + *base = CONFIG_SYS_SDRAM_BASE +
((unsigned)CONFIG_DRAM_SIZE_MB << 20ULL) - ((unsigned)CONFIG_DRAM_SIZE_MB << 20ULL) -
CONFIG_COREBOOT_TABLES_SIZE; CONFIG_COREBOOT_TABLES_SIZE;
cbmem_late_set_table(base, size);
cbmem_init(base, size);
} }
static void mainboard_enable(device_t dev) static void mainboard_enable(device_t dev)
@ -236,7 +234,7 @@ static void mainboard_enable(device_t dev)
dev->ops->init = &mainboard_init; dev->ops->init = &mainboard_init;
/* set up coreboot tables */ /* set up coreboot tables */
setup_cbmem(); cbmem_initialize();
/* set up dcache and MMU */ /* set up dcache and MMU */
/* FIXME: this should happen via resource allocator */ /* FIXME: this should happen via resource allocator */

View File

@ -262,14 +262,12 @@ static void mainboard_init(device_t dev)
// gpio_info(); // gpio_info();
} }
static void setup_cbmem(void) void get_cbmem_table(uint64_t *base, uint64_t *size)
{ {
u64 size = CONFIG_COREBOOT_TABLES_SIZE; *size = CONFIG_COREBOOT_TABLES_SIZE;
u64 base = CONFIG_SYS_SDRAM_BASE + *base = CONFIG_SYS_SDRAM_BASE +
((unsigned)CONFIG_DRAM_SIZE_MB << 20ULL) - ((unsigned)CONFIG_DRAM_SIZE_MB << 20ULL) -
CONFIG_COREBOOT_TABLES_SIZE; CONFIG_COREBOOT_TABLES_SIZE;
cbmem_late_set_table(base, size);
cbmem_init(base, size);
} }
static void mainboard_enable(device_t dev) static void mainboard_enable(device_t dev)
@ -277,7 +275,7 @@ static void mainboard_enable(device_t dev)
dev->ops->init = &mainboard_init; dev->ops->init = &mainboard_init;
/* set up coreboot tables */ /* set up coreboot tables */
setup_cbmem(); cbmem_initialize();
/* set up dcache and MMU */ /* set up dcache and MMU */
/* FIXME: this should happen via resource allocator */ /* FIXME: this should happen via resource allocator */