]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: arm64: nv: Handle L2->L1 transition on interrupt injection
authorMarc Zyngier <maz@kernel.org>
Tue, 25 Feb 2025 17:29:23 +0000 (17:29 +0000)
committerOliver Upton <oliver.upton@linux.dev>
Mon, 3 Mar 2025 22:57:10 +0000 (14:57 -0800)
commit4b1b97f0d7cfd3e29ae72f380996b8359200fd86
tree464cf7bcf54d1ab3c0b30b8cf37ff64e85bb733b
parent146a050f2d8c4394dfe3e236dc49d155fd5c04d1
KVM: arm64: nv: Handle L2->L1 transition on interrupt injection

An interrupt being delivered to L1 while running L2 must result
in the correct exception being delivered to L1.

This means that if, on entry to L2, we found ourselves with pending
interrupts in the L1 distributor, we need to take immediate action.
This is done by posting a request which will prevent the entry in
L2, and deliver an IRQ exception to L1, forcing the switch.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250225172930.1850838-10-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/arm.c
arch/arm64/kvm/nested.c
arch/arm64/kvm/vgic/vgic.c