diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-07-08 10:02:33 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-07-08 10:02:33 +0100 |
commit | 9d60094a16a24210b10e0580bfbf3a3ecc19ee4d (patch) | |
tree | 594dfeb6ec82a587c5d7142ef3b1669ceefb2bbb | |
parent | e864f2128c2bde4e0ac4e500980656935a5a02e9 (diff) | |
download | xen-9d60094a16a24210b10e0580bfbf3a3ecc19ee4d.tar.gz xen-9d60094a16a24210b10e0580bfbf3a3ecc19ee4d.tar.bz2 xen-9d60094a16a24210b10e0580bfbf3a3ecc19ee4d.zip |
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@citrix.com>
xen-unstable changeset: 21746:3073d3d61a6b
xen-unstable date: Thu Jul 08 09:46:09 2010 +0100
-rw-r--r-- | tools/firmware/rombios/rombios.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c index 1c05d99e75..3f85a902a6 100644 --- a/tools/firmware/rombios/rombios.c +++ b/tools/firmware/rombios/rombios.c @@ -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 */ |