aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/event_channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'xen/common/event_channel.c')
-rw-r--r--xen/common/event_channel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 588efadbbe..38980e29e3 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -365,8 +365,10 @@ static long evtchn_bind_pirq(evtchn_bind_pirq_t *bind)
bind->port = port;
+#ifdef CONFIG_X86
if ( is_hvm_domain(d) && domain_pirq_to_irq(d, pirq) > 0 )
map_domain_emuirq_pirq(d, pirq, IRQ_PT);
+#endif
out:
spin_unlock(&d->event_lock);
@@ -421,8 +423,10 @@ static long __evtchn_close(struct domain *d1, int port1)
pirq->evtchn = 0;
pirq_cleanup_check(pirq, d1);
unlink_pirq_port(chn1, d1->vcpu[chn1->notify_vcpu_id]);
+#ifdef CONFIG_X86
if ( is_hvm_domain(d1) && domain_pirq_to_irq(d1, pirq->pirq) > 0 )
unmap_domain_pirq_emuirq(d1, pirq->pirq);
+#endif
break;
}