Lines Matching refs:vma

190 	 *   (Android Binder ended up calling this for vma->mm != tsk->mm,
208 void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
222 local_flush_tlb_mm(vma->vm_mm);
235 if (asid_mm(vma->vm_mm, cpu) != MM_CTXT_NO_ASID) {
237 tlb_entry_erase(start | hw_pid(vma->vm_mm, cpu));
278 void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
288 if (asid_mm(vma->vm_mm, cpu) != MM_CTXT_NO_ASID) {
289 tlb_entry_erase((page & PAGE_MASK) | hw_pid(vma->vm_mm, cpu));
344 void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
347 .ta_vma = vma,
351 on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_page, &ta, 1);
354 void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
358 .ta_vma = vma,
363 on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_tlb_range, &ta, 1);
367 void flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start,
371 .ta_vma = vma,
376 on_each_cpu_mask(mm_cpumask(vma->vm_mm), ipi_flush_pmd_tlb_range, &ta, 1);
394 static void create_tlb(struct vm_area_struct *vma, unsigned long vaddr, pte_t *ptep)
402 * create_tlb() assumes that current->mm == vma->mm, since
407 * -Using vma->mm->context{ASID,SASID}, as opposed to MMU reg.
411 * Let's see the use cases when current->mm != vma->mm and we land here
425 if (current->active_mm != vma->vm_mm)
472 void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma,
479 create_tlb(vma, vaddr, ptep);
489 if (vma->vm_flags & VM_EXEC) {
501 if (vma->vm_flags & VM_EXEC)
530 void update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr,
534 update_mmu_cache_range(NULL, vma, addr, &pte, HPAGE_PMD_NR);
537 void local_flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start,
547 if (likely(asid_mm(vma->vm_mm, cpu) != MM_CTXT_NO_ASID)) {
548 unsigned int asid = hw_pid(vma->vm_mm, cpu);