diff options
Diffstat (limited to 'arch/arm/include/asm/percpu.h')
-rw-r--r-- | arch/arm/include/asm/percpu.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/include/asm/percpu.h b/arch/arm/include/asm/percpu.h index 209e6504922e..a89b4076cde4 100644 --- a/arch/arm/include/asm/percpu.h +++ b/arch/arm/include/asm/percpu.h | |||
@@ -30,14 +30,14 @@ static inline void set_my_cpu_offset(unsigned long off) | |||
30 | static inline unsigned long __my_cpu_offset(void) | 30 | static inline unsigned long __my_cpu_offset(void) |
31 | { | 31 | { |
32 | unsigned long off; | 32 | unsigned long off; |
33 | register unsigned long *sp asm ("sp"); | ||
34 | 33 | ||
35 | /* | 34 | /* |
36 | * Read TPIDRPRW. | 35 | * Read TPIDRPRW. |
37 | * We want to allow caching the value, so avoid using volatile and | 36 | * We want to allow caching the value, so avoid using volatile and |
38 | * instead use a fake stack read to hazard against barrier(). | 37 | * instead use a fake stack read to hazard against barrier(). |
39 | */ | 38 | */ |
40 | asm("mrc p15, 0, %0, c13, c0, 4" : "=r" (off) : "Q" (*sp)); | 39 | asm("mrc p15, 0, %0, c13, c0, 4" : "=r" (off) |
40 | : "Q" (*(const unsigned long *)current_stack_pointer)); | ||
41 | 41 | ||
42 | return off; | 42 | return off; |
43 | } | 43 | } |