At present the TPM2 emulator lacks the ability to load and save the state. This means it cannot be used for verify-boot flow that includes multiple phases (e.g. VPL and SPL). It also lacks support for non-volatile data storage.
This series adds these features to the TPM2 emulator, with some code from TPM1 moving into a common file. A few other clean-ups are included to make the two emulators more similar. Simon Glass (9): sandbox: tpm: Split out common nvdata code sandbox: tpm: Tidy up reading and writing of device state sandbox: tpm: Support the define-space command sandbox: tpm: Correct handling of get-capability sandbox: tpm: Finish comments for struct sandbox_tpm2 sandbox: tpm: Track whether the state is valid sandbox: tpm: Support nvdata in TPM2 sandbox: tpm: Support storing device state in tpm2 sandbox: tpm: Support extending a PCR multiple times drivers/tpm/Makefile | 4 +- drivers/tpm/sandbox_common.c | 77 ++++++++++ drivers/tpm/sandbox_common.h | 108 ++++++++++++++ drivers/tpm/tpm2_tis_sandbox.c | 256 +++++++++++++++++++++++++++++++-- drivers/tpm/tpm_tis_sandbox.c | 171 ++++++---------------- include/tpm-v2.h | 2 + 6 files changed, 479 insertions(+), 139 deletions(-) create mode 100644 drivers/tpm/sandbox_common.c create mode 100644 drivers/tpm/sandbox_common.h -- 2.32.0.93.g670b81a890-goog