summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2019-03-05 16:45:14 +0530
committerPatrick Georgi <pgeorgi@google.com>2019-03-07 17:21:23 +0000
commit4f42eead361b8d6b2f96031bcaf4627f2a5ea8a6 (patch)
tree196fe33ef1bc30614a76d6a4a38d81cb57713d84
parent34508cd9ac51021721f3e9abfe2a69c8a9835a4b (diff)
downloadcoreboot-4f42eead361b8d6b2f96031bcaf4627f2a5ea8a6.tar.xz
arch/x86/postcar: Add separate timestamp for postcar stage
This patch adds dedicated timestamp value for postcar stage. TEST=Able to see "start of postcar" and "end of postcar" timestamp while executing cbmem -t after booting to chrome console. > cbmem -t 951:returning from FspMemoryInit 20,485,324 (20,103,067) 4:end of romstage 20,559,235 (73,910) 100:start of postcar 20,560,266 (1,031) 101:end of postcar 20,570,038 (9,772) Change-Id: I084f66949667ad598f811d4233b4e639bc4c113e Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/31762 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/arch/x86/postcar.c3
-rw-r--r--src/commonlib/include/commonlib/timestamp_serialized.h4
-rw-r--r--src/lib/prog_loaders.c3
3 files changed, 10 insertions, 0 deletions
diff --git a/src/arch/x86/postcar.c b/src/arch/x86/postcar.c
index ea05824e6f..b4efc949b4 100644
--- a/src/arch/x86/postcar.c
+++ b/src/arch/x86/postcar.c
@@ -19,6 +19,7 @@
#include <cpu/x86/mtrr.h>
#include <main_decl.h>
#include <program_loading.h>
+#include <timestamp.h>
/*
* Systems without a native coreboot cache-as-ram teardown may implement
@@ -35,6 +36,8 @@ void main(void)
/* Recover cbmem so infrastruture using it is functional. */
cbmem_initialize();
+ timestamp_add_now(TS_START_POSTCAR);
+
display_mtrrs();
/* Load and run ramstage. */
diff --git a/src/commonlib/include/commonlib/timestamp_serialized.h b/src/commonlib/include/commonlib/timestamp_serialized.h
index cbf07b5aac..bb0dcfc7f4 100644
--- a/src/commonlib/include/commonlib/timestamp_serialized.h
+++ b/src/commonlib/include/commonlib/timestamp_serialized.h
@@ -63,6 +63,8 @@ enum timestamp_id {
TS_LOAD_PAYLOAD = 90,
TS_ACPI_WAKE_JUMP = 98,
TS_SELFBOOT_JUMP = 99,
+ TS_START_POSTCAR = 100,
+ TS_END_POSTCAR = 101,
/* 500+ reserved for vendorcode extensions (500-600: google/chromeos) */
TS_START_COPYVER = 501,
@@ -257,6 +259,8 @@ static const struct timestamp_id_to_name {
{ TS_FSP_BEFORE_END_OF_FIRMWARE, "calling FspNotify(EndOfFirmware)" },
{ TS_FSP_AFTER_END_OF_FIRMWARE,
"returning from FspNotify(EndOfFirmware)" },
+ { TS_START_POSTCAR, "start of postcar" },
+ { TS_END_POSTCAR, "end of postcar" },
};
#endif
diff --git a/src/lib/prog_loaders.c b/src/lib/prog_loaders.c
index 70ea7efe66..da021f1143 100644
--- a/src/lib/prog_loaders.c
+++ b/src/lib/prog_loaders.c
@@ -128,6 +128,9 @@ void run_ramstage(void)
struct prog ramstage =
PROG_INIT(PROG_RAMSTAGE, CONFIG_CBFS_PREFIX "/ramstage");
+ if (ENV_POSTCAR)
+ timestamp_add_now(TS_END_POSTCAR);
+
timestamp_add_now(TS_END_ROMSTAGE);
/*