
Hi Simon,
On Mon, Feb 28, 2022 at 05:11:22PM -0700, Simon Glass wrote:
At present the emulator assumes that the TPM is inited in the same phase where it is used. But in fact SPL may init the TPM, so we don't want to complain when U-Boot proper later uses it. Remove this check.
It might be best to save this information into the device state for the TPM, so that we can make sure the TPM was inited at some point. For now, this seems good enough.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/tpm/tpm2_tis_sandbox.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/tpm/tpm2_tis_sandbox.c b/drivers/tpm/tpm2_tis_sandbox.c index ac6eb14353..c26f5d35ab 100644 --- a/drivers/tpm/tpm2_tis_sandbox.c +++ b/drivers/tpm/tpm2_tis_sandbox.c @@ -366,8 +366,10 @@ static int sandbox_tpm2_check_readyness(struct udevice *dev, int command)
break;
default:
if (!tpm->tests_done)
return TPM2_RC_NEEDS_TEST;
/* Skip this, since the startup may have happened in SPL
* if (!tpm->tests_done)
* return TPM2_RC_NEEDS_TEST;
*/
This looks reasonable. On top of that the TPM will return 'already initialized' if someone tries to do that after SPL, so we should be safe.
break;
}
2.35.1.574.g5d30c73bfb-goog
Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org