Lines Matching refs:new_asid
68 u16 *new_asid, bool *need_flush) in choose_new_asid() argument
73 *new_asid = 0; in choose_new_asid()
86 *new_asid = asid; in choose_new_asid()
96 *new_asid = this_cpu_add_return(cpu_tlbstate.next_asid, 1) - 1; in choose_new_asid()
97 if (*new_asid >= TLB_NR_DYN_ASIDS) { in choose_new_asid()
98 *new_asid = 0; in choose_new_asid()
104 static void load_new_mm_cr3(pgd_t *pgdir, u16 new_asid, bool need_flush) in load_new_mm_cr3() argument
109 invalidate_user_asid(new_asid); in load_new_mm_cr3()
110 new_mm_cr3 = build_cr3(pgdir, new_asid); in load_new_mm_cr3()
112 new_mm_cr3 = build_cr3_noflush(pgdir, new_asid); in load_new_mm_cr3()
255 u16 new_asid; in switch_mm_irqs_off() local
306 choose_new_asid(next, next_tlb_gen, &new_asid, &need_flush); in switch_mm_irqs_off()
313 this_cpu_write(cpu_tlbstate.ctxs[new_asid].ctx_id, next->context.ctx_id); in switch_mm_irqs_off()
314 this_cpu_write(cpu_tlbstate.ctxs[new_asid].tlb_gen, next_tlb_gen); in switch_mm_irqs_off()
315 load_new_mm_cr3(next->pgd, new_asid, true); in switch_mm_irqs_off()
328 load_new_mm_cr3(next->pgd, new_asid, false); in switch_mm_irqs_off()
346 this_cpu_write(cpu_tlbstate.loaded_mm_asid, new_asid); in switch_mm_irqs_off()