mbox series

[0/3] KVM: arm64: Get rid of REG_HIDDEN_USER

Message ID 20240904082419.1982402-1-maz@kernel.org (mailing list archive)
Headers show
Series KVM: arm64: Get rid of REG_HIDDEN_USER | expand

Message

Marc Zyngier Sept. 4, 2024, 8:24 a.m. UTC
REG_HIDDEN_USER was introduced as a way to deal with the ARMv8.3 flavour of
FEAT_NV, where most EL12 sysreg accesses would trap and yet be mapped to a
EL1 register (KVM doing in SW what FEAT_NV2 does in HW). This handling
imposed that the EL12 register shouldn't be visible to userspace, hence the
special REG_HIDDEN_USER visibility.

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.

This series goes ahead and cleans it up for good, removing a tiny bit of
unnecessary complexity.

Marc Zyngier (3):
  KVM: arm64: Simplify handling of CNTKCTL_EL12
  KVM: arm64: Simplify visibility handling of AArch32 SPSR_*
  KVM: arm64: Get rid of REG_HIDDEN_USER visibility qualifier

 arch/arm64/kvm/sys_regs.c | 52 +++++++++++++++------------------------
 arch/arm64/kvm/sys_regs.h | 14 ++---------
 2 files changed, 22 insertions(+), 44 deletions(-)

Comments

Oliver Upton Sept. 11, 2024, 6 p.m. UTC | #1
On Wed, Sep 04, 2024 at 09:24:16AM +0100, Marc Zyngier wrote:
> REG_HIDDEN_USER was introduced as a way to deal with the ARMv8.3 flavour of
> FEAT_NV, where most EL12 sysreg accesses would trap and yet be mapped to a
> EL1 register (KVM doing in SW what FEAT_NV2 does in HW). This handling
> imposed that the EL12 register shouldn't be visible to userspace, hence the
> special REG_HIDDEN_USER visibility.
> 
> 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.
> 
> This series goes ahead and cleans it up for good, removing a tiny bit of
> unnecessary complexity.

Yeah, let's toss it.

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Marc Zyngier Sept. 11, 2024, 7:32 p.m. UTC | #2
On Wed, 04 Sep 2024 09:24:16 +0100, Marc Zyngier wrote:
> REG_HIDDEN_USER was introduced as a way to deal with the ARMv8.3 flavour of
> FEAT_NV, where most EL12 sysreg accesses would trap and yet be mapped to a
> EL1 register (KVM doing in SW what FEAT_NV2 does in HW). This handling
> imposed that the EL12 register shouldn't be visible to userspace, hence the
> special REG_HIDDEN_USER visibility.
> 
> 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.
> 
> [...]

Applied to next, thanks!

[1/3] KVM: arm64: Simplify handling of CNTKCTL_EL12
      commit: 989fce63b2cb5061701c9fa04711d992dfaff5c6
[2/3] KVM: arm64: Simplify visibility handling of AArch32 SPSR_*
      commit: 84ed45456cee7e77effea8407f4f32b262f2e2ea
[3/3] KVM: arm64: Get rid of REG_HIDDEN_USER visibility qualifier
      commit: 0746096faca01823021f662282e1f067a69b965b

Cheers,

	M.