Version 2 summary, addressed the following review comments: - break up patch into 3 separate commits; - add more details in the commit logs; - I added links to the TCG TPM standard documents as this device model communicates to the TPM device (hw / swtpm) via tpm_tis_commom.c which is standard compliant; - the TPM SPI model implementation in itself is not platform specific. However, the SPI interface is via the PowerNV SPI bus master, thus it is only supported on the PowerNV platform - change all qemu_log() calls to trace events; - move static global variables to the TPMStateSPI struct; - fixed code formatting (verified by scripts/checkpatch.pl); - per requests, make the code more readable by using self- explanatory #defines and adding comments; - added some documentation support (tpm.rst); - beefed up the unit test exercising major supported locality functionality
Tests: 'make check' and 'make check-avocado' dan tan (3): tpm/tpm_tis_spi: Support TPM for SPI (Serial Peripheral Interface) tpm/tpm_tis_spi: activation for the PowerNV machines tests/qtest/tpm: add unit test to tis-spi docs/specs/tpm.rst | 15 + include/sysemu/tpm.h | 3 + hw/tpm/tpm_tis_spi.c | 328 ++++++++++++++ tests/qtest/tpm-tis-spi-pnv-test.c | 700 +++++++++++++++++++++++++++++ hw/ppc/Kconfig | 1 + hw/tpm/Kconfig | 6 + hw/tpm/meson.build | 1 + hw/tpm/trace-events | 7 + tests/qtest/meson.build | 3 +- 9 files changed, 1063 insertions(+), 1 deletion(-) create mode 100644 hw/tpm/tpm_tis_spi.c create mode 100644 tests/qtest/tpm-tis-spi-pnv-test.c -- 2.39.5