timestamp: Allow timestamp_add to accept a negative number

Change timestamp_add to accept negative values for events that took
place before coreboot started executing.

TEST=Boot to OS, check cbmem -t

Signed-off-by: Bora Guvendik <bora.guvendik@intel.com>
Change-Id: I90afc13a8e92693d86e3358f05e0a0cb7cdbca9b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59554
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
Bora Guvendik 2021-11-22 16:03:39 -08:00 committed by Felix Held
parent f33c9bf79a
commit bf73c498d4
3 changed files with 5 additions and 5 deletions

View File

@ -7,7 +7,7 @@
struct timestamp_entry { struct timestamp_entry {
uint32_t entry_id; uint32_t entry_id;
uint64_t entry_stamp; int64_t entry_stamp;
} __packed; } __packed;
struct timestamp_table { struct timestamp_table {

View File

@ -19,7 +19,7 @@ void timestamp_init(uint64_t base);
* inside REGION(timestamp) before cbmem comes online. For later stages, timestamps * inside REGION(timestamp) before cbmem comes online. For later stages, timestamps
* added before cbmem_[recovery|initialize] calls will be lost. * added before cbmem_[recovery|initialize] calls will be lost.
*/ */
void timestamp_add(enum timestamp_id id, uint64_t ts_time); void timestamp_add(enum timestamp_id id, int64_t ts_time);
/* Calls timestamp_add with current timestamp. */ /* Calls timestamp_add with current timestamp. */
void timestamp_add_now(enum timestamp_id id); void timestamp_add_now(enum timestamp_id id);

View File

@ -102,7 +102,7 @@ static const char *timestamp_name(enum timestamp_id id)
} }
static void timestamp_add_table_entry(struct timestamp_table *ts_table, static void timestamp_add_table_entry(struct timestamp_table *ts_table,
enum timestamp_id id, uint64_t ts_time) enum timestamp_id id, int64_t ts_time)
{ {
struct timestamp_entry *tse; struct timestamp_entry *tse;
@ -117,7 +117,7 @@ static void timestamp_add_table_entry(struct timestamp_table *ts_table,
printk(BIOS_ERR, "ERROR: Timestamp table full\n"); printk(BIOS_ERR, "ERROR: Timestamp table full\n");
} }
void timestamp_add(enum timestamp_id id, uint64_t ts_time) void timestamp_add(enum timestamp_id id, int64_t ts_time)
{ {
struct timestamp_table *ts_table; struct timestamp_table *ts_table;
@ -135,7 +135,7 @@ void timestamp_add(enum timestamp_id id, uint64_t ts_time)
timestamp_add_table_entry(ts_table, id, ts_time); timestamp_add_table_entry(ts_table, id, ts_time);
if (CONFIG(TIMESTAMPS_ON_CONSOLE)) if (CONFIG(TIMESTAMPS_ON_CONSOLE))
printk(BIOS_INFO, "Timestamp - %s: %llu\n", timestamp_name(id), ts_time); printk(BIOS_INFO, "Timestamp - %s: %lld\n", timestamp_name(id), ts_time);
} }
void timestamp_add_now(enum timestamp_id id) void timestamp_add_now(enum timestamp_id id)