aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/mm/hash_native_64.c15
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
48DEFINE_RAW_SPINLOCK(native_tlbie_lock); 48DEFINE_RAW_SPINLOCK(native_tlbie_lock);
49 49
50static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize) 50static 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
107static 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
106static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize) 115static 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