Linux KVM/arm64 development list
 help / color / mirror / Atom feed
* [PATCH v3 00/16] KVM: arm64: Debug cleanups
@ 2024-12-09 18:09 Oliver Upton
  2024-12-09 18:09 ` [PATCH v3 01/16] KVM: arm64: Drop MDSCR_EL1_DEBUG_MASK Oliver Upton
                   ` (16 more replies)
  0 siblings, 17 replies; 23+ messages in thread
From: Oliver Upton @ 2024-12-09 18:09 UTC (permalink / raw)
  To: kvmarm
  Cc: Marc Zyngier, Joey Gouly, Suzuki K Poulose, Zenghui Yu,
	Mingwei Zhang, Colton Lewis, Raghavendra Rao Ananta, James Clark,
	Oliver Upton

On top of the cleanups, this series takes a considerable bite out of the
volume of sysreg traps when running windows, which likes to read
MDSCR_EL1 quite a lot.

v2: https://lore.kernel.org/kvmarm/20241115224924.2132364-13-oliver.upton@linux.dev/

v2 -> v3:
 - Respin to 6.13-rc2
 - Fix unsafe usage of percpu data in kvm_debug_set_guest_ownership()
   which led to a splat (James)

Oliver Upton (16):
  KVM: arm64: Drop MDSCR_EL1_DEBUG_MASK
  KVM: arm64: Get rid of __kvm_get_mdcr_el2() and related warts
  KVM: arm64: Track presence of SPE/TRBE in kvm_host_data instead of
    vCPU
  KVM: arm64: Move host SME/SVE tracking flags to host data
  KVM: arm64: Evaluate debug owner at vcpu_load()
  KVM: arm64: Clean up KVM_SET_GUEST_DEBUG handler
  KVM: arm64: Select debug state to save/restore based on debug owner
  KVM: arm64: Remove debug tracepoints
  KVM: arm64: Remove vestiges of debug_ptr
  KVM: arm64: Use debug_owner to track if debug regs need save/restore
  KVM: arm64: Reload vCPU for accesses to OSLAR_EL1
  KVM: arm64: Compute MDCR_EL2 at vcpu_load()
  KVM: arm64: Don't hijack guest context MDSCR_EL1
  KVM: arm64: Manage software step state at load/put
  KVM: arm64: nv: Honor MDCR_EL2.TDE routing for debug exceptions
  KVM: arm64: Avoid reading ID_AA64DFR0_EL1 for debug save/restore

 arch/arm64/include/asm/kvm_asm.h           |   5 +-
 arch/arm64/include/asm/kvm_host.h          |  94 ++---
 arch/arm64/include/asm/kvm_nested.h        |   1 +
 arch/arm64/kvm/arm.c                       |  14 +-
 arch/arm64/kvm/debug.c                     | 378 +++++++--------------
 arch/arm64/kvm/emulate-nested.c            |  23 +-
 arch/arm64/kvm/fpsimd.c                    |  12 +-
 arch/arm64/kvm/guest.c                     |  31 +-
 arch/arm64/kvm/handle_exit.c               |   5 +-
 arch/arm64/kvm/hyp/include/hyp/debug-sr.h  |  42 +--
 arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h |  43 ++-
 arch/arm64/kvm/hyp/nvhe/debug-sr.c         |  13 +-
 arch/arm64/kvm/hyp/nvhe/hyp-main.c         |   8 -
 arch/arm64/kvm/hyp/vhe/debug-sr.c          |   5 -
 arch/arm64/kvm/sys_regs.c                  |  55 +--
 arch/arm64/kvm/trace_handle_exit.h         |  75 ----
 16 files changed, 281 insertions(+), 523 deletions(-)


base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4
-- 
2.39.5


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-12-19 18:16 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-09 18:09 [PATCH v3 00/16] KVM: arm64: Debug cleanups Oliver Upton
2024-12-09 18:09 ` [PATCH v3 01/16] KVM: arm64: Drop MDSCR_EL1_DEBUG_MASK Oliver Upton
2024-12-09 18:09 ` [PATCH v3 02/16] KVM: arm64: Get rid of __kvm_get_mdcr_el2() and related warts Oliver Upton
2024-12-09 18:09 ` [PATCH v3 03/16] KVM: arm64: Track presence of SPE/TRBE in kvm_host_data instead of vCPU Oliver Upton
2024-12-09 18:09 ` [PATCH v3 04/16] KVM: arm64: Move host SME/SVE tracking flags to host data Oliver Upton
2024-12-09 18:09 ` [PATCH v3 05/16] KVM: arm64: Evaluate debug owner at vcpu_load() Oliver Upton
2024-12-09 18:09 ` [PATCH v3 06/16] KVM: arm64: Clean up KVM_SET_GUEST_DEBUG handler Oliver Upton
2024-12-09 18:09 ` [PATCH v3 07/16] KVM: arm64: Select debug state to save/restore based on debug owner Oliver Upton
2024-12-09 18:09 ` [PATCH v3 08/16] KVM: arm64: Remove debug tracepoints Oliver Upton
2024-12-09 18:09 ` [PATCH v3 09/16] KVM: arm64: Remove vestiges of debug_ptr Oliver Upton
2024-12-09 18:09 ` [PATCH v3 10/16] KVM: arm64: Use debug_owner to track if debug regs need save/restore Oliver Upton
2024-12-18 18:11   ` Marc Zyngier
2024-12-18 20:36     ` Oliver Upton
2024-12-09 18:09 ` [PATCH v3 11/16] KVM: arm64: Reload vCPU for accesses to OSLAR_EL1 Oliver Upton
2024-12-09 18:09 ` [PATCH v3 12/16] KVM: arm64: Compute MDCR_EL2 at vcpu_load() Oliver Upton
2024-12-18 18:40   ` Marc Zyngier
2024-12-19 18:00     ` Oliver Upton
2024-12-19 18:16       ` Marc Zyngier
2024-12-09 18:09 ` [PATCH v3 13/16] KVM: arm64: Don't hijack guest context MDSCR_EL1 Oliver Upton
2024-12-09 18:09 ` [PATCH v3 14/16] KVM: arm64: Manage software step state at load/put Oliver Upton
2024-12-09 18:09 ` [PATCH v3 15/16] KVM: arm64: nv: Honor MDCR_EL2.TDE routing for debug exceptions Oliver Upton
2024-12-09 18:09 ` [PATCH v3 16/16] KVM: arm64: Avoid reading ID_AA64DFR0_EL1 for debug save/restore Oliver Upton
2024-12-10 10:30 ` [PATCH v3 00/16] KVM: arm64: Debug cleanups James Clark

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox