On Wed, Jan 22, 2025 at 11:51:00AM +0000, Marc Zyngier wrote:
On Fri, 17 Jan 2025 11:34:09 +0000, Mark Rutland [off-list ref] wrote:
quoted
The TL;DR summary is that it's not sufficient for kvm_arch_vcpu_put_fp()
to fix up ZCR_ELx. Either:
* That needs to be fixed up while IRQs are masked, e.g. by
saving/restoring the host and guest ZCR_EL1 and/or ZCR_ELx values in
kvm_arch_vcpu_ctxflush_fp() and kvm_arch_vcpu_ctxsync_fp()
* The lazy save logic in fpsimd_save_user_state() needs to handle KVM
explicitly, saving the guest's ZCR_EL1 and restoring the host's
ZCR_ELx.
I think we need to fix that before we extend this logic for SME.
So save/restore ZCR_ELx eagerly? If that's what it takes, let's do
that now.
I believe that's sufficient; I'll go double-check and spin that now.
Mark.