Home
last modified time | relevance | path

Searched refs:asid (Results 1 – 25 of 115) sorted by relevance

12345

/linux-6.3-rc2/arch/arm64/mm/
A Dcontext.c38 #define ctxid2asid(asid) ((asid) & ~ASID_MASK) argument
39 #define asid2ctxid(asid, genid) ((asid) | (genid)) argument
44 u32 asid; in get_cpu_asid_bits() local
54 asid = 8; in get_cpu_asid_bits()
57 asid = 16; in get_cpu_asid_bits()
60 return asid; in get_cpu_asid_bits()
107 u64 asid; in flush_context() local
276 u64 asid; in arm64_mm_context_get() local
289 asid = 0; in arm64_mm_context_get()
309 asid = ctxid2asid(asid); in arm64_mm_context_get()
[all …]
/linux-6.3-rc2/arch/arm/mm/
A Dcontext.c56 u64 context_id, asid; in a15_erratum_get_cpumask() local
68 if (asid == 0) in a15_erratum_get_cpumask()
70 if (context_id == asid) in a15_erratum_get_cpumask()
139 u64 asid; in flush_context() local
152 if (asid == 0) in flush_context()
195 if (asid != 0) { in new_context()
209 asid &= ~ASID_MASK; in new_context()
231 __set_bit(asid, asid_map); in new_context()
232 cur_idx = asid; in new_context()
234 return asid | generation; in new_context()
[all …]
/linux-6.3-rc2/arch/csky/mm/
A Dasid.c21 #define asid2idx(info, asid) (((asid) & ~ASID_MASK(info)) >> (info)->ctxt_shift) argument
27 u64 asid; in flush_context() local
41 if (asid == 0) in flush_context()
42 asid = reserved_asid(info, i); in flush_context()
44 reserved_asid(info, i) = asid; in flush_context()
86 if (asid != 0) { in new_context()
124 __set_bit(asid, info->map); in new_context()
125 cur_idx = asid; in new_context()
141 u64 asid; in asid_new_context() local
145 asid = atomic64_read(pasid); in asid_new_context()
[all …]
/linux-6.3-rc2/arch/xtensa/include/asm/
A Dmmu_context.h72 unsigned long asid = cpu_asid_cache(cpu); in get_new_mmu_context() local
73 if ((++asid & ASID_MASK) == 0) { in get_new_mmu_context()
79 asid += ASID_USER_FIRST; in get_new_mmu_context()
81 cpu_asid_cache(cpu) = asid; in get_new_mmu_context()
82 mm->context.asid[cpu] = asid; in get_new_mmu_context()
93 unsigned long asid = mm->context.asid[cpu]; in get_mmu_context() local
95 if (asid == NO_CONTEXT || in get_mmu_context()
96 ((asid ^ cpu_asid_cache(cpu)) & ~ASID_MASK)) in get_mmu_context()
104 set_rasid_register(ASID_INSERT(mm->context.asid[cpu])); in activate_context()
120 mm->context.asid[cpu] = NO_CONTEXT; in init_new_context()
/linux-6.3-rc2/arch/sh/include/asm/
A Dmmu_context_32.h6 static inline void set_asid(unsigned long asid) in set_asid() argument
8 __raw_writel(asid, MMU_PTEAEX); in set_asid()
16 static inline void set_asid(unsigned long asid) in set_asid() argument
25 : "r" (asid), "m" (__m(MMU_PTEH)), in set_asid()
31 unsigned long asid; in get_asid() local
34 : "=r" (asid) in get_asid()
36 asid &= MMU_CONTEXT_ASID_MASK; in get_asid()
37 return asid; in get_asid()
A Dmmu_context.h57 unsigned long asid = asid_cache(cpu); in get_mmu_context() local
60 if (((cpu_context(cpu, mm) ^ asid) & MMU_CONTEXT_VERSION_MASK) == 0) in get_mmu_context()
65 if (!(++asid & MMU_CONTEXT_ASID_MASK)) { in get_mmu_context()
76 if (!asid) in get_mmu_context()
77 asid = MMU_CONTEXT_FIRST_VERSION; in get_mmu_context()
80 cpu_context(cpu, mm) = asid_cache(cpu) = asid; in get_mmu_context()
128 #define set_asid(asid) do { } while (0) argument
131 #define switch_and_save_asid(asid) (0) argument
A Dtlbflush.h23 extern void local_flush_tlb_one(unsigned long asid, unsigned long page);
35 extern void flush_tlb_one(unsigned long asid, unsigned long page);
42 #define flush_tlb_one(asid, page) local_flush_tlb_one(asid, page) argument
/linux-6.3-rc2/arch/sh/mm/
A Dtlbflush_32.c21 unsigned long asid; in local_flush_tlb_page() local
24 asid = cpu_asid(cpu, vma->vm_mm); in local_flush_tlb_page()
30 set_asid(asid); in local_flush_tlb_page()
32 local_flush_tlb_one(asid, page); in local_flush_tlb_page()
56 unsigned long asid; in local_flush_tlb_range() local
59 asid = cpu_asid(cpu, mm); in local_flush_tlb_range()
65 set_asid(asid); in local_flush_tlb_range()
89 unsigned long asid; in local_flush_tlb_kernel_range() local
92 asid = cpu_asid(cpu, &init_mm); in local_flush_tlb_kernel_range()
96 set_asid(asid); in local_flush_tlb_kernel_range()
[all …]
/linux-6.3-rc2/arch/x86/mm/
A Dtlb.c112 static inline u16 kern_pcid(u16 asid) in kern_pcid() argument
142 return asid + 1; in kern_pcid()
148 static inline u16 user_pcid(u16 asid) in user_pcid() argument
150 u16 ret = kern_pcid(asid); in user_pcid()
162 VM_WARN_ON_ONCE(asid != 0); in build_cr3()
187 u16 asid; in clear_asid_other() local
198 for (asid = 0; asid < TLB_NR_DYN_ASIDS; asid++) { in clear_asid_other()
217 u16 asid; in choose_new_asid() local
228 for (asid = 0; asid < TLB_NR_DYN_ASIDS; asid++) { in choose_new_asid()
233 *new_asid = asid; in choose_new_asid()
[all …]
/linux-6.3-rc2/arch/arm64/include/asm/
A Dtlbflush.h57 #define __TLBI_VADDR(addr, asid) \ argument
61 __ta |= (unsigned long)(asid) << 48; \
144 __ta |= (unsigned long)(asid) << 48; \
248 unsigned long asid; in flush_tlb_mm() local
251 asid = __TLBI_VADDR(0, ASID(mm)); in flush_tlb_mm()
252 __tlbi(aside1is, asid); in flush_tlb_mm()
253 __tlbi_user(aside1is, asid); in flush_tlb_mm()
288 unsigned long asid, addr, pages; in __flush_tlb_range() local
308 asid = ASID(vma->vm_mm); in __flush_tlb_range()
331 addr = __TLBI_VADDR(start, asid); in __flush_tlb_range()
[all …]
/linux-6.3-rc2/arch/riscv/kvm/
A Dtlb.c78 unsigned long asid, in kvm_riscv_local_hfence_vvma_asid_gva() argument
96 : : "r" (pos), "r" (asid) : "memory"); in kvm_riscv_local_hfence_vvma_asid_gva()
101 : : "r" (pos), "r" (asid) : "memory"); in kvm_riscv_local_hfence_vvma_asid_gva()
108 unsigned long asid) in kvm_riscv_local_hfence_vvma_asid_all() argument
269 READ_ONCE(v->vmid), d.asid, in kvm_riscv_hfence_process()
275 READ_ONCE(v->vmid), d.asid); in kvm_riscv_hfence_process()
340 data.asid = 0; in kvm_riscv_hfence_gvma_vmid_gpa()
363 data.asid = asid; in kvm_riscv_hfence_vvma_asid_gva()
373 unsigned long asid) in kvm_riscv_hfence_vvma_asid_all() argument
378 data.asid = asid; in kvm_riscv_hfence_vvma_asid_all()
[all …]
/linux-6.3-rc2/drivers/vhost/
A Dvdpa.c70 u64 last, u32 asid);
85 if (as->id == asid) in asid_to_as()
106 if (asid_to_as(v, asid)) in vhost_vdpa_alloc_as()
109 if (asid >= v->vdpa->nas) in vhost_vdpa_alloc_as()
117 as->id = asid; in vhost_vdpa_alloc_as()
124 u32 asid) in vhost_vdpa_find_alloc_as() argument
774 u64 last, u32 asid) in vhost_vdpa_iotlb_unmap() argument
1081 asid); in vhost_vdpa_process_iotlb_msg()
1108 v->batch_asid = asid; in vhost_vdpa_process_iotlb_msg()
1208 u32 asid; in vhost_vdpa_cleanup() local
[all …]
/linux-6.3-rc2/drivers/misc/sgi-gru/
A Dgrumain.c100 if (asid >= limit) in gru_reset_asid_limit()
113 asid += ASID_INC; in gru_reset_asid_limit()
130 gru->gs_asid = asid; in gru_reset_asid_limit()
132 asid, limit); in gru_reset_asid_limit()
133 return asid; in gru_reset_asid_limit()
139 int asid; in gru_assign_asid() local
144 asid = gru_reset_asid_limit(gru, asid); in gru_assign_asid()
147 return asid; in gru_assign_asid()
230 int asid; in gru_load_mm_tracker() local
257 return asid; in gru_load_mm_tracker()
[all …]
A Dgrutlbpurge.c152 int grupagesize, pagesize, pageshift, gid, asid; in gru_flush_tlb_range() local
169 asid = asids->mt_asid; in gru_flush_tlb_range()
170 if (asids->mt_ctxbitmap && asid) { in gru_flush_tlb_range()
172 asid = GRUASID(asid, start); in gru_flush_tlb_range()
175 gid, asid, start, grupagesize, num, asids->mt_ctxbitmap); in gru_flush_tlb_range()
177 tgh_invalidate(tgh, start, ~0, asid, grupagesize, 0, in gru_flush_tlb_range()
186 gid, asid, asids->mt_ctxbitmap, in gru_flush_tlb_range()
A Dgruhandles.c141 int asid, int pagesize, int global, int n, in tgh_invalidate() argument
145 tgh->asid = asid; in tgh_invalidate()
158 unsigned long vaddr, int asid, int dirty, in tfh_write_only() argument
161 tfh->fillasid = asid; in tfh_write_only()
174 unsigned long vaddr, int asid, int dirty, in tfh_write_restart() argument
177 tfh->fillasid = asid; in tfh_write_restart()
/linux-6.3-rc2/arch/loongarch/include/asm/
A Dmmu_context.h34 #define cpu_context(cpu, mm) ((mm)->context.asid[cpu])
54 u64 asid = asid_cache(cpu); in get_new_mmu_context() local
56 if (!((++asid) & cpu_asid_mask(&cpu_data[cpu]))) in get_new_mmu_context()
59 cpu_context(cpu, mm) = asid_cache(cpu) = asid; in get_new_mmu_context()
130 int asid; in drop_mmu_context() local
135 asid = read_csr_asid() & cpu_asid_mask(&current_cpu_data); in drop_mmu_context()
137 if (asid == cpu_asid(cpu, mm)) { in drop_mmu_context()
/linux-6.3-rc2/drivers/accel/habanalabs/common/
A Dasid.c50 void hl_asid_free(struct hl_device *hdev, unsigned long asid) in hl_asid_free() argument
52 if (asid == HL_KERNEL_ASID_ID || asid >= hdev->asic_prop.max_asid) { in hl_asid_free()
53 dev_crit(hdev->dev, "Invalid ASID %lu", asid); in hl_asid_free()
57 clear_bit(asid, hdev->asid_bitmap); in hl_asid_free()
/linux-6.3-rc2/drivers/iommu/arm/arm-smmu-v3/
A Darm-smmu-v3-sva.c45 arm_smmu_share_asid(struct mm_struct *mm, u16 asid) in arm_smmu_share_asid() argument
53 cd = xa_load(&arm_smmu_asid_xa, asid); in arm_smmu_share_asid()
77 cd->asid = new_asid; in arm_smmu_share_asid()
86 arm_smmu_tlb_inv_asid(smmu, asid); in arm_smmu_share_asid()
88 xa_erase(&arm_smmu_asid_xa, asid); in arm_smmu_share_asid()
94 u16 asid; in arm_smmu_alloc_shared_cd() local
103 asid = arm64_mm_context_get(mm); in arm_smmu_alloc_shared_cd()
104 if (!asid) { in arm_smmu_alloc_shared_cd()
118 ret = arm_smmu_share_asid(mm, asid); in arm_smmu_alloc_shared_cd()
163 cd->asid = asid; in arm_smmu_alloc_shared_cd()
[all …]
/linux-6.3-rc2/arch/mips/lib/
A Dr3k_dump_tlb.c27 unsigned int asid; in dump_tlb() local
31 asid = read_c0_entryhi() & asid_mask; in dump_tlb()
46 (entryhi & asid_mask) == asid)) { in dump_tlb()
65 write_c0_entryhi(asid); in dump_tlb()
/linux-6.3-rc2/arch/riscv/include/asm/
A Dtlbflush.h26 static inline void local_flush_tlb_all_asid(unsigned long asid) in local_flush_tlb_all_asid() argument
30 : "r" (asid) in local_flush_tlb_all_asid()
35 unsigned long asid) in local_flush_tlb_page_asid() argument
39 : "r" (addr), "r" (asid) in local_flush_tlb_page_asid()
/linux-6.3-rc2/drivers/vdpa/vdpa_sim/
A Dvdpa_sim.c495 unsigned int asid) in vdpasim_set_group_asid() argument
504 if (asid >= vdpasim->dev_attr.nas) in vdpasim_set_group_asid()
507 iommu = &vdpasim->iommu[asid]; in vdpasim_set_group_asid()
530 if (asid >= vdpasim->dev_attr.nas) in vdpasim_set_map()
535 iommu = &vdpasim->iommu[asid]; in vdpasim_set_map()
537 vdpasim->iommu_pt[asid] = false; in vdpasim_set_map()
562 if (asid >= vdpasim->dev_attr.nas) in vdpasim_dma_map()
566 if (vdpasim->iommu_pt[asid]) { in vdpasim_dma_map()
568 vdpasim->iommu_pt[asid] = false; in vdpasim_dma_map()
585 if (vdpasim->iommu_pt[asid]) { in vdpasim_dma_unmap()
[all …]
/linux-6.3-rc2/drivers/accel/habanalabs/gaudi/
A Dgaudi.c6290 asid); in gaudi_mmu_prepare()
6292 asid); in gaudi_mmu_prepare()
6294 asid); in gaudi_mmu_prepare()
6296 asid); in gaudi_mmu_prepare()
6298 asid); in gaudi_mmu_prepare()
6303 asid); in gaudi_mmu_prepare()
6305 asid); in gaudi_mmu_prepare()
6307 asid); in gaudi_mmu_prepare()
6309 asid); in gaudi_mmu_prepare()
6311 asid); in gaudi_mmu_prepare()
[all …]
/linux-6.3-rc2/arch/riscv/mm/
A Dcontext.c99 unsigned long asid, ver = atomic_long_read(&current_version); in __new_context() local
126 asid = find_next_zero_bit(context_asid_map, num_asids, cur_idx); in __new_context()
127 if (asid != num_asids) in __new_context()
137 asid = find_next_zero_bit(context_asid_map, num_asids, 1); in __new_context()
140 __set_bit(asid, context_asid_map); in __new_context()
141 cur_idx = asid; in __new_context()
142 return asid | ver; in __new_context()
A Dtlbflush.c30 unsigned long asid = atomic_long_read(&mm->context.id); in __sbi_tlb_flush_range() local
42 sbi_remote_sfence_vma_asid(cmask, start, size, asid); in __sbi_tlb_flush_range()
44 local_flush_tlb_page_asid(start, asid); in __sbi_tlb_flush_range()
46 local_flush_tlb_all_asid(asid); in __sbi_tlb_flush_range()
/linux-6.3-rc2/arch/csky/include/asm/
A Dasid.h46 u64 asid, old_active_asid; in asid_check_context() local
48 asid = atomic64_read(pasid); in asid_check_context()
66 !((asid ^ atomic64_read(&info->generation)) >> info->bits) && in asid_check_context()
68 old_active_asid, asid)) in asid_check_context()

Completed in 45 milliseconds

12345