lkml.org 
[lkml]   [2012]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: IRQ remapping problem on Macbook Air 5,1
    From
    Date
    On Tue, 2012-08-07 at 22:10 +0200, Joerg Roedel wrote:
    > Hi Seth,
    >
    > On Tue, Aug 07, 2012 at 02:48:37PM -0500, Seth Forshee wrote:
    > > This machine has a bug in its ACPI tables that's causing it to fail to
    > > boot unless intremap=off is passed to the kernel. The MADT defines a
    > > single IOAPIC with id 2, but the remapping unit defined in DMAR matches
    > > id 0. Thus interrupt remapping fails, and the kernel panics with the
    > > message "timer doesn't work through Interrupt-remapped IO-APIC." If I
    > > force the use of the non-matching ir hardware for the IOAPIC everything
    > > seems to works fine. dmesg for the working boot is below.
    >
    > There are AMD systems with similar problems. For example I had a system
    > with 2 IO-APICs but only one was described in the IOMMU ACPI table.

    This issue should be caught by the current check in
    parse_ioapics_under_ir()

    if (ir_supported && ir_ioapic_num != nr_ioapics) {
    ...

    >
    > > I'm looking at how to make this machine able to boot by default. OS X
    > > obviously boots, and Windows presumably boots as well since Apple
    > > officially supports running Windows on its hardware.
    >
    > These operating systems probably don't support interrupt remapping, or
    > the IOMMU at all.

    Some of them use interrupt-remapping only if the bios has pre-enabled
    x2apic/interrupt-remapping etc. But Linux tries to enable
    x2apic/interrupt-remapping even if bios doesn't.

    >
    > > I've got a patch to leave IRQ remapping disabled whenever any IOAPIC
    > > does not have a matching ir hardware unit. This gets it to boot, but I
    > > thought I'd check and see whether anyone had any better ideas for how to
    > > fix this.
    >
    > This is exactly how I fixed this issue on the AMD side too. Mind to
    > submit the patch?

    yes, we should be able to extend the check in parse_ioapics_under_ir()
    to check for this condition.

    thanks,
    suresh



    \
     
     \ /
      Last update: 2012-08-07 23:21    [W:2.280 / U:0.992 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site