Home
last modified time | relevance | path

Searched refs:vsid (Results 1 – 25 of 35) sorted by relevance

12

/linux/arch/powerpc/mm/
H A Dcopro_fault.c83 u64 vsid, vsidkey; in copro_calculate_slb() local
93 vsid = get_user_vsid(&mm->context, ea, ssize); in copro_calculate_slb()
100 vsid = get_kernel_vsid(ea, mmu_kernel_ssize); in copro_calculate_slb()
107 vsid = get_kernel_vsid(ea, mmu_kernel_ssize); in copro_calculate_slb()
114 vsid = get_kernel_vsid(ea, mmu_kernel_ssize); in copro_calculate_slb()
122 if (!vsid) in copro_calculate_slb()
125 vsid = (vsid << slb_vsid_shift(ssize)) | vsidkey; in copro_calculate_slb()
127 vsid |= mmu_psize_defs[psize].sllp | in copro_calculate_slb()
131 slb->vsid = vsid; in copro_calculate_slb()
/linux/arch/powerpc/include/asm/book3s/64/
H A Dmmu-hash.h159 void (*hugepage_invalidate)(unsigned long vsid,
421 unsigned long vsid, int ssize) in hpt_vpn() argument
427 return (vsid << (s_shift - VPN_SHIFT)) | ((ea >> VPN_SHIFT) & mask); in hpt_vpn()
437 unsigned long hash, vsid; in hpt_hash() local
446 vsid = vpn >> (SID_SHIFT_1T - VPN_SHIFT); in hpt_hash()
447 hash = vsid ^ (vsid << 25) ^ in hpt_hash()
460 unsigned long vsid, pte_t *ptep, unsigned long trap,
463 unsigned long vsid, pte_t *ptep, unsigned long trap,
474 int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid,
479 unsigned long vsid, pmd_t *pmdp, unsigned long trap,
[all …]
H A Dtlbflush-hash.h65 extern void flush_hash_hugepage(unsigned long vsid, unsigned long addr,
/linux/arch/powerpc/kvm/
H A Dbook3s_32_mmu.c73 u64 *vsid);
83 u64 vsid; in kvmppc_mmu_book3s_32_ea_to_vp() local
89 kvmppc_mmu_book3s_32_esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_book3s_32_ea_to_vp()
90 return (((u64)eaddr >> 12) & 0xffff) | (vsid << 16); in kvmppc_mmu_book3s_32_ea_to_vp()
156 u64 vsid; in kvmppc_mmu_book3s_32_xlate_bat() local
158 eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_book3s_32_xlate_bat()
159 vsid <<= 16; in kvmppc_mmu_book3s_32_xlate_bat()
160 pte->vpage = (((u64)eaddr >> 12) & 0xffff) | vsid; in kvmppc_mmu_book3s_32_xlate_bat()
349 u64 *vsid) in kvmppc_mmu_book3s_32_esid_to_vsid() argument
367 *vsid = VSID_REAL | esid; in kvmppc_mmu_book3s_32_esid_to_vsid()
[all …]
H A Dbook3s_32_mmu_host.c106 static u32 *kvmppc_mmu_get_pteg(struct kvm_vcpu *vcpu, u32 vsid, u32 eaddr, in kvmppc_mmu_get_pteg() argument
114 hash = ((vsid ^ page) << 6); in kvmppc_mmu_get_pteg()
134 u64 vsid; in kvmppc_mmu_map_page() local
157 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_map_page()
158 map = find_sid_vsid(vcpu, vsid); in kvmppc_mmu_map_page()
161 map = find_sid_vsid(vcpu, vsid); in kvmppc_mmu_map_page()
165 vsid = map->host_vsid; in kvmppc_mmu_map_page()
166 vpn = (vsid << (SID_SHIFT - VPN_SHIFT)) | in kvmppc_mmu_map_page()
175 pteg = kvmppc_mmu_get_pteg(vcpu, vsid, eaddr, primary); in kvmppc_mmu_map_page()
193 pteg0 = ((eaddr & 0x0fffffff) >> 22) | (vsid << 7) | PTE_V | in kvmppc_mmu_map_page()
H A Dbook3s_64_mmu_host.c77 u64 vsid; in kvmppc_mmu_map_page() local
108 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_map_page()
109 map = find_sid_vsid(vcpu, vsid); in kvmppc_mmu_map_page()
113 map = find_sid_vsid(vcpu, vsid); in kvmppc_mmu_map_page()
117 vsid, orig_pte->eaddr); in kvmppc_mmu_map_page()
142 if (vsid & VSID_64K) in kvmppc_mmu_map_page()
217 u64 vsid; in kvmppc_mmu_unmap_page() local
219 vcpu->arch.mmu.esid_to_vsid(vcpu, pte->eaddr >> SID_SHIFT, &vsid); in kvmppc_mmu_unmap_page()
220 if (vsid & VSID_64K) in kvmppc_mmu_unmap_page()
349 svcpu->slb[slb_index].vsid = slb_vsid; in kvmppc_mmu_map_segment()
H A Dbook3s_64_mmu.c51 if (vcpu->arch.slb[i].vsid) in kvmppc_mmu_book3s_64_find_slbe()
57 vcpu->arch.slb[i].vsid); in kvmppc_mmu_book3s_64_find_slbe()
78 ((slb->vsid) << (kvmppc_slb_sid_shift(slb) - VPN_SHIFT)); in kvmppc_slb_calc_vpn()
141 page, vcpu_book3s->sdr1, pteg, slbe->vsid); in kvmppc_mmu_book3s_64_get_pteg()
161 avpn |= slbe->vsid << (kvmppc_slb_sid_shift(slbe) - p); in kvmppc_mmu_book3s_64_get_avpn()
383 slbe->vsid = (rs & ~SLB_VSID_B) >> (kvmppc_slb_sid_shift(slbe) - 16); in kvmppc_mmu_book3s_64_slbmte()
573 u64 *vsid) in kvmppc_mmu_book3s_64_esid_to_vsid() argument
585 gvsid = slb->vsid; in kvmppc_mmu_book3s_64_esid_to_vsid()
631 *vsid = gvsid; in kvmppc_mmu_book3s_64_esid_to_vsid()
639 *vsid = VSID_REAL | esid; in kvmppc_mmu_book3s_64_esid_to_vsid()
H A Dbook3s_64_mmu_hv.c1287 unsigned long offset, vsid; in resize_hpt_rehash_hpte() local
1291 vsid = avpn >> 5; in resize_hpt_rehash_hpte()
1294 offset |= ((vsid ^ pteg) & old_hash_mask) << pshift; in resize_hpt_rehash_hpte()
1296 hash = vsid ^ (offset >> pshift); in resize_hpt_rehash_hpte()
1298 unsigned long offset, vsid; in resize_hpt_rehash_hpte() local
1302 vsid = avpn >> 17; in resize_hpt_rehash_hpte()
1304 offset |= ((vsid ^ (vsid << 25) ^ pteg) & old_hash_mask) << pshift; in resize_hpt_rehash_hpte()
1306 hash = vsid ^ (vsid << 25) ^ (offset >> pshift); in resize_hpt_rehash_hpte()
/linux/drivers/misc/lkdtm/
H A Dpowerpc.c73 unsigned long esid, vsid; in insert_dup_slb_entry_0() local
80 asm volatile("slbmfev %0,%1" : "=r" (vsid) : "r" (i)); in insert_dup_slb_entry_0()
84 : "r" (vsid), in insert_dup_slb_entry_0()
89 asm volatile("slbmfev %0,%1" : "=r" (vsid) : "r" (i)); in insert_dup_slb_entry_0()
93 : "r" (vsid), in insert_dup_slb_entry_0()
/linux/arch/powerpc/mm/book3s64/
H A Dhash_native.c485 unsigned long vsid; in native_hpte_updateboltedpp() local
492 vsid = get_kernel_vsid(ea, ssize); in native_hpte_updateboltedpp()
493 vpn = hpt_vpn(ea, vsid, ssize); in native_hpte_updateboltedpp()
521 unsigned long vsid; in native_hpte_removebolted() local
528 vsid = get_kernel_vsid(ea, ssize); in native_hpte_removebolted()
529 vpn = hpt_vpn(ea, vsid, ssize); in native_hpte_removebolted()
591 static void native_hugepage_invalidate(unsigned long vsid, in native_hugepage_invalidate() argument
616 vpn = hpt_vpn(addr, vsid, ssize); in native_hugepage_invalidate()
651 static void native_hugepage_invalidate(unsigned long vsid, in native_hugepage_invalidate() argument
666 unsigned long vsid, seg_off; in hpte_decode() local
[all …]
H A Dhash_tlb.c45 unsigned long vsid; in hpte_need_flush() local
90 vsid = get_user_vsid(&mm->context, addr, ssize); in hpte_need_flush()
92 vsid = get_kernel_vsid(addr, mmu_kernel_ssize); in hpte_need_flush()
95 WARN_ON(vsid == 0); in hpte_need_flush()
96 vpn = hpt_vpn(addr, vsid, ssize); in hpte_need_flush()
H A Dhash_utils.c281 unsigned long vsid = get_kernel_vsid(vaddr, mmu_kernel_ssize); in kernel_map_linear_page() local
282 unsigned long vpn = hpt_vpn(vaddr, vsid, mmu_kernel_ssize); in kernel_map_linear_page()
289 if (!vsid) in kernel_map_linear_page()
310 unsigned long vsid = get_kernel_vsid(vaddr, mmu_kernel_ssize); in kernel_unmap_linear_page() local
311 unsigned long vpn = hpt_vpn(vaddr, vsid, mmu_kernel_ssize); in kernel_unmap_linear_page()
641 unsigned long vsid = get_kernel_vsid(vaddr, ssize); in htab_bolt_mapping() local
642 unsigned long vpn = hpt_vpn(vaddr, vsid, ssize); in htab_bolt_mapping()
649 if (!vsid) in htab_bolt_mapping()
1667 unsigned long vsid, unsigned long trap, in hash_failure_debug() argument
1675 trap, vsid, ssize, psize, lpsize, pte); in hash_failure_debug()
[all …]
H A Dhash_hugepage.c21 int __hash_page_thp(unsigned long ea, unsigned long access, unsigned long vsid, in __hash_page_thp() argument
76 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_thp()
85 flush_hash_hugepage(vsid, ea, pmdp, MMU_PAGE_64K, in __hash_page_thp()
163 hash_failure_debug(ea, access, vsid, trap, ssize, in __hash_page_thp()
H A Dhash_64k.c38 int __hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, in __hash_page_4K() argument
90 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_4K()
213 hash_failure_debug(ea, access, vsid, trap, ssize, in __hash_page_4K()
229 unsigned long vsid, pte_t *ptep, unsigned long trap, in __hash_page_64K() argument
275 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_64K()
328 hash_failure_debug(ea, access, vsid, trap, ssize, in __hash_page_64K()
H A Dslb.c78 WRITE_ONCE(p->save_area[index].vsid, cpu_to_be64(mk_vsid_data(ea, ssize, flags))); in slb_shadow_update()
117 : "r" (be64_to_cpu(p->save_area[index].vsid)), in __slb_restore_bolted_realmode()
164 ksp_vsid_data = be64_to_cpu(p->save_area[KSTACK_INDEX].vsid); in __slb_flush_and_restore_bolted()
217 slb_ptr->vsid = v; in slb_save_contents()
235 v = slb_ptr->vsid; in slb_dump_contents()
674 unsigned long vsid; in slb_insert_entry() local
678 vsid = get_vsid(context, ea, ssize); in slb_insert_entry()
679 if (!vsid) in slb_insert_entry()
695 vsid_data = __mk_vsid_data(vsid, ssize, flags); in slb_insert_entry()
H A Dhash_4k.c21 int __hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, in __hash_page_4K() argument
66 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_4K()
117 hash_failure_debug(ea, access, vsid, trap, ssize, in __hash_page_4K()
H A Dhugetlbpage.c20 int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, in __hash_page_huge() argument
33 vpn = hpt_vpn(ea, vsid, ssize); in __hash_page_huge()
122 hash_failure_debug(ea, access, vsid, trap, ssize, in __hash_page_huge()
H A Dhash_pgtable.c316 unsigned long vsid; in hpte_do_hugepage_flush() local
331 vsid = get_user_vsid(&mm->context, addr, ssize); in hpte_do_hugepage_flush()
332 WARN_ON(vsid == 0); in hpte_do_hugepage_flush()
334 vsid = get_kernel_vsid(addr, mmu_kernel_ssize); in hpte_do_hugepage_flush()
341 return flush_hash_hugepage(vsid, addr, pmdp, psize, ssize, flags); in hpte_do_hugepage_flush()
/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3-iommufd.c103 unsigned long vsid; in arm_smmu_attach_prepare_vmaster() local
109 state->master->dev, &vsid); in arm_smmu_attach_prepare_vmaster()
117 vmaster->vsid = vsid; in arm_smmu_attach_prepare_vmaster()
264 static int arm_vsmmu_vsid_to_sid(struct arm_vsmmu *vsmmu, u32 vsid, u32 *sid) in arm_vsmmu_vsid_to_sid() argument
271 dev = iommufd_viommu_find_dev(&vsmmu->core, (unsigned long)vsid); in arm_vsmmu_vsid_to_sid()
325 u32 sid, vsid = FIELD_GET(CMDQ_CFGI_0_SID, cmd->cmd[0]); in arm_vsmmu_convert_user_cmd() local
327 if (arm_vsmmu_vsid_to_sid(vsmmu, vsid, &sid)) in arm_vsmmu_convert_user_cmd()
464 FIELD_PREP(EVTQ_0_SID, vmaster->vsid)); in arm_vmaster_report_event()
H A Dtegra241-cmdqv.c1214 struct tegra241_vintf_sid *vsid = vdev_to_vsid(vdev); in tegra241_vintf_destroy_vsid() local
1215 struct tegra241_vintf *vintf = vsid->vintf; in tegra241_vintf_destroy_vsid()
1217 writel(0, REG_VINTF(vintf, SID_MATCH(vsid->idx))); in tegra241_vintf_destroy_vsid()
1218 writel(0, REG_VINTF(vintf, SID_REPLACE(vsid->idx))); in tegra241_vintf_destroy_vsid()
1219 ida_free(&vintf->sids, vsid->idx); in tegra241_vintf_destroy_vsid()
1222 vsid->idx, vsid->sid); in tegra241_vintf_destroy_vsid()
1230 struct tegra241_vintf_sid *vsid = vdev_to_vsid(vdev); in tegra241_vintf_init_vsid() local
1252 vsid->idx = sidx; in tegra241_vintf_init_vsid()
1253 vsid->vintf = vintf; in tegra241_vintf_init_vsid()
1254 vsid->sid = stream->id; in tegra241_vintf_init_vsid()
/linux/arch/microblaze/include/asm/
H A Dmmu.h20 unsigned long vsid:24; /* Virtual segment identifier */ member
48 unsigned long vsid:24; /* Virtual Segment Identifier */ member
/linux/arch/powerpc/mm/ptdump/
H A Dhashpagetable.c210 unsigned long hash, vsid, vpn, hpte_group, want_v, hpte_v; in native_find() local
215 vsid = get_kernel_vsid(ea, ssize); in native_find()
216 vpn = hpt_vpn(ea, vsid, ssize); in native_find()
245 unsigned long vsid, vpn, hash, hpte_group, want_v; in pseries_find() local
251 vsid = get_kernel_vsid(ea, ssize); in pseries_find()
252 vpn = hpt_vpn(ea, vsid, ssize); in pseries_find()
/linux/arch/powerpc/include/asm/
H A Dcopro.h13 u64 esid, vsid; member
H A Dlppaca.h142 __be64 vsid; member
/linux/arch/powerpc/xmon/
H A Dxmon.c2640 u64 esid, vsid; in dump_one_paca() local
2646 vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid); in dump_one_paca()
2648 if (esid || vsid) { in dump_one_paca()
2650 22, "slb_shadow", i, esid, vsid); in dump_one_paca()
3736 unsigned long esid,vsid; in dump_segments() local
3743 asm volatile("slbmfev %0,%1" : "=r" (vsid) : "r" (i)); in dump_segments()
3745 if (!esid && !vsid) in dump_segments()
3748 printf("%02d %016lx %016lx", i, esid, vsid); in dump_segments()
3755 llp = vsid & SLB_VSID_LLP; in dump_segments()
3756 if (vsid & SLB_VSID_B_1T) { in dump_segments()
[all …]

12