From: H. Peter Anvin on
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(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Yinghai Lu on
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(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/