linux/arch/powerpc
Athira Rajeev 1cade527f6 powerpc/perf: BHRB control to disable BHRB logic when not used
PowerISA v3.1 has few updates for the Branch History Rolling
Buffer(BHRB).

BHRB disable is controlled via Monitor Mode Control Register A (MMCRA)
bit, namely "BHRB Recording Disable (BHRBRD)". This field controls
whether BHRB entries are written when BHRB recording is enabled by
other bits. This patch implements support for this BHRB disable bit.
By setting 0b1 to this bit will disable the BHRB and by setting 0b0 to
this bit will have BHRB enabled. This addresses backward
compatibility (for older OS), since this bit will be cleared and
hardware will be writing to BHRB by default.

This patch addresses changes to set MMCRA (BHRBRD) at boot for
power10 (there by the core will run faster) and enable this feature
only on runtime ie, on explicit need from user. Also save/restore
MMCRA in the restore path of state-loss idle state to make sure we
keep BHRB disabled if it was not enabled on request at runtime.

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/1594996707-3727-12-git-send-email-atrajeev@linux.vnet.ibm.com
2020-07-22 21:56:42 +10:00
..
boot powerpc/boot/dts: Fix dtc "pciex" warnings 2020-06-30 14:38:00 +10:00
configs powerpc/64s/hash: Disable subpage_prot syscall by default 2020-07-22 00:01:25 +10:00
crypto powerpc: Replace HTTP links with HTTPS ones 2020-07-22 00:01:23 +10:00
include powerpc/perf: Add Power10 PMU feature to DT CPU features 2020-07-22 21:56:41 +10:00
kernel powerpc/perf: Add Power10 PMU feature to DT CPU features 2020-07-22 21:56:41 +10:00
kexec powerpc/book3s64/keys/kuap: Reset AMR/IAMR values on kexec 2020-07-20 22:57:59 +10:00
kvm KVM: PPC: Book3S HV: Save/restore new PMU registers 2020-07-22 21:56:41 +10:00
lib powerpc/ppc-opcode: Move ppc instruction encoding from test_emulate_step 2020-07-16 13:12:42 +10:00
math-emu
mm powerpc/64s: Remove PROT_SAO support 2020-07-22 00:01:25 +10:00
net powerpc/ppc-opcode: Consolidate powerpc instructions from bpf_jit.h 2020-07-16 13:12:42 +10:00
oprofile maccess: rename probe_user_{read,write} to copy_{from,to}_user_nofault 2020-06-17 10:57:41 -07:00
perf powerpc/perf: BHRB control to disable BHRB logic when not used 2020-07-22 21:56:42 +10:00
platforms powerpc/perf: BHRB control to disable BHRB logic when not used 2020-07-22 21:56:42 +10:00
purgatory
sysdev powerpc/xive: Ignore kmemleak false positives 2020-06-22 10:37:57 +10:00
tools powerpc/head_check: Avoid broken pipe 2020-05-19 00:10:35 +10:00
xmon powerpc/xmon: Add PowerISA v3.1 PMU SPRs 2020-07-22 21:56:41 +10:00
Kbuild
Kconfig powerpc/64s/hash: Disable subpage_prot syscall by default 2020-07-22 00:01:25 +10:00
Kconfig.debug powerpc: Remove Xilinx PPC405/PPC440 support 2020-05-28 23:24:34 +10:00
Makefile powerpc/4xx: ppc4xx compile flag optimizations 2020-06-22 14:19:12 +10:00
Makefile.postlink