--- kernel-source-2.6.10/arch/i386/kernel/reboot.c	2004-12-25 05:34:29.000000000 +0800
+++ kernel-source-2.6.10-voyage/arch/i386/kernel/reboot.c	2005-01-23 16:38:35.000000000 +0800
@@ -349,6 +349,10 @@
 		*((unsigned short *)__va(0x472)) = reboot_mode;
 		for (;;) {
 			mach_reboot();
+			
+			/* That didn't work - try bios reboot .. */
+			machine_real_restart(jump_to_bios, sizeof(jump_to_bios));
+
 			/* That didn't work - force a triple fault.. */
 			__asm__ __volatile__("lidt %0": :"m" (no_idt));
 			__asm__ __volatile__("int3");
