aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-08-16 15:14:19 +0100
committerKeir Fraser <keir@xen.org>2011-08-16 15:14:19 +0100
commita357afd6524b99558cef0617ddacd815fb787b5a (patch)
tree3d62cc0aad0075825a1987035ef4c9dc178ce9e8
parentb9d432a40a59fa4f8bfe3cebd3dc372357d74339 (diff)
downloadxen-a357afd6524b99558cef0617ddacd815fb787b5a.tar.gz
xen-a357afd6524b99558cef0617ddacd815fb787b5a.tar.bz2
xen-a357afd6524b99558cef0617ddacd815fb787b5a.zip
Revert 23092:0f2b9b6c5a74
It has broken unmodified Windows HVM guests for some users: Signed-off-by: Keir Fraser <keir@xen.org>
-rw-r--r--xen/arch/x86/irq.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index ef3cb89027..9958b3c1c0 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -1869,8 +1869,14 @@ int unmap_domain_pirq_emuirq(struct domain *d, int pirq)
int hvm_domain_use_pirq(struct domain *d, int pirq)
{
+ int emuirq;
+
if ( !is_hvm_domain(d) || pirq < 0 )
return 0;
- return (domain_pirq_to_emuirq(d, pirq) != IRQ_UNBOUND);
+ emuirq = domain_pirq_to_emuirq(d, pirq);
+ if ( emuirq != IRQ_UNBOUND && d->pirq_to_evtchn[pirq] != 0 )
+ return 1;
+ else
+ return 0;
}