On Wed, Sep 30, 2026 at 10:48:19PM +0100, Mark Brown wrote: > Now that required functionality for GCS is in place expose > ID_AA64PFR1_EL1.GCS, allowing guests to be given the feature. > > Reviewed-by: Leonardo Bras <[email protected]> > Signed-off-by: Mark Brown <[email protected]>
This looks straightforward and sensible so: Reviewed-by: Lorenzo Stoakes (ARM) <[email protected]> > --- > arch/arm64/kvm/nested.c | 3 +-- > arch/arm64/kvm/sys_regs.c | 5 +++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c > index 3c4fc566eafc..f62d9ab7f31c 100644 > --- a/arch/arm64/kvm/nested.c > +++ b/arch/arm64/kvm/nested.c > @@ -1702,11 +1702,10 @@ u64 limit_nv_id_reg(struct kvm *kvm, u32 reg, u64 val) > break; > > case SYS_ID_AA64PFR1_EL1: > - /* Only support BTI, SSBS, CSV2_frac */ > + /* Only support GCS, BTI, SSBS, CSV2_frac */ > val &= ~(ID_AA64PFR1_EL1_PFAR | > ID_AA64PFR1_EL1_MTEX | > ID_AA64PFR1_EL1_THE | > - ID_AA64PFR1_EL1_GCS | > ID_AA64PFR1_EL1_MTE_frac | > ID_AA64PFR1_EL1_NMI | > ID_AA64PFR1_EL1_SME | > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > index faecf4657ec5..5de4ba1bef6b 100644 > --- a/arch/arm64/kvm/sys_regs.c > +++ b/arch/arm64/kvm/sys_regs.c > @@ -2193,10 +2193,12 @@ static u64 sanitise_id_aa64pfr1_el1(const struct > kvm_vcpu *vcpu, u64 val) > SYS_FIELD_GET(ID_AA64PFR0_EL1, RAS, pfr0) == > ID_AA64PFR0_EL1_RAS_IMP)) > val &= ~ID_AA64PFR1_EL1_RAS_frac; > > + if (!system_supports_gcs()) > + val &= ~ID_AA64PFR1_EL1_GCS; > + > val &= ~ID_AA64PFR1_EL1_SME; > val &= ~ID_AA64PFR1_EL1_RNDR_trap; > val &= ~ID_AA64PFR1_EL1_NMI; > - val &= ~ID_AA64PFR1_EL1_GCS; > val &= ~ID_AA64PFR1_EL1_THE; > val &= ~ID_AA64PFR1_EL1_MTEX; > val &= ~ID_AA64PFR1_EL1_PFAR; > @@ -3444,7 +3446,6 @@ static const struct sys_reg_desc sys_reg_descs[] = { > ~(ID_AA64PFR1_EL1_PFAR | > ID_AA64PFR1_EL1_MTEX | > ID_AA64PFR1_EL1_THE | > - ID_AA64PFR1_EL1_GCS | > ID_AA64PFR1_EL1_MTE_frac | > ID_AA64PFR1_EL1_NMI | > ID_AA64PFR1_EL1_RNDR_trap | > > -- > 2.47.3 > > -- Cheers, Lorenzo

