Emergency system halt should halt all processors, not just
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 23 Jan 2006 14:17:14 +0000 (15:17 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 23 Jan 2006 14:17:14 +0000 (15:17 +0100)
the crashing processor.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
xen/arch/x86/domain.c

index 759bbadb21d5106279802ccd36ee0b5d014a3a94..4fd39ad9038d5766abcab73a9415498a113c45b5 100644 (file)
@@ -110,6 +110,20 @@ static inline void kb_wait(void)
             break;
 }
 
+void __attribute__((noreturn)) __machine_halt(void *unused)
+{
+    for ( ; ; )
+        safe_halt();
+}
+
+void machine_halt(void)
+{
+    watchdog_disable();
+    console_start_sync();
+    smp_call_function(__machine_halt, NULL, 1, 0);
+    __machine_halt(NULL);
+}
+
 void machine_restart(char * __unused)
 {
     int i;
@@ -117,8 +131,7 @@ void machine_restart(char * __unused)
     if ( opt_noreboot )
     {
         printk("Reboot disabled on cmdline: require manual reset\n");
-        for ( ; ; )
-            safe_halt();
+        machine_halt();
     }
 
     watchdog_disable();
@@ -164,20 +177,6 @@ void machine_restart(char * __unused)
 }
 
 
-void __attribute__((noreturn)) __machine_halt(void *unused)
-{
-    for ( ; ; )
-        safe_halt();
-}
-
-void machine_halt(void)
-{
-    watchdog_disable();
-    console_start_sync();
-    smp_call_function(__machine_halt, NULL, 1, 0);
-    __machine_halt(NULL);
-}
-
 void dump_pageframe_info(struct domain *d)
 {
     struct pfn_info *page;