summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/vm/vm_extern.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/vm/vm_extern.h')
-rw-r--r--freebsd/sys/vm/vm_extern.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/freebsd/sys/vm/vm_extern.h b/freebsd/sys/vm/vm_extern.h
index 0d17f8af..f9875c25 100644
--- a/freebsd/sys/vm/vm_extern.h
+++ b/freebsd/sys/vm/vm_extern.h
@@ -96,6 +96,18 @@ int vm_fault_quick_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len,
vm_prot_t prot, vm_page_t *ma, int max_count);
int vm_fault_trap(vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type,
int fault_flags, int *signo, int *ucode);
+#else /* __rtems__ */
+static inline int vm_fault_quick_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len,
+ vm_prot_t prot, vm_page_t *ma, int max_count) {
+ vm_offset_t end;
+ if (len == 0)
+ return (0);
+ end = round_page(addr + len);
+ addr = trunc_page(addr);
+ if (atop(end - addr) > max_count)
+ panic("vm_fault_quick_hold_pages: count > max_count");
+ return atop(end - addr);
+}
#endif /* __rtems__ */
int vm_forkproc(struct thread *, struct proc *, struct thread *,
struct vmspace *, int);