diff options
Diffstat (limited to 'arch/powerpc/mm/mmu_decl.h')
-rw-r--r-- | arch/powerpc/mm/mmu_decl.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index 3871dceee2dd..5961c6b739dd 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h | |||
@@ -41,7 +41,11 @@ static inline void _tlbil_pid(unsigned int pid) | |||
41 | #else /* CONFIG_40x || CONFIG_8xx */ | 41 | #else /* CONFIG_40x || CONFIG_8xx */ |
42 | extern void _tlbil_all(void); | 42 | extern void _tlbil_all(void); |
43 | extern void _tlbil_pid(unsigned int pid); | 43 | extern void _tlbil_pid(unsigned int pid); |
44 | #ifdef CONFIG_PPC_BOOK3E | ||
45 | extern void _tlbil_pid_noind(unsigned int pid); | ||
46 | #else | ||
44 | #define _tlbil_pid_noind(pid) _tlbil_pid(pid) | 47 | #define _tlbil_pid_noind(pid) _tlbil_pid(pid) |
48 | #endif | ||
45 | #endif /* !(CONFIG_40x || CONFIG_8xx) */ | 49 | #endif /* !(CONFIG_40x || CONFIG_8xx) */ |
46 | 50 | ||
47 | /* | 51 | /* |
@@ -53,7 +57,10 @@ static inline void _tlbil_va(unsigned long address, unsigned int pid, | |||
53 | { | 57 | { |
54 | asm volatile ("tlbie %0; sync" : : "r" (address) : "memory"); | 58 | asm volatile ("tlbie %0; sync" : : "r" (address) : "memory"); |
55 | } | 59 | } |
56 | #else /* CONFIG_8xx */ | 60 | #elif defined(CONFIG_PPC_BOOK3E) |
61 | extern void _tlbil_va(unsigned long address, unsigned int pid, | ||
62 | unsigned int tsize, unsigned int ind); | ||
63 | #else | ||
57 | extern void __tlbil_va(unsigned long address, unsigned int pid); | 64 | extern void __tlbil_va(unsigned long address, unsigned int pid); |
58 | static inline void _tlbil_va(unsigned long address, unsigned int pid, | 65 | static inline void _tlbil_va(unsigned long address, unsigned int pid, |
59 | unsigned int tsize, unsigned int ind) | 66 | unsigned int tsize, unsigned int ind) |
@@ -67,11 +74,16 @@ static inline void _tlbil_va(unsigned long address, unsigned int pid, | |||
67 | * implementation. When that becomes the case, this will be | 74 | * implementation. When that becomes the case, this will be |
68 | * an extern. | 75 | * an extern. |
69 | */ | 76 | */ |
77 | #ifdef CONFIG_PPC_BOOK3E | ||
78 | extern void _tlbivax_bcast(unsigned long address, unsigned int pid, | ||
79 | unsigned int tsize, unsigned int ind); | ||
80 | #else | ||
70 | static inline void _tlbivax_bcast(unsigned long address, unsigned int pid, | 81 | static inline void _tlbivax_bcast(unsigned long address, unsigned int pid, |
71 | unsigned int tsize, unsigned int ind) | 82 | unsigned int tsize, unsigned int ind) |
72 | { | 83 | { |
73 | BUG(); | 84 | BUG(); |
74 | } | 85 | } |
86 | #endif | ||
75 | 87 | ||
76 | #else /* CONFIG_PPC_MMU_NOHASH */ | 88 | #else /* CONFIG_PPC_MMU_NOHASH */ |
77 | 89 | ||