Re: [tip:x86/irq] x86, acpi/irq: Handle isa irqs that are not identitymapped to gsi's.

From: Yinghai Lu
Date: Tue Jun 08 2010 - 18:20:47 EST


On 06/07/2010 02:05 PM, H. Peter Anvin wrote:
> On 05/05/2010 02:32 AM, Eric W. Biederman wrote:
>>>
>>> can you use legacy_irq->nr_legacy_irqs instead of NR_IRQS_LEGACY ?
>>
>> No. legacy_irq->nr_legacy_irqs is just for dealing with hardware that
>> does not have i8259 pics.
>>
>
> I don't know if it is "just" for this purpose. Quite on the contrary.
> In fact, the fact that NR_IRQS_LEGACY is showing up at all looks like a
> real problem.
>
>> Here I am reserving 16 irqs above the gsi range in case we get a
>> weird gsi to isa irq mapping.
>
> But that 16 is exactly because those are the (platform-specific) legacy
> IRQs.
>
>> Currently the sfi spec doesn't mention anything explicitly. I
>> took a quick read through it and sfi and I presume Moorestown
>> is talking about non pci irqs. So I would not be surprised
>> if we didn't have isa device drivers running on platforms
>> without i8259s.
>
> I'm confused about the above. Where do you see any mention to fixed
> (ISA) IRQs in SFI or Moorestown? Jacob tells me they don't exist.
>
>> Currently the code had a small bug dealing with multiple ioapics and
>> the spec really is incomplete about how you map irqs from pci devices
>> to interrupts. So it looks like SFI and Moorestown are more a lab
>> experiment than real hardware at the moment. So I expect when
>> it gets completely fleshed out we will have to jump through a
>> similar set of hoops as we do with acpi to ensure the first 16
>> irqs are not used for anything except isa irqs.
>
> Moorestown hardware certainly exists, although not all the support is
> upstream yet.
>
> Either which way, anything which perpetuates NR_IRQS_LEGACY as a
> compile-time constant is begging for people to get things wrong, and it
> really needs to go away.

yes, it should be replaced legacy_irq->nr_legacy_irs to make Moorestown to have sane irq index.

otherwise gsi_to_irq will mapping all [0, 15] to start from nr_irqs_gsi.

Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/