diff options
Diffstat (limited to 'arch/arm/include/asm/processor.h')
-rw-r--r-- | arch/arm/include/asm/processor.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/arch/arm/include/asm/processor.h b/arch/arm/include/asm/processor.h index 26164c92fa30..c3d5fc124a05 100644 --- a/arch/arm/include/asm/processor.h +++ b/arch/arm/include/asm/processor.h | |||
@@ -112,12 +112,19 @@ static inline void prefetch(const void *ptr) | |||
112 | :: "p" (ptr)); | 112 | :: "p" (ptr)); |
113 | } | 113 | } |
114 | 114 | ||
115 | #if __LINUX_ARM_ARCH__ >= 7 && defined(CONFIG_SMP) | ||
115 | #define ARCH_HAS_PREFETCHW | 116 | #define ARCH_HAS_PREFETCHW |
116 | #define prefetchw(ptr) prefetch(ptr) | 117 | static inline void prefetchw(const void *ptr) |
117 | 118 | { | |
118 | #define ARCH_HAS_SPINLOCK_PREFETCH | 119 | __asm__ __volatile__( |
119 | #define spin_lock_prefetch(x) do { } while (0) | 120 | ".arch_extension mp\n" |
120 | 121 | __ALT_SMP_ASM( | |
122 | WASM(pldw) "\t%a0", | ||
123 | WASM(pld) "\t%a0" | ||
124 | ) | ||
125 | :: "p" (ptr)); | ||
126 | } | ||
127 | #endif | ||
121 | #endif | 128 | #endif |
122 | 129 | ||
123 | #define HAVE_ARCH_PICK_MMAP_LAYOUT | 130 | #define HAVE_ARCH_PICK_MMAP_LAYOUT |