* lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
dev_t. This code is stolen from glibc.
Suggested by Shen Feng <shen@nanjing-fnst.com>.
+2004-01-17 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
+ dev_t. This code is stolen from glibc.
+ Suggested by Shen Feng <shen@nanjing-fnst.com>.
+
2004-01-11 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/terminfo.c (ti_set_term): Use a pointer to struct
* Display "GNU GRUB" instead of "GRUB" in the menu.
* Add support for QNX RTP into the grub shell.
* Add support for the initrd max address of a kernel header in Linux.
+* Support 32 bit and 64 bit dev_t.
New in 0.93 - 2002-12-08:
* Define the behavior of the boot loader when the load end address is
# define FLOPPY_MAJOR 2 /* the major number for floppy */
# endif /* ! FLOPPY_MAJOR */
# ifndef MAJOR
-# ifndef MINORBITS
-# define MINORBITS 8
-# endif /* ! MINORBITS */
-# define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS))
+# define MAJOR(dev) \
+ ({ \
+ unsigned long long __dev = (dev); \
+ (unsigned) ((__dev >> 8) & 0xfff) \
+ | ((unsigned int) (__dev >> 32) & ~0xfff); \
+ })
# endif /* ! MAJOR */
# ifndef CDROM_GET_CAPABILITY
# define CDROM_GET_CAPABILITY 0x5331 /* get capabilities */