From: Stefan Berger Date: Tue, 5 Feb 2019 22:17:57 +0000 (-0500) Subject: acpi: Make TPM 2.0 with TIS available as MSFT0101 X-Git-Tag: v3.0.1~19 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fqemu.git;a=commitdiff_plain;h=2251d74275f9fbce49ec36e5571ec159a5991d27 acpi: Make TPM 2.0 with TIS available as MSFT0101 This is a backport of rev 24cf5413aa0 to 3.0.x and 3.1.x. This patch makes the a TPM 2.0 with TIS interface available under the HID 'MSF0101'. This is supported by Linux and also Windows now recognizes the TPM 2.0 with TIS interface. Leave the TPM 1.2 as before. Signed-off-by: Stefan Berger Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Igor Mammedov Signed-off-by: Michael Roth --- diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 1599caa7c55..31ed0e16a21 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2134,8 +2134,16 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, build_append_pci_bus_devices(scope, bus, pm->pcihp_bridge_en); if (TPM_IS_TIS(tpm_find())) { - dev = aml_device("ISA.TPM"); - aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0C31"))); + if (misc->tpm_version == TPM_VERSION_2_0) { + dev = aml_device("TPM"); + aml_append(dev, aml_name_decl("_HID", + aml_string("MSFT0101"))); + } else { + dev = aml_device("ISA.TPM"); + aml_append(dev, aml_name_decl("_HID", + aml_eisaid("PNP0C31"))); + } + aml_append(dev, aml_name_decl("_STA", aml_int(0xF))); crs = aml_resource_template(); aml_append(crs, aml_memory32_fixed(TPM_TIS_ADDR_BASE,