Searched refs:pvo (Results 1 – 7 of 7) sorted by relevance
/freebsd/sys/powerpc/aim/ |
H A D | mmu_oea64.c | 280 static int moea64_pvo_enter(struct pvo_entry *pvo, 282 static void moea64_pvo_remove_from_pmap(struct pvo_entry *pvo); 283 static void moea64_pvo_remove_from_page(struct pvo_entry *pvo); 285 struct pvo_entry *pvo, vm_page_t m); 311 #define PVO_IS_SP(pvo) (((pvo)->pvo_vaddr & PVO_LARGE) && \ argument 312 (pvo)->pvo_pmap != kernel_pmap) 315 #define PVO_PADDR(pvo) moea64_pvo_paddr(pvo) argument 369 static void moea64_sp_demote(struct pvo_entry *pvo); 375 static int64_t moea64_sp_query(struct pvo_entry *pvo, uint64_t ptebit); 376 static int64_t moea64_sp_clear(struct pvo_entry *pvo, vm_page_t m, [all …]
|
H A D | moea64_native.c | 314 moea64_pte_synch_native(struct pvo_entry *pvo) in moea64_pte_synch_native() argument 316 volatile struct lpte *pt = moea64_pteg_table + pvo->pvo_pte.slot; in moea64_pte_synch_native() 319 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in moea64_pte_synch_native() 321 pvo_ptevpn = moea64_pte_vpn_from_pvo_vpn(pvo); in moea64_pte_synch_native() 339 moea64_pte_clear_native(struct pvo_entry *pvo, uint64_t ptebit) in moea64_pte_clear_native() argument 341 volatile struct lpte *pt = moea64_pteg_table + pvo->pvo_pte.slot; in moea64_pte_clear_native() 345 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in moea64_pte_clear_native() 347 moea64_pte_from_pvo(pvo, &properpt); in moea64_pte_clear_native() 373 TLBIE(pvo->pvo_vpn, properpt.pte_hi); in moea64_pte_clear_native() 377 ptelo = moea64_pte_unset_native(pvo); in moea64_pte_clear_native() [all …]
|
H A D | mmu_oea.c | 161 #define PVO_PADDR(pvo) ((pvo)->pvo_pte.pte.pte_lo & PTE_RPGN) argument 1035 struct pvo_entry key, *pvo; in moea_unwire() local 1039 for (pvo = RB_NFIND(pvo_tree, &pm->pmap_pvo, &key); in moea_unwire() 1040 pvo != NULL && PVO_VADDR(pvo) < eva; in moea_unwire() 1041 pvo = RB_NEXT(pvo_tree, &pm->pmap_pvo, pvo)) { in moea_unwire() 1042 if ((pvo->pvo_vaddr & PVO_WIRED) == 0) in moea_unwire() 1043 panic("moea_unwire: pvo %p is missing PVO_WIRED", pvo); in moea_unwire() 1044 pvo->pvo_vaddr &= ~PVO_WIRED; in moea_unwire() 1273 struct pvo_entry *pvo; in moea_extract() local 1277 pvo = moea_pvo_find_va(pm, va & ~ADDR_POFF, NULL); in moea_extract() [all …]
|
H A D | mmu_oea64.h | 51 void moea64_pte_from_pvo(const struct pvo_entry *pvo, struct lpte *lpte); 113 moea64_pte_vpn_from_pvo_vpn(const struct pvo_entry *pvo) in moea64_pte_vpn_from_pvo_vpn() argument 115 return ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & in moea64_pte_vpn_from_pvo_vpn()
|
/freebsd/sys/powerpc/pseries/ |
H A D | mmu_phyp.c | 78 static int64_t mphyp_pte_synch(struct pvo_entry *pvo); 79 static int64_t mphyp_pte_clear(struct pvo_entry *pvo, uint64_t ptebit); 80 static int64_t mphyp_pte_unset(struct pvo_entry *pvo); 81 static int64_t mphyp_pte_insert(struct pvo_entry *pvo); 82 static int64_t mphyp_pte_unset_sp(struct pvo_entry *pvo); 83 static int64_t mphyp_pte_insert_sp(struct pvo_entry *pvo); 84 static int64_t mphyp_pte_replace_sp(struct pvo_entry *pvo); 296 mphyp_pte_synch(struct pvo_entry *pvo) in mphyp_pte_synch() argument 302 phyp_pft_hcall(H_READ, 0, pvo->pvo_pte.slot, 0, 0, &pte.pte_hi, in mphyp_pte_synch() 305 ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & in mphyp_pte_synch() [all …]
|
/freebsd/sys/powerpc/ps3/ |
H A D | mmu_ps3.c | 158 mps3_pte_synch_locked(struct pvo_entry *pvo) in mps3_pte_synch_locked() argument 163 lv1_read_htab_entries(mps3_vas_id, pvo->pvo_pte.slot & ~0x3UL, in mps3_pte_synch_locked() 168 if ((halfbucket[pvo->pvo_pte.slot & 0x3] & LPTE_AVPN_MASK) != in mps3_pte_synch_locked() 169 ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & in mps3_pte_synch_locked() 172 if (!(halfbucket[pvo->pvo_pte.slot & 0x3] & LPTE_VALID)) in mps3_pte_synch_locked() 180 return ((rcbits >> ((3 - (pvo->pvo_pte.slot & 0x3))*16)) & in mps3_pte_synch_locked() 185 mps3_pte_synch(struct pvo_entry *pvo) in mps3_pte_synch() argument 190 retval = mps3_pte_synch_locked(pvo); in mps3_pte_synch() 197 mps3_pte_clear(struct pvo_entry *pvo, uint64_t ptebit) in mps3_pte_clear() argument 204 refchg = mps3_pte_synch_locked(pvo); in mps3_pte_clear() [all …]
|
/freebsd/sys/powerpc/include/ |
H A D | pmap.h | 151 #define PVO_VADDR(pvo) ((pvo)->pvo_vaddr & ~ADDR_POFF) argument 152 #define PVO_PTEGIDX_GET(pvo) ((pvo)->pvo_vaddr & PVO_PTEGIDX_MASK) argument 153 #define PVO_PTEGIDX_ISSET(pvo) ((pvo)->pvo_vaddr & PVO_PTEGIDX_VALID) argument 154 #define PVO_PTEGIDX_CLR(pvo) \ argument 155 ((void)((pvo)->pvo_vaddr &= ~(PVO_PTEGIDX_VALID|PVO_PTEGIDX_MASK))) 156 #define PVO_PTEGIDX_SET(pvo, i) \ argument 157 ((void)((pvo)->pvo_vaddr |= (i)|PVO_PTEGIDX_VALID)) 158 #define PVO_VSID(pvo) ((pvo)->pvo_vpn >> 16) argument
|