arch/x86: Drop _car_relocatable_data symbols

These have become aliases to _car_global_[start|end].

Change-Id: Ibdcaaafdc0e4c6df4a795474903768230d41680d
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35033
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
This commit is contained in:
Kyösti Mälkki
2019-08-22 12:56:22 +03:00
parent 3de9d774b1
commit 1095bfafed
7 changed files with 16 additions and 24 deletions

View File

@@ -64,8 +64,6 @@
. += 80; . += 80;
_car_ehci_dbg_info_end = .; _car_ehci_dbg_info_end = .;
_car_relocatable_data_start = .;
/* _car_global_start and _car_global_end provide symbols to per-stage /* _car_global_start and _car_global_end provide symbols to per-stage
* variables that are not shared like the timestamp and the pre-ram * variables that are not shared like the timestamp and the pre-ram
* cbmem console. This is useful for clearing this area on a per-stage * cbmem console. This is useful for clearing this area on a per-stage
@@ -78,13 +76,11 @@
*(.sbss) *(.sbss)
*(.sbss.*) *(.sbss.*)
#else #else
/* .car.global_data objects only around when
* CONFIG_CAR_GLOBAL_MIGRATION is employed. */
*(.car.global_data); *(.car.global_data);
#endif #endif
. = ALIGN(ARCH_POINTER_ALIGN_SIZE); . = ALIGN(ARCH_POINTER_ALIGN_SIZE);
_car_global_end = .; _car_global_end = .;
_car_relocatable_data_end = .; _car_unallocated_start = .;
#if !CONFIG(C_ENVIRONMENT_BOOTBLOCK) #if !CONFIG(C_ENVIRONMENT_BOOTBLOCK)
_car_stack_start = .; _car_stack_start = .;

View File

@@ -52,13 +52,13 @@ void car_set_reloc_ptr(void *var, void *val);
static inline size_t car_data_size(void) static inline size_t car_data_size(void)
{ {
size_t car_size = _car_relocatable_data_size; size_t car_size = _car_global_size;
return ALIGN_UP(car_size, 64); return ALIGN(car_size, 64);
} }
static inline size_t car_object_offset(void *ptr) static inline size_t car_object_offset(void *ptr)
{ {
return (char *)ptr - &_car_relocatable_data_start[0]; return (char *)ptr - &_car_global_start[0];
} }
#else #else

View File

@@ -31,22 +31,18 @@ extern char _car_stack_start[];
extern char _car_stack_end[]; extern char _car_stack_end[];
#define _car_stack_size (_car_stack_end - _car_stack_start) #define _car_stack_size (_car_stack_end - _car_stack_start)
extern char _car_unallocated_start[];
extern char _car_ehci_dbg_info_start[]; extern char _car_ehci_dbg_info_start[];
extern char _car_ehci_dbg_info_end[]; extern char _car_ehci_dbg_info_end[];
#define _car_ehci_dbg_info_size \ #define _car_ehci_dbg_info_size \
(_car_ehci_dbg_info_end - _car_ehci_dbg_info_start) (_car_ehci_dbg_info_end - _car_ehci_dbg_info_start)
/* /*
* The _car_relocatable_data_[start|end] symbols cover CAR data which is * The _car_global_[start|end]symbols cover CAR data which is relocatable
* relocatable once memory comes online. Variables with CAR_GLOBAL decoration * once memory comes online. Variables with CAR_GLOBAL decoration
* reside within this region. The _car_global_[start|end] is a subset of the * reside within this region.
* relocatable region which excludes the timestamp region because of
* intricacies in the timestamp code.
*/ */
extern char _car_relocatable_data_start[];
extern char _car_relocatable_data_end[];
#define _car_relocatable_data_size \
(_car_relocatable_data_end - _car_relocatable_data_start)
extern char _car_global_start[]; extern char _car_global_start[];
extern char _car_global_end[]; extern char _car_global_end[];
#define _car_global_size (_car_global_end - _car_global_start) #define _car_global_size (_car_global_end - _car_global_start)

View File

@@ -101,11 +101,11 @@ asmlinkage void *post_cache_as_ram(void)
void *migrated_car = (void *)(CONFIG_RAMTOP - car_size); void *migrated_car = (void *)(CONFIG_RAMTOP - car_size);
print_car_debug("Copying data from cache to RAM..."); print_car_debug("Copying data from cache to RAM...");
memcpy_(migrated_car, _car_relocatable_data_start, car_size); memcpy_(migrated_car, _car_global_start, car_size);
print_car_debug(" Done\n"); print_car_debug(" Done\n");
print_car_debug("Verifying data integrity in RAM..."); print_car_debug("Verifying data integrity in RAM...");
if (memcmp_(migrated_car, _car_relocatable_data_start, car_size) == 0) if (memcmp_(migrated_car, _car_global_start, car_size) == 0)
print_car_debug(" Done\n"); print_car_debug(" Done\n");
else else
print_car_debug(" FAILED\n"); print_car_debug(" FAILED\n");

View File

@@ -44,8 +44,8 @@ void *car_get_var_ptr(void *var)
{ {
char *migrated_base = NULL; char *migrated_base = NULL;
int offset; int offset;
void *_car_start = _car_relocatable_data_start; void *_car_start = _car_global_start;
void *_car_end = _car_relocatable_data_end; void *_car_end = _car_global_end;
/* If the cache-as-ram has not been migrated return the pointer /* If the cache-as-ram has not been migrated return the pointer
* passed in. */ * passed in. */
@@ -127,7 +127,7 @@ static void do_car_migrate_variables(void)
return; return;
} }
memcpy(migrated_base, _car_relocatable_data_start, car_size); memcpy(migrated_base, _car_global_start, car_size);
/* Mark that the data has been moved. */ /* Mark that the data has been moved. */
car_migrated = ~0; car_migrated = ~0;

View File

@@ -407,7 +407,7 @@ void fsp_memory_init(bool s3wake)
/* Build up memory map of romstage address space including CAR. */ /* Build up memory map of romstage address space including CAR. */
memranges_init_empty(&memmap, &freeranges[0], ARRAY_SIZE(freeranges)); memranges_init_empty(&memmap, &freeranges[0], ARRAY_SIZE(freeranges));
memranges_insert(&memmap, (uintptr_t)_car_region_start, memranges_insert(&memmap, (uintptr_t)_car_region_start,
_car_relocatable_data_end - _car_region_start, 0); _car_unallocated_start - _car_region_start, 0);
memranges_insert(&memmap, (uintptr_t)_program, REGION_SIZE(program), 0); memranges_insert(&memmap, (uintptr_t)_program, REGION_SIZE(program), 0);
if (!CONFIG(FSP_M_XIP)) if (!CONFIG(FSP_M_XIP))

View File

@@ -115,7 +115,7 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *fspm_upd, uint32_t version)
aupd->StackBase); aupd->StackBase);
printk(BIOS_SPEW, "| |\n"); printk(BIOS_SPEW, "| |\n");
printk(BIOS_SPEW, "+-------------------+ 0x%p\n", printk(BIOS_SPEW, "+-------------------+ 0x%p\n",
_car_relocatable_data_end); _car_global_end);
printk(BIOS_SPEW, "| coreboot data |\n"); printk(BIOS_SPEW, "| coreboot data |\n");
printk(BIOS_SPEW, "+-------------------+ 0x%p\n", printk(BIOS_SPEW, "+-------------------+ 0x%p\n",
_car_stack_end); _car_stack_end);