Lines Matching refs:pvh_e

427 #define PV_HASHED_ALLOC(pvh_e) { \
429 if ((pvh_e = pv_hashed_free_list) != 0) { \
430 pv_hashed_free_list = (pv_hashed_entry_t)pvh_e->qlink.next; \
447 #define PV_HASHED_KERN_ALLOC(pvh_e) { \
449 if ((pvh_e = pv_hashed_kern_free_list) != 0) { \
450 pv_hashed_kern_free_list = (pv_hashed_entry_t)pvh_e->qlink.next; \
691 static inline void pv_hash_add(pv_hashed_entry_t pvh_e, pv_rooted_entry_t pv_h)
697 pvhash_idx = pvhashidx(pvh_e->pmap, pvh_e->va);
699 insque(&pvh_e->qlink, &pv_h->qlink);
703 panic("pv_hash_add(%p) null hash bucket", pvh_e);
705 pvh_e->nexth = *hashp;
706 *hashp = pvh_e;
745 static inline void pv_hash_remove(pv_hashed_entry_t pvh_e)
750 pvhash_idx = pvhashidx(pvh_e->pmap, pvh_e->va);
752 remque(&pvh_e->qlink);
753 pmap_pvh_unlink(pvh_e);
941 pv_hashed_entry_t pvh_e;
950 pvh_e = PV_HASHED_ENTRY_NULL;
974 pvh_e = (pv_hashed_entry_t) queue_next(&pv_h->qlink);
975 if (pv_h != (pv_rooted_entry_t) pvh_e) {
981 pvhash_idx = pvhashidx(pvh_e->pmap, pvh_e->va);
983 remque(&pvh_e->qlink);
988 pmap_pvh_unlink(pvh_e);
990 pv_h->pmap = pvh_e->pmap;
991 pv_h->va = pvh_e->va; /* dispose of pvh_e */
997 pvh_e = PV_HASHED_ENTRY_NULL;
1011 pvh_e = *pprevh;
1014 while (PV_HASHED_ENTRY_NULL != pvh_e) {
1016 if (pvh_e->pmap == pmap && pvh_e->va == vaddr && pvh_e->ppn == ppn)
1018 pprevh = &pvh_e->nexth;
1019 pvh_e = pvh_e->nexth;
1022 if (PV_HASHED_ENTRY_NULL == pvh_e) {
1043 *pprevh = pvh_e->nexth;
1044 remque(&pvh_e->qlink);
1048 return pvh_e;
1320 pv_hashed_entry_t pvh_e, nexth;
1339 pvh_e = (pv_hashed_entry_t)pv_e;
1349 nexth = (pv_hashed_entry_t)queue_next(&pvh_e->qlink);
1359 pvh_e = nexth;
1536 pv_hashed_entry_t pvh_e;
1544 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
1546 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
1547 pvh_eh = pvh_e;
1550 pvh_et = pvh_e;
1558 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
1560 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
1561 pvh_eh = pvh_e;
1564 pvh_et = pvh_e;
1573 pv_hashed_entry_t pvh_e;
1589 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
1591 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
1592 pvh_eh = pvh_e;
1595 pvh_et = pvh_e;
1605 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
1607 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
1608 pvh_eh = pvh_e;
1611 pvh_et = pvh_e;
2840 pv_hashed_entry_t pvh_e;
2863 pvh_e = PV_HASHED_ENTRY_NULL;
2980 pvh_e = pmap_pv_remove(pmap, va, (ppnum_t *) & pai, 0);
3032 if ((PV_HASHED_ENTRY_NULL == pvh_e) && pvh_new) {
3033 pvh_e = pvh_new;
3035 } else if (PV_HASHED_ENTRY_NULL == pvh_e) {
3036 PV_HASHED_ALLOC(pvh_e);
3037 if (PV_HASHED_ENTRY_NULL == pvh_e) {
3048 PV_HASHED_KERN_ALLOC(pvh_e);
3058 if (PV_HASHED_ENTRY_NULL == pvh_e)
3060 pvh_e->va = va;
3061 pvh_e->pmap = pmap;
3062 pvh_e->ppn = pa;
3064 pv_hash_add(pvh_e, pv_h);
3069 pvh_e = PV_HASHED_ENTRY_NULL;
3120 if (pvh_e != PV_HASHED_ENTRY_NULL) {
3121 PV_HASHED_FREE_LIST(pvh_e, pvh_e, 1);
3344 pv_hashed_entry_t pvh_e;
3398 pvh_e = pmap_pv_remove(pmap, vaddr, (ppnum_t *) & pai, cpte);
3400 if (pvh_e != PV_HASHED_ENTRY_NULL) {
3401 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
3402 pvh_eh = pvh_e;
3405 pvh_et = pvh_e;
3586 pv_hashed_entry_t pvh_e;
3630 pvh_e = (pv_hashed_entry_t) pv_e; /* cheat */
3642 nexth = (pv_hashed_entry_t) queue_next(&pvh_e->qlink); /* if there is one */
3674 pv_hash_remove(pvh_e);
3675 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
3676 pvh_eh = pvh_e;
3679 pvh_et = pvh_e;
3690 pvh_e = nexth;
3698 pvh_e = (pv_hashed_entry_t) queue_next(&pv_h->qlink);
3700 if (pvh_e != (pv_hashed_entry_t) pv_h) {
3701 pv_hash_remove(pvh_e);
3702 pv_h->pmap = pvh_e->pmap;
3703 pv_h->va = pvh_e->va;
3704 pvh_e->qlink.next = (queue_entry_t) pvh_eh;
3705 pvh_eh = pvh_e;
3708 pvh_et = pvh_e;