Home
last modified time | relevance | path

Searched refs:pvo (Results 1 – 7 of 7) sorted by relevance

/freebsd/sys/powerpc/aim/
H A Dmmu_oea64.c280 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 Dmoea64_native.c314 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 Dmmu_oea.c161 #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 Dmmu_oea64.h51 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 Dmmu_phyp.c78 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 Dmmu_ps3.c158 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 Dpmap.h151 #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