microblaze: Fix TLB macros
To be able to do trace TLB operations. Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
@@ -24,6 +24,7 @@ extern void _tlbie(unsigned long address);
|
|||||||
extern void _tlbia(void);
|
extern void _tlbia(void);
|
||||||
|
|
||||||
#define __tlbia() { preempt_disable(); _tlbia(); preempt_enable(); }
|
#define __tlbia() { preempt_disable(); _tlbia(); preempt_enable(); }
|
||||||
|
#define __tlbie(x) { _tlbie(x); }
|
||||||
|
|
||||||
static inline void local_flush_tlb_all(void)
|
static inline void local_flush_tlb_all(void)
|
||||||
{ __tlbia(); }
|
{ __tlbia(); }
|
||||||
@@ -31,7 +32,7 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm)
|
|||||||
{ __tlbia(); }
|
{ __tlbia(); }
|
||||||
static inline void local_flush_tlb_page(struct vm_area_struct *vma,
|
static inline void local_flush_tlb_page(struct vm_area_struct *vma,
|
||||||
unsigned long vmaddr)
|
unsigned long vmaddr)
|
||||||
{ _tlbie(vmaddr); }
|
{ __tlbie(vmaddr); }
|
||||||
static inline void local_flush_tlb_range(struct vm_area_struct *vma,
|
static inline void local_flush_tlb_range(struct vm_area_struct *vma,
|
||||||
unsigned long start, unsigned long end)
|
unsigned long start, unsigned long end)
|
||||||
{ __tlbia(); }
|
{ __tlbia(); }
|
||||||
|
Reference in New Issue
Block a user