xref: /minix/minix/servers/vm/vmproc.h (revision 9f988b79)
1 
2 #ifndef _VMPROC_H
3 #define _VMPROC_H 1
4 
5 #include <minix/bitmap.h>
6 #include <machine/archtypes.h>
7 
8 #include "pt.h"
9 #include "vm.h"
10 #include "regionavl.h"
11 
12 struct vmproc;
13 
14 struct vmproc {
15 	int		vm_flags;
16 	endpoint_t	vm_endpoint;
17 	pt_t		vm_pt;	/* page table data */
18 	struct boot_image *vm_boot; /* if boot time process */
19 
20 	/* Regions in virtual address space. */
21 	region_avl vm_regions_avl;
22 	vir_bytes  vm_region_top;	/* highest vaddr last inserted */
23 	int vm_acl;
24 	int vm_slot;		/* process table slot */
25 #if VMSTATS
26 	int vm_bytecopies;
27 #endif
28 	vir_bytes	vm_total;
29 	vir_bytes	vm_total_max;
30 	u64_t		vm_minor_page_fault;
31 	u64_t		vm_major_page_fault;
32 };
33 
34 /* Bits for vm_flags */
35 #define VMF_INUSE	0x001	/* slot contains a process */
36 #define VMF_EXITING	0x002	/* PM is cleaning up this process */
37 #define VMF_WATCHEXIT	0x008	/* Store in queryexit table */
38 #define VMF_VM_INSTANCE 0x010   /* This is a VM process instance */
39 
40 #endif
41