diff options
author | peter <peter@FreeBSD.org> | 1999-01-10 13:29:52 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-01-10 13:29:52 +0000 |
commit | 6f74dc01b4fb3d0b3688762c7347a90d768ac105 (patch) | |
tree | 72fe2078f53b363b03cfd5afa79c1ee34bdfe527 /sys | |
parent | b0b895bf981495c394ce2e954d19e487be93372a (diff) | |
download | FreeBSD-src-6f74dc01b4fb3d0b3688762c7347a90d768ac105.zip FreeBSD-src-6f74dc01b4fb3d0b3688762c7347a90d768ac105.tar.gz |
Damn, I thought I had committed this already, but it seems not.
Move the relocated boot1 and arg transfer space from 0x600/0x800 to
0x700/0x900. In theory this should make no difference, apart from the fact
that Buslogic controllers happen to use a few bytes at 0x600 for some sort
of scratch space for it's int 0x13 hook (!!!), causing the machine to crash
badly when the boot2 code makes it's callbacks into boot1 for disk IO.
Submitted by: Robert Nordier <rnordier@freebsd.org>
Diffstat (limited to 'sys')
-rw-r--r-- | sys/boot/i386/boot2/boot1.S | 6 | ||||
-rw-r--r-- | sys/boot/i386/boot2/boot1.s | 6 | ||||
-rw-r--r-- | sys/boot/i386/boot2/boot2.c | 6 | ||||
-rw-r--r-- | sys/boot/i386/gptboot/gptboot.c | 6 |
4 files changed, 12 insertions, 12 deletions
diff --git a/sys/boot/i386/boot2/boot1.S b/sys/boot/i386/boot2/boot1.S index 4f769ef..80bd519 100644 --- a/sys/boot/i386/boot2/boot1.S +++ b/sys/boot/i386/boot2/boot1.S @@ -13,10 +13,10 @@ # purpose. # -# $Id: boot1.s,v 1.5 1998/11/08 15:36:35 rnordier Exp $ +# $Id: boot1.s,v 1.6 1998/11/11 08:56:17 rnordier Exp $ - .set MEM_REL,0x600 # Relocation address - .set MEM_ARG,0x800 # Arguments + .set MEM_REL,0x700 # Relocation address + .set MEM_ARG,0x900 # Arguments .set MEM_ORG,0x7c00 # Origin .set MEM_BUF,0x8c00 # Load area .set MEM_BTX,0x9000 # BTX start diff --git a/sys/boot/i386/boot2/boot1.s b/sys/boot/i386/boot2/boot1.s index 4f769ef..80bd519 100644 --- a/sys/boot/i386/boot2/boot1.s +++ b/sys/boot/i386/boot2/boot1.s @@ -13,10 +13,10 @@ # purpose. # -# $Id: boot1.s,v 1.5 1998/11/08 15:36:35 rnordier Exp $ +# $Id: boot1.s,v 1.6 1998/11/11 08:56:17 rnordier Exp $ - .set MEM_REL,0x600 # Relocation address - .set MEM_ARG,0x800 # Arguments + .set MEM_REL,0x700 # Relocation address + .set MEM_ARG,0x900 # Arguments .set MEM_ORG,0x7c00 # Origin .set MEM_BUF,0x8c00 # Load area .set MEM_BTX,0x9000 # BTX start diff --git a/sys/boot/i386/boot2/boot2.c b/sys/boot/i386/boot2/boot2.c index a561db9..07bad96 100644 --- a/sys/boot/i386/boot2/boot2.c +++ b/sys/boot/i386/boot2/boot2.c @@ -14,7 +14,7 @@ */ /* - * $Id: boot2.c,v 1.15 1998/11/08 18:29:29 rnordier Exp $ + * $Id: boot2.c,v 1.16 1998/11/08 18:37:28 rnordier Exp $ */ #include <sys/param.h> @@ -55,7 +55,7 @@ #define PATH_KERNEL "/kernel" #define PATH_HELP "boot.help" -#define ARGS 0x800 +#define ARGS 0x900 #define NOPT 11 #define BSIZEMAX 8192 #define NDEV 5 @@ -736,7 +736,7 @@ drvread(void *buf, unsigned lba, unsigned nblk) printf("%c\b", c = c << 8 | c >> 24); v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; - v86.addr = 0x604; + v86.addr = 0x704; /* call to xread in boot1 */ v86.es = VTOPSEG(buf); v86.eax = lba; v86.ebx = VTOPOFF(buf); diff --git a/sys/boot/i386/gptboot/gptboot.c b/sys/boot/i386/gptboot/gptboot.c index a561db9..07bad96 100644 --- a/sys/boot/i386/gptboot/gptboot.c +++ b/sys/boot/i386/gptboot/gptboot.c @@ -14,7 +14,7 @@ */ /* - * $Id: boot2.c,v 1.15 1998/11/08 18:29:29 rnordier Exp $ + * $Id: boot2.c,v 1.16 1998/11/08 18:37:28 rnordier Exp $ */ #include <sys/param.h> @@ -55,7 +55,7 @@ #define PATH_KERNEL "/kernel" #define PATH_HELP "boot.help" -#define ARGS 0x800 +#define ARGS 0x900 #define NOPT 11 #define BSIZEMAX 8192 #define NDEV 5 @@ -736,7 +736,7 @@ drvread(void *buf, unsigned lba, unsigned nblk) printf("%c\b", c = c << 8 | c >> 24); v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; - v86.addr = 0x604; + v86.addr = 0x704; /* call to xread in boot1 */ v86.es = VTOPSEG(buf); v86.eax = lba; v86.ebx = VTOPOFF(buf); |