[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [VTD][PATCH] Support intra-domain shared interrupt

Keir Fraser wrote:
> On 5/11/07 08:16, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:
>> Current data structure hvm_irq_dpci_mapping
>> doesn't consider this situation, mirq[i] contains only one device and
>> corresponding guest irq, need to add a list to contain multiple
>> devices whice share physical interrupt.
> The reverse is also true I believe: you can have two devices with
> different physical IRQs getting aliased to the same guest GSI. Is
> that a problem? e.g., do you need the reverse mapping from guest GSI
> to physical IRQ or physical device (I'd guess you do, to work out
> what to do when the guest GSI is EOIed)?

Yes, we need the reverse mapping from guest GSI to physical IRQ. 
According to the following guest GSI computing formula, 
   #define hvm_pci_intx_gsi(dev, intx)  \
     (((((dev) << 2) + ((dev) >> 3) + (intx)) & 31) + 16)

that situation two devices with different pyhsical IRQs getting aliased
to the same guest GSI is hard to occur. And we need one guest GSI mapped
to only one physical IRQ, or we can't know which device issues the guest
GSI. Ideally, if we can make 1:1 mapping between guest GSI and physcial
IRQ, the intra-domain shared interrupt can naturally handled by guest.

>> What's more, we need to deal with
>> intra-domain shared interrupt injection and eoi specially.
> How?

We need to inject guest GSI for each device, and really do eoi when all
devices with same physical IRQ in the domain finished eoi.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.