Home
last modified time | relevance | path

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

/freebsd-12-stable/sys/powerpc/aim/
Dmmu_oea64.c220 static int moea64_pvo_enter(mmu_t mmu, struct pvo_entry *pvo,
222 static void moea64_pvo_remove_from_pmap(mmu_t mmu, struct pvo_entry *pvo);
223 static void moea64_pvo_remove_from_page(mmu_t mmu, struct pvo_entry *pvo);
361 struct pvo_entry *pvo; in alloc_pvo_entry() local
369 pvo = &moea64_bpvo_pool[ in alloc_pvo_entry()
371 bzero(pvo, sizeof(*pvo)); in alloc_pvo_entry()
372 pvo->pvo_vaddr = PVO_BOOTSTRAP; in alloc_pvo_entry()
374 pvo = uma_zalloc(moea64_pvo_zone, M_NOWAIT); in alloc_pvo_entry()
375 bzero(pvo, sizeof(*pvo)); in alloc_pvo_entry()
378 return (pvo); in alloc_pvo_entry()
[all …]
Dmmu_oea.c1030 struct pvo_entry key, *pvo; in moea_unwire() local
1034 for (pvo = RB_NFIND(pvo_tree, &pm->pmap_pvo, &key); in moea_unwire()
1035 pvo != NULL && PVO_VADDR(pvo) < eva; in moea_unwire()
1036 pvo = RB_NEXT(pvo_tree, &pm->pmap_pvo, pvo)) { in moea_unwire()
1037 if ((pvo->pvo_vaddr & PVO_WIRED) == 0) in moea_unwire()
1038 panic("moea_unwire: pvo %p is missing PVO_WIRED", pvo); in moea_unwire()
1039 pvo->pvo_vaddr &= ~PVO_WIRED; in moea_unwire()
1251 struct pvo_entry *pvo; in moea_extract() local
1255 pvo = moea_pvo_find_va(pm, va & ~ADDR_POFF, NULL); in moea_extract()
1256 if (pvo == NULL) in moea_extract()
[all …]
Disa3_hashtb.c191 isa3_hashtb_pte_synch(mmu_t mmu, struct pvo_entry *pvo) in isa3_hashtb_pte_synch() argument
193 volatile struct lpte *pt = isa3_hashtb_pteg_table + pvo->pvo_pte.slot; in isa3_hashtb_pte_synch()
197 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in isa3_hashtb_pte_synch()
199 moea64_pte_from_pvo(pvo, &properpt); in isa3_hashtb_pte_synch()
218 isa3_hashtb_pte_clear(mmu_t mmu, struct pvo_entry *pvo, uint64_t ptebit) in isa3_hashtb_pte_clear() argument
220 volatile struct lpte *pt = isa3_hashtb_pteg_table + pvo->pvo_pte.slot; in isa3_hashtb_pte_clear()
224 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in isa3_hashtb_pte_clear()
226 moea64_pte_from_pvo(pvo, &properpt); in isa3_hashtb_pte_clear()
252 TLBIE(pvo->pvo_vpn); in isa3_hashtb_pte_clear()
256 ptelo = isa3_hashtb_pte_unset(mmu, pvo); in isa3_hashtb_pte_clear()
[all …]
Dmoea64_native.c233 moea64_pte_synch_native(mmu_t mmu, struct pvo_entry *pvo) in moea64_pte_synch_native() argument
235 volatile struct lpte *pt = moea64_pteg_table + pvo->pvo_pte.slot; in moea64_pte_synch_native()
239 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in moea64_pte_synch_native()
241 moea64_pte_from_pvo(pvo, &properpt); in moea64_pte_synch_native()
260 moea64_pte_clear_native(mmu_t mmu, struct pvo_entry *pvo, uint64_t ptebit) in moea64_pte_clear_native() argument
262 volatile struct lpte *pt = moea64_pteg_table + pvo->pvo_pte.slot; in moea64_pte_clear_native()
266 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in moea64_pte_clear_native()
268 moea64_pte_from_pvo(pvo, &properpt); in moea64_pte_clear_native()
294 TLBIE(pvo->pvo_vpn); in moea64_pte_clear_native()
298 ptelo = moea64_pte_unset_native(mmu, pvo); in moea64_pte_clear_native()
[all …]
Dmoea64_if.m51 struct pvo_entry *pvo, int flags)
55 refchg = MOEA64_PTE_UNSET(mmu, pvo);
56 MOEA64_PTE_INSERT(mmu, pvo);
Dmmu_oea64.h44 void moea64_pte_from_pvo(const struct pvo_entry *pvo, struct lpte *lpte);
/freebsd-12-stable/sys/powerpc/ps3/
Dmmu_ps3.c155 mps3_pte_synch_locked(struct pvo_entry *pvo) in mps3_pte_synch_locked() argument
160 lv1_read_htab_entries(mps3_vas_id, pvo->pvo_pte.slot & ~0x3UL, in mps3_pte_synch_locked()
165 if ((halfbucket[pvo->pvo_pte.slot & 0x3] & LPTE_AVPN_MASK) != in mps3_pte_synch_locked()
166 ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & in mps3_pte_synch_locked()
169 if (!(halfbucket[pvo->pvo_pte.slot & 0x3] & LPTE_VALID)) in mps3_pte_synch_locked()
177 return ((rcbits >> ((3 - (pvo->pvo_pte.slot & 0x3))*16)) & in mps3_pte_synch_locked()
182 mps3_pte_synch(mmu_t mmu, struct pvo_entry *pvo) in mps3_pte_synch() argument
187 retval = mps3_pte_synch_locked(pvo); in mps3_pte_synch()
194 mps3_pte_clear(mmu_t mmu, struct pvo_entry *pvo, uint64_t ptebit) in mps3_pte_clear() argument
201 refchg = mps3_pte_synch_locked(pvo); in mps3_pte_clear()
[all …]
/freebsd-12-stable/sys/powerpc/pseries/
Dmmu_phyp.c71 static int64_t mphyp_pte_synch(mmu_t, struct pvo_entry *pvo);
72 static int64_t mphyp_pte_clear(mmu_t, struct pvo_entry *pvo, uint64_t ptebit);
73 static int64_t mphyp_pte_unset(mmu_t, struct pvo_entry *pvo);
74 static int mphyp_pte_insert(mmu_t, struct pvo_entry *pvo);
244 mphyp_pte_synch(mmu_t mmu, struct pvo_entry *pvo) in mphyp_pte_synch() argument
250 phyp_pft_hcall(H_READ, 0, pvo->pvo_pte.slot, 0, 0, &pte.pte_hi, in mphyp_pte_synch()
253 ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & in mphyp_pte_synch()
263 mphyp_pte_clear(mmu_t mmu, struct pvo_entry *pvo, uint64_t ptebit) in mphyp_pte_clear() argument
277 PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); in mphyp_pte_clear()
280 refchg = mphyp_pte_synch(mmu, pvo); in mphyp_pte_clear()
[all …]
/freebsd-12-stable/sys/powerpc/include/
Dpmap.h127 #define PVO_VADDR(pvo) ((pvo)->pvo_vaddr & ~ADDR_POFF) argument
128 #define PVO_PTEGIDX_GET(pvo) ((pvo)->pvo_vaddr & PVO_PTEGIDX_MASK) argument
129 #define PVO_PTEGIDX_ISSET(pvo) ((pvo)->pvo_vaddr & PVO_PTEGIDX_VALID) argument
130 #define PVO_PTEGIDX_CLR(pvo) \ argument
131 ((void)((pvo)->pvo_vaddr &= ~(PVO_PTEGIDX_VALID|PVO_PTEGIDX_MASK)))
132 #define PVO_PTEGIDX_SET(pvo, i) \ argument
133 ((void)((pvo)->pvo_vaddr |= (i)|PVO_PTEGIDX_VALID))
134 #define PVO_VSID(pvo) ((pvo)->pvo_vpn >> 16) argument