aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Grundler <grundler@parisc-linux.org>2005-10-21 22:40:24 -0400
committerKyle McMartin <kyle@parisc-linux.org>2005-10-21 22:40:24 -0400
commit04d472dc83388c59deb6241e9aed841926aa1c8c (patch)
treeb6ebff62c0f62416f9c84bb24e1d6b2901661e02
parent896a375623c3643a3f189353e7d4828c48a7fdf8 (diff)
[PARISC] Move pa_tlb_lock to tlb_flush.h
move pa_tlb_lock and it's primary consumers to tlb_flush.h Future step will be to move spinlock_t definition out of system.h. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
-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/*