diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-11-20 17:23:39 -0500 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2012-03-24 19:29:55 -0400 |
commit | c56334dbf7e8772ed84390bc4664427f0a7f3b25 (patch) | |
tree | 7deaf851c0baa7bab6eb9446093833e81f57683a | |
parent | 10c890c0a303070652f5374ea31a0b29350d14d9 (diff) |
um: merge processor_{32,64}.h a bit...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r-- | arch/x86/um/asm/processor.h | 10 | ||||
-rw-r--r-- | arch/x86/um/asm/processor_32.h | 10 | ||||
-rw-r--r-- | arch/x86/um/asm/processor_64.h | 10 |
3 files changed, 10 insertions, 20 deletions
diff --git a/arch/x86/um/asm/processor.h b/arch/x86/um/asm/processor.h index 2c32df6fe231..04f82e020f2b 100644 --- a/arch/x86/um/asm/processor.h +++ b/arch/x86/um/asm/processor.h | |||
@@ -17,6 +17,16 @@ | |||
17 | #define ARCH_IS_STACKGROW(address) \ | 17 | #define ARCH_IS_STACKGROW(address) \ |
18 | (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) | 18 | (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) |
19 | 19 | ||
20 | #include <asm/user.h> | ||
21 | |||
22 | /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ | ||
23 | static inline void rep_nop(void) | ||
24 | { | ||
25 | __asm__ __volatile__("rep;nop": : :"memory"); | ||
26 | } | ||
27 | |||
28 | #define cpu_relax() rep_nop() | ||
29 | |||
20 | #include <asm/processor-generic.h> | 30 | #include <asm/processor-generic.h> |
21 | 31 | ||
22 | #endif | 32 | #endif |
diff --git a/arch/x86/um/asm/processor_32.h b/arch/x86/um/asm/processor_32.h index 018f732704dd..6c6689e574ce 100644 --- a/arch/x86/um/asm/processor_32.h +++ b/arch/x86/um/asm/processor_32.h | |||
@@ -45,16 +45,6 @@ static inline void arch_copy_thread(struct arch_thread *from, | |||
45 | memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array)); | 45 | memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array)); |
46 | } | 46 | } |
47 | 47 | ||
48 | #include <asm/user.h> | ||
49 | |||
50 | /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ | ||
51 | static inline void rep_nop(void) | ||
52 | { | ||
53 | __asm__ __volatile__("rep;nop": : :"memory"); | ||
54 | } | ||
55 | |||
56 | #define cpu_relax() rep_nop() | ||
57 | |||
58 | /* | 48 | /* |
59 | * Default implementation of macro that returns current | 49 | * Default implementation of macro that returns current |
60 | * instruction pointer ("program counter"). Stolen | 50 | * instruction pointer ("program counter"). Stolen |
diff --git a/arch/x86/um/asm/processor_64.h b/arch/x86/um/asm/processor_64.h index 61de92d916c3..4b02a8455bd1 100644 --- a/arch/x86/um/asm/processor_64.h +++ b/arch/x86/um/asm/processor_64.h | |||
@@ -14,14 +14,6 @@ struct arch_thread { | |||
14 | struct faultinfo faultinfo; | 14 | struct faultinfo faultinfo; |
15 | }; | 15 | }; |
16 | 16 | ||
17 | /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ | ||
18 | static inline void rep_nop(void) | ||
19 | { | ||
20 | __asm__ __volatile__("rep;nop": : :"memory"); | ||
21 | } | ||
22 | |||
23 | #define cpu_relax() rep_nop() | ||
24 | |||
25 | #define INIT_ARCH_THREAD { .debugregs = { [ 0 ... 7 ] = 0 }, \ | 17 | #define INIT_ARCH_THREAD { .debugregs = { [ 0 ... 7 ] = 0 }, \ |
26 | .debugregs_seq = 0, \ | 18 | .debugregs_seq = 0, \ |
27 | .fs = 0, \ | 19 | .fs = 0, \ |
@@ -37,8 +29,6 @@ static inline void arch_copy_thread(struct arch_thread *from, | |||
37 | to->fs = from->fs; | 29 | to->fs = from->fs; |
38 | } | 30 | } |
39 | 31 | ||
40 | #include <asm/user.h> | ||
41 | |||
42 | #define current_text_addr() \ | 32 | #define current_text_addr() \ |
43 | ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) | 33 | ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) |
44 | 34 | ||