|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] [PATCH] Fix legacy irq allocation issue
Jan Beulich wrote:
>>>> "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> 19.06.09 04:03 >>>
>> When try to assign vector for irq, we should not assign
> vector for legacy irq, which has fixed mapped irq<->vector
> relationship.
>
> What code path does get us there?
>
>> --- a/xen/arch/x86/irq.c Sun Jun 14 23:12:24 2009 +0800
>> +++ b/xen/arch/x86/irq.c Wed Jun 17 08:51:43 2009 +0800
>> @@ -83,6 +83,12 @@ int assign_irq_vector(int irq)
>> BUG_ON(irq >= nr_irqs && irq != AUTO_ASSIGN_IRQ);
>>
>> spin_lock(&vector_lock);
>> +
>> + if ((irq != AUTO_ASSIGN_IRQ) && !IO_APIC_IRQ(irq)) + {
>> + spin_unlock(&vector_lock);
>> + return LEGACY_VECTOR(irq);
>> + }
>
> If this is really needed, then why not simply exchange the following
> uses of IO_APIC_VECTOR() to irq_to_vector(), which already properly
> considers legacy vectors?
Aha, yes. I should use that.
This is needed if dom0 try to assign a vector to legacy irq. I find this when
help debugging one system. I don't have the broken system, so I have no idea
why dom0 will try to assign vector to legacy irq. But from API point of view, I
think this check is needed.
--jyh
>
>>
>> if ((irq != AUTO_ASSIGN_IRQ) && (IO_APIC_VECTOR(irq) > 0)) {
>> spin_unlock(&vector_lock);
>
> Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|