On Wed, Oct 09, 2024 at 08:00:06PM +0100, Marc Zyngier wrote: > From: Mark Brown <broonie@xxxxxxxxxx> > > When the guest does not support FEAT_TCR2 we should not allow any access > to it in order to ensure that we do not create spurious issues with guest > migration. Add a visibility operation for it. This should come at the beginning of ths series (same for the subsequent S1PIE patch) so the EL2 registers use the correct visibility filtering from the start. > Fixes: fbff56068232 ("KVM: arm64: Save/restore TCR2_EL1") > Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20240822-kvm-arm64-hide-pie-regs-v2-2-376624fa829c@xxxxxxxxxx > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> > --- > arch/arm64/include/asm/kvm_host.h | 3 +++ > arch/arm64/kvm/sys_regs.c | 29 ++++++++++++++++++++++++++--- > 2 files changed, 29 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h > index 1a5477181447c..197a7a08b3af5 100644 > --- a/arch/arm64/include/asm/kvm_host.h > +++ b/arch/arm64/include/asm/kvm_host.h > @@ -1511,4 +1511,7 @@ void kvm_set_vm_id_reg(struct kvm *kvm, u32 reg, u64 val); > (system_supports_fpmr() && \ > kvm_has_feat((k), ID_AA64PFR2_EL1, FPMR, IMP)) > > +#define kvm_has_tcr2(k) \ > + (kvm_has_feat((k), ID_AA64MMFR3_EL1, TCRX, IMP)) > + nit: we should consistently use this predicate if we want to keep it. -- Thanks, Oliver