From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aoUVZ-0000CA-2Q for qemu-devel@nongnu.org; Fri, 08 Apr 2016 07:23:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aoUVW-0004ni-6r for qemu-devel@nongnu.org; Fri, 08 Apr 2016 07:23:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34966) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aoUVW-0004ne-12 for qemu-devel@nongnu.org; Fri, 08 Apr 2016 07:23:22 -0400 From: Igor Mammedov Date: Fri, 8 Apr 2016 13:23:14 +0200 Message-Id: <1460114594-236342-3-git-send-email-imammedo@redhat.com> In-Reply-To: <1460114594-236342-1-git-send-email-imammedo@redhat.com> References: <1460114594-236342-1-git-send-email-imammedo@redhat.com> Subject: [Qemu-devel] [PATCH for-2.6 v2 2/2] tpm: acpi: remove IRQ from TPM's CRS to make Windows not see conflict List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mst@redhat.com, stefanb@us.ibm.com, crobinso@redhat.com IRQ 5 used by TPM conflicts with PNP0C0F IRQs, as result Windows fails driver initialization with reason 'device cannot find enough free resources' But if TPM._CRS.IRQ entry is commented out, Windows seems to initialize driver without errors as it doesn't notice possible conflict and it seems to work probably due to a link with IRQ 5 being unused/disabled. So temporary comment out TPM._CRS.IRQ to 'fix' regression in TPM, with intent to fix it correctly later i.e.: 1. pick unused IRQ as default one for TPM 2. fetch IRQ value from device model so that user could override default one if it conflicts with some other device. Signed-off-by: Igor Mammedov --- hw/i386/acpi-build.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 784870e..6477003 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2348,7 +2348,12 @@ build_dsdt(GArray *table_data, GArray *linker, 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)); + /* + FIXME: TPM_TIS_IRQ=5 conflicts with PNP0C0F irqs, + Rewrite to take IRQ from TPM device model and + fix default IRQ value there to use some unused IRQ + */ + /* aml_append(crs, aml_irq_no_flags(TPM_TIS_IRQ)); */ aml_append(dev, aml_name_decl("_CRS", crs)); aml_append(scope, dev); } -- 1.8.3.1