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

Re: [Xen-ia64-devel][PATCH]Change to new interrupt deliver mechanism



Hi Anthony,

>> This issue is from you,  guest linux uses vector, while there is no
>> function like vector_to_irq.
> 
>   Sorry, I might misunderstand your comment.

  I've been thinking more about your comment.

  We may be able to call set_callback_irq inside qemu, but I don't
think that it's good solution for this issue. Because qemu doesn't
have such interface in current implementation, and HV can't know
that PV-on-HVM driver is initiated or not, I think.

  I've thought that we can get GSI for platform_pci from Device ID
in HV, if mapping betweeen devid and gsi is fixed.

  There is hvm_pci_intx_gsi() macro in xen/arch/ia64/vmx/viosapic.c

[xen/arch/ia64/vmx/viosapic.c]-------------------------------------
#define hvm_pci_intx_gsi(dev, intx)  \
    (((((dev) << 2) + ((dev) >> 3) + (intx)) & 31) + 16)


void viosapic_set_pci_irq(struct domain *d, int device, int intx, int level)
{
    int irq;
    irq = hvm_pci_intx_gsi(device, intx);

    viosapic_set_irq(d, irq, level);
}
-------------------------------------------------------------------

  It seems that device to gsi mapping is fixed. If it's correct,
we can get GSI in HV from device ID which is notified from PV-driver
with set_callback_irq.

  What do you think about this ?

Thanks,
- Tsunehisa Doi

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

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