Lines Matching refs:new_asid
215 u16 *new_asid, bool *need_flush) in choose_new_asid() argument
220 *new_asid = 0; in choose_new_asid()
233 *new_asid = asid; in choose_new_asid()
243 *new_asid = this_cpu_add_return(cpu_tlbstate.next_asid, 1) - 1; in choose_new_asid()
244 if (*new_asid >= TLB_NR_DYN_ASIDS) { in choose_new_asid()
245 *new_asid = 0; in choose_new_asid()
277 static void load_new_mm_cr3(pgd_t *pgdir, u16 new_asid, bool need_flush) in load_new_mm_cr3() argument
282 invalidate_user_asid(new_asid); in load_new_mm_cr3()
283 new_mm_cr3 = build_cr3(pgdir, new_asid); in load_new_mm_cr3()
285 new_mm_cr3 = build_cr3_noflush(pgdir, new_asid); in load_new_mm_cr3()
498 u16 new_asid; in switch_mm_irqs_off() local
591 new_asid = prev_asid; in switch_mm_irqs_off()
618 choose_new_asid(next, next_tlb_gen, &new_asid, &need_flush); in switch_mm_irqs_off()
626 this_cpu_write(cpu_tlbstate.ctxs[new_asid].ctx_id, next->context.ctx_id); in switch_mm_irqs_off()
627 this_cpu_write(cpu_tlbstate.ctxs[new_asid].tlb_gen, next_tlb_gen); in switch_mm_irqs_off()
628 load_new_mm_cr3(next->pgd, new_asid, true); in switch_mm_irqs_off()
633 load_new_mm_cr3(next->pgd, new_asid, false); in switch_mm_irqs_off()
642 this_cpu_write(cpu_tlbstate.loaded_mm_asid, new_asid); in switch_mm_irqs_off()