aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_map.h
diff options
context:
space:
mode:
authorDoug Moore <dougm@FreeBSD.org>2019-11-13 15:56:07 +0000
committerDoug Moore <dougm@FreeBSD.org>2019-11-13 15:56:07 +0000
commit7cdcf863608eaea725c7421f5244eb208b38b756 (patch)
tree8eb2068fca7adb409bf4c5f13deee1ff3d3ce062 /sys/vm/vm_map.h
parent2058e7dbde0f030105007f0f34699fdc0d8e3444 (diff)
downloadsrc-7cdcf863608eaea725c7421f5244eb208b38b756.tar.gz
src-7cdcf863608eaea725c7421f5244eb208b38b756.zip
Define wrapper functions vm_map_entry_{succ,pred} to act as wrappers
around entry->{next,prev} when those are used for ordered list traversal, and use those wrapper functions everywhere. Where the next field is used for maintaining a stack of deferred operations, #define defer_next to make that different usage clearer, and then use the 'right' pointer instead of 'next' for that purpose. Approved by: markj Tested by: pho (as part of a larger patch) Differential Revision: https://reviews.freebsd.org/D22347
Notes
Notes: svn path=/head/; revision=354684
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r--sys/vm/vm_map.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h
index d31c91822352..b4746242719a 100644
--- a/sys/vm/vm_map.h
+++ b/sys/vm/vm_map.h
@@ -419,10 +419,25 @@ int vm_map_lookup_locked(vm_map_t *, vm_offset_t, vm_prot_t, vm_map_entry_t *, v
vm_pindex_t *, vm_prot_t *, boolean_t *);
void vm_map_lookup_done (vm_map_t, vm_map_entry_t);
boolean_t vm_map_lookup_entry (vm_map_t, vm_offset_t, vm_map_entry_t *);
+
+static inline vm_map_entry_t
+vm_map_entry_succ(vm_map_entry_t entry)
+{
+
+ return (entry->next);
+}
+
+static inline vm_map_entry_t
+vm_map_entry_pred(vm_map_entry_t entry)
+{
+
+ return (entry->prev);
+}
+
#define VM_MAP_ENTRY_FOREACH(it, map) \
for ((it) = (map)->header.next; \
(it) != &(map)->header; \
- (it) = (it)->next)
+ (it) = vm_map_entry_succ(it))
int vm_map_protect (vm_map_t, vm_offset_t, vm_offset_t, vm_prot_t, boolean_t);
int vm_map_remove (vm_map_t, vm_offset_t, vm_offset_t);
void vm_map_try_merge_entries(vm_map_t map, vm_map_entry_t prev,