[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1ocdkt82c.fsf@fess.ebiederm.org>
Date: Tue, 03 Aug 2010 01:27:23 -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:
> On 08/03/2010 12:19 AM, Yinghai Lu wrote:
>> On 08/02/2010 08:13 PM, Eric W. Biederman wrote:
>>> 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?
>>
>
> just tried those blind shifting gsi cause kernel with acpi crash in virtual box.
What configuration did you try and had problems with?
> [ 5.536000] querying PCI -> IRQ mapping bus:0, slot:11, pin:0.
> [ 5.540000] ehci_hcd 0000:00:0b.0: can't find IRQ for PCI INT A; probably buggy MP table
> [
I don't have a clue what the mpptable looks like in virtual box. My guess is that it
is buggy and untested like so many mptables these days.
> and on kvm it got:
> [ 4.352280] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k6-NAPI
> [ 4.356012] e1000: Copyright (c) 1999-2006 Intel Corporation.
> [ 4.360120] querying PCI -> IRQ mapping bus:0, slot:3, pin:0.
> [ 4.364006] PCI BIOS passed nonexistent PCI bus 0!
> [ 4.368007] e1000 0000:00:03.0: can't find IRQ for PCI INT A; probably buggy MP table
> [ 4.372049] e1000 0000:00:03.0: setting latency timer to 64
This example failed because mpparse said bus 0 was ISA. Which is a
pretty bizarre thing to do, especially when bus 0 is pretty clearly
PCI. That does sound like a buggy MP table.
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