Lines Matching full:va
42 static inline void __tlbie(unsigned long va, int psize, int ssize) in __tlbie() argument
47 va &= ~(0xffffULL << 48); in __tlbie()
51 va &= ~0xffful; in __tlbie()
52 va |= ssize << 8; in __tlbie()
54 : : "r" (va), "r"(0), "i" (CPU_FTR_ARCH_206) in __tlbie()
59 va &= ~((1ul << mmu_psize_defs[psize].shift) - 1); in __tlbie()
60 va |= penc << 12; in __tlbie()
61 va |= ssize << 8; in __tlbie()
62 va |= 1; /* L */ in __tlbie()
64 : : "r" (va), "r"(0), "i" (CPU_FTR_ARCH_206) in __tlbie()
70 static inline void __tlbiel(unsigned long va, int psize, int ssize) in __tlbiel() argument
75 va &= ~(0xffffULL << 48); in __tlbiel()
79 va &= ~0xffful; in __tlbiel()
80 va |= ssize << 8; in __tlbiel()
82 : : "r"(va) : "memory"); in __tlbiel()
86 va &= ~((1ul << mmu_psize_defs[psize].shift) - 1); in __tlbiel()
87 va |= penc << 12; in __tlbiel()
88 va |= ssize << 8; in __tlbiel()
89 va |= 1; /* L */ in __tlbiel()
91 : : "r"(va) : "memory"); in __tlbiel()
97 static inline void tlbie(unsigned long va, int psize, int ssize, int local) in tlbie() argument
108 __tlbiel(va, psize, ssize); in tlbie()
111 __tlbie(va, psize, ssize); in tlbie()
137 static long native_hpte_insert(unsigned long hpte_group, unsigned long va, in native_hpte_insert() argument
146 DBG_LOW(" insert(group=%lx, va=%016lx, pa=%016lx," in native_hpte_insert()
148 hpte_group, va, pa, rflags, vflags, psize); in native_hpte_insert()
166 hpte_v = hpte_encode_v(va, psize, ssize) | vflags | HPTE_V_VALID; in native_hpte_insert()
228 unsigned long va, int psize, int ssize, in native_hpte_updatepp() argument
235 want_v = hpte_encode_v(va, psize, ssize); in native_hpte_updatepp()
237 DBG_LOW(" update(va=%016lx, avpnv=%016lx, hash=%016lx, newpp=%x)", in native_hpte_updatepp()
238 va, want_v & HPTE_V_AVPN, slot, newpp); in native_hpte_updatepp()
257 tlbie(va, psize, ssize, local); in native_hpte_updatepp()
262 static long native_hpte_find(unsigned long va, int psize, int ssize) in native_hpte_find() argument
270 hash = hpt_hash(va, mmu_psize_defs[psize].shift, ssize); in native_hpte_find()
271 want_v = hpte_encode_v(va, psize, ssize); in native_hpte_find()
298 unsigned long vsid, va; in native_hpte_updateboltedpp() local
303 va = hpt_va(ea, vsid, ssize); in native_hpte_updateboltedpp()
305 slot = native_hpte_find(va, psize, ssize); in native_hpte_updateboltedpp()
315 tlbie(va, psize, ssize, 0); in native_hpte_updateboltedpp()
318 static void native_hpte_invalidate(unsigned long slot, unsigned long va, in native_hpte_invalidate() argument
328 DBG_LOW(" invalidate(va=%016lx, hash: %x)\n", va, slot); in native_hpte_invalidate()
330 want_v = hpte_encode_v(va, psize, ssize); in native_hpte_invalidate()
342 tlbie(va, psize, ssize, local); in native_hpte_invalidate()
352 int *psize, int *ssize, unsigned long *va) in hpte_decode() argument
406 *va = avpn; in hpte_decode()
423 unsigned long hpte_v, va; in native_hpte_clear() local
451 hpte_decode(hptep, slot, &psize, &ssize, &va); in native_hpte_clear()
453 __tlbie(va, psize, ssize); in native_hpte_clear()
468 unsigned long va, hash, index, hidx, shift, slot; in native_flush_hash_range() local
482 va = batch->vaddr[i]; in native_flush_hash_range()
485 pte_iterate_hashed_subpages(pte, psize, va, index, shift) { in native_flush_hash_range()
486 hash = hpt_hash(va, shift, ssize); in native_flush_hash_range()
493 want_v = hpte_encode_v(va, psize, ssize); in native_flush_hash_range()
508 va = batch->vaddr[i]; in native_flush_hash_range()
511 pte_iterate_hashed_subpages(pte, psize, va, index, in native_flush_hash_range()
513 __tlbiel(va, psize, ssize); in native_flush_hash_range()
525 va = batch->vaddr[i]; in native_flush_hash_range()
528 pte_iterate_hashed_subpages(pte, psize, va, index, in native_flush_hash_range()
530 __tlbie(va, psize, ssize); in native_flush_hash_range()