]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: arm64: Advertise support for FEAT_SCTLR2
authorOliver Upton <oliver.upton@linux.dev>
Tue, 8 Jul 2025 17:25:26 +0000 (10:25 -0700)
committerOliver Upton <oliver.upton@linux.dev>
Tue, 8 Jul 2025 18:36:36 +0000 (11:36 -0700)
Everything is in place to handle the additional state for SCTLR2_ELx,
which is all that FEAT_SCTLR2 implies.

Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250708172532.1699409-22-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/sys_regs.c

index a3dacfce2e5b40029740f4550f88539841fcab3f..b3e6a7034b6410a655ae98a014578fb822f56ce8 100644 (file)
@@ -1644,8 +1644,10 @@ static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
                val &= ~ID_AA64MMFR2_EL1_NV;
                break;
        case SYS_ID_AA64MMFR3_EL1:
-               val &= ID_AA64MMFR3_EL1_TCRX | ID_AA64MMFR3_EL1_S1POE |
-                       ID_AA64MMFR3_EL1_S1PIE;
+               val &= ID_AA64MMFR3_EL1_TCRX |
+                      ID_AA64MMFR3_EL1_SCTLRX |
+                      ID_AA64MMFR3_EL1_S1POE |
+                      ID_AA64MMFR3_EL1_S1PIE;
                break;
        case SYS_ID_MMFR4_EL1:
                val &= ~ARM64_FEATURE_MASK(ID_MMFR4_EL1_CCIDX);
@@ -2961,6 +2963,7 @@ static const struct sys_reg_desc sys_reg_descs[] = {
                                        ID_AA64MMFR2_EL1_NV |
                                        ID_AA64MMFR2_EL1_CCIDX)),
        ID_WRITABLE(ID_AA64MMFR3_EL1, (ID_AA64MMFR3_EL1_TCRX    |
+                                      ID_AA64MMFR3_EL1_SCTLRX  |
                                       ID_AA64MMFR3_EL1_S1PIE   |
                                       ID_AA64MMFR3_EL1_S1POE)),
        ID_WRITABLE(ID_AA64MMFR4_EL1, ID_AA64MMFR4_EL1_NV_frac),