diff options
author | Aaron Durbin <adurbin@chromium.org> | 2016-04-19 16:11:22 -0500 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-04-21 20:44:04 +0200 |
commit | dcee908921444282c82c4cdde455c8819e3965af (patch) | |
tree | 834311f6fead426c39af46e2cf507a8b2d25e751 | |
parent | 86cbfa00d00da2786e3a43edd3cf173739f99cba (diff) |
arch/x86: remove low coreboot table support
In addition to being consistent with all other architectures,
all chipsets support cbmem so the low coreboot table path is
stale and never taken. Also it's important to note the memory
written in to that low area of memory wasn't automatically
reserved unless that path was taken. To that end remove
low coreboot table support for x86.
Change-Id: Ib96338cf3024e3aa34931c53a7318f40185be34c
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/14432
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r-- | src/arch/x86/tables.c | 7 | ||||
-rw-r--r-- | src/lib/coreboot_table.c | 15 |
2 files changed, 3 insertions, 19 deletions
diff --git a/src/arch/x86/tables.c b/src/arch/x86/tables.c index 309ac16843..b36078d2e1 100644 --- a/src/arch/x86/tables.c +++ b/src/arch/x86/tables.c @@ -183,7 +183,7 @@ static unsigned long write_smbios_table(unsigned long rom_table_end) void write_tables(void) { unsigned long low_table_start, low_table_end; - unsigned long rom_table_start, rom_table_end; + unsigned long rom_table_end; /* Even if high tables are configured, some tables are copied both to * the low and the high area, so payloads and OSes don't need to know @@ -191,7 +191,6 @@ void write_tables(void) */ unsigned long high_table_pointer; - rom_table_start = 0xf0000; rom_table_end = 0xf0000; /* Start low addr at 0x500, so we don't run into conflicts with the BDA @@ -242,8 +241,6 @@ void write_tables(void) printk(BIOS_DEBUG, "coreboot table: %ld bytes.\n", new_high_table_pointer - high_table_pointer); } else { - /* The coreboot table must be in 0-4K or 960K-1M */ - write_coreboot_table(low_table_start, low_table_end, - rom_table_start, rom_table_end); + printk(BIOS_ERR, "Could not add CBMEM for coreboot table.\n"); } } diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c index 18e8b342b6..091ceaf06d 100644 --- a/src/lib/coreboot_table.c +++ b/src/lib/coreboot_table.c @@ -447,7 +447,7 @@ static unsigned long lb_table_fini(struct lb_header *head) unsigned long write_coreboot_table( unsigned long low_table_start, unsigned long low_table_end, - unsigned long rom_table_start, unsigned long rom_table_end) + unsigned long rom_table_start __unused, unsigned long rom_table_end) { struct lb_header *head; @@ -468,10 +468,6 @@ unsigned long write_coreboot_table( rom_table_end); head = lb_table_init(rom_table_end); - rom_table_end = (unsigned long)head; - printk(BIOS_DEBUG, "rom_table_end = 0x%08lx\n", rom_table_end); - rom_table_end = ALIGN(rom_table_end, (64 * 1024)); - printk(BIOS_DEBUG, "... aligned to 0x%08lx\n", rom_table_end); #if CONFIG_USE_OPTION_TABLE { @@ -500,15 +496,6 @@ unsigned long write_coreboot_table( bootmem_add_range(low_table_start, size, LB_MEM_TABLE); } - /* Record the pirq table, acpi tables, and maybe the mptable. However, - * these only need to be added when the rom_table is sitting below - * 1MiB. If it isn't that means high tables are being written. - * The code below handles high tables correctly. */ - if (rom_table_end <= (1 << 20)) { - uint64_t size = rom_table_end - rom_table_start; - bootmem_add_range(rom_table_start, size, LB_MEM_TABLE); - } - /* No other memory areas can be added after the memory table has been * committed as the entries won't show up in the serialize mem table. */ bootmem_write_memory_table(lb_memory(head)); |