5 #include <minix/bitmap.h>
6 #include <machine/archtypes.h>
11 #include "yieldedavl.h"
12 #include "regionavl.h"
16 typedef void (*callback_t
)(struct vmproc
*who
, message
*m
);
20 endpoint_t vm_endpoint
;
21 pt_t vm_pt
; /* page table data */
22 struct boot_image
*vm_boot
; /* if boot time process */
24 /* Regions in virtual address space. */
25 region_avl vm_regions_avl
;
26 vir_bytes vm_region_top
; /* highest vaddr last inserted */
28 bitchunk_t vm_call_mask
[VM_CALL_MASK_SIZE
];
30 /* State for requests pending to be done to vfs on behalf of
33 callback_t vm_callback
; /* function to call on vfs reply */
34 int vm_callback_type
; /* expected message type */
36 int vm_slot
; /* process table slot */
37 int vm_yielded
; /* yielded regions */
42 } open
; /* VM_VFS_OPEN */
43 } vm_state
; /* Callback state. */
49 /* Bits for vm_flags */
50 #define VMF_INUSE 0x001 /* slot contains a process */
51 #define VMF_EXITING 0x002 /* PM is cleaning up this process */
52 #define VMF_WATCHEXIT 0x008 /* Store in queryexit table */