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 */