[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m11vagw2fl.fsf@fess.ebiederm.org>
Date: Tue, 03 Aug 2010 01:00:46 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Yinghai Lu <yinghai@...nel.org>
Cc: Dave Airlie <airlied@...il.com>,
LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>
Subject: Re: oops in ioapic_write_entry
Yinghai Lu <yinghai@...nel.org> writes:
>>> Index: linux-2.6/arch/x86/kernel/apic/io_apic.c
>>> ===================================================================
>>> --- linux-2.6.orig/arch/x86/kernel/apic/io_apic.c
>>> +++ linux-2.6/arch/x86/kernel/apic/io_apic.c
>>> @@ -1029,10 +1029,7 @@ static int pin_2_irq(int idx, int apic,
>>> } else {
>>> u32 gsi = mp_gsi_routing[apic].gsi_base + pin;
>>>
>>> - if (gsi >= NR_IRQS_LEGACY)
>>> - irq = gsi;
>>> - else
>>> - irq = gsi_top + gsi;
>>> + irq = gsi_to_irq(gsi);
>>> }
>>>
>>> #ifdef CONFIG_X86_32
>
> what is the point for making irq = gsi_top + gsi when mptable is used instead of acpi?
Because it is only convention that when mptables are used that the
first apic pins 0-15 are the ISA irqs. This thread witnessed and a
pci irq that came in pin < 16 that was not an ISA irq. The truly rare
and exotic case would be for the ISA irqs to be outside the first 16
ioapic pins but the es7000 did exactly that.
Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists