From: Scot Doyle <lkml14@scotdoyle.com>
To: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Peter Huewe <peterhuewe@gmx.de>,
Ashley Lai <ashley@ashleylai.com>,
Marcel Selhorst <tpmdd@selhorst.net>,
Stefan Berger <stefanb@linux.vnet.ibm.com>,
tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] tpm_tis: Verify ACPI-specified interrupt
Date: Fri, 22 Aug 2014 20:17:27 +0000 (UTC) [thread overview]
Message-ID: <alpine.LNX.2.11.1408221924070.1046@localhost.localdomain> (raw)
In-Reply-To: <20140822160626.GA8477@obsidianresearch.com>
On Fri, 22 Aug 2014, Jason Gunthorpe wrote:
> On Fri, Aug 22, 2014 at 12:58:41AM +0000, Scot Doyle wrote:
>> Some machines, such as the Acer C720 and Toshiba CB35, have TPMs
>> that do not use interrupts while also having an ACPI TPM entry
>
> How do these machines work in Windows?
I don't know. Since they're Chromebooks (booted in legacy mode running
SeaBIOS instead of depthcharge or whatever ChromeOS uses), I think they're
mostly used to run Linux.
> Why only resume? Shouldn't every TPM command (such as the 3 or 4 the
> driver issues at startup) timeout too?
I noticed that startup(save_state) on suspend did take longer, but only
four or five seconds instead of the 160 seconds during selftest on resume.
>> indicating a specific interrupt to be used. Since this interrupt
>> is invalid, these machines freeze on resume until the interrupt
>> times out.
>
>> Generate the ACPI-specified interrupt. If none is received, then
>> fall back to polling mode.
>
> So, this makes the IRQ detection code run unconditionally, but that
> code was only ever really used in certain old non-probable case..
>
> I wonder if it works reliably?
That is good to know. I share your concerns about reliability, not having
the ability to test on other machines.
> In any event, I think a FIRMWARE_BUG message should be printed if this
> case is detected.
I agree.
> I'd be more comfortable with some kind of ACPI black list or patch or
> something? What is normal for handling broken ACPI?
I would be more comfortable with this general approach as well. However,
I've had to submit several patches for individual Chromebooks related to
backlight control since the VBT also is misconfigured. Would it be
possible to find a blacklist mechanism that didn't require identifying
each Chromebook separately, since they seem to have this issue on an
ongoing basis?
dmidecode outputs:
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: coreboot
Version:
Release Date: 12/04/2013
ROM Size: 8192 kB
Characteristics:
PCI is supported
PC Card (PCMCIA) is supported
BIOS is upgradeable
Selectable boot is supported
ACPI is supported
Targeted content distribution is supported
BIOS Revision: 4.0
Firmware Revision: 0.0
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Toshiba
Product Name: Leon
Version: 1.0
Serial Number: 123456789
UUID: Not Settable
Wake-up Type: Reserved
SKU Number: Not Specified
Family: Not Specified
All Chromebooks that I've seen list the BIOS vendor as 'coreboot'.
We also have access to TPM chip vendor and revision. All chromebooks that
I've seen so far have the same vendor (11) and revision (16).
So we have five pieces of identifying information...
1. TPM chip vendor
2. TPM chip revision
3. BIOS vendor
4. System manufacturer
5. System product name
and at least two possible actions...
1. ignore the acpi interrupt
2. verify the acpi interrupt
The safest approach would be to ignore the ACPI information for systems
matching all five identifiers.
A more general approach might be to verify the ACPI interrupt for
systems matching the first three identifiers.
Thoughts?
> Jason
>
next prev parent reply other threads:[~2014-08-22 20:20 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-22 0:58 Scot Doyle
2014-08-22 16:06 ` Jason Gunthorpe
2014-08-22 20:17 ` Scot Doyle [this message]
2014-08-22 20:32 ` Jason Gunthorpe
2014-08-22 22:48 ` Peter Hüwe
2014-08-25 6:38 ` Scot Doyle
2014-08-25 18:24 ` Jason Gunthorpe
2014-08-27 4:31 ` [RFC PATCH v2] tpm_tis: verify interrupt during init Scot Doyle
2014-08-27 17:31 ` Jason Gunthorpe
2014-08-27 21:32 ` [RFC PATCH v3] " Scot Doyle
2014-08-27 21:47 ` Jason Gunthorpe
2014-08-28 0:35 ` Scot Doyle
2014-08-28 16:53 ` Jason Gunthorpe
2014-08-29 23:59 ` [RFC PATCH v4] " Scot Doyle
2014-08-30 17:49 ` Jason Gunthorpe
2014-08-30 23:23 ` [RFC PATCH v5] " Scot Doyle
2014-09-02 17:20 ` Jason Gunthorpe
2014-09-02 20:22 ` [RFC PATCH v6] " Scot Doyle
2014-09-08 22:02 ` Jason Gunthorpe
2014-09-09 2:13 ` [PATCH v7] " Scot Doyle
2014-09-09 3:12 ` Scot Doyle
2014-09-11 0:50 ` [RFC PATCH v8] " Scot Doyle
2014-09-16 23:36 ` Scot Doyle
2014-09-22 17:13 ` Jason Gunthorpe
2014-09-22 19:01 ` Peter Hüwe
2014-10-19 20:08 ` Scot Doyle
2014-09-23 2:44 ` Scot Doyle
2014-09-23 2:51 ` [PATCH v9] " Scot Doyle
2014-09-23 11:55 ` Scot Doyle
2014-09-23 17:12 ` [tpmdd-devel] " Stefan Berger
2014-09-24 19:38 ` Scot Doyle
2014-09-24 19:41 ` Stefan Berger
2014-09-24 22:41 ` [PATCH v10] " Scot Doyle
2014-09-29 17:24 ` Jason Gunthorpe
2014-11-30 14:24 ` Peter Hüwe
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=alpine.LNX.2.11.1408221924070.1046@localhost.localdomain \
--to=lkml14@scotdoyle.com \
--cc=ashley@ashleylai.com \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterhuewe@gmx.de \
--cc=stefanb@linux.vnet.ibm.com \
--cc=tpmdd-devel@lists.sourceforge.net \
--cc=tpmdd@selhorst.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®