mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-17 07:56:25 -04:00
x86: Support adding coreboot timestanps to bootstage
Coreboot provides a lot of useful timing information. Provide a facility to add this to bootstage on start-up. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
04dbf77d62
commit
5397d8058c
@ -61,3 +61,41 @@ void timestamp_add_now(enum timestamp_id id)
|
|||||||
{
|
{
|
||||||
timestamp_add(id, rdtsc());
|
timestamp_add(id, rdtsc());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int timestamp_add_to_bootstage(void)
|
||||||
|
{
|
||||||
|
uint i;
|
||||||
|
|
||||||
|
if (!ts_table)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
for (i = 0; i < ts_table->num_entries; i++) {
|
||||||
|
struct timestamp_entry *tse = &ts_table->entries[i];
|
||||||
|
const char *name = NULL;
|
||||||
|
|
||||||
|
switch (tse->entry_id) {
|
||||||
|
case TS_START_ROMSTAGE:
|
||||||
|
name = "start-romstage";
|
||||||
|
break;
|
||||||
|
case TS_BEFORE_INITRAM:
|
||||||
|
name = "before-initram";
|
||||||
|
break;
|
||||||
|
case TS_DEVICE_INITIALIZE:
|
||||||
|
name = "device-initialize";
|
||||||
|
break;
|
||||||
|
case TS_DEVICE_DONE:
|
||||||
|
name = "device-done";
|
||||||
|
break;
|
||||||
|
case TS_SELFBOOT_JUMP:
|
||||||
|
name = "selfboot-jump";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (name) {
|
||||||
|
bootstage_add_record(0, name, BOOTSTAGEF_ALLOC,
|
||||||
|
tse->entry_stamp /
|
||||||
|
get_tbclk_mhz());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -49,4 +49,11 @@ void timestamp_init(void);
|
|||||||
void timestamp_add(enum timestamp_id id, uint64_t ts_time);
|
void timestamp_add(enum timestamp_id id, uint64_t ts_time);
|
||||||
void timestamp_add_now(enum timestamp_id id);
|
void timestamp_add_now(enum timestamp_id id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* timestamp_add_to_bootstage - Add important coreboot timestamps to bootstage
|
||||||
|
*
|
||||||
|
* @return 0 if ok, -1 if no timestamps were found
|
||||||
|
*/
|
||||||
|
int timestamp_add_to_bootstage(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user