1 #ifndef ASM_X86__CURRENT_H
2 #define ASM_X86__CURRENT_H
5 #include <linux/compiler.h>
6 #include <asm/percpu.h>
10 DECLARE_PER_CPU(struct task_struct *, current_task);
11 static __always_inline struct task_struct *get_current(void)
13 return x86_read_percpu(current_task);
23 static __always_inline struct task_struct *get_current(void)
25 return read_pda(pcurrent);
28 #else /* __ASSEMBLY__ */
30 #include <asm/asm-offsets.h>
31 #define GET_CURRENT(reg) movq %gs:(pda_pcurrent),reg
33 #endif /* __ASSEMBLY__ */
37 #define current get_current()
39 #endif /* ASM_X86__CURRENT_H */