]> xenbits.xensource.com Git - people/liuw/xen.git/commitdiff
x86/dom0: propagate PVH vlapic EOIs to hardware
authorRoger Pau Monné <roger.pau@citrix.com>
Tue, 5 Mar 2019 16:41:14 +0000 (17:41 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 5 Mar 2019 16:41:14 +0000 (17:41 +0100)
Current check for MSI EIO is missing a special case for PVH Dom0,
which doesn't have a hvm_irq_dpci struct but requires EIOs to be
forwarded to the physical lapic for passed-through devices.

Add a short-circuit to allow EOIs from PVH Dom0 to be propagated.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Juergen Gross <jgross@suse.com>
xen/drivers/passthrough/io.c

index a6eb8a4336e19db756663be379c7ee17a9784b99..4290c7c710566c2875dfa71e9a074f3270852c5f 100644 (file)
@@ -869,7 +869,8 @@ static int _hvm_dpci_msi_eoi(struct domain *d,
 
 void hvm_dpci_msi_eoi(struct domain *d, int vector)
 {
-    if ( !iommu_enabled || !hvm_domain_irq(d)->dpci )
+    if ( !iommu_enabled ||
+         (!hvm_domain_irq(d)->dpci && !is_hardware_domain(d)) )
        return;
 
     spin_lock(&d->event_lock);