|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] [xen-unstable] hvm/vpt: Check that an irq is not	blocked
 
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1236606645 0
# Node ID d4c9a63a1642586f1a1c21808e051f9c2ef6af17
# Parent  00b8c660be97a748a3360881225482644e1ad7e7
hvm/vpt: Check that an irq is not blocked before waking the vcpu
Currently, when a timer fires for a vpt interrupt, the interrupt
handler calls vcpu_kick() without checking to see if the IRQ is
blocked.  This causes the vcpu to wake up out of a halt when it
shouldn't.
Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
---
 xen/arch/x86/hvm/vpt.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)
diff -r 00b8c660be97 -r d4c9a63a1642 xen/arch/x86/hvm/vpt.c
--- a/xen/arch/x86/hvm/vpt.c    Mon Mar 09 13:35:47 2009 +0000
+++ b/xen/arch/x86/hvm/vpt.c    Mon Mar 09 13:50:45 2009 +0000
@@ -209,7 +209,8 @@ static void pt_timer_fn(void *data)
         set_timer(&pt->timer, pt->scheduled);
     }
 
-    vcpu_kick(pt->vcpu);
+    if ( !pt_irq_masked(pt) )
+        vcpu_kick(pt->vcpu);
 
     pt_unlock(pt);
 }
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] [xen-unstable] hvm/vpt: Check that an irq is not	blocked before waking the vcpu,
Xen patchbot-unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |