]> Zhao Yanbai Git Server - minix.git/commitdiff
custom message for vm_update
authorBen Gras <ben@minix3.org>
Sat, 26 Jul 2014 11:53:49 +0000 (13:53 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:06:19 +0000 (17:06 +0200)
include/minix/com.h
include/minix/ipc.h
lib/libsys/vm_update.c
servers/vm/rs.c

index a134724dd1fd736cc45778a67fe6188c35515a1e..79b172f0713f1dedeeeeea6d06c1c7268408208f 100644 (file)
 #define VMIW_REGION                    3
 
 #define VM_RS_UPDATE           (VM_RQ_BASE+41)
-#      define VM_RS_SRC_ENDPT          m1_i1
-#      define VM_RS_DST_ENDPT          m1_i2
 
 #define VM_RS_MEMCTL           (VM_RQ_BASE+42)
 #      define VM_RS_CTL_ENDPT          m1_i1
index a257ce0483bc135a10daf4760f6714bcb3a429f7..f5932b4f45b5de11d2953568eff27100127d32a9 100644 (file)
@@ -1751,6 +1751,13 @@ typedef struct {
 } mess_lsys_vm_info;
 _ASSERT_MSG_SIZE(mess_lsys_vm_info);
 
+typedef struct {
+       endpoint_t src;
+       endpoint_t dst;
+       uint8_t         padding[48];
+} mess_lsys_vm_update;
+_ASSERT_MSG_SIZE(mess_lsys_vm_update);
+
 typedef struct {
        endpoint_t m_source;            /* who sent the message */
        int m_type;                     /* what kind of message is it */
@@ -1975,6 +1982,7 @@ typedef struct {
                mess_lc_vm_shm_unmap    m_lc_vm_shm_unmap;
                mess_lsys_vm_query_exit m_lsys_vm_query_exit;
                mess_lsys_vm_info       m_lsys_vm_info;
+               mess_lsys_vm_update     m_lsys_vm_update;
 
                mess_vfs_lchardriver_cancel     m_vfs_lchardriver_cancel;
                mess_vfs_lchardriver_openclose  m_vfs_lchardriver_openclose;
index 77027294d1060634c43b00eb969a1e3b248ffd9b..c51cb0120f6bca0928469eeeddbd4bec914e7a7a 100644 (file)
@@ -9,8 +9,8 @@ vm_update(endpoint_t src_e, endpoint_t dst_e)
        message m;
 
        memset(&m, 0, sizeof(m));
-       m.VM_RS_SRC_ENDPT = src_e;
-       m.VM_RS_DST_ENDPT = dst_e;
+       m.m_lsys_vm_update.src = src_e;
+       m.m_lsys_vm_update.dst = dst_e;
 
        return _taskcall(VM_PROC_NR, VM_RS_UPDATE, &m);
 }
index 493148f3dbd55e9396991ea2dda2d81f3f798534..5d9971538a8e2b931d39c4725c80470faec00d05 100644 (file)
@@ -73,8 +73,8 @@ int do_rs_update(message *m_ptr)
        struct vmproc *src_vmp, *dst_vmp;
        int r;
 
-       src_e = m_ptr->VM_RS_SRC_ENDPT;
-       dst_e = m_ptr->VM_RS_DST_ENDPT;
+       src_e = m_ptr->m_lsys_vm_update.src;
+       dst_e = m_ptr->m_lsys_vm_update.dst;
 
        /* Lookup slots for source and destination process. */
        if(vm_isokendpt(src_e, &src_p) != OK) {