[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-4.0-testing] rombios: wait 30s after a failed boot



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1278579753 -3600
# Node ID ebdbe57b76fe501d30e75b699929cf2d44bd73aa
# Parent  96d72369813fa3373bedcd1ed989c3721ba8e8f5
rombios: wait 30s after a failed boot

Prevents waiting forever for a keypress that may never come if boot is
unattended.

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
xen-unstable changeset:   21746:3073d3d61a6b
xen-unstable date:        Thu Jul 08 09:46:09 2010 +0100
---
 tools/firmware/rombios/rombios.c |   21 ++++++---------------
 1 files changed, 6 insertions(+), 15 deletions(-)

diff -r 96d72369813f -r ebdbe57b76fe tools/firmware/rombios/rombios.c
--- a/tools/firmware/rombios/rombios.c  Thu Jul 08 10:02:05 2010 +0100
+++ b/tools/firmware/rombios/rombios.c  Thu Jul 08 10:02:33 2010 +0100
@@ -8245,24 +8245,15 @@ Bit16u seq_nr;
     write_word(ebda_seg, IPL_SEQUENCE_OFFSET, 0xFFFF);
   } else if (bootdev == 0) {
     printf("\nNo bootable device.\n");
-    printf("Reboot or press any key to retry.");
-    write_word(ebda_seg, IPL_SEQUENCE_OFFSET, 0xFFFF);
+    printf("Powering off in 30 seconds.\n");
 ASM_START
     sti
+    mov cx, #0x01c9
+    mov dx, #0xc380
+    mov ah, #0x86   ;; INT 15/86: wait CX:DX usec.
+    int #0x15
 ASM_END
-    {
-      Bit8u sc, ac;
-      while(!dequeue_key(&sc, &ac, 1)) {
-ASM_START
-        hlt
-ASM_END
-      }
-    }
-ASM_START
-    cli
-ASM_END
-    printf("\n\n");
-    return;
+    bios_printf(BIOS_PRINTF_HALT, "");
   }
 
   /* Translate from CMOS runes to an IPL table offset by subtracting 1 */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.