mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
powerpc/64s/ptdump: Fix kernel_hash_pagetable dump for ISA v3.00 HPTE format
[ Upstream commit eae40a6da63faa9fb63ff61f8fa2b3b57da78a84 ]
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
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e95d7d5821
commit
800153219f
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user