ACPI: regression: Failed to initialize GIC IRQ controller

Moore, Robert robert.moore at intel.com
Fri Jul 10 08:47:34 PDT 2015



> -----Original Message-----
> From: Lorenzo Pieralisi [mailto:lorenzo.pieralisi at arm.com]
> Sent: Friday, July 10, 2015 8:18 AM
> To: Moore, Robert
> Cc: Ming Lei; Zheng, Lv; Wysocki, Rafael J; Linux Kernel Mailing List;
> linux-arm-kernel; Thomas Gleixner; Jason Cooper; hanjun.guo at linaro.org
> Subject: Re: ACPI: regression: Failed to initialize GIC IRQ controller
> 
> On Fri, Jul 10, 2015 at 03:45:32PM +0100, Moore, Robert wrote:
> > It's nice that someone took a sizeof() on the struct -- so, one would
> hope that no code actually depended on a particular value, no?
> 
> Unfortunately that sizeof has been there forever (x86/ia64),
> ia64 code ran into a similar issue, so the check was removed to cope with
> lsapic MADT updates, see:
> 
> arch/ia64/kernel/acpi.c line 204
> 
> /*Skip BAD_MADT_ENTRY check, as lsapic size could vary */
> 
> Is checking the subtable length field against a static value really
> worthwhile/suitable ?
> 

I would at least traverse the subtables via the subtable length given in the table, and not use a sizeof() for each subtable. Then, multiple table/subtable versions are handled automatically; you don't have to use any new fields until necessary.

> Thanks,
> Lorenzo
> 
> > > -----Original Message-----
> > > From: Ming Lei [mailto:ming.lei at canonical.com]
> > > Sent: Friday, July 10, 2015 7:43 AM
> > > To: Moore, Robert
> > > Cc: Zheng, Lv; Wysocki, Rafael J; Linux Kernel Mailing List;
> > > linux-arm- kernel; Thomas Gleixner; Jason Cooper; Hanjun Guo
> > > Subject: Re: ACPI: regression: Failed to initialize GIC IRQ
> > > controller
> > >
> > > On Fri, Jul 10, 2015 at 10:28 PM, Moore, Robert
> > > <robert.moore at intel.com>
> > > wrote:
> > > >
> > > >
> > > >> -----Original Message-----
> > > >> From: Ming Lei [mailto:ming.lei at canonical.com]
> > > >> Sent: Friday, July 10, 2015 12:46 AM
> > > >> To: Moore, Robert; Zheng, Lv; Wysocki, Rafael J
> > > >> Cc: Linux Kernel Mailing List; linux-arm-kernel; Thomas Gleixner;
> > > >> Jason Cooper; Hanjun Guo
> > > >> Subject: ACPI: regression: Failed to initialize GIC IRQ
> > > >> controller
> > > >>
> > > >> Hi,
> > > >>
> > > >> Commit 0cff8dc0099f6d4f(ACPICA: ACPI 6.0: Add changes for MADT
> > > >> table.) causes the following failure on APM mustang board(arm64)
> > > >> when booting via UEFI and ACPI:
> > > >
> > > >
> > > > I would be interested to know just what exactly about this change
> > > > broke
> > > things.
> > >
> > > sizeof(struct acpi_madt_generic_interrupt)
> >
> N???????????????r??????y?????????b???X????????v???^???)??{.n???+??????????
> ??{????????????zX??????????????}???????????z???&j:+v?????????
> ????????????zZ+??????+zf?????????h?????????~????????????i?????????z??????
> w??????????????????????&???)??f??????^j??y???m??????@A???a?????????
> 
> 0??????h??????i



More information about the linux-arm-kernel mailing list