[PATCH] tools/perf/arch/powerpc: Add register mask for power11 PVR in extended regs

Athira Rajeev atrajeev at linux.vnet.ibm.com
Sat Dec 7 00:56:37 AEDT 2024


Perf tools side uses extended mask to display the platform
supported register names (with -I? option) to the user
and also send this mask to the kernel to capture the extended registers
as part of each sample. This mask value is decided based on
the processor version ( from PVR ).

Add PVR value for power11 to enable capturing the extended regs
as part of sample in power11.

Signed-off-by: Athira Rajeev <atrajeev at linux.vnet.ibm.com>
---

 tools/perf/arch/powerpc/util/perf_regs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/powerpc/util/perf_regs.c b/tools/perf/arch/powerpc/util/perf_regs.c
index e8e6e6fc6f17..bd36cfd420a2 100644
--- a/tools/perf/arch/powerpc/util/perf_regs.c
+++ b/tools/perf/arch/powerpc/util/perf_regs.c
@@ -16,6 +16,7 @@
 
 #define PVR_POWER9		0x004E
 #define PVR_POWER10		0x0080
+#define PVR_POWER11		0x0082
 
 static const struct sample_reg sample_reg_masks[] = {
 	SMPL_REG(r0, PERF_REG_POWERPC_R0),
@@ -207,7 +208,7 @@ uint64_t arch__intr_reg_mask(void)
 	version = (((mfspr(SPRN_PVR)) >>  16) & 0xFFFF);
 	if (version == PVR_POWER9)
 		extended_mask = PERF_REG_PMU_MASK_300;
-	else if (version == PVR_POWER10)
+	else if ((version == PVR_POWER10) || (version == PVR_POWER11))
 		extended_mask = PERF_REG_PMU_MASK_31;
 	else
 		return mask;
-- 
2.43.5



More information about the Linuxppc-dev mailing list