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>
diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c
index eac33a2..63f17f7 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 @@
 {
 	struct timestamp_entry *tse;
 
+	if (!boot_cpu())
+		return;
+
 	if (!ts_table) {
 		timestamp_stash(id, ts_time);
 		return;
@@ -114,6 +118,9 @@
 
 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_sync(void)
 {
+	if (!boot_cpu())
+		return;
+
 #ifdef __PRE_RAM__
 	timestamp_real_init(ts_basetime);
 #else