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 <atraj...@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


Reply via email to