From: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Paul Mackerras <paulus@ozlabs.org>,
"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
Donet Tom <donettom@linux.ibm.com>
Subject: [RFC 4/8] powerpc/ptdump/64: Fix kernel_hash_pagetable dump for ISA v3.00 HPTE format
Date: Sat, 30 Aug 2025 09:21:43 +0530 [thread overview]
Message-ID: <91cdba6f4a58d3e11ae95be99df3852c49baf2a7.1756522067.git.ritesh.list@gmail.com> (raw)
In-Reply-To: <cover.1756522067.git.ritesh.list@gmail.com>
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 <maddy@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Paul Mackerras <paulus@ozlabs.org>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@kernel.org>
Cc: Donet Tom <donettom@linux.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Fixes: 6b243fcfb5f1e ("powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format")
Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
---
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.50.1
next prev parent reply other threads:[~2025-08-30 3:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-30 3:51 [PATCH 0/8] powerpc/book3s64: Hash / SLB fixes & improvements Ritesh Harjani (IBM)
2025-08-30 3:51 ` [RFC 1/8] powerpc/mm: Fix SLB multihit issue during SLB preload Ritesh Harjani (IBM)
2025-08-30 3:51 ` [RFC 2/8] book3s64/hash: Restrict stress_hpt_struct memblock region to within RMA limit Ritesh Harjani (IBM)
2025-08-30 3:51 ` [RFC 3/8] book3s64/hash: Fix phys_addr_t printf format in htab_initialize() Ritesh Harjani (IBM)
2025-08-30 6:26 ` Christophe Leroy
2025-08-30 7:30 ` Ritesh Harjani
2025-08-30 3:51 ` Ritesh Harjani (IBM) [this message]
2025-08-30 3:51 ` [RFC 5/8] powerpc/ptdump: Dump PXX level info for kernel_page_tables Ritesh Harjani (IBM)
2025-08-30 6:31 ` Christophe Leroy
2025-08-30 7:25 ` Ritesh Harjani
2025-08-30 3:51 ` [RFC 6/8] powerpc/book3s64/slb: Make preload_add return type as void Ritesh Harjani (IBM)
2025-08-30 6:36 ` Christophe Leroy
2025-08-30 7:27 ` Ritesh Harjani
2025-08-30 3:51 ` [RFC 7/8] powerpc/book3s64/slb: Add no_slb_preload early cmdline param Ritesh Harjani (IBM)
2025-08-30 6:42 ` Christophe Leroy
2025-08-30 10:11 ` Ritesh Harjani
2025-08-30 3:51 ` [RFC 8/8] powerpc/book3s64/slb: Add slb faults to vmstat Ritesh Harjani (IBM)
2025-08-30 4:45 ` Stephen Rothwell
2025-08-30 4:56 ` Ritesh Harjani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=91cdba6f4a58d3e11ae95be99df3852c49baf2a7.1756522067.git.ritesh.list@gmail.com \
--to=ritesh.list@gmail.com \
--cc=aneesh.kumar@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=donettom@linux.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=paulus@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox