[PATCH v2 0/2] Avoid spurious ptimer interrupts for non-zero cntpoff
Ganapatrao Kulkarni
gankulkarni at os.amperecomputing.com
Mon Sep 4 04:42:16 PDT 2023
Guest-Hypervisor(NV use-case) uses ptimer as an arch_timer.
While running Guest-Hypervisor from a VHE host on a platform which
supports FEAT_ECV/CNTPOFF_EL2, burst of spurious ptimer interrupts
were generated for a non-zero offset, causing the boot to hang.
The issue is due to the value of CNTPOFF_EL2 is treated as zero while
on VHE host. This patch fixes the issue by adjusting the CVAL of a
loaded ptimer across the entry and exit of a guest.
v2:
Updated as per review comment [1].
[1] https://lore.kernel.org/lkml/a4dac5af-44e2-0485-446f-fae09fa66a3c@os.amperecomputing.com/
This patchset is rebased on NV-V10[2][3].
[2] https://lore.kernel.org/linux-arm-kernel/19c775ad-9573-b4d4-886d-c631b468856f@redhat.com/T/
[3] https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=kvm-arm64/nv-6.5-WIP-6.4
Ganapatrao Kulkarni (2):
KVM: arm64: timers: Move helper has_cntpoff to a header file
KVM: arm64: timers: Adjust CVAL of a ptimer across guest entry and
exits
arch/arm64/include/asm/virt.h | 5 +++
arch/arm64/kvm/arch_timer.c | 65 ++++++++++++++++++++++++++++-----
arch/arm64/kvm/hyp/vhe/switch.c | 13 +++++++
include/kvm/arm_arch_timer.h | 1 +
4 files changed, 74 insertions(+), 10 deletions(-)
--
2.41.0
More information about the linux-arm-kernel
mailing list