qemu/include/hw/acpi
Stefan Berger ac6dd31e3f acpi: build TPM Physical Presence interface
The TPM Physical Presence interface consists of an ACPI part, a shared
memory part, and code in the firmware. Users can send messages to the
firmware by writing a code into the shared memory through invoking the
ACPI code. When a reboot happens, the firmware looks for the code and
acts on it by sending sequences of commands to the TPM.

This patch adds the ACPI code. It is similar to the one in EDK2 but doesn't
assume that SMIs are necessary to use. It uses a similar datastructure for
the shared memory as EDK2 does so that EDK2 and SeaBIOS could both make use
of it. I extended the shared memory data structure with an array of 256
bytes, one for each code that could be implemented. The array contains
flags describing the individual codes. This decouples the ACPI implementation
from the firmware implementation.

The underlying TCG specification is accessible from the following page.

https://trustedcomputinggroup.org/tcg-physical-presence-interface-specification/

This patch implements version 1.30.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
[ Marc-André - ACPI code improvements and windows fixes ]
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-17 21:10:57 -05:00
..
acpi-defs.h hw: acpi: Remove AcpiRsdpDescriptor and fix tests 2018-12-20 11:18:54 -05:00
acpi.h avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
acpi_dev_interface.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
aml-build.h hw: acpi: Export and share the ARM RSDP build 2018-12-19 16:48:16 -05:00
bios-linker-loader.h vmgenid: replace x-write-pointer-available hack 2017-09-08 16:15:17 +03:00
cpu.h pc: use new CPU hotplug interface since 2.7 machine type 2016-06-24 05:21:38 +03:00
cpu_hotplug.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
ich9.h hw/acpi/ich9: extract ACPI_PM_PROP_TCO_ENABLED from i386/pc 2017-12-18 17:07:02 +03:00
ipmi.h hw: remove "qemu/osdep.h" from header files 2017-12-18 17:07:02 +03:00
memory_hotplug.h migration: Remove unneeded includes of migration/vmstate.h 2017-06-01 18:49:22 +02:00
pc-hotplug.h memhp: don't generate memory hotplug AML if it's not enabled/supported 2017-01-10 07:03:24 +02:00
pcihp.h pci/pcihp: perform unplug via the hotplug handler 2018-12-20 11:19:12 -05:00
piix4.h Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
tco.h Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
tpm.h acpi: build TPM Physical Presence interface 2019-01-17 21:10:57 -05:00
vmgenid.h vmgenid: replace x-write-pointer-available hack 2017-09-08 16:15:17 +03:00