Lines Matching refs:pvh_e
310 static inline void PV_HASHED_KERN_ALLOC(pv_hashed_entry_t *pvh_e) {
311 pmap_assert(*pvh_e == PV_HASHED_ENTRY_NULL);
314 if ((*pvh_e = pv_hashed_kern_free_list) != 0) {
315 pv_hashed_kern_free_list = (pv_hashed_entry_t)(*pvh_e)->qlink.next;
511 pv_hash_add(pv_hashed_entry_t pvh_e,
518 pvhash_idx = pvhashidx(pvh_e->pmap, pvh_e->va);
520 insque(&pvh_e->qlink, &pv_h->qlink);
524 panic("pv_hash_add(%p) null hash bucket", pvh_e);
526 pvh_e->nexth = *hashp;
527 *hashp = pvh_e;
532 pv_hash_remove(pv_hashed_entry_t pvh_e)
537 pvhash_idx = pvhashidx(pvh_e->pmap,pvh_e->va);
539 remque(&pvh_e->qlink);
540 pmap_pvh_unlink(pvh_e);
736 pv_hashed_entry_t pvh_e;
745 pvh_e = PV_HASHED_ENTRY_NULL;
771 pvh_e = (pv_hashed_entry_t) queue_next(&pv_h->qlink);
772 if (pv_h != (pv_rooted_entry_t) pvh_e) {
778 pvhash_idx = pvhashidx(pvh_e->pmap, pvh_e->va);
780 remque(&pvh_e->qlink);
787 pmap_pvh_unlink(pvh_e);
789 pv_h->pmap = pvh_e->pmap;
790 pv_h->va = pvh_e->va; /* dispose of pvh_e */
794 pvh_e = PV_HASHED_ENTRY_NULL;
809 pvh_e = *pprevh;
812 while (PV_HASHED_ENTRY_NULL != pvh_e) {
814 if (pvh_e->pmap == pmap &&
815 pvh_e->va == vaddr &&
816 pvh_e->ppn == ppn)
818 pprevh = &pvh_e->nexth;
819 pvh_e = pvh_e->nexth;
822 if (PV_HASHED_ENTRY_NULL == pvh_e) {
846 *pprevh = pvh_e->nexth;
847 remque(&pvh_e->qlink);
851 return pvh_e;