[coreboot-gerrit] Patch set updated for coreboot: 25118d0 lenovo/x60/romstage.c: Collect timestamps in romstage

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Thu Aug 29 00:57:54 CEST 2013


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3587

-gerrit

commit 25118d00372256e50ed750bbcf68b847b0d054e7
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date:   Tue Jul 2 09:54:17 2013 +0200

    lenovo/x60/romstage.c: Collect timestamps in romstage
    
    Collect early timestamps in Lenovo X60’s romstage like the Lenovo T60
    does (»lenovo/t60: Collect timestamps in romstage« (44c392f8) [1]).
    
    Selecting the option `COLLECT_TIMESTAMPS` in Kconfig and then
    doing `cbmem --timestamps` should output the timestamps.
    
    [1] http://review.coreboot.org/3499
    
    Change-Id: I7bd30f03a1b85c38e89c19cdf88b2d20b24abed8
    Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
 src/mainboard/lenovo/x60/romstage.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/src/mainboard/lenovo/x60/romstage.c b/src/mainboard/lenovo/x60/romstage.c
index 222b999..4d0eac7 100644
--- a/src/mainboard/lenovo/x60/romstage.c
+++ b/src/mainboard/lenovo/x60/romstage.c
@@ -30,6 +30,7 @@
 #include <cpu/x86/lapic.h>
 #include <lib.h>
 #include <cbmem.h>
+#include <timestamp.h>
 #include <pc80/mc146818rtc.h>
 #include <console/console.h>
 #include <cpu/x86/bist.h>
@@ -218,6 +219,20 @@ void main(unsigned long bist)
 	int cbmem_was_initted;
 	const u8 spd_addrmap[2 * DIMM_SOCKETS] = { 0x50, 0x52, 0x51, 0x53 };
 
+#if CONFIG_COLLECT_TIMESTAMPS
+	tsc_t start_romstage_time;
+	tsc_t before_dram_time;
+	tsc_t after_dram_time;
+	tsc_t base_time = {
+		.lo = pci_read_config32(PCI_DEV(0, 0x00, 0), 0xdc),
+		.hi = pci_read_config32(PCI_DEV(0, 0x1f, 2), 0xd0)
+	};
+#endif
+
+#if CONFIG_COLLECT_TIMESTAMPS
+	start_romstage_time = rdtsc();
+#endif
+
 	if (bist == 0)
 		enable_lapic();
 
@@ -281,7 +296,13 @@ void main(unsigned long bist)
 	dump_spd_registers();
 #endif
 
+#if CONFIG_COLLECT_TIMESTAMPS
+	before_dram_time = rdtsc();
+#endif
 	sdram_initialize(boot_mode, spd_addrmap);
+#if CONFIG_COLLECT_TIMESTAMPS
+	after_dram_time = rdtsc();
+#endif
 
 	/* Perform some initialization that must run before stage2 */
 	early_ich7_init();
@@ -340,6 +361,14 @@ void main(unsigned long bist)
 	}
 #endif
 
+#if CONFIG_COLLECT_TIMESTAMPS
+	timestamp_init(base_time);
+	timestamp_add(TS_START_ROMSTAGE, start_romstage_time);
+	timestamp_add(TS_BEFORE_INITRAM, before_dram_time);
+	timestamp_add(TS_AFTER_INITRAM, after_dram_time);
+	timestamp_add_now(TS_END_ROMSTAGE);
+#endif
+
 #if CONFIG_CONSOLE_CBMEM
 	/* Keep this the last thing this function does. */
 	cbmemc_reinit();



More information about the coreboot-gerrit mailing list