]> Zhao Yanbai Git Server - minix.git/commitdiff
Aligning makedev macros, dev_t still 32bits 67/1167/4
authorLionel Sambuc <lionel@minix3.org>
Fri, 25 Oct 2013 14:59:54 +0000 (16:59 +0200)
committerLionel Sambuc <lionel@minix3.org>
Sun, 2 Mar 2014 11:28:32 +0000 (12:28 +0100)
Change-Id: Ib343d9b459ff0eeac70c4e54c23fe2e82a137100

sys/sys/types.h

index 4b0abc350f3e72c9ab27cdd3445e1e970476eb8d..140eebcc1bb08c3af7154477f47fe6be0d777f45 100644 (file)
@@ -183,7 +183,9 @@ typedef     __daddr_t       daddr_t;        /* disk address */
 typedef        int64_t         daddr_t;        /* disk address */
 #endif
 
+#if defined(__minix) /* LSC: Wait until bigger message to enlarge the data type. */
 typedef        uint32_t        dev_t;          /* device number */
+#endif /* defined(__minix) */
 typedef        uint32_t        fixpt_t;        /* fixed point number */
 
 #ifndef        gid_t
@@ -289,12 +291,11 @@ typedef int32_t __devmajor_t, __devminor_t;
 #define devmajor_t __devmajor_t
 #define devminor_t __devminor_t
 #define NODEVMAJOR (-1)
-/* LSC Our major / minor numbering scheme is not the exactly the same, to be updated? */
-#define        major(x)        ((devmajor_t)(((uint32_t)(x) & 0x0000ff00) >>  8))
-#define        minor(x)        ((devminor_t)( \
+#define        major(x)        ((devmajor_t)(((uint32_t)(x) & 0x000fff00) >>  8))
+#define        minor(x)        ((devminor_t)((((uint32_t)(x) & 0xfff00000) >> 12) | \
                                   (((uint32_t)(x) & 0x000000ff) >>  0)))
-#define        makedev(x,y)    ((dev_t)((((x) <<  8) & 0x0000ff00) | \
-                                 \
+#define        makedev(x,y)    ((dev_t)((((x) <<  8) & 0x000fff00) | \
+                                (((y) << 12) & 0xfff00000) | \
                                 (((y) <<  0) & 0x000000ff)))
 #endif