On Tue, 29 Apr 2025 14:08:27 +0100, Ben Horgan <ben.horgan@xxxxxxx> wrote: > > Hi Marc, > > On 4/26/25 13:28, Marc Zyngier wrote: > > From: Mark Rutland <mark.rutland@xxxxxxx> > > > > ... otherwise we can inherit the host configuration if this differs from > > the KVM configuration. > > > > Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> > > [maz: simplified a couple of things] > > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> > > --- > > arch/arm64/kvm/hyp/include/hyp/switch.h | 39 ++++++++++--------------- > > 1 file changed, 15 insertions(+), 24 deletions(-) > > > > diff --git a/arch/arm64/kvm/hyp/include/hyp/switch.h b/arch/arm64/kvm/hyp/include/hyp/switch.h > > index 027d05f308f75..925a3288bd5be 100644 > > --- a/arch/arm64/kvm/hyp/include/hyp/switch.h > > +++ b/arch/arm64/kvm/hyp/include/hyp/switch.h > > @@ -107,7 +107,8 @@ static inline void __activate_traps_fpsimd32(struct kvm_vcpu *vcpu) > > [...] > > static inline void __deactivate_traps_hfgxtr(struct kvm_vcpu > > *vcpu) > > { > > struct kvm_cpu_context *hctxt = host_data_ptr(host_ctxt); > > - struct kvm *kvm = kern_hyp_va(vcpu->kvm); > > if (!cpus_have_final_cap(ARM64_HAS_FGT)) > > return; > > - __deactivate_fgt(hctxt, vcpu, kvm, HFGRTR_EL2); > > - if (cpus_have_final_cap(ARM64_WORKAROUND_AMPERE_AC03_CPU_38)) > Don't we need to continue considering the ampere errata here? Or, at > least worth a mention in the commit message. The FGT registers are always context switched, so whatever was saved *before* the workaround was applied in __activate_traps_hfgxtr() is blindly restored... > > - write_sysreg_s(ctxt_sys_reg(hctxt, HFGWTR_EL2), SYS_HFGWTR_EL2); ... and this write always happens. M. -- Without deviation from the norm, progress is not possible.