]> Zhao Yanbai Git Server - minix.git/commitdiff
64-bit CDEV_POS
authorBen Gras <ben@minix3.org>
Mon, 24 Feb 2014 16:30:31 +0000 (17:30 +0100)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:11 +0000 (17:05 +0200)
Change-Id: Iecdadf3dd92cc14525961976f51a9eb16a996d62

include/minix/com.h
lib/libchardriver/chardriver.c
servers/vfs/device.c

index 9cf61dfc982e4b272c7d1dee1cb926bca5a25d1d..d63545452b232a1ee39c6d6a03c8f17b979eb07a 100644 (file)
 #define CDEV_FLAGS     m10_i4  /* transfer flags */
 #define CDEV_ID                m10_l1  /* opaque request ID */
 #define CDEV_REQUEST   m10_l2  /* I/O control request */
-#define CDEV_POS_LO    m10_l2  /* transfer position (low bits) */
-#define CDEV_POS_HI    m10_l3  /* transfer position (high bits) */
+#define CDEV_POS       m10_ull1 /* transfer position */
 
 /* Bits in 'CDEV_ACCESS' field of block device open requests. */
 #  define CDEV_R_BIT           0x01    /* open with read access */
index 7016eb8daf2d3c370da129ea29d04574ce15cebc..a8de1ad40239fa38f0390325c41010c9ddf12d8b 100644 (file)
@@ -322,7 +322,7 @@ static int do_transfer(struct chardriver *cdp, message *m_ptr, int do_write)
   ssize_t r;
 
   minor = m_ptr->CDEV_MINOR;
-  position = make64(m_ptr->CDEV_POS_LO, m_ptr->CDEV_POS_HI);
+  position = m_ptr->CDEV_POS;
   endpt = m_ptr->m_source;
   grant = (cp_grant_id_t) m_ptr->CDEV_GRANT;
   size = m_ptr->CDEV_COUNT;
index 071d4aa1ae398209bfcacd91c13c831a04faeb37..b5178bcbdab6b9a30b7c6b309124eb6e4739f3ff 100644 (file)
@@ -286,8 +286,7 @@ int cdev_io(
        dev_mess.CDEV_REQUEST = bytes;
        dev_mess.CDEV_USER = proc_e;
   } else {
-       dev_mess.CDEV_POS_LO = ex64lo(pos);
-       dev_mess.CDEV_POS_HI = ex64hi(pos);
+       dev_mess.CDEV_POS = pos;
        dev_mess.CDEV_COUNT = (size_t) bytes;
   }
   dev_mess.CDEV_ID = proc_e;