]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: arm64: Copy guest CTR_EL0 into hyp VM
authorOliver Upton <oliver.upton@linux.dev>
Wed, 5 Mar 2025 23:08:23 +0000 (15:08 -0800)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 6 Mar 2025 00:55:41 +0000 (16:55 -0800)
commit9d91227364330fd1735d6fc3f7226f854f9f7b8c
tree660e490e1cadab9a88e736111ac54feea2f6ebeb
parenta88c7c22447932c9d5e45cd5b45224a8eb8efa40
KVM: arm64: Copy guest CTR_EL0 into hyp VM

Since commit 2843cae26644 ("KVM: arm64: Treat CTR_EL0 as a VM feature
ID register") KVM has allowed userspace to configure the VM-wide view of
CTR_EL0, falling back to trap-n-emulate if the value doesn't match
hardware. It appears that this has worked by chance in protected-mode
for some time, and on systems with FEAT_EVT protected-mode
unconditionally sets TID4 (i.e. TID2 traps sans CTR_EL0).

Forward the guest CTR_EL0 value through to the hyp VM and align the
TID2/TID4 configuration with the non-protected setup.

Fixes: 2843cae26644 ("KVM: arm64: Treat CTR_EL0 as a VM feature ID register")
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250305230825.484091-2-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/hyp/nvhe/pkvm.c