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
|