--- /home/jbeulich/src/xen/2006-04-05/xen/arch/x86/traps.c 2006-03-28 20:09:11.000000000 +0200 +++ 2006-04-05/xen/arch/x86/traps.c 2006-04-06 16:11:44.000000000 +0200 @@ -97,6 +97,8 @@ DECLARE_TRAP_HANDLER(alignment_check); DECLARE_TRAP_HANDLER(spurious_interrupt_bug); DECLARE_TRAP_HANDLER(machine_check); +void machine_halt(void); + long do_set_debugreg(int reg, unsigned long value); unsigned long do_get_debugreg(int reg); @@ -318,8 +320,7 @@ asmlinkage void fatal_trap(int trapnr, s console_force_lock(); /* Wait for manual reset. */ - for ( ; ; ) - __asm__ __volatile__ ( "hlt" ); + machine_halt(); } static inline int do_trap(int trapnr, char *str,