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