powerpc/perf: MMCR0 control for PMU registers under PMCC=00
authorAthira Rajeev <atrajeev@linux.vnet.ibm.com>
Thu, 26 Nov 2020 16:54:44 +0000 (11:54 -0500)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 3 Dec 2020 14:01:29 +0000 (01:01 +1100)
commit91668ab7db4bcfae332e561df1de2401f3f18553
tree1e7f7b45b14dd24c50d393613416d14e169e6b46
parent9a8ee52634235993273c43ef67669d8168497dd7
powerpc/perf: MMCR0 control for PMU registers under PMCC=00

PowerISA v3.1 introduces new control bit (PMCCEXT) for restricting
access to group B PMU registers in problem state when
MMCR0 PMCC=0b00. In problem state and when MMCR0 PMCC=0b00,
setting the Monitor Mode Control Register bit 54 (MMCR0 PMCCEXT),
will restrict read permission on Group B Performance Monitor
Registers (SIER, SIAR, SDAR and MMCR1). When this bit is set to zero,
group B registers will be readable. In other platforms (like power9),
the older behaviour is retained where group B PMU SPRs are readable.

Patch adds support for MMCR0 PMCCEXT bit in power10 by enabling
this bit during boot and during the PMU event enable/disable callback
functions.

Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1606409684-1589-8-git-send-email-atrajeev@linux.vnet.ibm.com
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/cpu_setup_power.c
arch/powerpc/kernel/dt_cpu_ftrs.c
arch/powerpc/perf/core-book3s.c
arch/powerpc/perf/isa207-common.c