aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-parisc/system.h19
-rw-r--r--include/asm-parisc/tlbflush.h20
2 files changed, 20 insertions, 19 deletions
diff --git a/include/asm-parisc/system.h b/include/asm-parisc/system.h
index 26ff844a21c1..a25e9dcd2e79 100644
--- a/include/asm-parisc/system.h
+++ b/include/asm-parisc/system.h
@@ -164,25 +164,6 @@ static inline void set_eiem(unsigned long val)
164#endif 164#endif
165 165
166#define KERNEL_START (0x10100000 - 0x1000) 166#define KERNEL_START (0x10100000 - 0x1000)
167
168/* This is for the serialisation of PxTLB broadcasts. At least on the
169 * N class systems, only one PxTLB inter processor broadcast can be
170 * active at any one time on the Merced bus. This tlb purge
171 * synchronisation is fairly lightweight and harmless so we activate
172 * it on all SMP systems not just the N class. */
173#ifdef CONFIG_SMP
174extern spinlock_t pa_tlb_lock;
175
176#define purge_tlb_start(x) spin_lock(&pa_tlb_lock)
177#define purge_tlb_end(x) spin_unlock(&pa_tlb_lock)
178
179#else
180
181#define purge_tlb_start(x) do { } while(0)
182#define purge_tlb_end(x) do { } while (0)
183
184#endif
185
186#define arch_align_stack(x) (x) 167#define arch_align_stack(x) (x)
187 168
188#endif 169#endif
diff --git a/include/asm-parisc/tlbflush.h b/include/asm-parisc/tlbflush.h
index efbb2d8625b1..84af4ab1fe51 100644
--- a/include/asm-parisc/tlbflush.h
+++ b/include/asm-parisc/tlbflush.h
@@ -7,6 +7,26 @@
7#include <linux/mm.h> 7#include <linux/mm.h>
8#include <asm/mmu_context.h> 8#include <asm/mmu_context.h>
9 9
10
11/* This is for the serialisation of PxTLB broadcasts. At least on the
12 * N class systems, only one PxTLB inter processor broadcast can be
13 * active at any one time on the Merced bus. This tlb purge
14 * synchronisation is fairly lightweight and harmless so we activate
15 * it on all SMP systems not just the N class. */
16#ifdef CONFIG_SMP
17extern spinlock_t pa_tlb_lock;
18
19#define purge_tlb_start(x) spin_lock(&pa_tlb_lock)
20#define purge_tlb_end(x) spin_unlock(&pa_tlb_lock)
21
22#else
23
24#define purge_tlb_start(x) do { } while(0)
25#define purge_tlb_end(x) do { } while (0)
26
27#endif
28
29
10extern void flush_tlb_all(void); 30extern void flush_tlb_all(void);
11 31
12/* 32/*