diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-05-09 22:09:48 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-25 02:58:35 -0400 |
commit | f0766440dda7ace8a43b030f75e2dcb82449fb85 (patch) | |
tree | 7965d522a3ec8323aa965949b96d500fa5f3a304 /include/asm-x86/current.h | |
parent | bfe4bb1526945e446d2912bef2e1e2cbd2c7349e (diff) |
x86: unify current.h
Simply stitch these together. There are just two definitions that are shared
but the file is resonably small and putting these things together shows that
further unifications requires a unification of the per cpu / pda handling
between both arches.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/current.h')
-rw-r--r-- | include/asm-x86/current.h | 42 |
1 files changed, 38 insertions, 4 deletions
diff --git a/include/asm-x86/current.h b/include/asm-x86/current.h index d2526d3f7346..7515c19d4988 100644 --- a/include/asm-x86/current.h +++ b/include/asm-x86/current.h | |||
@@ -1,5 +1,39 @@ | |||
1 | #ifndef _X86_CURRENT_H | ||
2 | #define _X86_CURRENT_H | ||
3 | |||
1 | #ifdef CONFIG_X86_32 | 4 | #ifdef CONFIG_X86_32 |
2 | # include "current_32.h" | 5 | #include <linux/compiler.h> |
3 | #else | 6 | #include <asm/percpu.h> |
4 | # include "current_64.h" | 7 | |
5 | #endif | 8 | struct task_struct; |
9 | |||
10 | DECLARE_PER_CPU(struct task_struct *, current_task); | ||
11 | static __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 | |||
21 | struct task_struct; | ||
22 | |||
23 | static __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 | |||
39 | #endif /* X86_CURRENT_H */ | ||