Lines Matching refs:vpn
69 static inline unsigned long ___tlbie(unsigned long vpn, int psize,
78 * With vpn we ignore the lower VPN_SHIFT bits already.
80 * only accomodate 76 bits in a 64 bit vpn with a VPN_SHIFT
83 va = vpn << VPN_SHIFT;
113 * vpn cover upto 65 bits of va. (0...65) and we need
116 va |= (vpn & 0xfe); /* AVAL */
126 static inline void fixup_tlbie_vpn(unsigned long vpn, int psize,
154 ___tlbie(vpn, psize, apsize, ssize);
158 static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize)
162 rb = ___tlbie(vpn, psize, apsize, ssize);
166 static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize)
173 va = vpn << VPN_SHIFT;
203 * vpn cover upto 65 bits of va. (0...65) and we need
206 va |= (vpn & 0xfe);
217 static inline void tlbie(unsigned long vpn, int psize, int apsize,
231 __tlbiel(vpn, psize, apsize, ssize);
234 __tlbie(vpn, psize, apsize, ssize);
235 fixup_tlbie_vpn(vpn, psize, apsize, ssize);
265 static long native_hpte_insert(unsigned long hpte_group, unsigned long vpn,
277 DBG_LOW(" insert(group=%lx, vpn=%016lx, pa=%016lx,"
279 hpte_group, vpn, pa, rflags, vflags, psize);
299 hpte_v = hpte_encode_v(vpn, psize, apsize, ssize) | vflags | HPTE_V_VALID;
375 unsigned long vpn, int bpsize,
385 want_v = hpte_encode_avpn(vpn, bpsize, ssize);
387 DBG_LOW(" update(vpn=%016lx, avpnv=%016lx, group=%lx, newpp=%lx)",
388 vpn, want_v & HPTE_V_AVPN, slot, newpp);
425 tlbie(vpn, bpsize, apsize, ssize, local);
451 static long native_hpte_find(unsigned long vpn, int psize, int ssize)
458 hash = hpt_hash(vpn, mmu_psize_defs[psize].shift, ssize);
459 want_v = hpte_encode_avpn(vpn, psize, ssize);
488 unsigned long vpn;
497 vpn = hpt_vpn(ea, vsid, ssize);
499 slot = native_hpte_find(vpn, psize, ssize);
512 tlbie(vpn, psize, psize, ssize, 0);
524 unsigned long vpn;
533 vpn = hpt_vpn(ea, vsid, ssize);
535 slot = native_hpte_find(vpn, psize, ssize);
547 tlbie(vpn, psize, psize, ssize, 0);
555 static void native_hpte_invalidate(unsigned long slot, unsigned long vpn,
565 DBG_LOW(" invalidate(vpn=%016lx, hash: %lx)\n", vpn, slot);
567 want_v = hpte_encode_avpn(vpn, bpsize, ssize);
589 tlbie(vpn, bpsize, apsize, ssize, local);
606 unsigned long hidx, vpn = 0, hash, slot;
618 /* get the vpn */
620 vpn = hpt_vpn(addr, vsid, ssize);
621 hash = hpt_hash(vpn, shift, ssize);
629 want_v = hpte_encode_avpn(vpn, psize, ssize);
650 tlbie(vpn, psize, actual_psize, ssize, local);
665 int *psize, int *apsize, int *ssize, unsigned long *vpn)
705 *vpn = vsid << (SID_SHIFT - VPN_SHIFT) | seg_off >> VPN_SHIFT;
715 *vpn = vsid << (SID_SHIFT_1T - VPN_SHIFT) | seg_off >> VPN_SHIFT;
718 *vpn = size = 0;
742 unsigned long vpn = 0;
766 hpte_decode(hptep, slot, &psize, &apsize, &ssize, &vpn);
768 ___tlbie(vpn, psize, apsize, ssize);
781 unsigned long vpn = 0;
800 vpn = batch->vpn[i];
803 pte_iterate_hashed_subpages(pte, psize, vpn, index, shift) {
804 hash = hpt_hash(vpn, shift, ssize);
811 want_v = hpte_encode_avpn(vpn, psize, ssize);
833 vpn = batch->vpn[i];
837 vpn, index, shift) {
838 __tlbiel(vpn, psize, psize, ssize);
850 vpn = batch->vpn[i];
854 vpn, index, shift) {
855 __tlbie(vpn, psize, psize, ssize);
861 fixup_tlbie_vpn(vpn, psize, psize, ssize);