diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/i386/boot/coreboot_table.c | 12 | ||||
-rw-r--r-- | src/arch/i386/boot/coreboot_table.h | 3 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/arch/i386/boot/coreboot_table.c b/src/arch/i386/boot/coreboot_table.c index 427b978d96..e74e3e9fef 100644 --- a/src/arch/i386/boot/coreboot_table.c +++ b/src/arch/i386/boot/coreboot_table.c @@ -357,7 +357,8 @@ static void lb_remove_memory_range(struct lb_memory *mem, } } -static void lb_add_memory_range(struct lb_memory *mem, +/* This function is used in mainboard specific code, too */ +void lb_add_memory_range(struct lb_memory *mem, uint32_t type, uint64_t start, uint64_t size) { lb_remove_memory_range(mem, start, size); @@ -447,15 +448,10 @@ unsigned long write_coreboot_table( lb_add_memory_range(mem, LB_MEM_TABLE, rom_table_start, rom_table_end-rom_table_start); - /* AMD rs690 chip, we should remove the UMA from system memory. */ -#if (CONFIG_GFXUMA == 1) - printk_info("uma_memory_start=0x%x, uma_memory_size=0x%x \n", - uma_memory_start, uma_memory_size); - lb_add_memory_range(mem, LB_MEM_TABLE, - uma_memory_start, uma_memory_size); +#if (HAVE_MAINBOARD_RESOURCES == 1) + add_mainboard_resources(mem); #endif - /* Note: * I assume that there is always memory at immediately after * the low_table_end. This means that after I setup the coreboot table. diff --git a/src/arch/i386/boot/coreboot_table.h b/src/arch/i386/boot/coreboot_table.h index a5ba0f5963..4c8c44a18c 100644 --- a/src/arch/i386/boot/coreboot_table.h +++ b/src/arch/i386/boot/coreboot_table.h @@ -26,4 +26,7 @@ struct lb_memory *get_lb_mem(void); extern struct cmos_option_table option_table; +/* defined by mainboard.c if the mainboard requires extra resources */ +int add_mainboard_resources(struct lb_memory *mem); + #endif /* COREBOOT_TABLE_H */ |