timestamp: Add timestamps for TPM communication
On grunt these operations combined take a little over 37ms. BUG=b:64549506 TEST=built on grunt 511:starting TPM PCR extend 301,268 (598) 512:finished TPM PCR extend 326,710 (25,442) 513:starting locking TPM 326,716 (6) 514:finished locking TPM 339,517 (12,801) Change-Id: I05cfb3d0f8463f073e329a035484a340546649e1 Signed-off-by: Raul E Rangel <rrangel@chromium.org> Reviewed-on: https://review.coreboot.org/26218 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
38686f15dd
commit
4c518e18e3
|
@ -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)" },
|
||||
|
|
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue