]> www.infradead.org Git - users/dwmw2/linux.git/commit
KVM: arm64: nv: Publish emulated timer interrupt state in the in-memory state
authorMarc Zyngier <maz@kernel.org>
Tue, 17 Dec 2024 14:23:11 +0000 (14:23 +0000)
committerMarc Zyngier <maz@kernel.org>
Thu, 2 Jan 2025 19:19:09 +0000 (19:19 +0000)
commitcc45963cbf6334d2b9078f06efef9864639cddd0
tree2905d41544aeac7d7be54c379229437466d671cc
parent4bad3068cfa9fc38dd767441871e0edab821105b
KVM: arm64: nv: Publish emulated timer interrupt state in the in-memory state

With FEAT_NV2, the EL0 timer state is entirely stored in memory,
meaning that the hypervisor can only provide a very poor emulation.

The only thing we can really do is to publish the interrupt state
in the guest view of CNT{P,V}_CTL_EL0, and defer everything else
to the next exit.

Only FEAT_ECV will allow us to fix it, at the cost of extra trapping.

Suggested-by: Chase Conklin <chase.conklin@arm.com>
Suggested-by: Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com>
Acked-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20241217142321.763801-4-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/arch_timer.c
arch/arm64/kvm/arm.c