ia64/xen-unstable

changeset 8634:d270db8a9092

Emergency system halt should halt all processors, not just
the crashing processor.

Signed-off-by: Jan Beulich <JBeulich@novell.com>
author kaf24@firebug.cl.cam.ac.uk
date Mon Jan 23 15:17:14 2006 +0100 (2006-01-23)
parents c4ae9456a459
children 34f2b388beb0
files xen/arch/x86/domain.c
line diff
     1.1 --- a/xen/arch/x86/domain.c	Fri Jan 20 20:31:09 2006 +0100
     1.2 +++ b/xen/arch/x86/domain.c	Mon Jan 23 15:17:14 2006 +0100
     1.3 @@ -110,6 +110,20 @@ static inline void kb_wait(void)
     1.4              break;
     1.5  }
     1.6  
     1.7 +void __attribute__((noreturn)) __machine_halt(void *unused)
     1.8 +{
     1.9 +    for ( ; ; )
    1.10 +        safe_halt();
    1.11 +}
    1.12 +
    1.13 +void machine_halt(void)
    1.14 +{
    1.15 +    watchdog_disable();
    1.16 +    console_start_sync();
    1.17 +    smp_call_function(__machine_halt, NULL, 1, 0);
    1.18 +    __machine_halt(NULL);
    1.19 +}
    1.20 +
    1.21  void machine_restart(char * __unused)
    1.22  {
    1.23      int i;
    1.24 @@ -117,8 +131,7 @@ void machine_restart(char * __unused)
    1.25      if ( opt_noreboot )
    1.26      {
    1.27          printk("Reboot disabled on cmdline: require manual reset\n");
    1.28 -        for ( ; ; )
    1.29 -            safe_halt();
    1.30 +        machine_halt();
    1.31      }
    1.32  
    1.33      watchdog_disable();
    1.34 @@ -164,20 +177,6 @@ void machine_restart(char * __unused)
    1.35  }
    1.36  
    1.37  
    1.38 -void __attribute__((noreturn)) __machine_halt(void *unused)
    1.39 -{
    1.40 -    for ( ; ; )
    1.41 -        safe_halt();
    1.42 -}
    1.43 -
    1.44 -void machine_halt(void)
    1.45 -{
    1.46 -    watchdog_disable();
    1.47 -    console_start_sync();
    1.48 -    smp_call_function(__machine_halt, NULL, 1, 0);
    1.49 -    __machine_halt(NULL);
    1.50 -}
    1.51 -
    1.52  void dump_pageframe_info(struct domain *d)
    1.53  {
    1.54      struct pfn_info *page;