/kernel/linux/linux-5.10/arch/powerpc/mm/book3s64/ |
D | hash_native.c | 150 static inline unsigned long ___tlbie(unsigned long vpn, int psize, in ___tlbie() argument 164 va = vpn << VPN_SHIFT; in ___tlbie() 197 va |= (vpn & 0xfe); /* AVAL */ in ___tlbie() 207 static inline void fixup_tlbie_vpn(unsigned long vpn, int psize, in fixup_tlbie_vpn() argument 235 ___tlbie(vpn, psize, apsize, ssize); in fixup_tlbie_vpn() 239 static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize) in __tlbie() argument 243 rb = ___tlbie(vpn, psize, apsize, ssize); in __tlbie() 247 static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize) in __tlbiel() argument 254 va = vpn << VPN_SHIFT; in __tlbiel() 287 va |= (vpn & 0xfe); in __tlbiel() [all …]
|
D | hash_64k.c | 45 unsigned long vpn, hash, slot, gslot; in __hash_page_4K() local 88 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_4K() 100 flush_hash_page(vpn, rpte, MMU_PAGE_64K, ssize, flags); in __hash_page_4K() 116 gslot = pte_get_hash_gslot(vpn, shift, ssize, rpte, in __hash_page_4K() 118 ret = mmu_hash_ops.hpte_updatepp(gslot, rflags, vpn, in __hash_page_4K() 155 hash = hpt_hash(vpn, shift, ssize); in __hash_page_4K() 160 slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0, in __hash_page_4K() 169 slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, in __hash_page_4K() 183 mmu_hash_ops.hpte_invalidate(hpte_group + gslot, vpn, in __hash_page_4K() 231 unsigned long vpn, hash, slot; in __hash_page_64K() local [all …]
|
D | hash_4k.c | 27 unsigned long vpn, hash, slot; in __hash_page_4K() local 64 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_4K() 69 unsigned long gslot = pte_get_hash_gslot(vpn, shift, ssize, in __hash_page_4K() 72 if (mmu_hash_ops.hpte_updatepp(gslot, rflags, vpn, MMU_PAGE_4K, in __hash_page_4K() 80 hash = hpt_hash(vpn, shift, ssize); in __hash_page_4K() 86 slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0, in __hash_page_4K() 93 slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, in __hash_page_4K()
|
D | hash_hugepage.c | 30 unsigned long vpn, hash, shift, slot; in __hash_page_thp() local 79 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_thp() 105 hash = hpt_hash(vpn, shift, ssize); in __hash_page_thp() 112 ret = mmu_hash_ops.hpte_updatepp(slot, rflags, vpn, in __hash_page_thp() 131 hash = hpt_hash(vpn, shift, ssize); in __hash_page_thp() 140 slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, rflags, 0, in __hash_page_thp() 147 slot = mmu_hash_ops.hpte_insert(hpte_group, vpn, pa, in __hash_page_thp()
|
D | hash_hugetlbpage.c | 19 extern long hpte_insert_repeating(unsigned long hash, unsigned long vpn, 28 unsigned long vpn; in __hash_page_huge() local 36 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_huge() 92 gslot = pte_get_hash_gslot(vpn, shift, ssize, rpte, 0); in __hash_page_huge() 93 if (mmu_hash_ops.hpte_updatepp(gslot, rflags, vpn, mmu_psize, in __hash_page_huge() 99 unsigned long hash = hpt_hash(vpn, shift, ssize); in __hash_page_huge() 106 slot = hpte_insert_repeating(hash, vpn, pa, rflags, 0, in __hash_page_huge()
|
D | hash_tlb.c | 43 unsigned long vpn; in hpte_need_flush() local 96 vpn = hpt_vpn(addr, vsid, ssize); in hpte_need_flush() 104 flush_hash_page(vpn, rpte, psize, ssize, mm_is_thread_local(mm)); in hpte_need_flush() 130 batch->vpn[i] = vpn; in hpte_need_flush() 151 flush_hash_page(batch->vpn[0], batch->pte[0], in __flush_tlb_pending()
|
D | hash_utils.c | 271 unsigned long vpn = hpt_vpn(vaddr, vsid, ssize); in htab_bolt_mapping() local 298 hash = hpt_hash(vpn, shift, ssize); in htab_bolt_mapping() 303 ret = mmu_hash_ops.hpte_insert(hpteg, vpn, paddr, tprot, in htab_bolt_mapping() 313 ret = mmu_hash_ops.hpte_insert(hpteg, vpn, paddr, tprot, in htab_bolt_mapping() 1747 unsigned long pte_get_hash_gslot(unsigned long vpn, unsigned long shift, in pte_get_hash_gslot() argument 1752 hash = hpt_hash(vpn, shift, ssize); in pte_get_hash_gslot() 1761 void flush_hash_page(unsigned long vpn, real_pte_t pte, int psize, int ssize, in flush_hash_page() argument 1767 DBG_LOW("flush_hash_page(vpn=%016lx)\n", vpn); in flush_hash_page() 1768 pte_iterate_hashed_subpages(pte, psize, vpn, index, shift) { in flush_hash_page() 1769 gslot = pte_get_hash_gslot(vpn, shift, ssize, pte, index); in flush_hash_page() [all …]
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/ps3/ |
D | htab.c | 35 static long ps3_hpte_insert(unsigned long hpte_group, unsigned long vpn, in ps3_hpte_insert() argument 53 hpte_v = hpte_encode_v(vpn, psize, apsize, ssize) | vflags | HPTE_V_VALID; in ps3_hpte_insert() 68 __func__, ps3_result(result), vpn, pa, hpte_group, in ps3_hpte_insert() 100 unsigned long vpn, int psize, int apsize, in ps3_hpte_updatepp() argument 109 want_v = hpte_encode_avpn(vpn, psize, ssize); in ps3_hpte_updatepp() 120 __func__, ps3_result(result), vpn, slot, psize); in ps3_hpte_updatepp() 153 static void ps3_hpte_invalidate(unsigned long slot, unsigned long vpn, in ps3_hpte_invalidate() argument 165 __func__, ps3_result(result), vpn, slot, psize); in ps3_hpte_invalidate()
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/pseries/ |
D | lpar.c | 715 unsigned long vpn, unsigned long pa, in pSeries_lpar_hpte_insert() argument 727 hpte_group, vpn, pa, rflags, vflags, psize); in pSeries_lpar_hpte_insert() 729 hpte_v = hpte_encode_v(vpn, psize, apsize, ssize) | vflags | HPTE_V_VALID; in pSeries_lpar_hpte_insert() 880 unsigned long vpn, in pSeries_lpar_hpte_updatepp() argument 888 want_v = hpte_encode_avpn(vpn, psize, ssize); in pSeries_lpar_hpte_updatepp() 940 static long pSeries_lpar_hpte_find(unsigned long vpn, int psize, int ssize) in pSeries_lpar_hpte_find() argument 947 hash = hpt_hash(vpn, mmu_psize_defs[psize].shift, ssize); in pSeries_lpar_hpte_find() 948 want_v = hpte_encode_avpn(vpn, psize, ssize); in pSeries_lpar_hpte_find() 970 unsigned long vpn; in pSeries_lpar_hpte_updateboltedpp() local 974 vpn = hpt_vpn(ea, vsid, ssize); in pSeries_lpar_hpte_updateboltedpp() [all …]
|
/kernel/linux/linux-5.10/arch/sh/mm/ |
D | pmb.c | 37 unsigned long vpn; member 132 return (b->vpn == (a->vpn + a->size)) && in pmb_can_merge() 156 if ((vaddr < pmbe->vpn) || (vaddr >= (pmbe->vpn + pmbe->size))) in pmb_mapping_exists() 236 static struct pmb_entry *pmb_alloc(unsigned long vpn, unsigned long ppn, in pmb_alloc() argument 269 pmbe->vpn = vpn; in pmb_alloc() 302 __raw_writel(pmbe->vpn | PMB_V, addr); in __set_pmb_entry() 472 if (pmbe->vpn == vaddr) { in pmb_unmap() 506 flush_cache_vunmap(pmbe->vpn, pmbe->vpn + pmbe->size); in __pmb_unmap_entry() 543 pmbe->vpn >> PAGE_SHIFT, pmbe->ppn >> PAGE_SHIFT, in pmb_notify() 579 unsigned long ppn, vpn, flags; in pmb_synchronize() local [all …]
|
D | tlb-sh3.c | 29 unsigned long flags, pteval, vpn; in __update_tlb() local 40 vpn = (address & MMU_VPN_MASK) | get_asid(); in __update_tlb() 41 __raw_writel(vpn, MMU_PTEH); in __update_tlb()
|
D | tlb-sh4.c | 18 unsigned long flags, pteval, vpn; in __update_tlb() local 29 vpn = (address & MMU_VPN_MASK) | get_asid(); in __update_tlb() 30 __raw_writel(vpn, MMU_PTEH); in __update_tlb()
|
D | tlb-pteaex.c | 20 unsigned long flags, pteval, vpn; in __update_tlb() local 31 vpn = address & MMU_VPN_MASK; in __update_tlb() 32 __raw_writel(vpn, MMU_PTEH); in __update_tlb()
|
D | tlb-debugfs.c | 94 unsigned long vpn, ppn, asid, size; in tlb_seq_show() local 102 vpn = val & 0xfffffc00; in tlb_seq_show() 126 entry, vpn, ppn, asid, in tlb_seq_show()
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/book3s/64/ |
D | mmu-hash.h | 137 unsigned long vpn, 142 unsigned long vpn, 149 unsigned long vpn, 325 static inline unsigned long hpte_encode_avpn(unsigned long vpn, int psize, in hpte_encode_avpn() argument 337 v = (vpn >> (23 - VPN_SHIFT)) & ~(mmu_psize_defs[psize].avpnm); in hpte_encode_avpn() 389 static inline unsigned long hpte_encode_v(unsigned long vpn, int base_psize, in hpte_encode_v() argument 393 v = hpte_encode_avpn(vpn, base_psize, ssize); in hpte_encode_v() 433 static inline unsigned long hpt_hash(unsigned long vpn, in hpt_hash() argument 442 hash = (vpn >> (SID_SHIFT - VPN_SHIFT)) ^ in hpt_hash() 443 ((vpn & mask) >> (shift - VPN_SHIFT)); in hpt_hash() [all …]
|
D | hash-64k.h | 158 #define pte_iterate_hashed_subpages(rpte, psize, vpn, index, shift) \ argument 160 unsigned long __end = vpn + (1UL << (PAGE_SHIFT - VPN_SHIFT)); \ 164 for (index = 0; vpn < __end; index++, \ 165 vpn += (1L << (shift - VPN_SHIFT))) { \
|
D | tlbflush-hash.h | 19 unsigned long vpn[PPC64_TLB_BATCH_NR]; member 56 extern void flush_hash_page(unsigned long vpn, real_pte_t pte, int psize,
|
D | hash.h | 216 unsigned long pte_get_hash_gslot(unsigned long vpn, unsigned long shift,
|
/kernel/linux/linux-5.10/arch/powerpc/mm/ptdump/ |
D | hashpagetable.c | 210 unsigned long hash, vsid, vpn, hpte_group, want_v, hpte_v; in native_find() local 216 vpn = hpt_vpn(ea, vsid, ssize); in native_find() 217 hash = hpt_hash(vpn, shift, ssize); in native_find() 218 want_v = hpte_encode_avpn(vpn, psize, ssize); in native_find() 242 unsigned long vsid, vpn, hash, hpte_group, want_v; in pseries_find() local 249 vpn = hpt_vpn(ea, vsid, ssize); in pseries_find() 250 hash = hpt_hash(vpn, shift, ssize); in pseries_find() 251 want_v = hpte_encode_avpn(vpn, psize, ssize); in pseries_find()
|
/kernel/linux/linux-5.10/arch/powerpc/kvm/ |
D | book3s_64_mmu_host.c | 73 unsigned long vpn; in kvmppc_mmu_map_page() local 121 vpn = hpt_vpn(orig_pte->eaddr, map->host_vsid, MMU_SEGSIZE_256M); in kvmppc_mmu_map_page() 147 hash = hpt_hash(vpn, mmu_psize_defs[hpsize].shift, MMU_SEGSIZE_256M); in kvmppc_mmu_map_page() 167 ret = mmu_hash_ops.hpte_insert(hpteg, vpn, hpaddr, rflags, vflags, in kvmppc_mmu_map_page() 181 vpn, hpaddr, orig_pte); in kvmppc_mmu_map_page() 193 cpte->host_vpn = vpn; in kvmppc_mmu_map_page()
|
D | book3s_32_mmu_host.c | 134 u64 vpn; in kvmppc_mmu_map_page() local 167 vpn = (vsid << (SID_SHIFT - VPN_SHIFT)) | in kvmppc_mmu_map_page() 243 orig_pte->eaddr, (ulong)pteg, vpn, in kvmppc_mmu_map_page() 247 pte->host_vpn = vpn; in kvmppc_mmu_map_page()
|
D | book3s_64_mmu.c | 124 u64 vpn; in kvmppc_mmu_book3s_64_get_pteg() local 128 vpn = kvmppc_slb_calc_vpn(slbe, eaddr); in kvmppc_mmu_book3s_64_get_pteg() 130 hash = hpt_hash(vpn, kvmppc_mmu_book3s_64_get_pagesize(slbe), ssize); in kvmppc_mmu_book3s_64_get_pteg()
|
/kernel/linux/linux-5.10/arch/xtensa/mm/ |
D | tlb.c | 229 unsigned vpn = (r0 & PAGE_MASK) | (e << PAGE_SHIFT); in check_tlb_entry() local 230 unsigned pte = get_pte_for_vaddr(vpn); in check_tlb_entry() 236 if (tlb_asid > 0 && ((vpn < TASK_SIZE) == kernel)) { in check_tlb_entry() 238 dtlb ? 'D' : 'I', w, e, vpn, in check_tlb_entry()
|
/kernel/linux/linux-5.10/mm/ |
D | purgeable.c | 31 #define vpn(vaddr) ((vaddr) >> PAGE_SHIFT) macro 32 #define uxpte_pn(vaddr) (vpn(vaddr) >> UXPTE_PER_PAGE_SHIFT) 33 #define uxpte_off(vaddr) (vpn(vaddr) & (UXPTE_PER_PAGE - 1)) 232 unsigned long off_uxpn = vpn(vmf->address - vma->vm_start); in do_uxpte_page_fault()
|
/kernel/linux/linux-5.10/arch/ia64/kernel/ |
D | palinfo.c | 723 unsigned long vpn:52; in tr_info() member 789 (gr_reg->ppn & pgm)<< 12, (ifa_reg->vpn & pgm)<< 12); in tr_info()
|