--- Gnu-Mach/vm/vm_fault.h 2020/09/02 04:42:55 1.1.1.2 +++ Gnu-Mach/vm/vm_fault.h 2020/09/02 04:47:49 1.1.1.4 @@ -33,6 +33,9 @@ #define _VM_VM_FAULT_H_ #include +#include +#include +#include /* * Page fault handling based on vm_object only. @@ -46,19 +49,30 @@ typedef kern_return_t vm_fault_return_t; #define VM_FAULT_FICTITIOUS_SHORTAGE 4 #define VM_FAULT_MEMORY_ERROR 5 -extern void vm_fault_init(); -extern vm_fault_return_t vm_fault_page(); +extern void vm_fault_init(void); +extern vm_fault_return_t vm_fault_page(vm_object_t, vm_offset_t, vm_prot_t, + boolean_t, boolean_t, vm_prot_t *, + vm_page_t *, vm_page_t *, boolean_t, + void (*)()); -extern void vm_fault_cleanup(); +extern void vm_fault_cleanup(vm_object_t, vm_page_t); /* * Page fault handling based on vm_map (or entries therein) */ -extern kern_return_t vm_fault(); -extern void vm_fault_wire(); -extern void vm_fault_unwire(); - -extern kern_return_t vm_fault_copy(); /* Copy pages from - * one object to another - */ +extern kern_return_t vm_fault(vm_map_t, vm_offset_t, vm_prot_t, boolean_t, + boolean_t, void (*)()); +extern void vm_fault_wire(vm_map_t, vm_map_entry_t); +extern void vm_fault_unwire(vm_map_t, vm_map_entry_t); + +/* Copy pages from one object to another. */ +extern kern_return_t vm_fault_copy(vm_object_t, vm_offset_t, vm_size_t *, + vm_object_t, vm_offset_t, vm_map_t, + vm_map_version_t *, boolean_t); + +kern_return_t vm_fault_wire_fast( + vm_map_t map, + vm_offset_t va, + vm_map_entry_t entry); + #endif /* _VM_VM_FAULT_H_ */