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/boot/i386/gptboot | |
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/boot/i386/gptboot')
-rw-r--r-- | sys/boot/i386/gptboot/gptboot.c | 6 |
1 files changed, 3 insertions, 3 deletions
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); |