summaryrefslogtreecommitdiff
path: root/sys/arch/i386/stand/biosboot
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1998-04-18 07:40:04 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1998-04-18 07:40:04 +0000
commit888b63e1743ef4b4277b88169301e0b5c1445e16 (patch)
tree5b9d1c51879f3e1f909c17e6ec7c2f6050ac92e1 /sys/arch/i386/stand/biosboot
parentc2ee71fae9cec63f4a94c921619dc28d1c5b5032 (diff)
i386 bootblocks that work for 2.3. A tale too long to tell
Diffstat (limited to 'sys/arch/i386/stand/biosboot')
-rw-r--r--sys/arch/i386/stand/biosboot/biosboot.S19
1 files changed, 10 insertions, 9 deletions
diff --git a/sys/arch/i386/stand/biosboot/biosboot.S b/sys/arch/i386/stand/biosboot/biosboot.S
index 227435b71a8..4f08c311b03 100644
--- a/sys/arch/i386/stand/biosboot/biosboot.S
+++ b/sys/arch/i386/stand/biosboot/biosboot.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: biosboot.S,v 1.26 1998/04/13 00:37:41 deraadt Exp $ */
+/* $OpenBSD: biosboot.S,v 1.27 1998/04/18 07:39:35 deraadt Exp $ */
/*
* Copyright (c) 1997 Michael Shalayeff, Tobias Weingartner
@@ -39,7 +39,7 @@
#define addr32 .byte 0x67
#define data32 .byte 0x66
-#define BLKCNT 14 /* Max without colliding with the partition table */
+#define BLKCNT 12 /* Max without colliding with the partition table */
#define BOOTSEG 0x07c0 /* boot loaded here */
#define BOOTSTACK 0xfffc /* stack starts here */
@@ -54,7 +54,7 @@
/* Clobbers %esi - maybe more */
#define puts(s) \
- data32; \
+ data32; \
movl $s, %esi; \
.byte 0xe8; \
.word Lmessage - . - 2
@@ -132,7 +132,7 @@ load_msg:
popl %dx
#endif
-#ifdef DEBUG
+#ifdef BDEBUG
putc('R')
#endif
@@ -156,6 +156,7 @@ load_msg:
1:
pushl %cx
+ putc('.') /* show progress indicator */
cld
lodsl /* word */ /* cylinder/sector */
movl %ax, %cx
@@ -173,10 +174,10 @@ load_msg:
2: .asciz "\r\nRead error\r\n"
3: /* read next block */
- putc('.') /* show progress indicator */
popl %ax
- movzbl %al, %ax
+ data32
+ movzbl %al, %eax
shll $9, %ax /* 512 bytes sectors */
addl %ax, %bx
popl %cx
@@ -206,7 +207,7 @@ halt:
* is supposed to go. Screw it, just assume that the image
* is sane.
*/
-#ifdef DEBUG
+#ifdef BDEBUG
putc('P')
#endif
@@ -236,7 +237,7 @@ halt:
* 32bit mode
* set up %ds, %ss, %es, etc
*/
- movw $0x10, %eax
+ movl $0x10, %eax
movl %ax, %ds
movl %ax, %ss
movl %ax, %es
@@ -244,7 +245,7 @@ halt:
movl %ax, %gs
movl $BOOTSTACK, %esp
-#ifdef DEBUG
+#ifdef BDEBUG
movl $0xb8004, %ebx
movl $0x074f0747, (%ebx)
#endif