Lines Matching refs:pvh_e
407 #define PV_HASHED_ALLOC(pvh_e) { \
409 if ((pvh_e = pv_hashed_free_list) != 0) { \
410 pv_hashed_free_list = (pv_hashed_entry_t)pvh_e->qlink.next; \
427 #define PV_HASHED_KERN_ALLOC(pvh_e) { \
429 if ((pvh_e = pv_hashed_kern_free_list) != 0) { \
430 pv_hashed_kern_free_list = (pv_hashed_entry_t)pvh_e->qlink.next; \
1929 pv_hashed_entry_t pvh_e;
2031 pvh_e = PV_HASHED_ENTRY_NULL;
2043 pvh_e = (pv_hashed_entry_t)queue_next(&pv_h->qlink);
2044 if (pv_h != (pv_rooted_entry_t)pvh_e) { /* any queued after rooted? */
2046 pvhash_idx = pvhashidx(pvh_e->pmap,pvh_e->va);
2048 remque(&pvh_e->qlink);
2055 pmap_pvh_unlink(pvh_e);
2057 pv_h->pmap = pvh_e->pmap;
2058 pv_h->va = pvh_e->va; /* dispose of pvh_e */
2061 pvh_e = PV_HASHED_ENTRY_NULL;
2074 pvh_e = *pprevh;
2077 while (PV_HASHED_ENTRY_NULL != pvh_e) {
2079 if (pvh_e->pmap == pmap && pvh_e->va == vaddr && pvh_e->ppn == ppn) break;
2080 pprevh = &pvh_e->nexth;
2081 pvh_e = pvh_e->nexth;
2085 if (PV_HASHED_ENTRY_NULL == pvh_e) panic("pmap_remove_range pv not on hash");
2086 *pprevh = pvh_e->nexth;
2087 remque(&pvh_e->qlink);
2094 if (pvh_e != PV_HASHED_ENTRY_NULL) {
2095 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
2096 pvh_eh = pvh_e;
2099 pvh_et = pvh_e;
2267 pv_hashed_entry_t pvh_e;
2316 pvh_e = (pv_hashed_entry_t)pv_e; /* cheat */
2330 nexth = (pv_hashed_entry_t)queue_next(&pvh_e->qlink); /* if there is one */
2370 pvhash_idx = pvhashidx(pvh_e->pmap,pvh_e->va);
2372 remque(&pvh_e->qlink);
2373 pmap_pvh_unlink(pvh_e);
2376 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
2377 pvh_eh = pvh_e;
2380 pvh_et = pvh_e;
2391 pvh_e = nexth;
2399 pvh_e = (pv_hashed_entry_t)queue_next(&pv_h->qlink);
2401 if (pvh_e != (pv_hashed_entry_t)pv_h) {
2403 pvhash_idx = pvhashidx(pvh_e->pmap,pvh_e->va);
2405 remque(&pvh_e->qlink);
2406 pmap_pvh_unlink(pvh_e);
2408 pv_h->pmap = pvh_e->pmap;
2409 pv_h->va = pvh_e->va;
2410 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
2411 pvh_eh = pvh_e;
2414 pvh_et = pvh_e;
2575 pv_hashed_entry_t pvh_e;
2617 pvh_e = PV_HASHED_ENTRY_NULL;
2776 pvh_e = (pv_hashed_entry_t)queue_next(&pv_h->qlink);
2777 if (pvh_e != (pv_hashed_entry_t)pv_h) {
2778 pvhash_idx = pvhashidx(pvh_e->pmap, pvh_e->va);
2780 remque(&pvh_e->qlink);
2781 pmap_pvh_unlink(pvh_e);
2783 pv_h->pmap = pvh_e->pmap;
2784 pv_h->va = pvh_e->va;
2788 pvh_e = PV_HASHED_ENTRY_NULL;
2803 pvh_e = *pprevh;
2806 while (PV_HASHED_ENTRY_NULL != pvh_e) {
2808 if (pvh_e->pmap == pmap && pvh_e->va == vaddr && pvh_e->ppn == old_ppn) break;
2809 pprevh = &pvh_e->nexth;
2810 pvh_e = pvh_e->nexth;
2814 if (PV_HASHED_ENTRY_NULL == pvh_e) panic("pmap_enter: pv not in hash list");
2816 *pprevh = pvh_e->nexth;
2817 remque(&pvh_e->qlink);
2868 if ((PV_HASHED_ENTRY_NULL == pvh_e) && pvh_new) {
2869 pvh_e = pvh_new;
2871 } else if (PV_HASHED_ENTRY_NULL == pvh_e) {
2872 PV_HASHED_ALLOC(pvh_e);
2873 if (PV_HASHED_ENTRY_NULL == pvh_e) {
2880 PV_HASHED_KERN_ALLOC(pvh_e);
2890 if (PV_HASHED_ENTRY_NULL == pvh_e) panic("pvh_e exhaustion");
2891 pvh_e->va = vaddr;
2892 pvh_e->pmap = pmap;
2893 pvh_e->ppn = pn;
2897 insque(&pvh_e->qlink, &pv_h->qlink);
2902 pvh_e->nexth = *hashp;
2903 *hashp = pvh_e;
2909 pvh_e = PV_HASHED_ENTRY_NULL;
2962 if (pvh_e != PV_HASHED_ENTRY_NULL) {
2963 PV_HASHED_FREE_LIST(pvh_e, pvh_e, 1);
4036 pv_hashed_entry_t pvh_e;
4044 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
4046 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
4047 pvh_eh = pvh_e;
4050 pvh_et = pvh_e;
4058 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
4060 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
4061 pvh_eh = pvh_e;
4064 pvh_et = pvh_e;
4074 pv_hashed_entry_t pvh_e;
4091 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
4093 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
4094 pvh_eh = pvh_e;
4097 pvh_et = pvh_e;
4107 pvh_e = (pv_hashed_entry_t) zalloc(pv_hashed_list_zone);
4109 pvh_e->qlink.next = (queue_entry_t)pvh_eh;
4110 pvh_eh = pvh_e;
4113 pvh_et = pvh_e;