tpm: Require a digest source when extending the PCR
This feature is used for measured boot, so we can add a log entry to the TCPA with some information about where the digest comes from. It is not currently supported in the TPM drivers, but add it to the API so that code which expects it can signal its request. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
committed by
Ilias Apalodimas
parent
67fe8cc001
commit
a557d258c6
@@ -131,7 +131,8 @@ static int do_tpm_extend(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
rc = tpm_pcr_extend(dev, index, in_digest, out_digest);
|
||||
rc = tpm_pcr_extend(dev, index, in_digest, sizeof(in_digest),
|
||||
out_digest, "cmd");
|
||||
if (!rc) {
|
||||
puts("PCR value after execution of the command:\n");
|
||||
print_byte_string(out_digest, sizeof(out_digest));
|
||||
|
||||
@@ -91,7 +91,8 @@ static int test_early_extend(struct udevice *dev)
|
||||
tpm_init(dev);
|
||||
TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR));
|
||||
TPM_CHECK(tpm_continue_self_test(dev));
|
||||
TPM_CHECK(tpm_pcr_extend(dev, 1, value_in, value_out));
|
||||
TPM_CHECK(tpm_pcr_extend(dev, 1, value_in, sizeof(value_in), value_out,
|
||||
"test"));
|
||||
printf("done\n");
|
||||
return 0;
|
||||
}
|
||||
@@ -438,7 +439,7 @@ static int test_timing(struct udevice *dev)
|
||||
100);
|
||||
TTPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)),
|
||||
100);
|
||||
TTPM_CHECK(tpm_pcr_extend(dev, 0, in, out), 200);
|
||||
TTPM_CHECK(tpm_pcr_extend(dev, 0, in, sizeof(in), out, "test"), 200);
|
||||
TTPM_CHECK(tpm_set_global_lock(dev), 50);
|
||||
TTPM_CHECK(tpm_tsc_physical_presence(dev, PHYS_PRESENCE), 100);
|
||||
printf("done\n");
|
||||
|
||||
Reference in New Issue
Block a user