|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] MSI and VT-d interrupt remapping
I've seen patches for handling MSIs posted on this list. I know that
they are still being worked on, but by the looks of it they are
missing some functionality that could prove useful.
The proposed patches enable a device to allocate a vector to an MSI
interrupt. For MSI-X a set of vectors can be allocated. When
configuring MSIs, for each PCI function one configures a specific
destination address and message data to be used for interrupt
triggering. The message address indicates the destination for the
interrupt and the message data essentially indicates the vector to
trigger on the destination.
Now, MSI also has a mode which allows up to the 5 lower bits of the
message data to be set arbitrarily by the device itself. That is, a
device can be configured to deliver up to 32 different, contigous
vectors aligned within an apropriate boundary.
Enabling a device to trigger 32 different vectors on a single
interrupt destination may not actually be all that useful. However,
with the introduction of VT-d interrupt remapping these 32 different
messages can be remapped to to arbitrary vectors *and*
destinations---not only to a contigous set of vectors on a single
destination.
If an MSI capable device was able to make use of the above feature,
the device could be set up to generate different interrupts depending
on where the incoming interrupt was to be handled. For example,
incoming data for a particular guest could trigger an interrupt on the
processor where that guest is running. Obviously, a dom0-like backend
driver would not be involved in the actual event delivery in these
situations. The event would be delivered directly to the frontend.
The necessary changes would enable a device driver for an MSI capable
device to allocate a range of pirqs and bind these to different
frontends.
Does this make sense?
eSk
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] MSI and VT-d interrupt remapping,
Espen Skoglund <=
|
|
|
|
|