diff options
| -rw-r--r-- | arch/powerpc/mm/hash_native_64.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c index 3848af167df9..640cf566e986 100644 --- a/arch/powerpc/mm/hash_native_64.c +++ b/arch/powerpc/mm/hash_native_64.c | |||
| @@ -47,7 +47,8 @@ | |||
| 47 | 47 | ||
| 48 | DEFINE_RAW_SPINLOCK(native_tlbie_lock); | 48 | DEFINE_RAW_SPINLOCK(native_tlbie_lock); |
| 49 | 49 | ||
| 50 | static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize) | 50 | static inline unsigned long ___tlbie(unsigned long vpn, int psize, |
| 51 | int apsize, int ssize) | ||
| 51 | { | 52 | { |
| 52 | unsigned long va; | 53 | unsigned long va; |
| 53 | unsigned int penc; | 54 | unsigned int penc; |
| @@ -100,7 +101,15 @@ static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize) | |||
| 100 | : "memory"); | 101 | : "memory"); |
| 101 | break; | 102 | break; |
| 102 | } | 103 | } |
| 103 | trace_tlbie(0, 0, va, 0, 0, 0, 0); | 104 | return va; |
| 105 | } | ||
| 106 | |||
| 107 | static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize) | ||
| 108 | { | ||
| 109 | unsigned long rb; | ||
| 110 | |||
| 111 | rb = ___tlbie(vpn, psize, apsize, ssize); | ||
| 112 | trace_tlbie(0, 0, rb, 0, 0, 0, 0); | ||
| 104 | } | 113 | } |
| 105 | 114 | ||
| 106 | static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize) | 115 | static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize) |
| @@ -652,7 +661,7 @@ static void native_hpte_clear(void) | |||
| 652 | if (hpte_v & HPTE_V_VALID) { | 661 | if (hpte_v & HPTE_V_VALID) { |
| 653 | hpte_decode(hptep, slot, &psize, &apsize, &ssize, &vpn); | 662 | hpte_decode(hptep, slot, &psize, &apsize, &ssize, &vpn); |
| 654 | hptep->v = 0; | 663 | hptep->v = 0; |
| 655 | __tlbie(vpn, psize, apsize, ssize); | 664 | ___tlbie(vpn, psize, apsize, ssize); |
| 656 | } | 665 | } |
| 657 | } | 666 | } |
| 658 | 667 | ||
