All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Berger <stefanb@linux.vnet.ibm.com>
To: "Michael S. Tsirkin" <mst@redhat.com>,
	Stefan Berger <stefanb@us.ibm.com>
Cc: imammedo@redhat.com, qemu-devel@nongnu.org, crobinso@redhat.com
Subject: Re: [Qemu-devel] [PATCH 1/2] acpi: tpm: Fix TPM ACPI description (BZ 1281413)
Date: Mon, 4 Apr 2016 06:17:38 -0400	[thread overview]
Message-ID: <57023F42.1040206@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160404120114-mutt-send-email-mst@redhat.com>

On 04/04/2016 05:04 AM, Michael S. Tsirkin wrote:
> 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 <stefanb@linux.vnet.ibm.com>
> 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?

Igor's patch adds this here:

+
+    if (misc->tpm_version != TPM_VERSION_UNSPEC) {
+        aml_append(crs, aml_memory32_fixed(TPM_TIS_ADDR_BASE,
+                   TPM_TIS_ADDR_SIZE, AML_READ_WRITE));
+    }


Now we that memory description there twice? I am not sure whether this 
is necessary, but you are the APCI experts.



>
>
>> ---
>>   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

  reply	other threads:[~2016-04-04 10:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-04  1:37 [Qemu-devel] [PATCH 0/2] acpi: tpm: Fix TPM ACPI description Stefan Berger
2016-04-04  1:37 ` [Qemu-devel] [PATCH 1/2] acpi: tpm: Fix TPM ACPI description (BZ 1281413) Stefan Berger
2016-04-04  9:04   ` Michael S. Tsirkin
2016-04-04 10:17     ` Stefan Berger [this message]
2016-04-04 11:49       ` Igor Mammedov
2016-04-04  1:37 ` [Qemu-devel] [PATCH 2/2] acpi: tpm: Get the interrupt the device model is using Stefan Berger
2016-04-04  9:01   ` Michael S. Tsirkin
2016-04-04 10:10     ` Stefan Berger
2016-04-04 10:12       ` Michael S. Tsirkin
2016-04-04 12:08   ` Igor Mammedov
2016-04-04  9:04 ` [Qemu-devel] [PATCH 0/2] acpi: tpm: Fix TPM ACPI description Michael S. Tsirkin
2016-04-04 10:31   ` Stefan Berger
2016-04-04 12:11     ` Igor Mammedov
2016-04-08  7:51       ` Michael S. Tsirkin
2016-04-08  8:13         ` Igor Mammedov
2016-04-04 16:00     ` Michael S. Tsirkin
2016-04-06  0:13       ` Stefan Berger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57023F42.1040206@linux.vnet.ibm.com \
    --to=stefanb@linux.vnet.ibm.com \
    --cc=crobinso@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@us.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.