P_RO
#define hat_isro(pp) (hat_page_getattr(pp, P_RO))
ASSERT(hat_page_getattr(pp, P_MOD | P_REF | P_RO) == 0);
ppattr = hat_page_getattr(targ, (P_MOD | P_REF | P_RO));
ASSERT((flags & ~(P_MOD | P_REF | P_RO)) == 0);
ASSERT(!(flag & ~(P_MOD | P_REF | P_RO)));
#define PP_ISRO(pp) PP_GETRM(pp, P_RO)
#define PP_SETRO(pp) PP_SETRM(pp, P_RO)
#define PP_CLRRO(pp) PP_CLRRM(pp, P_RO)
#define PP_CLRALL(pp) PP_CLRRM(pp, P_MOD | P_REF | P_RO)
uchar_t nrmbits = P_REF|P_MOD|P_RO;
ASSERT(!(flag & ~(P_MOD | P_REF | P_RO)));
ASSERT(!(flag & ~(P_MOD | P_REF | P_RO)));
ASSERT(!(flag & ~(P_MOD | P_REF | P_RO)));
#define PP_GENERIC_ATTR(pp) ((pp)->p_nrm & (P_MOD | P_REF | P_RO))
#define PP_ISRO(pp) ((pp)->p_nrm & P_RO)
#define PP_SETRO(pp) ((pp)->p_nrm |= P_RO)
#define PP_SETREFRO(pp) ((pp)->p_nrm |= (P_REF|P_RO))
#define PP_CLRRO(pp) ((pp)->p_nrm &= ~P_RO)