Dear Linux folks, It turns out that stricter checks in the ACPI subsystem, introduced in commit 57707a9a77 (ACPICA: Resources: Not a valid resource if buffer length too long) [1], cause the TPM module not to be loaded anymore on the Lenovo X60 with coreboot [2]. Am Freitag, den 07.04.2017, 22:58 +0200 schrieb Paul Menzel: > On 2017-04-07 22:13, Jarkko Sakkinen wrote: > > On Thu, Apr 06, 2017 at 01:10:13PM -0600, Jason Gunthorpe wrote: > >> On Thu, Apr 06, 2017 at 08:26:22PM +0200, Paul Menzel wrote: > >> > >We added direct ACPI binding to the driver in addition to PNP, so if > >> > >you have an ACPI table it goes down that path and does some additional > >> > >validation of what is in the TPM. The BIOS must provide a > >> > >acpi_dev_resource_memory and a ACPI_SIG_TPM2 for the ACPI entry at a > >> > >minimum. > >> > > >> > Is it correct, that this is added in/for 4.11, so just recently? Testing > >> > with Linux 4.10.8, everything is detected just fine. > >> > >> No, it is quite a bit older.. And it should only go for TPM2, which I > >> don't think you have?? > >> > >> Maybe Jarkko has a guess, but sure sounds like something is recently > >> broken in 4.11 > > > > I'll come back to this. I have to re-read the whole mail thread to > > get back into the context. Lots of multitasking because of release > > and so forth. Sorry for the latency! > > I started bisecting this issue. This is the current state. […] Here are the results. ``` git bisect log # bad: [7a771ceac771d009f7203c40b256b0608d7ea2f8] Merge tag 'dm-4.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm # good: [c470abd4fde40ea6a0846a2beab642a578c0b8cd] Linux 4.10 git bisect start 'HEAD' 'v4.10' # good: [b3de5ad688f0f52457e73767f95a640ab4158d0d] Merge tag 'regmap-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap git bisect good b3de5ad688f0f52457e73767f95a640ab4158d0d # bad: [fd4a61e08aa79f2b7835b25c6f94f27bd2d65990] sched/core: Fix build paravirt build on arm and arm64 git bisect bad fd4a61e08aa79f2b7835b25c6f94f27bd2d65990 # good: [7aa7d608112baf63a0b1278955f9619427373807] Merge tag 'leds_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds git bisect good 7aa7d608112baf63a0b1278955f9619427373807 # good: [02c3de1105228e367320e7fdeffbf511904f398c] Merge tag 'pm-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm git bisect good 02c3de1105228e367320e7fdeffbf511904f398c # bad: [6c24337f22115d669e24ce990842dab667371b4d] Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt git bisect bad 6c24337f22115d669e24ce990842dab667371b4d # bad: [a74d1cafc22e100a9b59c50943ca09c37e03dce8] Merge branches 'acpi-bus', 'acpi-sleep' and 'acpi-processor' git bisect bad a74d1cafc22e100a9b59c50943ca09c37e03dce8 # bad: [ce87e09dd88c61f9088768a7708828423549725c] ACPICA: Parser: Allow method invocations as target operands git bisect bad ce87e09dd88c61f9088768a7708828423549725c # good: [0fc5e8f4e4b33ddfa1d1d673fcd420d6e13eb076] ACPICA: Hardware: Add sleep register hooks git bisect good 0fc5e8f4e4b33ddfa1d1d673fcd420d6e13eb076 # good: [a654b8ca6d28736995de767ba62e801fd806a3b2] ACPICA: Disassembler: Add Switch/Case disassembly support git bisect good a654b8ca6d28736995de767ba62e801fd806a3b2 # bad: [57707a9a7780fab426b8ae9b4c7b65b912a748b3] ACPICA: Resources: Not a valid resource if buffer length too long git bisect bad 57707a9a7780fab426b8ae9b4c7b65b912a748b3 # good: [7225d0467c59e55566df396d6ecd5baf26ef3d9b] ACPICA: Utilities: Update debug output git bisect good 7225d0467c59e55566df396d6ecd5baf26ef3d9b # first bad commit: [57707a9a7780fab426b8ae9b4c7b65b912a748b3] ACPICA: Resources: Not a valid resource if buffer length too long ``` I suggest, that just a warning is printed in this case, or that an option is added to enable some kind of “strict mode” or a quirk table. Please find the decompiled DSDT attached. The code to generate the ASL coreboot code is available [3]. Please tell me, what information you need. Kind regards, Paul [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=57707a9a778 [2] https://review.coreboot.org/13410/ [3] https://review.coreboot.org/cgit/coreboot.git/tree/src/drivers/pc80/tpm/tpm.c