Hi,
The following patches implement the TPM Physical Presence Interface
that allows a user to set a command via ACPI (sysfs entry in Linux)
that, upon the next reboot, the firmware looks for and acts upon by
sending sequences of commands to the TPM.
A dedicated memory region is added to the TPM CRB & TIS devices, at
address/size 0xFED45000/0x400. A new "etc/tpm/config" fw_cfg entry
holds the location for that PPI region and some version details, to
allow for future flexibility.
With the associated edk2/ovmf firmware, the Windows HLK "PPI 1.3" test
now runs successfully.
It is based on previous work from Stefan Berger ("[PATCH v2 0/4]
Implement Physical Presence interface for TPM 1.2 and 2")
The edk2 support is merged upstream.
v4:
- add a "ppi" property, default to true, unless machine <= 2.12
- pass PPI address to tpm_ppi_init_io()
- renamed tpm_ppi struct name
Marc-André Lureau (2):
tpm: add a "ppi" boolean property
tpm: add a fake ACPI memory clear interface
Stefan Berger (3):
tpm: implement virtual memory device for TPM PPI
acpi: add fw_cfg file for TPM and PPI virtual memory device
acpi: build TPM Physical Presence interface
hw/tpm/tpm_ppi.h | 27 ++++
include/hw/acpi/tpm.h | 30 ++++
include/hw/compat.h | 10 ++
hw/i386/acpi-build.c | 320 ++++++++++++++++++++++++++++++++++++++++++
hw/tpm/tpm_crb.c | 10 ++
hw/tpm/tpm_ppi.c | 57 ++++++++
hw/tpm/tpm_tis.c | 10 ++
docs/specs/tpm.txt | 20 +++
hw/tpm/Makefile.objs | 2 +-
hw/tpm/trace-events | 4 +
10 files changed, 489 insertions(+), 1 deletion(-)
create mode 100644 hw/tpm/tpm_ppi.h
create mode 100644 hw/tpm/tpm_ppi.c
--
2.18.0.rc1