On Wed, Jan 22, 2025 at 11:51:00AM +0000, Marc Zyngier wrote: > On Fri, 17 Jan 2025 11:34:09 +0000, Mark Rutland <mark.rutland@xxxxxxx> wrote: > > 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.