Lines Matching refs:mdpg
79 #define VM_PAGEMD_VMPAGE_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_VMPAGE) != 0)
80 #define VM_PAGEMD_REFERENCED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_REFERENCED) != 0)
81 #define VM_PAGEMD_MODIFIED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_MODIFIED) != 0)
82 #define VM_PAGEMD_POOLPAGE_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_POOLPAGE) != 0)
83 #define VM_PAGEMD_EXECPAGE_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_EXECPAGE) != 0)
85 #define VM_PAGEMD_CACHED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_UNCACHED) == 0)
86 #define VM_PAGEMD_UNCACHED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_UNCACHED) != 0)
101 #define VM_PAGEMD_PVLIST_LOCK_INIT(mdpg) (mdpg)->mdpg_lock = NULL
103 #define VM_PAGEMD_PVLIST_LOCK_INIT(mdpg) __nothing
106 #define VM_PAGEMD_PVLIST_LOCK(mdpg) pmap_pvlist_lock(mdpg, 1)
107 #define VM_PAGEMD_PVLIST_READLOCK(mdpg) pmap_pvlist_lock(mdpg, 0)
108 #define VM_PAGEMD_PVLIST_UNLOCK(mdpg) pmap_pvlist_unlock(mdpg)
109 #define VM_PAGEMD_PVLIST_LOCKED_P(mdpg) pmap_pvlist_locked_p(mdpg)
110 #define VM_PAGEMD_PVLIST_GEN(mdpg) ((mdpg)->mdpg_attrs >> 16)
112 #define VM_PAGEMD_PVLIST_EMPTY_P(mdpg) ((mdpg)->mdpg_first.pv_pmap == NULL)
120 pmap_pvlist_lock_addr(struct vm_page_md *mdpg)
127 pmap_pvlist_lock(struct vm_page_md *mdpg, uintptr_t increment)
129 mutex_spin_enter(pmap_pvlist_lock_addr(mdpg));
130 const uintptr_t gen = VM_PAGEMD_PVLIST_GEN(mdpg);
131 mdpg->mdpg_attrs += increment << 16;
136 pmap_pvlist_unlock(struct vm_page_md *mdpg)
138 const uintptr_t gen = VM_PAGEMD_PVLIST_GEN(mdpg);
139 mutex_spin_exit(pmap_pvlist_lock_addr(mdpg));
144 pmap_pvlist_locked_p(struct vm_page_md *mdpg)
147 return mutex_owned(pmap_pvlist_lock_addr(mdpg));