From c04afd6433cd53acdc727ad760cde9c40090030b Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Wed, 4 Sep 2013 13:31:39 +0300 Subject: CBMEM: Add cbmem_locate_table() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For both romstage and ramstage, this calls an arch-specific function get_cbmem_table() to resolve the base and size of CBMEM region. In ramstage, the result is cached as the query may be relatively slow involving multiple PCI configuration reads. For x86 CBMEM tables are located right below top of low ram and have fixed size of HIGH_MEMORY_SIZE in EARLY_CBMEM_INIT implementation. Change-Id: Ie8d16eb30cd5c3860fff243f36bd4e7d8827a782 Signed-off-by: Kyösti Mälkki Reviewed-on: http://review.coreboot.org/3558 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/arch/armv7/tables.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/arch/armv7') diff --git a/src/arch/armv7/tables.c b/src/arch/armv7/tables.c index de6b6facc3..b566ff6130 100644 --- a/src/arch/armv7/tables.c +++ b/src/arch/armv7/tables.c @@ -29,6 +29,13 @@ #define MAX_COREBOOT_TABLE_SIZE (8 * 1024) +void __attribute__((weak)) get_cbmem_table(uint64_t *base, uint64_t *size) +{ + printk(BIOS_WARNING, "WARNING: you need to define get_cbmem_table for your board\n"); + *base = 0; + *size = 0; +} + void cbmem_arch_init(void) { } -- cgit v1.2.3