Lines Matching refs:new_asid
206 u16 *new_asid, bool *need_flush) in choose_new_asid() argument
211 *new_asid = 0; in choose_new_asid()
224 *new_asid = asid; in choose_new_asid()
234 *new_asid = this_cpu_add_return(cpu_tlbstate.next_asid, 1) - 1; in choose_new_asid()
235 if (*new_asid >= TLB_NR_DYN_ASIDS) { in choose_new_asid()
236 *new_asid = 0; in choose_new_asid()
268 static void load_new_mm_cr3(pgd_t *pgdir, u16 new_asid, bool need_flush) in load_new_mm_cr3() argument
273 invalidate_user_asid(new_asid); in load_new_mm_cr3()
274 new_mm_cr3 = build_cr3(pgdir, new_asid); in load_new_mm_cr3()
276 new_mm_cr3 = build_cr3_noflush(pgdir, new_asid); in load_new_mm_cr3()
431 u16 new_asid; in switch_mm_irqs_off() local
523 new_asid = prev_asid; in switch_mm_irqs_off()
551 choose_new_asid(next, next_tlb_gen, &new_asid, &need_flush); in switch_mm_irqs_off()
559 this_cpu_write(cpu_tlbstate.ctxs[new_asid].ctx_id, next->context.ctx_id); in switch_mm_irqs_off()
560 this_cpu_write(cpu_tlbstate.ctxs[new_asid].tlb_gen, next_tlb_gen); in switch_mm_irqs_off()
561 load_new_mm_cr3(next->pgd, new_asid, true); in switch_mm_irqs_off()
566 load_new_mm_cr3(next->pgd, new_asid, false); in switch_mm_irqs_off()
575 this_cpu_write(cpu_tlbstate.loaded_mm_asid, new_asid); in switch_mm_irqs_off()