On Thu, Dec 13, 2018 at 02:26:42AM +0400, Marc-André Lureau wrote: > 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.
Breaks build with tpm disabled: /usr/bin/ld: hw/i386/acpi-build.o: in function `build_dsdt': /scm/qemu/hw/i386/acpi-build.c:2158: undefined reference to `tpm_build_ppi_acpi' /usr/bin/ld: /scm/qemu/hw/i386/acpi-build.c:2179: undefined reference to `tpm_build_ppi_acpi' collect2: error: ld returned 1 exit status > v13: > - removed needless error handling in tpm_ppi_init() > - splitted "add ACPI memory clear interface" > - moved acpi build function in dedicated hw/acpi/tpm.c > - added some function documentation in headers > - various code cleanups suggested by Philippe > - rebased > > Marc-André Lureau (3): > tpm: add a "ppi" boolean property > acpi: add ACPI memory clear interface > tpm: clear RAM when "memory overwrite" requested > > Stefan Berger (3): > tpm: allocate/map buffer for TPM Physical Presence interface > acpi: expose TPM/PPI configuration parameters to firmware via fw_cfg > acpi: build TPM Physical Presence interface > > hw/tpm/tpm_ppi.h | 47 +++++ > include/hw/acpi/tpm.h | 23 +++ > include/hw/compat.h | 11 +- > hw/acpi/tpm.c | 447 ++++++++++++++++++++++++++++++++++++++++++ > hw/i386/acpi-build.c | 29 ++- > hw/tpm/tpm_crb.c | 11 ++ > hw/tpm/tpm_ppi.c | 53 +++++ > hw/tpm/tpm_tis.c | 11 ++ > docs/specs/tpm.txt | 104 ++++++++++ > hw/acpi/Makefile.objs | 1 + > hw/tpm/Makefile.objs | 1 + > hw/tpm/trace-events | 3 + > 12 files changed, 738 insertions(+), 3 deletions(-) > create mode 100644 hw/tpm/tpm_ppi.h > create mode 100644 hw/acpi/tpm.c > create mode 100644 hw/tpm/tpm_ppi.c > > -- > 2.20.0