[PATCH 0/4] KVM: arm64: Stop mapping current thread_info at EL2
Marc Zyngier
maz at kernel.org
Thu Oct 21 08:11:20 PDT 2021
It recently became apparent that we are mapping each vcpu thread's
thread_info structure at EL2 for the sole purpose of checking on the
TIF_FOREIGN_FPSTATE flag.
Given that this looks like a slightly over-engineered way of sharing a
single bit of information, let's move to a slightly more obvious
implementation by maintaining a vcpu-private shadow flag that
represents the same state.
I also take this opportunity to add what looks like a missing, and
nonetheless crucial piece of information to the FPSIMD code regarding
the way KVM (ab)uses the TIF_FOREIGN_FPSTATE.
Lightly tested on an A53 box with a bunch of paranoia instances
running in both host and guests.
Marc Zyngier (4):
KVM: arm64: Reorder vcpu flag definitions
KVM: arm64: Introduce flag shadowing TIF_FOREIGN_FPSTATE
KVM: arm64: Stop mapping current thread_info at EL2
arm64/fpsimd: Document the use of TIF_FOREIGN_FPSTATE by KVM
arch/arm64/include/asm/kvm_host.h | 28 ++++++++++++-------------
arch/arm64/kernel/fpsimd.c | 5 ++++-
arch/arm64/kvm/arm.c | 1 +
arch/arm64/kvm/fpsimd.c | 20 ++++++++----------
arch/arm64/kvm/hyp/include/hyp/switch.h | 3 +--
arch/arm64/kvm/hyp/nvhe/switch.c | 1 -
arch/arm64/kvm/hyp/vhe/switch.c | 1 -
7 files changed, 29 insertions(+), 30 deletions(-)
--
2.30.2
More information about the linux-arm-kernel
mailing list