summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-22 12:56:22 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-09-11 06:22:10 +0000
commit1095bfafed27a9e71b646ae8515c367480d0ed04 (patch)
tree9b89f8d6733693a35f75606fd7597b72cd5d1613 /src/arch/x86
parent3de9d774b17891720c8cd4e43010d8c6820707ed (diff)
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>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/car.ld6
-rw-r--r--src/arch/x86/include/arch/early_variables.h6
-rw-r--r--src/arch/x86/include/arch/symbols.h14
3 files changed, 9 insertions, 17 deletions
diff --git a/src/arch/x86/car.ld b/src/arch/x86/car.ld
index b382a768b5..a09150fcd9 100644
--- a/src/arch/x86/car.ld
+++ b/src/arch/x86/car.ld
@@ -64,8 +64,6 @@
. += 80;
_car_ehci_dbg_info_end = .;
- _car_relocatable_data_start = .;
-
/* _car_global_start and _car_global_end provide symbols to per-stage
* 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
@@ -78,13 +76,11 @@
*(.sbss)
*(.sbss.*)
#else
- /* .car.global_data objects only around when
- * CONFIG_CAR_GLOBAL_MIGRATION is employed. */
*(.car.global_data);
#endif
. = ALIGN(ARCH_POINTER_ALIGN_SIZE);
_car_global_end = .;
- _car_relocatable_data_end = .;
+ _car_unallocated_start = .;
#if !CONFIG(C_ENVIRONMENT_BOOTBLOCK)
_car_stack_start = .;
diff --git a/src/arch/x86/include/arch/early_variables.h b/src/arch/x86/include/arch/early_variables.h
index b501d78d68..57f4306619 100644
--- a/src/arch/x86/include/arch/early_variables.h
+++ b/src/arch/x86/include/arch/early_variables.h
@@ -52,13 +52,13 @@ void car_set_reloc_ptr(void *var, void *val);
static inline size_t car_data_size(void)
{
- size_t car_size = _car_relocatable_data_size;
- return ALIGN_UP(car_size, 64);
+ size_t car_size = _car_global_size;
+ return ALIGN(car_size, 64);
}
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
diff --git a/src/arch/x86/include/arch/symbols.h b/src/arch/x86/include/arch/symbols.h
index 18b0539847..a516155dec 100644
--- a/src/arch/x86/include/arch/symbols.h
+++ b/src/arch/x86/include/arch/symbols.h
@@ -31,22 +31,18 @@ extern char _car_stack_start[];
extern char _car_stack_end[];
#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_end[];
#define _car_ehci_dbg_info_size \
(_car_ehci_dbg_info_end - _car_ehci_dbg_info_start)
/*
- * The _car_relocatable_data_[start|end] symbols cover CAR data which is
- * relocatable once memory comes online. Variables with CAR_GLOBAL decoration
- * reside within this region. The _car_global_[start|end] is a subset of the
- * relocatable region which excludes the timestamp region because of
- * intricacies in the timestamp code.
+ * The _car_global_[start|end]symbols cover CAR data which is relocatable
+ * once memory comes online. Variables with CAR_GLOBAL decoration
+ * reside within this region.
*/
-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_end[];
#define _car_global_size (_car_global_end - _car_global_start)