This patch series provides persistent storage support that a TPM can use to store NVRAM data. It uses QEMU's block driver to store data on a drive image. The libtpms TPM 1.2 backend will be the initial user of this functionality to store data that must persist through a reboot or migration. A sample command line may look like this:
qemu-system-x86_64 ... -drive file=/path/to/nvram.qcow2,id=drive-nvram0-0-0 -tpmdev libtpms,id=tpm-tpm0 -device tpm-tis,tpmdev=tpm-tpm0,id=tpm0,drive=drive-nvram0-0-0 Thanks, Corey Corey Bryant (3): nvram: Add TPM NVRAM implementation nvram: Add tpm-tis drive support TPM NVRAM test hw/tpm/Makefile.objs | 1 + hw/tpm/tpm_int.h | 2 + hw/tpm/tpm_nvram.c | 324 ++++++++++++++++++++++++++++++++++++++++++++++ hw/tpm/tpm_nvram.h | 25 ++++ hw/tpm/tpm_passthrough.c | 85 ++++++++++++ hw/tpm/tpm_tis.c | 8 + 6 files changed, 445 insertions(+), 0 deletions(-) create mode 100644 hw/tpm/tpm_nvram.c create mode 100644 hw/tpm/tpm_nvram.h