/arch/mips/include/asm/ |
D | switch_to.h | 33 struct task_struct *next, struct thread_info *next_ti); 62 next->thread.emulated_fp = 0; \ 88 # define __sanitize_fcr31(next) \ argument 90 unsigned long fcr31 = mask_fcr31_x(next->thread.fpu.fcr31); \ 94 pc = (void __user *)task_pt_regs(next)->cp0_epc; \ 95 next->thread.fpu.fcr31 &= ~fcr31; \ 96 force_fcr31_sig(fcr31, pc, next); \ 100 # define __sanitize_fcr31(next) argument 109 #define switch_to(prev, next, last) \ argument 113 if (tsk_used_math(next)) \ [all …]
|
/arch/x86/mm/ |
D | ident_map.c | 24 unsigned long next; in ident_pud_init() local 26 for (; addr < end; addr = next) { in ident_pud_init() 30 next = (addr & PUD_MASK) + PUD_SIZE; in ident_pud_init() 31 if (next > end) in ident_pud_init() 32 next = end; in ident_pud_init() 48 ident_pmd_init(info, pmd, addr, next); in ident_pud_init() 54 ident_pmd_init(info, pmd, addr, next); in ident_pud_init() 64 unsigned long next; in ident_p4d_init() local 66 for (; addr < end; addr = next) { in ident_p4d_init() 70 next = (addr & P4D_MASK) + P4D_SIZE; in ident_p4d_init() [all …]
|
D | kasan_init_64.c | 79 unsigned long next; in kasan_populate_pud() local 100 next = pmd_addr_end(addr, end); in kasan_populate_pud() 102 kasan_populate_pmd(pmd, addr, next, nid); in kasan_populate_pud() 103 } while (pmd++, addr = next, addr != end); in kasan_populate_pud() 110 unsigned long next; in kasan_populate_p4d() local 120 next = pud_addr_end(addr, end); in kasan_populate_p4d() 122 kasan_populate_pud(pud, addr, next, nid); in kasan_populate_p4d() 123 } while (pud++, addr = next, addr != end); in kasan_populate_p4d() 131 unsigned long next; in kasan_populate_pgd() local 140 next = p4d_addr_end(addr, end); in kasan_populate_pgd() [all …]
|
D | tlb.c | 76 static void choose_new_asid(struct mm_struct *next, u64 next_tlb_gen, in choose_new_asid() argument 92 next->context.ctx_id) in choose_new_asid() 154 void switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 160 switch_mm_irqs_off(prev, next, tsk); in switch_mm() 192 static inline unsigned long mm_mangle_tif_spec_ib(struct task_struct *next) in mm_mangle_tif_spec_ib() argument 194 unsigned long next_tif = task_thread_info(next)->flags; in mm_mangle_tif_spec_ib() 197 return (unsigned long)next->mm | ibpb; in mm_mangle_tif_spec_ib() 200 static void cond_ibpb(struct task_struct *next) in cond_ibpb() argument 202 if (!next || !next->mm) in cond_ibpb() 248 next_mm = mm_mangle_tif_spec_ib(next); in cond_ibpb() [all …]
|
/arch/parisc/include/asm/ |
D | mmu_context.h | 54 struct mm_struct *next, struct task_struct *tsk) in switch_mm_irqs_off() argument 56 if (prev != next) { in switch_mm_irqs_off() 57 mtctl(__pa(next->pgd), 25); in switch_mm_irqs_off() 58 load_context(next->context); in switch_mm_irqs_off() 63 struct mm_struct *next, struct task_struct *tsk) in switch_mm() argument 67 if (prev == next) in switch_mm() 71 switch_mm_irqs_off(prev, next, tsk); in switch_mm() 78 static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next) in activate_mm() argument 88 BUG_ON(next == &init_mm); /* Should never happen */ in activate_mm() 90 if (next->context == 0) in activate_mm() [all …]
|
/arch/ia64/include/asm/ |
D | switch_to.h | 45 #define __switch_to(prev,next,last) do { \ argument 48 if (IA64_HAS_EXTRA_STATE(next)) \ 49 ia64_load_extra(next); \ 50 ia64_psr(task_pt_regs(next))->dfh = !ia64_is_local_fpu_owner(next); \ 51 (last) = ia64_switch_to((next)); \ 61 # define switch_to(prev,next,last) do { \ argument 67 __switch_to(prev, next, last); \ 76 # define switch_to(prev,next,last) __switch_to(prev, next, last) argument
|
/arch/powerpc/mm/ |
D | mmu_context.c | 34 void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next, in switch_mm_irqs_off() argument 40 if (!cpumask_test_cpu(smp_processor_id(), mm_cpumask(next))) { in switch_mm_irqs_off() 41 cpumask_set_cpu(smp_processor_id(), mm_cpumask(next)); in switch_mm_irqs_off() 42 inc_mm_active_cpus(next); in switch_mm_irqs_off() 71 switch_mm_pgdir(tsk, next); in switch_mm_irqs_off() 74 if (prev == next) in switch_mm_irqs_off() 85 radix_kvm_prefetch_workaround(next); in switch_mm_irqs_off() 87 membarrier_arch_switch_mm(prev, next, tsk); in switch_mm_irqs_off() 93 switch_mmu_context(prev, next, tsk); in switch_mm_irqs_off()
|
/arch/sh/mm/ |
D | tlb-sh5.c | 27 cpu_data->dtlb.next = cpu_data->dtlb.first; in sh64_tlb_init() 38 cpu_data->itlb.next = cpu_data->itlb.first; in sh64_tlb_init() 51 return cpu_data->dtlb.next; in sh64_next_free_dtlb_entry() 62 cpu_data->dtlb.next += cpu_data->dtlb.step; in sh64_get_wired_dtlb_entry() 104 cpu_data->dtlb.next = entry; in sh64_put_wired_dtlb_entry() 191 unsigned long long next; in __update_tlb() local 214 next = tlbp->next; in __update_tlb() 215 __flush_tlb_slot(next); in __update_tlb() 218 : : "r" (next), "r" (pteh), "r" (ptel) ); in __update_tlb() 220 next += TLB_STEP; in __update_tlb() [all …]
|
/arch/nios2/mm/ |
D | mmu_context.c | 80 void switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 89 if (unlikely(CTX_VERSION(next->context) != in switch_mm() 91 next->context = get_new_context(); in switch_mm() 94 pgd_current = next->pgd; in switch_mm() 97 set_context(next->context); in switch_mm() 106 void activate_mm(struct mm_struct *prev, struct mm_struct *next) in activate_mm() argument 108 next->context = get_new_context(); in activate_mm() 109 set_context(next->context); in activate_mm() 110 pgd_current = next->pgd; in activate_mm()
|
/arch/sh/include/asm/ |
D | switch_to_64.h | 18 struct task_struct *next, 21 #define switch_to(prev,next,last) \ argument 23 if (last_task_used_math != next) { \ 24 struct pt_regs *regs = next->thread.uregs; \ 27 last = sh64_switch_to(prev, &prev->thread, next, \ 28 &next->thread); \
|
D | mmu_context.h | 122 struct mm_struct *next, in switch_mm() argument 127 if (likely(prev != next)) { in switch_mm() 128 cpumask_set_cpu(cpu, mm_cpumask(next)); in switch_mm() 129 set_TTB(next->pgd); in switch_mm() 130 activate_context(next, cpu); in switch_mm() 132 if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next))) in switch_mm() 133 activate_context(next, cpu); in switch_mm() 136 #define activate_mm(prev, next) switch_mm((prev),(next),NULL) argument
|
/arch/arm/mm/ |
D | idmap.c | 28 unsigned long next; in idmap_add_pmd() local 49 next = pmd_addr_end(addr, end); in idmap_add_pmd() 52 } while (pmd++, addr = next, addr != end); in idmap_add_pmd() 72 unsigned long next; in idmap_add_pud() local 75 next = pud_addr_end(addr, end); in idmap_add_pud() 76 idmap_add_pmd(pud, addr, next, prot); in idmap_add_pud() 77 } while (pud++, addr = next, addr != end); in idmap_add_pud() 84 unsigned long next; in identity_mapping_add() local 97 next = pgd_addr_end(addr, end); in identity_mapping_add() 98 idmap_add_pud(pgd, addr, next, prot); in identity_mapping_add() [all …]
|
/arch/csky/include/asm/ |
D | mmu_context.h | 27 #define activate_mm(prev,next) switch_mm(prev, next, current) argument 36 switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 41 if (prev != next) in switch_mm() 42 check_and_switch_context(next, cpu); in switch_mm() 44 TLBMISS_HANDLER_SETUP_PGD(next->pgd); in switch_mm() 45 write_mmu_entryhi(next->context.asid.counter); in switch_mm()
|
D | switch_to.h | 11 struct task_struct *next) in __switch_to_fpu() argument 14 restore_from_user_fp(&next->thread.user_fp); in __switch_to_fpu() 18 struct task_struct *next) in __switch_to_fpu() argument 28 #define switch_to(prev, next, last) \ argument 31 struct task_struct *__next = (next); \ 33 ((last) = __switch_to((prev), (next))); \
|
/arch/hexagon/include/asm/ |
D | mmu_context.h | 55 static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 64 if (next->context.generation < prev->context.generation) { in switch_mm() 66 next->pgd[l1] = init_mm.pgd[l1]; in switch_mm() 68 next->context.generation = prev->context.generation; in switch_mm() 71 __vmnewmap((void *)next->context.ptbase); in switch_mm() 77 static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next) in activate_mm() argument 82 switch_mm(prev, next, current_thread_info()->task); in activate_mm()
|
/arch/arm64/kernel/ |
D | process.c | 427 static void tls_thread_switch(struct task_struct *next) in tls_thread_switch() argument 431 if (is_compat_thread(task_thread_info(next))) in tls_thread_switch() 432 write_sysreg(next->thread.uw.tp_value, tpidrro_el0); in tls_thread_switch() 436 write_sysreg(*task_user_tls(next), tpidr_el0); in tls_thread_switch() 440 void uao_thread_switch(struct task_struct *next) in uao_thread_switch() argument 443 if (task_thread_info(next)->addr_limit == KERNEL_DS) in uao_thread_switch() 454 static void ssbs_thread_switch(struct task_struct *next) in ssbs_thread_switch() argument 456 struct pt_regs *regs = task_pt_regs(next); in ssbs_thread_switch() 462 if (unlikely(next->flags & PF_KTHREAD)) in ssbs_thread_switch() 467 test_tsk_thread_flag(next, TIF_SSBD)) in ssbs_thread_switch() [all …]
|
/arch/arm64/include/asm/ |
D | mmu_context.h | 29 static inline void contextidr_thread_switch(struct task_struct *next) in contextidr_thread_switch() argument 34 write_sysreg(task_pid_nr(next), contextidr_el1); in contextidr_thread_switch() 213 static inline void __switch_mm(struct mm_struct *next) in __switch_mm() argument 221 if (next == &init_mm) { in __switch_mm() 226 check_and_switch_context(next, cpu); in __switch_mm() 230 switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 233 if (prev != next) in switch_mm() 234 __switch_mm(next); in switch_mm() 242 update_saved_ttbr0(tsk, next); in switch_mm() 246 #define activate_mm(prev,next) switch_mm(prev, next, current) argument
|
/arch/s390/include/asm/ |
D | switch_to.h | 33 #define switch_to(prev, next, last) do { \ argument 42 update_cr_regs(next); \ 43 restore_access_regs(&next->thread.acrs[0]); \ 44 restore_ri_cb(next->thread.ri_cb, prev->thread.ri_cb); \ 45 restore_gs_cb(next->thread.gs_cb); \ 46 prev = __switch_to(prev, next); \
|
/arch/unicore32/include/asm/ |
D | mmu_context.h | 46 switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 51 if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next)) || prev != next) in switch_mm() 52 cpu_switch_mm(next->pgd, next); in switch_mm() 56 #define activate_mm(prev, next) switch_mm(prev, next, NULL) argument
|
/arch/nds32/include/asm/ |
D | mmu_context.h | 54 static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 59 if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next)) || prev != next) { in switch_mm() 60 check_context(next); in switch_mm() 61 cpu_switch_mm(next); in switch_mm() 66 #define activate_mm(prev,next) switch_mm(prev, next, NULL) argument
|
/arch/x86/include/asm/ |
D | switch_to.h | 10 struct task_struct *next); 13 struct task_struct *next); 16 static inline void prepare_switch_to(struct task_struct *next) in prepare_switch_to() argument 32 READ_ONCE(*(unsigned char *)next->thread.sp); in prepare_switch_to() 68 #define switch_to(prev, next, last) \ argument 70 prepare_switch_to(next); \ 72 ((last) = __switch_to_asm((prev), (next))); \
|
/arch/arm/include/asm/ |
D | mmu_context.h | 105 #define activate_mm(prev,next) switch_mm(prev, next, NULL) argument 128 switch_mm(struct mm_struct *prev, struct mm_struct *next, in switch_mm() argument 140 !cpumask_empty(mm_cpumask(next)) && in switch_mm() 141 !cpumask_test_cpu(cpu, mm_cpumask(next))) in switch_mm() 144 if (!cpumask_test_and_set_cpu(cpu, mm_cpumask(next)) || prev != next) { in switch_mm() 145 check_and_switch_context(next, tsk); in switch_mm()
|
/arch/alpha/kernel/ |
D | err_common.c | 159 struct el_subpacket *next = NULL; in el_process_subpacket_reg() local 162 for (; h && h->class != header->class; h = h->next); in el_process_subpacket_reg() 163 if (h) next = h->handler(header); in el_process_subpacket_reg() 165 return next; in el_process_subpacket_reg() 197 struct el_subpacket *next = NULL; in el_process_subpacket() local 204 next = el_process_header_subpacket(header); in el_process_subpacket() 207 if (NULL == (next = el_process_subpacket_reg(header))) { in el_process_subpacket() 216 return next; in el_process_subpacket() 225 for (a = subpacket_annotation_list; a; a = a->next) { in el_annotate_subpacket() 286 for (; a->next != NULL; a = a->next) { in cdl_register_subpacket_annotation() [all …]
|
/arch/sparc/include/asm/ |
D | switch_to_64.h | 7 #define prepare_arch_switch(next) \ argument 21 #define switch_to(prev, next, last) \ argument 26 : : "r" (task_thread_info(next)->current_ds));\ 28 task_thread_info(next); \ 59 : "0" (task_thread_info(next)), \
|
/arch/s390/mm/ |
D | page-states.c | 106 unsigned long next; in mark_kernel_pmd() local 112 next = pmd_addr_end(addr, end); in mark_kernel_pmd() 117 } while (pmd++, addr = next, addr != end); in mark_kernel_pmd() 122 unsigned long next; in mark_kernel_pud() local 129 next = pud_addr_end(addr, end); in mark_kernel_pud() 137 mark_kernel_pmd(pud, addr, next); in mark_kernel_pud() 138 } while (pud++, addr = next, addr != end); in mark_kernel_pud() 143 unsigned long next; in mark_kernel_p4d() local 150 next = p4d_addr_end(addr, end); in mark_kernel_p4d() 158 mark_kernel_pud(p4d, addr, next); in mark_kernel_p4d() [all …]
|