[PATCH V5 0/2] arm64/debug: Drop redundant DBG_MDSCR_* macros

Anshuman Khandual posted 2 patches 3 months, 4 weeks ago
arch/arm64/include/asm/assembler.h            |  4 ++--
arch/arm64/include/asm/debug-monitors.h       |  6 -----
arch/arm64/kernel/debug-monitors.c            | 22 +++++++++----------
arch/arm64/kernel/entry-common.c              |  4 ++--
arch/arm64/mm/proc.S                          |  2 +-
.../selftests/kvm/arm64/debug-exceptions.c    |  4 ++--
6 files changed, 18 insertions(+), 24 deletions(-)
[PATCH V5 0/2] arm64/debug: Drop redundant DBG_MDSCR_* macros
Posted by Anshuman Khandual 3 months, 4 weeks ago
MDSCR_EL1 has already been defined in tools sysreg format and hence can be
used in all debug monitor related call paths. Subsequently all DBG_MDSCR_*
macros become redundant and hence can be dropped off completely. While here
convert all variables handling MDSCR_EL1 register as u64 which reflects its
true width as well.

This series applies on v6.16-rc1

Changes in V5:

- Replaced open encoding with MDSCR_EL1_TDCC in __cpu_setup()

Changes in V4:

https://lore.kernel.org/all/20250612033547.480952-1-anshuman.khandual@arm.com/

- Updated the commit message in [PATCH 1/2] explainig rationale for changing
  mdscr variable as u64 per Mark

Changes in V3:

https://lore.kernel.org/all/20250610053128.4118784-1-anshuman.khandual@arm.com/

- Split out the self test changes into a separate patch per Mark
- Added RB tag from Ada

Changes in V2:

https://lore.kernel.org/all/20250508044752.234543-1-anshuman.khandual@arm.com/

- Changed reg, val width to u64 in cortex_a76_erratum_1463225_svc_handler() per Ada
- Changed mdscr register width to uint64_t in enable_monitor_debug_exceptions() and
  install_ss() per Ada
    
Changes in V1:

https://lore.kernel.org/all/20250417105253.3188976-1-anshuman.khandual@arm.com/

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ada Couprie Diaz <ada.coupriediaz@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Joey Gouly <joey.gouly@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: kvmarm@lists.linux.dev
Cc: kvm@vger.kernel.org

Anshuman Khandual (2):
  arm64/debug: Drop redundant DBG_MDSCR_* macros
  KVM: selftests: Change MDSCR_EL1 register holding variables as uint64_t

 arch/arm64/include/asm/assembler.h            |  4 ++--
 arch/arm64/include/asm/debug-monitors.h       |  6 -----
 arch/arm64/kernel/debug-monitors.c            | 22 +++++++++----------
 arch/arm64/kernel/entry-common.c              |  4 ++--
 arch/arm64/mm/proc.S                          |  2 +-
 .../selftests/kvm/arm64/debug-exceptions.c    |  4 ++--
 6 files changed, 18 insertions(+), 24 deletions(-)

-- 
2.25.1
Re: [PATCH V5 0/2] arm64/debug: Drop redundant DBG_MDSCR_* macros
Posted by Catalin Marinas 3 months, 1 week ago
On Fri, 13 Jun 2025 08:06:44 +0530, Anshuman Khandual wrote:
> MDSCR_EL1 has already been defined in tools sysreg format and hence can be
> used in all debug monitor related call paths. Subsequently all DBG_MDSCR_*
> macros become redundant and hence can be dropped off completely. While here
> convert all variables handling MDSCR_EL1 register as u64 which reflects its
> true width as well.
> 
> This series applies on v6.16-rc1
> 
> [...]

Applied to arm64 (for-next/mdscr-cleanup), thanks!

[1/2] arm64/debug: Drop redundant DBG_MDSCR_* macros
      https://git.kernel.org/arm64/c/d3a80c5109a3
[2/2] KVM: selftests: Change MDSCR_EL1 register holding variables as uint64_t
      https://git.kernel.org/arm64/c/30ff3c981e48

-- 
Catalin