Fully synchronize sys/boot from FreeBSD-5.x, but add / to the module path
[dragonfly.git] / sys / i386 / include / bootinfo.h
index b168f71..c1d5b33 100644 (file)
@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/i386/include/bootinfo.h,v 1.14 1999/12/29 04:32:57 peter Exp $
- * $DragonFly: src/sys/i386/include/Attic/bootinfo.h,v 1.2 2003/06/17 04:28:35 dillon Exp $
+ * $DragonFly: src/sys/i386/include/Attic/bootinfo.h,v 1.3 2003/11/10 06:12:12 dillon Exp $
  */
 
 #ifndef        _MACHINE_BOOTINFO_H_
@@ -72,4 +72,49 @@ struct bootinfo {
 extern struct bootinfo bootinfo;
 #endif
 
+/*
+ * Constants for converting boot-style device number to type,
+ * adaptor (uba, mba, etc), unit number and partition number.
+ * Type (== major device number) is in the low byte
+ * for backward compatibility.  Except for that of the "magic
+ * number", each mask applies to the shifted value.
+ * Format:
+ *      (4) (4) (4) (4)  (8)     (8)
+ *     --------------------------------
+ *     |MA | AD| CT| 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)
+#define B_UNITSHIFT            16
+#define B_UNITMASK             0xf
+#define        B_UNIT(val)             (((val) >> B_UNITSHIFT) & B_UNITMASK)
+#define B_PARTITIONSHIFT       8
+#define B_PARTITIONMASK                0xff
+#define        B_PARTITION(val)        (((val) >> B_PARTITIONSHIFT) & B_PARTITIONMASK)
+#define        B_TYPESHIFT             0
+#define        B_TYPEMASK              0xff
+#define        B_TYPE(val)             (((val) >> B_TYPESHIFT) & B_TYPEMASK)
+
+#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        BASE_SLICE              2
+#define        COMPATIBILITY_SLICE     0
+#define        MAX_SLICES              32
+#define        WHOLE_DISK_SLICE        1
+
 #endif /* !_MACHINE_BOOTINFO_H_ */
+