diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-08-22 15:06:50 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-09-11 04:57:12 +0000 |
commit | 3dd23a5e72572dd164b3edfae210287b97235c56 (patch) | |
tree | 5099b80217152255f576560e178bf34f2970c338 /src/arch | |
parent | 98e338ee869f089a04b910230e5d852c3f1a0da5 (diff) |
timestamps: Improve collection for ENV_ROMSTAGE_OR_BEFORE
Keep track of the active timestamp table location using
a CAR_GLOBAL variable. Done this way, the entire table
can be located outside _car_relocatable_data and we only
switch the pointer to CBMEM and copy the data before
CAR gets torn down.
Fix comments about requirements of timestamp_init() usage.
Remove timestamp_cache from postcar and ramstage, as CBMEM
is available early on.
Change-Id: I87370f62db23318069b6fd56ba0d1171d619cb8a
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35032
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/car.ld | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/arch/x86/car.ld b/src/arch/x86/car.ld index 9d5ab284f2..2fbdb71546 100644 --- a/src/arch/x86/car.ld +++ b/src/arch/x86/car.ld @@ -56,17 +56,16 @@ . += 32; _epdpt = .; #endif - _car_relocatable_data_start = .; - /* The timestamp implementation relies on this storage to be around - * after migration. One of the fields indicates not to use it as the - * backing store once cbmem comes online. Therefore, this data needs - * to reside in the migrated area (between _car_relocatable_data_start - * and _car_relocatable_data_end). */ + TIMESTAMP(., 0x200) + + _car_relocatable_data_start = .; + _car_ehci_dbg_info_start = .; /* Reserve sizeof(struct ehci_dbg_info). */ . += 80; _car_ehci_dbg_info_end = .; + /* _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 |