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

From: H. Peter Anvin
Date: Mon Jun 07 2010 - 17:05:48 EST


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.

-hpa
--
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/