Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04d472dc authored by Grant Grundler's avatar Grant Grundler Committed by Kyle McMartin
Browse files

[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: default avatarGrant Grundler <grundler@parisc-linux.org>

Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent 896a3756
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
@@ -164,25 +164,6 @@ static inline void set_eiem(unsigned long val)
#endif

#define KERNEL_START (0x10100000 - 0x1000)

/* This is for the serialisation of PxTLB broadcasts.  At least on the
 * N class systems, only one PxTLB inter processor broadcast can be
 * active at any one time on the Merced bus.  This tlb purge
 * synchronisation is fairly lightweight and harmless so we activate
 * it on all SMP systems not just the N class. */
#ifdef CONFIG_SMP
extern spinlock_t pa_tlb_lock;

#define purge_tlb_start(x) spin_lock(&pa_tlb_lock)
#define purge_tlb_end(x) spin_unlock(&pa_tlb_lock)

#else

#define purge_tlb_start(x) do { } while(0)
#define purge_tlb_end(x) do { } while (0)

#endif

#define arch_align_stack(x) (x)

#endif
+20 −0
Original line number Diff line number Diff line
@@ -7,6 +7,26 @@
#include <linux/mm.h>
#include <asm/mmu_context.h>


/* This is for the serialisation of PxTLB broadcasts.  At least on the
 * N class systems, only one PxTLB inter processor broadcast can be
 * active at any one time on the Merced bus.  This tlb purge
 * synchronisation is fairly lightweight and harmless so we activate
 * it on all SMP systems not just the N class. */
#ifdef CONFIG_SMP
extern spinlock_t pa_tlb_lock;

#define purge_tlb_start(x) spin_lock(&pa_tlb_lock)
#define purge_tlb_end(x) spin_unlock(&pa_tlb_lock)

#else

#define purge_tlb_start(x) do { } while(0)
#define purge_tlb_end(x) do { } while (0)

#endif


extern void flush_tlb_all(void);

/*