diff options
author | Keir Fraser <keir@xen.org> | 2011-08-16 15:14:19 +0100 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2011-08-16 15:14:19 +0100 |
commit | a357afd6524b99558cef0617ddacd815fb787b5a (patch) | |
tree | 3d62cc0aad0075825a1987035ef4c9dc178ce9e8 | |
parent | b9d432a40a59fa4f8bfe3cebd3dc372357d74339 (diff) | |
download | xen-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.c | 8 |
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; } |