Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/i386/stand/lib/crt/bootsect On serious boot errors, ...



details:   https://anonhg.NetBSD.org/src/rev/1542b57c9443
branches:  trunk
changeset: 468001:1542b57c9443
user:      drochner <drochner%NetBSD.org@localhost>
date:      Thu Apr 01 17:07:54 1999 +0000

description:
On serious boot errors, dont lock the machine. Instead, wait 3 seconds
and call the ROM BASIC vector. This might behave differently on different
machines, but normally it allows to reboot without power-cycling.

diffstat:

 sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S |  17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diffs (38 lines):

diff -r d103f7ad8d56 -r 1542b57c9443 sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S
--- a/sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S     Thu Apr 01 16:22:57 1999 +0000
+++ b/sys/arch/i386/stand/lib/crt/bootsect/start_bootsect.S     Thu Apr 01 17:07:54 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: start_bootsect.S,v 1.10 1999/03/08 00:09:25 fvdl Exp $ */
+/*     $NetBSD: start_bootsect.S,v 1.11 1999/04/01 17:07:54 drochner Exp $     */
        
 /*
  * BIOS bootsector startup
@@ -356,7 +356,7 @@
 
 eread: .asciz          "Read error\r\n"
 enoboot: .asciz                "No bootable partition\r\n"
-efail: .asciz          "Boot failed, system halted\r\n"
+efail: .asciz          "Boot failed\r\n"
 
 /* throw in a partition in case we are block0 as well */
 /* flag, head, sec, cyl, typ, ehead, esect, ecyl, start, len */
@@ -472,8 +472,17 @@
        movl    $efail, %esi
        data32
        call    message
-       cli
-       hlt
+
+       /* sleep for 3s = 0x2dc6c0 us */
+       movb    $0x86, %ah
+       data32
+       movl    $0x002d, %ecx
+       data32
+       movl    $0xc6c0, %edx
+       int     $0x15
+
+       /* call ROM BASIC */
+       int     $0x18
 
 CR0_PE         =       0x1
 



Home | Main Index | Thread Index | Old Index