1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_CURRENT_H 3 #define __ASM_CURRENT_H 4 5 #include <linux/compiler.h> 6 #include <linux/threads.h> 7 8 #ifndef __ASSEMBLER__ 9 10 #include <shared/smp.h> 11 12 struct task_struct; 13 extern struct task_struct *cpu_tasks[NR_CPUS]; 14 15 static __always_inline struct task_struct *get_current(void) 16 { 17 return cpu_tasks[uml_curr_cpu()]; 18 } 19 20 #define current get_current() 21 22 #endif /* __ASSEMBLER__ */ 23 24 #endif /* __ASM_CURRENT_H */ 25