summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2013-09-08 13:10:28 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2013-09-21 06:21:30 +0200
commitf56ff9069eb49df30d7e99e4e67aad851a54bc7d (patch)
tree95a26c9589c36e03b40054c96dd850c9b948c6ca
parentc0beb6d4185db33eeabbceefd9004769253973a3 (diff)
downloadcoreboot-f56ff9069eb49df30d7e99e4e67aad851a54bc7d.tar.xz
timestamps: Only collect from BSP CPU
We only have one table to collect timestamps into. Change-Id: I80180fe9a05226f0351c3e66eacaf2d0cb82c924 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/3912 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-by: Aaron Durbin <adurbin@google.com>
-rw-r--r--src/lib/timestamp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c
index eac33a2aff..63f17f7467 100644
--- a/src/lib/timestamp.c
+++ b/src/lib/timestamp.c
@@ -23,6 +23,7 @@
#include <cbmem.h>
#include <timestamp.h>
#include <cpu/x86/car.h>
+#include <cpu/x86/lapic.h>
#define MAX_TIMESTAMPS 30
@@ -60,6 +61,9 @@ void timestamp_add(enum timestamp_id id, tsc_t ts_time)
{
struct timestamp_entry *tse;
+ if (!boot_cpu())
+ return;
+
if (!ts_table) {
timestamp_stash(id, ts_time);
return;
@@ -114,6 +118,9 @@ static void timestamp_do_sync(void)
void timestamp_init(tsc_t base)
{
+ if (!boot_cpu())
+ return;
+
#ifdef __PRE_RAM__
/* Copy of basetime, it is too early for CBMEM. */
ts_basetime = base;
@@ -135,6 +142,9 @@ void timestamp_init(tsc_t base)
void timestamp_sync(void)
{
+ if (!boot_cpu())
+ return;
+
#ifdef __PRE_RAM__
timestamp_real_init(ts_basetime);
#else