CBMEM: Add cbmem_late_set_table() and drop references to high_tables_base

This helper function is for compatibility only for chipsets that do
not implement get_top_of_ram() to support early CBMEM.

Also remove references to globals high_tables_base and _size under
arch/ and from two ARMv7 boards.

Change-Id: I17eee30635a0368b2ada06e0698425c5ef0ecc53
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/3902
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@google.com>
This commit is contained in:
Kyösti Mälkki
2013-09-04 13:05:01 +03:00
parent 42f4651434
commit 1ae305efe1
7 changed files with 44 additions and 26 deletions

View File

@@ -29,13 +29,6 @@
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
/*
* TODO: "High" tables are a convention used on x86. Maybe we can
* clean up that naming at some point.
*/
uint64_t high_tables_base = 0;
uint64_t high_tables_size;
void cbmem_arch_init(void)
{
}

View File

@@ -25,9 +25,6 @@
*/
void set_top_of_ram(uint64_t ramtop)
{
high_tables_base = ramtop - HIGH_MEMORY_SIZE;
high_tables_size = HIGH_MEMORY_SIZE;
printk(BIOS_DEBUG, "high_tables_base: %08llx, size %lld\n",
high_tables_base, high_tables_size);
cbmem_late_set_table(ramtop - HIGH_MEMORY_SIZE, HIGH_MEMORY_SIZE);
}
#endif

View File

@@ -32,8 +32,6 @@
#include <lib.h>
#include <smbios.h>
uint64_t high_tables_base = 0;
uint64_t high_tables_size;
void cbmem_arch_init(void)
{
@@ -227,9 +225,18 @@ struct lb_memory *write_tables(void)
if (high_table_pointer) {
unsigned long new_high_table_pointer;
/* FIXME: The high_table_base parameter is not reference when tables are high,
* or high_table_pointer >1 MB.
*/
#if CONFIG_DYNAMIC_CBMEM
u64 fixme_high_tables_base = 0;
#else
u64 fixme_high_tables_base = high_tables_base;
#endif
/* Also put a forwarder entry into 0-4K */
new_high_table_pointer = write_coreboot_table(low_table_start, low_table_end,
high_tables_base, high_table_pointer);
fixme_high_tables_base, high_table_pointer);
if (new_high_table_pointer > (high_table_pointer +
MAX_COREBOOT_TABLE_SIZE))