VM: full munmap
[minix.git] / lib / libsys / vm_yield_get_block.c
blobb7579651c3f25b18a66bf4e102c91b29d9d8b53e
2 #include "syslib.h"
4 #include <minix/vm.h>
5 #include <minix/u64.h>
7 /*===========================================================================*
8 * vm_forgetblocks *
9 *===========================================================================*/
10 void vm_forgetblocks(void)
12 message m;
13 _taskcall(VM_PROC_NR, VM_FORGETBLOCKS, &m);
14 return;
17 /*===========================================================================*
18 * vm_forgetblock *
19 *===========================================================================*/
20 int vm_forgetblock(u64_t id)
22 message m;
24 m.VMFB_IDHI = ex64hi(id);
25 m.VMFB_IDLO = ex64lo(id);
27 return _taskcall(VM_PROC_NR, VM_FORGETBLOCK, &m);
30 /*===========================================================================*
31 * vm_yield_block_get_block *
32 *===========================================================================*/
33 int vm_yield_block_get_block(u64_t yieldid, u64_t getid,
34 void *mem, vir_bytes len)
36 message m;
38 m.VMYBGB_VADDR = mem;
39 m.VMYBGB_GETIDHI = ex64hi(getid);
40 m.VMYBGB_GETIDLO = ex64lo(getid);
41 m.VMYBGB_LEN = len;
42 m.VMYBGB_YIELDIDHI = ex64hi(yieldid);
43 m.VMYBGB_YIELDIDLO = ex64lo(yieldid);
45 return _taskcall(VM_PROC_NR, VM_YIELDBLOCKGETBLOCK, &m);