x86: Fix ASM_X86__ header guards
[linux-2.6-block.git] / arch / x86 / include / asm / current.h
CommitLineData
1965aae3
PA
1#ifndef _ASM_X86_CURRENT_H
2#define _ASM_X86_CURRENT_H
f0766440 3
96a388de 4#ifdef CONFIG_X86_32
f0766440
CL
5#include <linux/compiler.h>
6#include <asm/percpu.h>
7
8struct task_struct;
9
10DECLARE_PER_CPU(struct task_struct *, current_task);
11static __always_inline struct task_struct *get_current(void)
12{
13 return x86_read_percpu(current_task);
14}
15
16#else /* X86_32 */
17
18#ifndef __ASSEMBLY__
19#include <asm/pda.h>
20
21struct task_struct;
22
23static __always_inline struct task_struct *get_current(void)
24{
25 return read_pda(pcurrent);
26}
27
28#else /* __ASSEMBLY__ */
29
30#include <asm/asm-offsets.h>
31#define GET_CURRENT(reg) movq %gs:(pda_pcurrent),reg
32
33#endif /* __ASSEMBLY__ */
34
35#endif /* X86_32 */
36
37#define current get_current()
38
1965aae3 39#endif /* _ASM_X86_CURRENT_H */