diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2007-10-24 04:03:25 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2007-10-24 04:03:25 +0000 |
| commit | 5c5b5d4607930b36ed0338db31bc26bb7e1cb8ec (patch) | |
| tree | fdf38b4daaca0d3bae26f2cebbfb7bbbf5eb115e | |
| parent | 6fa30d2b87d01df6b1a00ff753be70bbf808169a (diff) | |
Notes
| -rw-r--r-- | sys/boot/i386/boot2/boot2.c | 2 | ||||
| -rw-r--r-- | sys/boot/i386/gptboot/gptboot.c | 2 | ||||
| -rw-r--r-- | sys/boot/i386/libi386/bioscd.c | 2 | ||||
| -rw-r--r-- | sys/boot/i386/libi386/biosdisk.c | 7 | ||||
| -rw-r--r-- | sys/boot/i386/loader/main.c | 3 | ||||
| -rw-r--r-- | sys/boot/pc98/boot2/boot.c | 2 | ||||
| -rw-r--r-- | sys/boot/pc98/libpc98/bioscd.c | 2 | ||||
| -rw-r--r-- | sys/boot/pc98/libpc98/biosdisk.c | 7 | ||||
| -rw-r--r-- | sys/i386/include/bootinfo.h | 18 |
9 files changed, 16 insertions, 29 deletions
diff --git a/sys/boot/i386/boot2/boot2.c b/sys/boot/i386/boot2/boot2.c index df3fe81d17ca..f227233d5675 100644 --- a/sys/boot/i386/boot2/boot2.c +++ b/sys/boot/i386/boot2/boot2.c @@ -395,7 +395,7 @@ load(void) bootinfo.bi_kernelname = VTOP(kname); bootinfo.bi_bios_dev = dsk.drive; __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK), - MAKEBOOTDEV(dev_maj[dsk.type], 0, dsk.slice, dsk.unit, dsk.part), + MAKEBOOTDEV(dev_maj[dsk.type], dsk.slice, dsk.unit, dsk.part), 0, 0, 0, VTOP(&bootinfo)); } diff --git a/sys/boot/i386/gptboot/gptboot.c b/sys/boot/i386/gptboot/gptboot.c index df3fe81d17ca..f227233d5675 100644 --- a/sys/boot/i386/gptboot/gptboot.c +++ b/sys/boot/i386/gptboot/gptboot.c @@ -395,7 +395,7 @@ load(void) bootinfo.bi_kernelname = VTOP(kname); bootinfo.bi_bios_dev = dsk.drive; __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK), - MAKEBOOTDEV(dev_maj[dsk.type], 0, dsk.slice, dsk.unit, dsk.part), + MAKEBOOTDEV(dev_maj[dsk.type], dsk.slice, dsk.unit, dsk.part), 0, 0, 0, VTOP(&bootinfo)); } diff --git a/sys/boot/i386/libi386/bioscd.c b/sys/boot/i386/libi386/bioscd.c index 42dfbb3b8a0e..93de9586c31f 100644 --- a/sys/boot/i386/libi386/bioscd.c +++ b/sys/boot/i386/libi386/bioscd.c @@ -350,7 +350,7 @@ bc_getdev(struct i386_devdesc *dev) unit = 0; /* XXX */ /* XXX: Assume partition 'a'. */ - rootdev = MAKEBOOTDEV(major, 0, 0, unit, 0); + rootdev = MAKEBOOTDEV(major, 0, unit, 0); DEBUG("dev is 0x%x\n", rootdev); return(rootdev); } diff --git a/sys/boot/i386/libi386/biosdisk.c b/sys/boot/i386/libi386/biosdisk.c index b65ddd89c09e..18453e20860b 100644 --- a/sys/boot/i386/libi386/biosdisk.c +++ b/sys/boot/i386/libi386/biosdisk.c @@ -1221,11 +1221,8 @@ bd_getdev(struct i386_devdesc *dev) unit = i; } - rootdev = MAKEBOOTDEV(major, - (dev->d_kind.biosdisk.slice + 1) >> 4, /* XXX slices may be wrong here */ - (dev->d_kind.biosdisk.slice + 1) & 0xf, - unit, - dev->d_kind.biosdisk.partition); + rootdev = MAKEBOOTDEV(major, dev->d_kind.biosdisk.slice + 1, unit, + dev->d_kind.biosdisk.partition); DEBUG("dev is 0x%x\n", rootdev); return(rootdev); } diff --git a/sys/boot/i386/loader/main.c b/sys/boot/i386/loader/main.c index 0c0046ff4726..2083456bbbae 100644 --- a/sys/boot/i386/loader/main.c +++ b/sys/boot/i386/loader/main.c @@ -218,8 +218,7 @@ extract_currdev(void) new_currdev.d_kind.biosdisk.partition = 0; biosdev = -1; } else { - new_currdev.d_kind.biosdisk.slice = (B_ADAPTOR(initial_bootdev) << 4) + - B_CONTROLLER(initial_bootdev) - 1; + new_currdev.d_kind.biosdisk.slice = B_SLICE(initial_bootdev) - 1; new_currdev.d_kind.biosdisk.partition = B_PARTITION(initial_bootdev); biosdev = initial_bootinfo->bi_bios_dev; diff --git a/sys/boot/pc98/boot2/boot.c b/sys/boot/pc98/boot2/boot.c index f350b9161457..4bdfbef7b14e 100644 --- a/sys/boot/pc98/boot2/boot.c +++ b/sys/boot/pc98/boot2/boot.c @@ -294,7 +294,7 @@ loadprog(void) * 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); + bootdev = MAKEBOOTDEV(maj, slice, unit, part); bootinfo.bi_version = BOOTINFO_VERSION; bootinfo.bi_kernelname = (u_int32_t)(name + ouraddr); diff --git a/sys/boot/pc98/libpc98/bioscd.c b/sys/boot/pc98/libpc98/bioscd.c index 03b38a365f4f..40d455b4a915 100644 --- a/sys/boot/pc98/libpc98/bioscd.c +++ b/sys/boot/pc98/libpc98/bioscd.c @@ -338,7 +338,7 @@ bc_getdev(struct i386_devdesc *dev) unit = 0; /* XXX */ /* XXX: Assume partition 'a'. */ - rootdev = MAKEBOOTDEV(major, 0, 0, unit, 0); + rootdev = MAKEBOOTDEV(major, 0, unit, 0); DEBUG("dev is 0x%x\n", rootdev); return(rootdev); } diff --git a/sys/boot/pc98/libpc98/biosdisk.c b/sys/boot/pc98/libpc98/biosdisk.c index ef89e1227d76..d23d474d02b1 100644 --- a/sys/boot/pc98/libpc98/biosdisk.c +++ b/sys/boot/pc98/libpc98/biosdisk.c @@ -1105,11 +1105,8 @@ bd_getdev(struct i386_devdesc *dev) unit = i; } - rootdev = MAKEBOOTDEV(major, - (dev->d_kind.biosdisk.slice + 1) >> 4, /* XXX slices may be wrong here */ - (dev->d_kind.biosdisk.slice + 1) & 0xf, - unit, - dev->d_kind.biosdisk.partition); + rootdev = MAKEBOOTDEV(major, dev->d_kind.biosdisk.slice + 1, unit, + dev->d_kind.biosdisk.partition); DEBUG("dev is 0x%x\n", rootdev); return(rootdev); } diff --git a/sys/i386/include/bootinfo.h b/sys/i386/include/bootinfo.h index 475a09e08883..09b4e2cc351c 100644 --- a/sys/i386/include/bootinfo.h +++ b/sys/i386/include/bootinfo.h @@ -78,17 +78,11 @@ extern struct bootinfo bootinfo; * for backward compatibility. Except for that of the "magic * number", each mask applies to the shifted value. * Format: - * (4) (4) (4) (4) (8) (8) + * (4) (8) (4) (8) (8) * -------------------------------- - * |MA | AD| CT| UN| PART | TYPE | + * |MA | SLICE | UN| PART | TYPE | * -------------------------------- */ -#define B_ADAPTORSHIFT 24 -#define B_ADAPTORMASK 0x0f -#define B_ADAPTOR(val) (((val) >> B_ADAPTORSHIFT) & B_ADAPTORMASK) -#define B_CONTROLLERSHIFT 20 -#define B_CONTROLLERMASK 0xf -#define B_CONTROLLER(val) (((val)>>B_CONTROLLERSHIFT) & B_CONTROLLERMASK) #define B_SLICESHIFT 20 #define B_SLICEMASK 0xff #define B_SLICE(val) (((val)>>B_SLICESHIFT) & B_SLICEMASK) @@ -105,10 +99,10 @@ extern struct bootinfo bootinfo; #define B_MAGICMASK 0xf0000000 #define B_DEVMAGIC 0xa0000000 -#define MAKEBOOTDEV(type, adaptor, controller, unit, partition) \ - (((type) << B_TYPESHIFT) | ((adaptor) << B_ADAPTORSHIFT) | \ - ((controller) << B_CONTROLLERSHIFT) | ((unit) << B_UNITSHIFT) | \ - ((partition) << B_PARTITIONSHIFT) | B_DEVMAGIC) +#define MAKEBOOTDEV(type, slice, unit, partition) \ + (((type) << B_TYPESHIFT) | ((slice) << B_SLICESHIFT) | \ + ((unit) << B_UNITSHIFT) | ((partition) << B_PARTITIONSHIFT) | \ + B_DEVMAGIC) #define BASE_SLICE 2 #define COMPATIBILITY_SLICE 0 |
