tpm: sandbox: Allow init of TPM in a different phase
authorSimon Glass <sjg@chromium.org>
Wed, 31 Aug 2022 03:05:35 +0000 (21:05 -0600)
committerIlias Apalodimas <ilias.apalodimas@linaro.org>
Sat, 3 Sep 2022 13:58:56 +0000 (16:58 +0300)
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>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
drivers/tpm/tpm2_tis_sandbox.c

index ac6eb14..c26f5d3 100644 (file)
@@ -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;
+                */
 
                break;
        }