Index: src/tlcl/generator.c |
diff --git a/src/tlcl/generator.c b/src/tlcl/generator.c |
index dc3cf1dfd4aee635d9608430e739cbced7de56ae..4a9e89d2d370afcc2d18c22f36cd12c80645f3d1 100644 |
--- a/src/tlcl/generator.c |
+++ b/src/tlcl/generator.c |
@@ -207,6 +207,13 @@ Command* BuildSelftestfullCommand(void) { |
return cmd; |
} |
+Command* BuildContinueSelfTestCommand(void) { |
+ int size = kTpmRequestHeaderLength; |
+ Command* cmd = newCommand(TPM_ORD_ContinueSelfTest, size); |
+ cmd->name = "tpm_continueselftest_cmd"; |
+ return cmd; |
+} |
+ |
Command* BuildReadPubekCommand(void) { |
int size = kTpmRequestHeaderLength + sizeof(TPM_NONCE); |
Command* cmd = newCommand(TPM_ORD_ReadPubek, size); |
@@ -236,6 +243,15 @@ Command* BuildPhysicalSetDeactivatedCommand(void) { |
return cmd; |
} |
+Command* BuildExtendCommand(void) { |
+ int size = kTpmRequestHeaderLength + sizeof(uint32_t) + kPcrDigestLength; |
+ Command* cmd = newCommand(TPM_ORD_Extend, size); |
+ cmd->name = "tpm_extend_cmd"; |
+ AddVisibleField(cmd, "pcrNum", kTpmRequestHeaderLength); |
+ AddVisibleField(cmd, "inDigest", kTpmRequestHeaderLength + sizeof(uint32_t)); |
+ return cmd; |
+} |
+ |
Command* BuildGetCapabilityCommand(void) { |
int size = (kTpmRequestHeaderLength + |
sizeof(TPM_CAPABILITY_AREA) + /* capArea */ |
@@ -358,11 +374,13 @@ Command* (*builders[])(void) = { |
BuildPPLockCommand, |
BuildStartupCommand, |
BuildSelftestfullCommand, |
+ BuildContinueSelfTestCommand, |
BuildReadPubekCommand, |
BuildForceClearCommand, |
BuildPhysicalEnableCommand, |
BuildPhysicalSetDeactivatedCommand, |
BuildGetCapabilityCommand, |
+ BuildExtendCommand, |
}; |
static void FreeFields(Field* fld) { |