Subject: [Linaro-acpi] [PATCH v5 0/5] Provide better MADT subtable sanity checks

From: [email-masked] (Al Stone)
Date: Mon, 12 Oct 2015 14:52:23 -0600

On 10/11/2015 09:58 PM, Pat Erley wrote:
> On 10/11/2015 08:49 PM, Hanjun Guo wrote:
>> On 10/12/2015 11:08 AM, Pat Erley wrote:
>>> On 10/05/2015 10:12 AM, Al Stone wrote:
>>>> On 10/05/2015 07:39 AM, Rafael J. Wysocki wrote:
>>>>> On Wednesday, September 30, 2015 10:10:16 AM Al Stone wrote:
>>>>>> On 09/30/2015 03:00 AM, Hanjun Guo wrote:
>>>>>>> On 2015/9/30 7:45, Al Stone wrote:
>>>>>>>> NB: this patch set is for use against the linux-pm bleeding edge
>>>>>>>> branch.
>>>>>>>>
>>>>>>
>>>>>> [snip...]
>>>>>>
>>>>>>>
>>>>>>> For this patch set,
>>>>>>>
>>>>>>> Reviewed-by: Hanjun Guo <[email-masked]>
>>>>>>>
>>>>>>> Thanks
>>>>>>> Hanjun
>>>>>>
>>>>>> Thanks, Hanjun!
>>>>>
>>>>> Series applied, thanks!
>>>>>
>>>>> Rafael
>>>>>
>>>>
>>>> Thanks, Rafael!
>>>>
>>>
>>> Just decided to test out linux-next (to see the new nouveau cleanups).
>>> This change set prevents my Lenovo W510 from booting properly.
>>>
>>> Reverting: 7494b0 "ACPI: add in a bad_madt_entry() function to
>>> eventually replace the macro"
>>>
>>> Gets the system booting again.  I'm attaching my dmesg from the failed
>>> boot, who wants the acpidump?
>>
>> [    0.000000] ACPI: undefined version for either FADT 4.0 or MADT 1
>> [    0.000000] ACPI: Error parsing LAPIC address override entry
>> [    0.000000] ACPI: Invalid BIOS MADT, disabling ACPI
>>
>> Seems the MADT revision is not right, could you dump the ACPI MADT
>> (APIC) table and send it out? I will take a look :)
>>
>> Thanks
>> Hanjun
> 
> Here ya go, enjoy.  Feel free to CC me on any patches that might fix it.

Pat,

Would you mind sending a copy of the FADT, also, please?  The first of the
ACPI messages is a check of version correspondence between the FADT and MADT,
while the second message is from looking at just an MADT subtable.  Thanks
for sending the MADT out -- that helps me quite a lot in thinking this through.

BTW, whoever is providing the BIOS (Lenovo, I assume) may want to have a look
at these, also:

[    0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in
FADT/Pm1aControlBlock: 16/32 (20150818/tbfadt-623)
[    0.000000] ACPI BIOS Warning (bug): Invalid length for
FADT/Pm1aControlBlock: 32, using default 16 (20150818/tbfadt-704)

Not inherently dangerous, but definitely sloppy and mind-numbingly easy to
avoid, IIRC.

-- 
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone at linaro.org
-----------------------------------