All of lore.kernel.org
 help / color / mirror / Atom feed
From: Seth Forshee <seth.forshee@canonical.com>
To: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Joerg Roedel <joro@8bytes.org>,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Len Brown <lenb@kernel.org>, Joerg Roedel <joerg.roedel@amd.com>,
	Yinghai Lu <yinghai@kernel.org>
Subject: Re: IRQ remapping problem on Macbook Air 5,1
Date: Tue, 7 Aug 2012 15:55:19 -0500	[thread overview]
Message-ID: <20120807205519.GC23829@thinkpad-t410> (raw)
In-Reply-To: <1344372472.27383.8.camel@sbsiddha-desk.sc.intel.com>

On Tue, Aug 07, 2012 at 01:47:52PM -0700, Suresh Siddha wrote:
> 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) {
> ...

No, there's one IOMMU and one IOAPIC, so this check doesn't catch it.
The problem is that the ids in the ACPI tables for the devices don't
match.

> > > 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.

I already sent the patch, but where I added it is in
intel_enable_irq_remapping(), just after the call to
parse_ioapics_under_ir(). But it would be no problem to move it if that
makes more sense.

Seth


  reply	other threads:[~2012-08-07 20:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-07 19:48 IRQ remapping problem on Macbook Air 5,1 Seth Forshee
2012-08-07 20:10 ` Joerg Roedel
2012-08-07 20:47   ` Suresh Siddha
2012-08-07 20:55     ` Seth Forshee [this message]
2012-08-07 20:53       ` Suresh Siddha
2012-08-07 20:48   ` [PATCH] irq_remap: disable IRQ remapping if any IOAPIC lacks an IOMMU Seth Forshee
2012-08-07 20:50     ` Suresh Siddha
2012-08-07 21:04     ` Joerg Roedel
2012-08-07 21:39       ` [PATCH v2] " Seth Forshee
2012-08-07 22:04         ` Yinghai Lu
2012-08-08 13:27           ` [PATCH v3] " Seth Forshee
2012-08-08 17:57             ` Yinghai Lu
2012-08-08 21:33               ` Seth Forshee
2012-08-10  9:32             ` Joerg Roedel
2012-08-10  9:32               ` Joerg Roedel

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=20120807205519.GC23829@thinkpad-t410 \
    --to=seth.forshee@canonical.com \
    --cc=hpa@zytor.com \
    --cc=joerg.roedel@amd.com \
    --cc=joro@8bytes.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.