KVM: arm64: Simplify masking out MTE in feature id reg
authorFuad Tabba <tabba@google.com>
Sun, 10 Oct 2021 14:56:31 +0000 (15:56 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 11 Oct 2021 13:57:29 +0000 (14:57 +0100)
Simplify code for hiding MTE support in feature id register when
MTE is not enabled/supported by KVM.

No functional change intended.

Signed-off-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211010145636.1950948-7-tabba@google.com
arch/arm64/kvm/sys_regs.c

index 1d46e18..447acce 100644 (file)
@@ -1077,14 +1077,8 @@ static u64 read_id_reg(const struct kvm_vcpu *vcpu,
                val |= FIELD_PREP(ARM64_FEATURE_MASK(ID_AA64PFR0_CSV3), (u64)vcpu->kvm->arch.pfr0_csv3);
                break;
        case SYS_ID_AA64PFR1_EL1:
-               val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_MTE);
-               if (kvm_has_mte(vcpu->kvm)) {
-                       u64 pfr, mte;
-
-                       pfr = read_sanitised_ftr_reg(SYS_ID_AA64PFR1_EL1);
-                       mte = cpuid_feature_extract_unsigned_field(pfr, ID_AA64PFR1_MTE_SHIFT);
-                       val |= FIELD_PREP(ARM64_FEATURE_MASK(ID_AA64PFR1_MTE), mte);
-               }
+               if (!kvm_has_mte(vcpu->kvm))
+                       val &= ~ARM64_FEATURE_MASK(ID_AA64PFR1_MTE);
                break;
        case SYS_ID_AA64ISAR1_EL1:
                if (!vcpu_has_ptrauth(vcpu))