Jan Beulich wrote:
>>>> "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> 19.06.09 11:03 >>>
>> The followed is based on old patch. Jan, is this ok?
>> Signed-off-by: Jiang, Yunhong <yunhong.jiang@xxxxxxxxx>
>
> Yes, this is how I expected it to be.
>
>> BTW, when I working on this, I'm abit confused of the irq.
> I'm not sure if I can assume irq is mainly for IOAPIC/PIC
> (i.e. something
>> like gsi and is global), while pirq is just physical irq
> (i.e. including both gsi/MSI irq)?
>
> "irq" should no longer refer to anything MSI related (MSI just
> requires a vector, but not an irq). "pirq" is generally meant
> to be the guest representation (even for MSI, the guest needs
> a pirq assigned because the event channel interface requires one to
> be passed in).
So in fact, we can explain pirq to be per-domain irq, instead of physical irq
anymore (I assume this is achieved mainly in 19650 changeset).
In Keir/Jeremy's new design interface for PV_ops dom0, will IOAPIC's interface
be pirq (i.e. perdomain irq) also?
Current arch/x86/irq.c is not so clear in using irq/pirq, like all parameter is
irq. (It is in fact my fault, I think :$ )
>
>> If yes, what's the irq in PHYSDEVOP_alloc_irq_vector()? It
> is in fact dom0's irq, however, in assign_irq_vector(), seems
> it is treated
>> same as Xen's irq. I remember I understood that part when I
> begin working on MSI, but seems I fogot the answer now :$
>
> Correct, because for IO-APIC irqs a 1:1 mapping is being
> assumed between (dom0) pirq and (xen) irq. I think there's
> currently no real reason to break this assumption, even though
> it seems not fully correct (because not properly abstracted).
Do you think Xen hypervisor itself need anything like "irq", if not considering
back-compatibility with old dom0? For xen, it only cares physical IOAPIC (i.e.
gsi) and vector. The maint task is to translate a vector to a pirq and then
inject it to corresponding guest. I think Xen itself is not using irq anymore,
like request_irq_vector()).
But not sure what will happen when we adding per-cpu vector, since at that
time, vector will not be a global namespace anymore, we may need a name for the
irq_desc[]. After all, usually irq can be explained as index for irq_desc[]
while it is not in Xen's context.
>
> Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|