summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commonlib/include/commonlib/timestamp_serialized.h8
-rw-r--r--src/security/vboot/vboot_logic.c5
2 files changed, 13 insertions, 0 deletions
diff --git a/src/commonlib/include/commonlib/timestamp_serialized.h b/src/commonlib/include/commonlib/timestamp_serialized.h
index 42b55bca72..304e43fab9 100644
--- a/src/commonlib/include/commonlib/timestamp_serialized.h
+++ b/src/commonlib/include/commonlib/timestamp_serialized.h
@@ -76,6 +76,10 @@ enum timestamp_id {
TS_DONE_LOADING = 508,
TS_DONE_HASHING = 509,
TS_END_HASH_BODY = 510,
+ TS_START_TPMPCR = 511,
+ TS_END_TPMPCR = 512,
+ TS_START_TPMLOCK = 513,
+ TS_END_TPMLOCK = 514,
TS_START_COPYVPD = 550,
TS_END_COPYVPD_RO = 551,
TS_END_COPYVPD_RW = 552,
@@ -190,6 +194,10 @@ static const struct timestamp_id_to_name {
{ TS_DONE_LOADING, "finished loading body (ignore for x86)" },
{ TS_DONE_HASHING, "finished calculating body hash (SHA2)" },
{ TS_END_HASH_BODY, "finished verifying body signature (RSA)" },
+ { TS_START_TPMPCR, "starting TPM PCR extend" },
+ { TS_END_TPMPCR, "finished TPM PCR extend" },
+ { TS_START_TPMLOCK, "starting locking TPM" },
+ { TS_END_TPMLOCK, "finished locking TPM" },
{ TS_START_COPYVPD, "starting to load Chrome OS VPD" },
{ TS_END_COPYVPD_RO, "finished loading Chrome OS VPD (RO)" },
diff --git a/src/security/vboot/vboot_logic.c b/src/security/vboot/vboot_logic.c
index 9221a12ca2..2600f84945 100644
--- a/src/security/vboot/vboot_logic.c
+++ b/src/security/vboot/vboot_logic.c
@@ -403,6 +403,7 @@ void verstage_main(void)
vboot_reboot();
}
+ timestamp_add_now(TS_START_TPMPCR);
rv = extend_pcrs(&ctx);
if (rv) {
printk(BIOS_WARNING, "Failed to extend TPM PCRs (%#x)\n", rv);
@@ -410,8 +411,11 @@ void verstage_main(void)
save_if_needed(&ctx);
vboot_reboot();
}
+ timestamp_add_now(TS_END_TPMPCR);
/* Lock TPM */
+
+ timestamp_add_now(TS_START_TPMLOCK);
rv = antirollback_lock_space_firmware();
if (rv) {
printk(BIOS_INFO, "Failed to lock TPM (%x)\n", rv);
@@ -419,6 +423,7 @@ void verstage_main(void)
save_if_needed(&ctx);
vboot_reboot();
}
+ timestamp_add_now(TS_END_TPMLOCK);
/* Lock rec hash space if available. */
if (IS_ENABLED(CONFIG_VBOOT_HAS_REC_HASH_SPACE)) {