mdpg_attrs
(pp)->pp_md.mdpg_attrs = 0; \
uint32_t mdpg_attrs;
(pg)->mdpage.mdpg_attrs = 0; \
(pg)->mdpage.mdpg_attrs = 0; \
md->mdpg_attrs |= ptebit;
if (md->mdpg_attrs & PTE_EXEC) {
md->mdpg_attrs &= ~PTE_EXEC;
if (md->mdpg_attrs & PTE_EXEC) {
md->mdpg_attrs &= ~PTE_EXEC;
if (mdpg->mdpg_attrs & ops->piao_attribute) {
UVMHIST_LOG(pmaphist, "(mdpg=%#jx attrs=%#jx vs %#jx) <--- true", (uintptr_t)mdpg, mdpg->mdpg_attrs, ops->piao_attribute, 0);
volatile u_long * const attrp = &mdpg->mdpg_attrs;
atomic_or_ulong(&mdpg->mdpg_attrs, set_attributes);
mdpg->mdpg_attrs |= set_attributes;
#define VM_PAGEMD_PVLIST_GEN(mdpg) ((mdpg)->mdpg_attrs >> 16)
mdpg->mdpg_attrs += increment << 16;
(pg)->mdpage.mdpg_attrs = VM_PAGEMD_VMPAGE; \
#define VM_PAGEMD_VMPAGE_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_VMPAGE) != 0)
#define VM_PAGEMD_REFERENCED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_REFERENCED) != 0)
#define VM_PAGEMD_MODIFIED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_MODIFIED) != 0)
#define VM_PAGEMD_POOLPAGE_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_POOLPAGE) != 0)
#define VM_PAGEMD_EXECPAGE_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_EXECPAGE) != 0)
#define VM_PAGEMD_CACHED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_UNCACHED) == 0)
#define VM_PAGEMD_UNCACHED_P(mdpg) (((mdpg)->mdpg_attrs & VM_PAGEMD_UNCACHED) != 0)
volatile unsigned long mdpg_attrs; /* page attributes */