HPTE format was changed since Power9 (ISA 3.0) onwards. While dumping
kernel hash page tables, nothing gets printed on powernv P9+. This patch
utilizes the helpers added in the patch tagged as fixes, to convert new
format to old format and dump the hptes. This fix is only needed for
native_find() (powernv), since pseries continues to work fine with the
old format.

Cc: Madhavan Srinivasan <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Nicholas Piggin <[email protected]>
Cc: Christophe Leroy <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Aneesh Kumar K.V <[email protected]>
Cc: Donet Tom <[email protected]>
Cc: <[email protected]>
Fixes: 6b243fcfb5f1e ("powerpc/64: Simplify adaptation to new ISA v3.00 HPTE 
format")
Signed-off-by: Ritesh Harjani (IBM) <[email protected]>
---
 arch/powerpc/mm/ptdump/hashpagetable.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/powerpc/mm/ptdump/hashpagetable.c 
b/arch/powerpc/mm/ptdump/hashpagetable.c
index a6baa6166d94..671d0dc00c6d 100644
--- a/arch/powerpc/mm/ptdump/hashpagetable.c
+++ b/arch/powerpc/mm/ptdump/hashpagetable.c
@@ -216,6 +216,8 @@ static int native_find(unsigned long ea, int psize, bool 
primary, u64 *v, u64
        vpn  = hpt_vpn(ea, vsid, ssize);
        hash = hpt_hash(vpn, shift, ssize);
        want_v = hpte_encode_avpn(vpn, psize, ssize);
+       if (cpu_has_feature(CPU_FTR_ARCH_300))
+               want_v = hpte_old_to_new_v(want_v);
 
        /* to check in the secondary hash table, we invert the hash */
        if (!primary)
@@ -229,6 +231,10 @@ static int native_find(unsigned long ea, int psize, bool 
primary, u64 *v, u64
                        /* HPTE matches */
                        *v = be64_to_cpu(hptep->v);
                        *r = be64_to_cpu(hptep->r);
+                       if (cpu_has_feature(CPU_FTR_ARCH_300)) {
+                               *v = hpte_new_to_old_v(*v, *r);
+                               *r = hpte_new_to_old_r(*r);
+                       }
                        return 0;
                }
                ++hpte_group;
-- 
2.51.0


Reply via email to