[PATCH v2 00/10] tpm: Enhance sandbox tpm2 emulation

Simon Glass sjg at chromium.org
Sun Jul 18 22:17:56 CEST 2021


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.

Changes in v2:
- Add new patch to correct handling of SANDBOX_TPM_PCR_NB
- Drop the constant sandbox_extended_once_pcr since we can calculate it
- Update the commit message to explain that there is only one PCR

Simon Glass (10):
  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: Correct handling of SANDBOX_TPM_PCR_NB
  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 | 283 +++++++++++++++++++++++++++++----
 drivers/tpm/tpm_tis_sandbox.c  | 171 ++++++--------------
 include/tpm-v2.h               |   2 +
 test/py/tests/test_tpm2.py     |  18 ++-
 7 files changed, 505 insertions(+), 158 deletions(-)
 create mode 100644 drivers/tpm/sandbox_common.c
 create mode 100644 drivers/tpm/sandbox_common.h

-- 
2.32.0.402.g57bb445576-goog



More information about the U-Boot mailing list