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>
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user