--- /home/jbeulich/src/xen/2006-01-20/xen/arch/x86/domain.c 2006-01-20 13:23:29.000000000 +0100 +++ 2006-01-20/xen/arch/x86/domain.c 2006-01-20 15:15:23.000000000 +0100 @@ -111,6 +111,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; @@ -118,8 +132,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;