-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
powerpc/mm: Hash abstraction for tlbflush routines
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
- Loading branch information
Aneesh Kumar K.V
authored and
Michael Ellerman
committed
May 1, 2016
1 parent
f5df4b4
commit 676012a
Showing
4 changed files
with
73 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#ifndef _ASM_POWERPC_BOOK3S_64_TLBFLUSH_H | ||
#define _ASM_POWERPC_BOOK3S_64_TLBFLUSH_H | ||
|
||
#include <asm/book3s/64/tlbflush-hash.h> | ||
|
||
static inline void flush_tlb_range(struct vm_area_struct *vma, | ||
unsigned long start, unsigned long end) | ||
{ | ||
return hash__flush_tlb_range(vma, start, end); | ||
} | ||
|
||
static inline void flush_tlb_kernel_range(unsigned long start, | ||
unsigned long end) | ||
{ | ||
return hash__flush_tlb_kernel_range(start, end); | ||
} | ||
|
||
static inline void local_flush_tlb_mm(struct mm_struct *mm) | ||
{ | ||
return hash__local_flush_tlb_mm(mm); | ||
} | ||
|
||
static inline void local_flush_tlb_page(struct vm_area_struct *vma, | ||
unsigned long vmaddr) | ||
{ | ||
return hash__local_flush_tlb_page(vma, vmaddr); | ||
} | ||
|
||
static inline void flush_tlb_page_nohash(struct vm_area_struct *vma, | ||
unsigned long vmaddr) | ||
{ | ||
return hash__flush_tlb_page_nohash(vma, vmaddr); | ||
} | ||
|
||
static inline void tlb_flush(struct mmu_gather *tlb) | ||
{ | ||
return hash__tlb_flush(tlb); | ||
} | ||
|
||
#ifdef CONFIG_SMP | ||
static inline void flush_tlb_mm(struct mm_struct *mm) | ||
{ | ||
return hash__flush_tlb_mm(mm); | ||
} | ||
|
||
static inline void flush_tlb_page(struct vm_area_struct *vma, | ||
unsigned long vmaddr) | ||
{ | ||
return hash__flush_tlb_page(vma, vmaddr); | ||
} | ||
#else | ||
#define flush_tlb_mm(mm) local_flush_tlb_mm(mm) | ||
#define flush_tlb_page(vma, addr) local_flush_tlb_page(vma, addr) | ||
#endif /* CONFIG_SMP */ | ||
|
||
#endif /* _ASM_POWERPC_BOOK3S_64_TLBFLUSH_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters