From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39110) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an0Qh-0000D4-Jr for qemu-devel@nongnu.org; Mon, 04 Apr 2016 05:04:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1an0Qe-0002g8-Bb for qemu-devel@nongnu.org; Mon, 04 Apr 2016 05:04:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35884) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an0Qe-0002g3-4H for qemu-devel@nongnu.org; Mon, 04 Apr 2016 05:04:12 -0400 Date: Mon, 4 Apr 2016 12:04:09 +0300 From: "Michael S. Tsirkin" Message-ID: <20160404120114-mutt-send-email-mst@redhat.com> References: <1459733876-22908-1-git-send-email-stefanb@us.ibm.com> <1459733876-22908-2-git-send-email-stefanb@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1459733876-22908-2-git-send-email-stefanb@us.ibm.com> Subject: Re: [Qemu-devel] [PATCH 1/2] acpi: tpm: Fix TPM ACPI description (BZ 1281413) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Berger Cc: imammedo@redhat.com, crobinso@redhat.com, qemu-devel@nongnu.org, stefanb@linux.vnet.ibm.com On Sun, Apr 03, 2016 at 09:37:55PM -0400, Stefan Berger wrote: > This patch addresses BZ 1281413. > > https://bugzilla.redhat.com/show_bug.cgi?id=1281413 > > Fix the APCI description to make it work on operating systems that are > more strict about the contents of the TPM's ACPI description than Linux > is. The ACPI description was broken in commit 9e472263. > > We roll back the ACPI description to where it was in QEMU 2.3.1 and > deactivate the interrupt, modify the scope to \_SB, and change the > name of the device back to 'TPM' from 'ISA.TPM'. Here's the ACPI > description from QEMU 2.3.1: > > Scope(\_SB) { > /* TPM with emulated TPM TIS interface */ > Device (TPM) { > Name (_HID, EisaID ("PNP0C31")) > Name (_CRS, ResourceTemplate () > { > Memory32Fixed (ReadWrite, TPM_TIS_ADDR_BASE, TPM_TIS_ADDR_SIZE) > // older Linux tpm_tis drivers do not work with IRQ > //IRQNoFlags () {TPM_TIS_IRQ} > }) > Method (_STA, 0, NotSerialized) { > Return (0x0F) > } > } > } > > Signed-off-by: Stefan Berger Can we instead use Igor's patch pc: acpi: tpm: add missing MMIO resource to PCI0._CRS and only drop the irq_no_flags value? > --- > hw/i386/acpi-build.c | 26 ++++++++++++-------------- > 1 file changed, 12 insertions(+), 14 deletions(-) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 35180ef..e11c721 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -2335,22 +2335,20 @@ build_dsdt(GArray *table_data, GArray *linker, > Aml *scope = aml_scope("PCI0"); > /* Scan all PCI buses. Generate tables to support hotplug. */ > build_append_pci_bus_devices(scope, bus, pm->pcihp_bridge_en); > - > - if (misc->tpm_version != TPM_VERSION_UNSPEC) { > - 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, > - TPM_TIS_ADDR_SIZE, AML_READ_WRITE)); > - aml_append(crs, aml_irq_no_flags(TPM_TIS_IRQ)); > - aml_append(dev, aml_name_decl("_CRS", crs)); > - aml_append(scope, dev); > - } > - > - aml_append(sb_scope, scope); > } > } > + > + if (misc->tpm_version != TPM_VERSION_UNSPEC) { > + dev = aml_device("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, > + TPM_TIS_ADDR_SIZE, AML_READ_WRITE)); > + //aml_append(crs, aml_irq_no_flags(TPM_TIS_IRQ)); > + aml_append(dev, aml_name_decl("_CRS", crs)); > + aml_append(sb_scope, dev); > + } > aml_append(dsdt, sb_scope); > } > > -- > 2.5.5