Merge branch kvm-arm64/visibility-cleanups into kvmarm-master/next
authorMarc Zyngier <maz@kernel.org>
Thu, 12 Sep 2024 07:38:17 +0000 (08:38 +0100)
committerMarc Zyngier <maz@kernel.org>
Thu, 12 Sep 2024 07:38:17 +0000 (08:38 +0100)
* kvm-arm64/visibility-cleanups:
  : .
  : Remove REG_HIDDEN_USER from the sysreg infrastructure, making things
  : a little more simple. From the cover letter:
  :
  : "Since 4d4f52052ba8 ("KVM: arm64: nv: Drop EL12 register traps that are
  : redirected to VNCR") and the admission that KVM would never be supporting
  : the original FEAT_NV, REG_HIDDEN_USER only had a few users, all of which
  : could either be replaced by a more ad-hoc mechanism, or removed altogether."
  : .
  KVM: arm64: Get rid of REG_HIDDEN_USER visibility qualifier
  KVM: arm64: Simplify visibility handling of AArch32 SPSR_*
  KVM: arm64: Simplify handling of CNTKCTL_EL12

Signed-off-by: Marc Zyngier <maz@kernel.org>
1  2 
arch/arm64/kvm/sys_regs.c
arch/arm64/kvm/sys_regs.h

index 45c9e3b2acd403304d2d98f54bed222d6269cc20,d34573a6de83716ee2945e368d31bf65e71e3d0b..09a6a45efb49aa1fe5270fcb9c0f9702962925ef
@@@ -2792,16 -2759,12 +2784,12 @@@ static const struct sys_reg_desc sys_re
        { SYS_DESC(SYS_SP_EL1), access_sp_el1},
  
        /* AArch32 SPSR_* are RES0 if trapped from a NV guest */
-       { SYS_DESC(SYS_SPSR_irq), .access = trap_raz_wi,
-         .visibility = hidden_user_visibility },
-       { SYS_DESC(SYS_SPSR_abt), .access = trap_raz_wi,
-         .visibility = hidden_user_visibility },
-       { SYS_DESC(SYS_SPSR_und), .access = trap_raz_wi,
-         .visibility = hidden_user_visibility },
-       { SYS_DESC(SYS_SPSR_fiq), .access = trap_raz_wi,
-         .visibility = hidden_user_visibility },
+       { SYS_DESC(SYS_SPSR_irq), .access = trap_raz_wi },
+       { SYS_DESC(SYS_SPSR_abt), .access = trap_raz_wi },
+       { SYS_DESC(SYS_SPSR_und), .access = trap_raz_wi },
+       { SYS_DESC(SYS_SPSR_fiq), .access = trap_raz_wi },
  
 -      { SYS_DESC(SYS_IFSR32_EL2), trap_undef, reset_unknown, IFSR32_EL2 },
 +      { SYS_DESC(SYS_IFSR32_EL2), undef_access, reset_unknown, IFSR32_EL2 },
        EL2_REG(AFSR0_EL2, access_rw, reset_val, 0),
        EL2_REG(AFSR1_EL2, access_rw, reset_val, 0),
        EL2_REG_REDIR(ESR_EL2, reset_val, 0),
Simple merge