gdbsx: send virq to guest if gdbsx_vcpu_event is not active
authorMukesh Rathor <mukesh.rathor@oracle.com>
Mon, 11 Jun 2012 14:11:58 +0000 (15:11 +0100)
committerMukesh Rathor <mukesh.rathor@oracle.com>
Mon, 11 Jun 2012 14:11:58 +0000 (15:11 +0100)
gdbsx got broken along the way. During domain pause, don't send
VIRQ_DEBUGGER to guest if gdbsx is active on that guest.

Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Committed-by: Keir Fraser <keir@xen.org>
xen/common/domain.c

index 8840202af5d8c08473719c01dcf4000b540b1ff4..c21d18b548622f32fedbd810abac28d486b80948 100644 (file)
@@ -624,7 +624,9 @@ void domain_pause_for_debugger(void)
     for_each_vcpu ( d, v )
         vcpu_sleep_nosync(v);
 
-    send_global_virq(VIRQ_DEBUGGER);
+    /* if gdbsx active, we just need to pause the domain */
+    if (current->arch.gdbsx_vcpu_event == 0)
+        send_global_virq(VIRQ_DEBUGGER);
 }
 
 /* Complete domain destroy after RCU readers are not holding old references. */