]> Zhao Yanbai Git Server - minix.git/commitdiff
int to endpoint_t conversions in mmap
authorTomas Hruby <tom@minix3.org>
Wed, 9 Jun 2010 09:14:53 +0000 (09:14 +0000)
committerTomas Hruby <tom@minix3.org>
Wed, 9 Jun 2010 09:14:53 +0000 (09:14 +0000)
include/sys/mman.h
lib/libc/posix/_mmap.c
servers/vm/mmap.c

index 55b9a0b09fbcf93345bce3d919081e3589dc5d15..29d82a1bd73191af8546f5e3fe00985d9ea86dca 100644 (file)
 _PROTOTYPE( void *mmap, (void *, size_t, int, int, int, off_t));
 _PROTOTYPE( int munmap, (void *, size_t));
 _PROTOTYPE( int munmap_text, (void *, size_t));
-_PROTOTYPE( void *vm_remap, (int d, int s, void *da, void *sa, size_t si));
+_PROTOTYPE( void *vm_remap, (endpoint_t d, endpoint_t s, void *da,
+                               void *sa, size_t si));
 _PROTOTYPE( int vm_unmap, (endpoint_t endpt, void *addr));
 _PROTOTYPE( unsigned long vm_getphys, (endpoint_t endpt, void *addr));
-_PROTOTYPE( u8_t vm_getrefcount, (int endpt, void *addr));
+_PROTOTYPE( u8_t vm_getrefcount, (endpoint_t endpt, void *addr));
 
 #endif /* _MMAN_H */
index a0160201548b06617d9d804bc302d8199ba3adba..26e2164d723b23c28d1df85f982c856cdaf51a2e 100644 (file)
@@ -55,7 +55,11 @@ PUBLIC int munmap_text(void *addr, size_t len)
        return _syscall(VM_PROC_NR, VM_MUNMAP_TEXT, &m);
 }
 
-PUBLIC void *vm_remap(int d, int s, void *da, void *sa, size_t size)
+PUBLIC void *vm_remap(endpoint_t d,
+                       endpoint_t s,
+                       void *da,
+                       void *sa,
+                       size_t size)
 {
        message m;
        int r;
@@ -72,7 +76,7 @@ PUBLIC void *vm_remap(int d, int s, void *da, void *sa, size_t size)
        return (void *) m.VMRE_RETA;
 }
 
-PUBLIC int vm_unmap(int endpt, void *addr)
+PUBLIC int vm_unmap(endpoint_t endpt, void *addr)
 {
        message m;
 
@@ -96,7 +100,7 @@ PUBLIC unsigned long vm_getphys(int endpt, void *addr)
        return m.VMPHYS_RETA;
 }
 
-PUBLIC u8_t vm_getrefcount(int endpt, void *addr)
+PUBLIC u8_t vm_getrefcount(endpoint_t endpt, void *addr)
 {
        message m;
        int r;
index c85847a6dfd1337f8568486e366fa37509bae9a5..71fc025c83fa98c3126f2ab3f4320c2b997aad1c 100644 (file)
@@ -208,22 +208,20 @@ PUBLIC int do_unmap_phys(message *m)
  *===========================================================================*/
 PUBLIC int do_remap(message *m)
 {
-       int d, dn, s, sn;
+       int dn, sn;
        vir_bytes da, sa, startv;
        size_t size;
        struct vir_region *vr, *region;
        struct vmproc *dvmp, *svmp;
        int r;
 
-       d = m->VMRE_D;
-       s = m->VMRE_S;
        da = (vir_bytes) m->VMRE_DA;
        sa = (vir_bytes) m->VMRE_SA;
        size = m->VMRE_SIZE;
 
-       if ((r = vm_isokendpt(d, &dn)) != OK)
+       if ((r = vm_isokendpt((endpoint_t) m->VMRE_D, &dn)) != OK)
                return EINVAL;
-       if ((r = vm_isokendpt(s, &sn)) != OK)
+       if ((r = vm_isokendpt((endpoint_t) m->VMRE_S, &sn)) != OK)
                return EINVAL;
 
        dvmp = &vmproc[dn];