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