|
@@ -47,7 +47,8 @@
|
|
|
|
|
|
DEFINE_RAW_SPINLOCK(native_tlbie_lock);
|
|
|
|
|
|
-static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize)
|
|
|
+static inline unsigned long ___tlbie(unsigned long vpn, int psize,
|
|
|
+ int apsize, int ssize)
|
|
|
{
|
|
|
unsigned long va;
|
|
|
unsigned int penc;
|
|
@@ -100,7 +101,15 @@ static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize)
|
|
|
: "memory");
|
|
|
break;
|
|
|
}
|
|
|
- trace_tlbie(0, 0, va, 0, 0, 0, 0);
|
|
|
+ return va;
|
|
|
+}
|
|
|
+
|
|
|
+static inline void __tlbie(unsigned long vpn, int psize, int apsize, int ssize)
|
|
|
+{
|
|
|
+ unsigned long rb;
|
|
|
+
|
|
|
+ rb = ___tlbie(vpn, psize, apsize, ssize);
|
|
|
+ trace_tlbie(0, 0, rb, 0, 0, 0, 0);
|
|
|
}
|
|
|
|
|
|
static inline void __tlbiel(unsigned long vpn, int psize, int apsize, int ssize)
|
|
@@ -652,7 +661,7 @@ static void native_hpte_clear(void)
|
|
|
if (hpte_v & HPTE_V_VALID) {
|
|
|
hpte_decode(hptep, slot, &psize, &apsize, &ssize, &vpn);
|
|
|
hptep->v = 0;
|
|
|
- __tlbie(vpn, psize, apsize, ssize);
|
|
|
+ ___tlbie(vpn, psize, apsize, ssize);
|
|
|
}
|
|
|
}
|
|
|
|