[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [XEN] Never crash machine on int3 traps.



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 74855cdc4a1d9d745b6a5ec5eb033221d53cb593
# Parent  38f9bd7a4ce6e164bd720292fb0a75a75cad9d19
[XEN] Never crash machine on int3 traps.
Do not enter debugger on dom0 shutdown unless dom0 crashed.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/common/shutdown.c          |    3 +--
 xen/include/asm-x86/debugger.h |    3 ++-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff -r 38f9bd7a4ce6 -r 74855cdc4a1d xen/common/shutdown.c
--- a/xen/common/shutdown.c     Tue Oct 03 11:39:22 2006 +0100
+++ b/xen/common/shutdown.c     Wed Oct 04 09:10:17 2006 +0100
@@ -30,8 +30,6 @@ static void maybe_reboot(void)
 
 void dom0_shutdown(u8 reason)
 {
-    debugger_trap_immediate();
-
     switch ( reason )
     {
     case SHUTDOWN_poweroff:
@@ -43,6 +41,7 @@ void dom0_shutdown(u8 reason)
 
     case SHUTDOWN_crash:
     {
+        debugger_trap_immediate();
         printk("Domain 0 crashed: ");
         maybe_reboot();
         break; /* not reached */
diff -r 38f9bd7a4ce6 -r 74855cdc4a1d xen/include/asm-x86/debugger.h
--- a/xen/include/asm-x86/debugger.h    Tue Oct 03 11:39:22 2006 +0100
+++ b/xen/include/asm-x86/debugger.h    Wed Oct 04 09:10:17 2006 +0100
@@ -46,7 +46,8 @@ static inline int debugger_trap_fatal(
 static inline int debugger_trap_fatal(
     unsigned int vector, struct cpu_user_regs *regs)
 {
-    return (__trap_to_gdb(regs, vector) == 0);
+    int rc = __trap_to_gdb(regs, vector);
+    return ((rc == 0) || (vector == TRAP_int3));
 }
 
 /* Int3 is a trivial way to gather cpu_user_regs context. */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.