[RFC 0/8] arm64/hw_breakpoint: Enable FEAT_Debugv8p9

From: Anshuman Khandual
Date: Fri Apr 05 2024 - 04:00:58 EST


This series enables FEAT_Debugv8p9 thus extending breakpoint and watchpoint
support upto 64. This has been lightly tested and still work is in progress
but would like to get some early feedback on the approach.

Possible impact of context switches while tracing kernel addresses needs to
be evaluated regarding MDSELR_EL1 access. This series is based on v6.9-rc2.

Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Marc Zyngier <maz@xxxxxxxxxx>
Cc: Oliver Upton <oliver.upton@xxxxxxxxx>
Cc: James Morse <james.morse@xxxxxxx>
Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Mark Brown <broonie@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: kvmarm@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

Anshuman Khandual (8):
arm64/sysreg: Add register fields for MDSELR_EL1
arm64/sysreg: Add register fields for HDFGRTR2_EL2
arm64/sysreg: Add register fields for HDFGWTR2_EL2
arm64/sysreg: Update ID_AA64MMFR0_EL1 register
KVM: arm64: Explicitly handle MDSELR_EL1 traps as UNDEFINED
arm64/cpufeature: Add field details for ID_AA64DFR1_EL1 register
arm64/boot: Enable EL2 requirements for FEAT_Debugv8p9
arm64/hw_breakpoint: Enable FEAT_Debugv8p9

Documentation/arch/arm64/booting.rst | 19 +++++++
arch/arm64/include/asm/debug-monitors.h | 2 +-
arch/arm64/include/asm/el2_setup.h | 27 ++++++++++
arch/arm64/include/asm/hw_breakpoint.h | 46 +++++++++++++----
arch/arm64/include/asm/kvm_arm.h | 1 +
arch/arm64/kernel/cpufeature.c | 21 ++++++--
arch/arm64/kernel/debug-monitors.c | 16 ++++--
arch/arm64/kernel/hw_breakpoint.c | 33 ++++++++++++
arch/arm64/kvm/sys_regs.c | 1 +
arch/arm64/tools/sysreg | 68 +++++++++++++++++++++++++
10 files changed, 214 insertions(+), 20 deletions(-)

--
2.25.1