pvh_list
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
prevptr = &SLIST_FIRST(&md->pvh_list); /* prev pv_entry ptr */
if (SLIST_EMPTY(&md->pvh_list)) {
if (SLIST_FIRST(&md->pvh_list) == NULL
|| (SLIST_FIRST(&md->pvh_list)->pv_flags & PVF_KWRITE) != PVF_KWRITE)
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
pv = SLIST_FIRST(&md->pvh_list);
SLIST_FOREACH(pv, &md->pvh_list, pv_link)
KASSERT(SLIST_FIRST(&md->pvh_list) != NULL);
KASSERT(SLIST_NEXT(SLIST_FIRST(&md->pvh_list), pv_link) != NULL);
pv = SLIST_FIRST(&md->pvh_list);
SLIST_FOREACH(pv, &md->pvh_list, pv_link)
if (SLIST_EMPTY(&md->pvh_list))
KASSERT(SLIST_FIRST(&md->pvh_list) != NULL);
KASSERT(SLIST_NEXT(SLIST_FIRST(&md->pvh_list), pv_link) != NULL);
pv = SLIST_FIRST(&md->pvh_list);
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
if (SLIST_EMPTY(&md->pvh_list)) {
for (pv = SLIST_FIRST(&md->pvh_list); pv != NULL;) {
pv = SLIST_FIRST(&md->pvh_list);
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
struct pv_entry **pvp = &SLIST_FIRST(&md->pvh_list);
pvp = &SLIST_FIRST(&md->pvh_list);
pvp = &SLIST_FIRST(&md->pvh_list);
if (!SLIST_EMPTY(&md->pvh_list)) {
if (SLIST_EMPTY(&md->pvh_list)) {
if (!SLIST_EMPTY(&md->pvh_list))
if (!SLIST_EMPTY(&md->pvh_list))
if (!SLIST_EMPTY(&md->pvh_list))
if (!SLIST_EMPTY(&dst_md->pvh_list))
if (!SLIST_EMPTY(&dst_md->pvh_list))
KASSERT(SLIST_EMPTY(&md->pvh_list));
SLIST_FOREACH(pv, &md->pvh_list, pv_link) {
pvp = &SLIST_FIRST(&md->pvh_list);
SLIST_HEAD(,pv_entry) pvh_list; /* pv_entry list */
#define pvh_list pp.pvh_list
SLIST_INIT(&(pg)->mdpage.pvh_list); \
for (pv = md->pvh_list; pv != NULL; pv = npv) {
npv = md->pvh_list;
struct pv_entry *pve = md->pvh_list;
if (md->pvh_list == NULL) {
pvp = &md->pvh_list;
for (pve = md->pvh_list; pve; pve = npve) {
for (pve = md->pvh_list; pve; pve = pve->pv_next) {
for (pve = md->pvh_list; !(md->pvh_attrs & bit) && pve;
for (pve = md->pvh_list; pve; pve = pve->pv_next) {
KASSERT(VM_PAGE_TO_MD(PHYS_TO_VM_PAGE(pa))->pvh_list == NULL);
KASSERT(VM_PAGE_TO_MD(PHYS_TO_VM_PAGE(dpa))->pvh_list == NULL);
for (pve = md->pvh_list; pve; pve = pve->pv_next)
pvp = &md->pvh_list;
for (pve = md->pvh_list; pve; pve = npve) {
for (pve = md->pvh_list; pve; pve = pve->pv_next) {
pve->pv_next = md->pvh_list;
md->pvh_list = pve;
for (pv = *(pve = &md->pvh_list);
if (md->pvh_list == NULL) {
struct pv_entry *pvh_list; /* head of list */
(pg)->mdpage.pvh_list = NULL; \