mbox series

[0/3] KVM/arm64: timer fixes for 6.14

Message ID 20250128161721.3279927-1-maz@kernel.org (mailing list archive)
Headers show
Series KVM/arm64: timer fixes for 6.14 | expand

Message

Marc Zyngier Jan. 28, 2025, 4:17 p.m. UTC
It's been recently pointed out that the NV timer code that is
(hopefully) on its way upstream is marginally sub-optimal (read:
terminally broken). This short series attempts to fix things:

- Correctly arm a background timer in all situations

- Avoid corrupting the EL2 state by shoving the EL1 state into it, and
  simplify the handling of emulated timers

- Make the NV init of the timers less awkward and expensive

Thanks to Volodymyr Babchuk and Wei-Lin Chang for their help.

Patches on top of kvmarm-6.14, and merged back on top of my
kvm-arm64/nv-next branch.

Marc Zyngier (3):
  KVM: arm64: timer: Always evaluate the need for a soft timer
  KVM: arm64: timer: Correctly handle EL1 timer emulation when !FEAT_ECV
  KVM: arm64: timer: Consolidate NV configuration of virtual timers

 arch/arm64/kvm/arch_timer.c  | 82 ++++++++++++++----------------------
 arch/arm64/kvm/arm.c         |  3 ++
 include/kvm/arm_arch_timer.h |  1 +
 3 files changed, 36 insertions(+), 50 deletions(-)