diff options
Diffstat (limited to 'src/usr/secureboot/trusted/base/trustedboot_base.C')
-rw-r--r-- | src/usr/secureboot/trusted/base/trustedboot_base.C | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/src/usr/secureboot/trusted/base/trustedboot_base.C b/src/usr/secureboot/trusted/base/trustedboot_base.C index e9f20db59..dcd5a3191 100644 --- a/src/usr/secureboot/trusted/base/trustedboot_base.C +++ b/src/usr/secureboot/trusted/base/trustedboot_base.C @@ -43,6 +43,7 @@ #include <secureboot/trustedboot_reasoncodes.H> #include "trustedboot_base.H" #include "../trustedboot.H" +#include "../trustedbootCmds.H" #include "../trustedbootUtils.H" #include "tpmLogMgr.H" @@ -165,19 +166,7 @@ void pcrExtendSingleTpm(TpmTarget & io_target, } } - - - // If the TPM init has occurred and it is currently - // functional we will do our extension - if (io_target.available && - io_target.initAttempted && - !io_target.failed) - { - - /// @todo RTC:125288 Add call to extend the PCR - } - - // Now we log the event, we will do this in two scenarios + // Log the event, we will do this in two scenarios // - !initAttempted - prior to IPL of the TPM we log for replay // - initAttempted && !failed - TPM is functional so we log if ((io_target.available && @@ -209,6 +198,24 @@ void pcrExtendSingleTpm(TpmTarget & io_target, } } + // If the TPM init has occurred and it is currently + // functional we will do our extension + if (io_target.available && + io_target.initAttempted && + !io_target.failed) + { + + err = tpmCmdPcrExtend(&io_target, + i_pcr, + i_algId, + i_digest, + i_digestSize); + if (NULL != err) + { + break; + } + } + } while ( 0 ); if (NULL != err) |