mirror of https://github.com/torvalds/linux.git
powerpc/64s/ptdump: Fix kernel_hash_pagetable dump for ISA v3.00 HPTE format
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.
Fixes: 6b243fcfb5 ("powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format")
Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/4c2bb9e5b3cfbc0dd80b61b67cdd3ccfc632684c.1761834163.git.ritesh.list@gmail.com
This commit is contained in:
parent
17b45ccf09
commit
eae40a6da6
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue