summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/i386/boot/biosboot/Makefile4
-rw-r--r--sys/i386/boot/biosboot/boot.c12
-rw-r--r--sys/i386/boot/biosboot/boot.h4
-rw-r--r--sys/i386/boot/biosboot/disk.c5
4 files changed, 16 insertions, 9 deletions
diff --git a/sys/i386/boot/biosboot/Makefile b/sys/i386/boot/biosboot/Makefile
index 15a2e30..d147e75 100644
--- a/sys/i386/boot/biosboot/Makefile
+++ b/sys/i386/boot/biosboot/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.21 1994/10/28 07:54:13 rgrimes Exp $
+# $Id: Makefile,v 1.22 1994/11/05 21:06:16 ache Exp $
#
PROG= boot
@@ -7,7 +7,7 @@ SRCS= start.S table.c boot2.S boot.c asm.S bios.S io.c disk.c sys.c
BINDIR= /usr/mdec
BINMODE= 444
-CFLAGS= -O -DDO_BAD144 -DBOOTWAIT=${BOOTWAIT}
+CFLAGS= -O -DDO_BAD144 -DBOOTWAIT=${BOOTWAIT}
CFLAGS+= -DBOOTSEG=${BOOTSEG} -DBOOTSTACK=${BOOTSTACK}
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../..
CLEANFILES+= boot.nohdr boot.strip boot1 boot2
diff --git a/sys/i386/boot/biosboot/boot.c b/sys/i386/boot/biosboot/boot.c
index cd33609..9c9ce4c 100644
--- a/sys/i386/boot/biosboot/boot.c
+++ b/sys/i386/boot/biosboot/boot.c
@@ -24,7 +24,7 @@
* the rights to redistribute these changes.
*
* from: Mach, [92/04/03 16:51:14 rvb]
- * $Id: boot.c,v 1.26 1994/11/18 13:40:19 jkh Exp $
+ * $Id: boot.c,v 1.27 1994/11/26 09:08:48 phk Exp $
*/
@@ -221,13 +221,19 @@ loadprog(howto)
addr += i;
}
#endif LOADSYMS
+
/********************************************************/
/* and note the end address of all this */
/********************************************************/
-
total = ((addr+sizeof(int)-1))&~(sizeof(int)-1);
printf("total=0x%x ", total);
- bootdev = (MAKEBOOTDEV(maj, 0, 0, unit, part)) ;
+
+ /*
+ * For backwards compatibility, use the previously-unused adaptor
+ * and controller bitfields to hold the slice number.
+ */
+ bootdev = MAKEBOOTDEV(maj, (slice >> 4), slice & 0xf, unit, part);
+
/****************************************************************/
/* copy that first page and overwrite any BIOS variables */
/****************************************************************/
diff --git a/sys/i386/boot/biosboot/boot.h b/sys/i386/boot/biosboot/boot.h
index 2046990..ad51cc5 100644
--- a/sys/i386/boot/biosboot/boot.h
+++ b/sys/i386/boot/biosboot/boot.h
@@ -24,7 +24,7 @@
* the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:35:03 rpd
- * $Id: boot.h,v 1.3 1993/10/16 19:11:32 rgrimes Exp $
+ * $Id: boot.h,v 1.4 1994/08/21 17:47:26 paul Exp $
*/
#include <sys/types.h>
@@ -37,5 +37,5 @@
extern char *devs[], *name, *iodest;
extern struct fs *fs;
extern struct inode inode;
-extern int dosdev, unit, part, maj, boff, poff, bnum, cnt;
+extern int dosdev, unit, slice, part, maj, boff, poff, bnum, cnt;
extern long int ouraddr;
diff --git a/sys/i386/boot/biosboot/disk.c b/sys/i386/boot/biosboot/disk.c
index a63ca5a..5669262 100644
--- a/sys/i386/boot/biosboot/disk.c
+++ b/sys/i386/boot/biosboot/disk.c
@@ -24,7 +24,7 @@
* the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:35:49 rpd
- * $Id: disk.c,v 1.4 1994/02/22 22:59:40 rgrimes Exp $
+ * $Id: disk.c,v 1.5 1994/05/16 03:06:00 ache Exp $
*/
/*
@@ -63,7 +63,7 @@ int spt, spc;
char *iodest;
struct fs *fs;
struct inode inode;
-int dosdev, unit, part, maj, boff, poff, bnum, cnt;
+int dosdev, unit, slice, part, maj, boff, poff, bnum, cnt;
/*#define EMBEDDED_DISKLABEL 1*/
extern struct disklabel disklabel;
@@ -93,6 +93,7 @@ devopen()
sector = LABELSECTOR;
for (i = 0; i < NDOSPART; i++, dptr++)
if (dptr->dp_typ == DOSPTYP_386BSD) {
+ slice = 1 + i;
sector = dptr->dp_start + LABELSECTOR;
break;
}
OpenPOWER on IntegriCloud