4 #include <minix/callnr.h>
6 #include <minix/config.h>
7 #include <minix/const.h>
9 #include <minix/endpoint.h>
10 #include <minix/keymap.h>
11 #include <minix/minlib.h>
12 #include <minix/type.h>
13 #include <minix/ipc.h>
14 #include <minix/sysutil.h>
15 #include <minix/syslib.h>
16 #include <minix/safecopies.h>
17 #include <minix/bitmap.h>
30 /*===========================================================================*
32 *===========================================================================*/
33 PUBLIC
int do_rs_set_priv(message
*m
)
40 if ((r
= vm_isokendpt(nr
, &n
)) != OK
) {
41 printf("do_rs_set_priv: message from strange source %d\n", nr
);
48 r
= sys_datacopy(m
->m_source
, (vir_bytes
) m
->VM_RS_BUF
,
49 SELF
, (vir_bytes
) vmp
->vm_call_mask
,
50 sizeof(vmp
->vm_call_mask
));
58 /*===========================================================================*
60 *===========================================================================*/
61 PUBLIC
int do_rs_update(message
*m_ptr
)
63 endpoint_t src_e
, dst_e
;
66 src_e
= m_ptr
->VM_RS_SRC_ENDPT
;
67 dst_e
= m_ptr
->VM_RS_DST_ENDPT
;
69 /* Let the kernel do the update first. */
70 r
= sys_update(src_e
, dst_e
);
75 /* Do the update in VM now. */
76 r
= swap_proc(src_e
, dst_e
);