Hi Kevin,
On Mon, 2006-06-26 at 10:25 +0800, Tian, Kevin wrote:
>
> Hi, Alex,
> Currently xen irq subsystem doesn't support PCI device to be
> shared between xen and dom0. For example, easy to find some check
> against this scenario like in pirq_guest_bind.
>
> It easy to fix above checks, like to add an IRQ_BOTH flag on top
> of IRQ_GUEST to allow such a case. However the real issue is that full
> PCI knowledge is owned by dom0 instead of xen. To let xen allocate
> resources for PCI serial and check whether specific irq line is shared
> between, ACPI namespace enumeration and PCI initialization are
> required to be brought back to xen. A big effort and whether worthy of
> doing that? Or some special workaround to bypass that for this special
> serial case?
I don't think we have to go to that much trouble, Xen doesn't need to
be aware of PCI and ACPI. Xen should be able to note that the interrupt
is shareable by it's trigger/polarity, right?
> For the interrupt name space, currently xen and dom0 share the
> same space, meant that vector allocation always happens in xen and
> dom0 issues hypercall to retrieve allocated vector back as the one used
> in dom0 context directly. Based on this point, xen can ensure same
> vector returned to dom0 as the one owned by xen itself if irq sharing
> happens. But xen needs PCI knowledge as said above.
Xen wouldn't need PCI knowledge to accomplish this. Shouldn't it
just need the GSI to determine it's sharing the interrupt w/ the guest?
In any case, this seems broken as my dom0 is reprogramming the IOSAPIC
RTE w/ a different vector.
> Final question is, do we really need support such a PCI serial port
> owned by xen? :-)
IMHO, yes. This is the core I/O on an HP Superdome, and I don't
think a PCI console UART sharing an interrupt with another non-UART
device is all that unusual. Thanks,
Alex
--
Alex Williamson HP Open Source & Linux Org.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|