qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] acpi: Make TPM 2.0 with TIS available as MSFT01


From: Stefan Berger
Subject: Re: [Qemu-devel] [PATCH] acpi: Make TPM 2.0 with TIS available as MSFT0101
Date: Mon, 28 Jan 2019 11:14:34 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 1/28/19 9:45 AM, Igor Mammedov wrote:
On Fri, 25 Jan 2019 16:00:58 -0500
Stefan Berger <address@hidden> wrote:

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
MSF0101 is relatively recent addition to Linux,
are there in wild (old) kernels that worked with PNP0C31 but won't work
with MSF0101?


Linux 4.3.4 and later references this HID here: https://elixir.bootlin.com/linux/v4.3.4/source/drivers/char/tpm/tpm_tis.c . I don't see it before that. A 3.10 kernel works with this patch as well.



recognizes the TPM 2.0 with TIS interface. Leave the TPM 1.2 as before.

Signed-off-by: Stefan Berger <address@hidden>
---
  hw/i386/acpi-build.c | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 2e21a31f82..f51225b4a7 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2141,8 +2141,16 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
              build_append_pci_bus_devices(scope, bus, pm->pcihp_bridge_en);
if (TPM_IS_TIS(tpm)) {
-                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,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]