Support PV on HVM MSIX remapping
The technique is the same used with MSI: if the guest enables an MSIX
passing 0 as vector number, then read the address and use it as pirq
number for the following mapping request to Xen.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
if ( !entry->flags )
return 0;
+ if (!gvec) {
+ /* if gvec is 0, the guest is asking for a particular pirq that
+ * is passed as dest_id */
+ pirq = ((gaddr >> 32) & 0xffffff00) |
+ (((gaddr & 0xffffffff) >> MSI_TARGET_CPU_SHIFT) & 0xff);
+ PT_LOG("pt_msix_update_one requested pirq = %d\n", pirq);
+ }
+
/* Check if this entry is already mapped */
if ( entry->pirq == -1 )
{