[PATCH 4/5] arm64/sysreg: Standardise naming of bitfield constants in OSL[AS]R_EL1

Shaoqin Huang shahuang at redhat.com
Tue May 23 04:52:45 PDT 2023



On 5/23/23 00:22, Mark Brown wrote:
> Our standard scheme for naming the constants for bitfields in system
> registers includes _ELx in the name but not the SYS_, update the
> constants for OSL[AS]R_EL1 to follow this convention.
> 
> Signed-off-by: Mark Brown <broonie at kernel.org>
Reviewed-by: Shaoqin Huang <shahuang at redhat.com>
> ---
>   arch/arm64/include/asm/kvm_host.h |  2 +-
>   arch/arm64/include/asm/sysreg.h   | 10 +++++-----
>   arch/arm64/kvm/sys_regs.c         | 10 +++++-----
>   3 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
> index bcd774d74f34..cde4ad590f8c 100644
> --- a/arch/arm64/include/asm/kvm_host.h
> +++ b/arch/arm64/include/asm/kvm_host.h
> @@ -996,7 +996,7 @@ void kvm_arm_clear_debug(struct kvm_vcpu *vcpu);
>   void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu);
>   
>   #define kvm_vcpu_os_lock_enabled(vcpu)		\
> -	(!!(__vcpu_sys_reg(vcpu, OSLSR_EL1) & SYS_OSLSR_OSLK))
> +	(!!(__vcpu_sys_reg(vcpu, OSLSR_EL1) & OSLSR_EL1_OSLK))
>   
>   int kvm_arm_vcpu_arch_set_attr(struct kvm_vcpu *vcpu,
>   			       struct kvm_device_attr *attr);
> diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
> index 4ecae92b56b5..09de958e79ed 100644
> --- a/arch/arm64/include/asm/sysreg.h
> +++ b/arch/arm64/include/asm/sysreg.h
> @@ -141,13 +141,13 @@
>   #define SYS_MDRAR_EL1			sys_reg(2, 0, 1, 0, 0)
>   
>   #define SYS_OSLAR_EL1			sys_reg(2, 0, 1, 0, 4)
> -#define SYS_OSLAR_OSLK			BIT(0)
> +#define OSLAR_EL1_OSLK			BIT(0)
>   
>   #define SYS_OSLSR_EL1			sys_reg(2, 0, 1, 1, 4)
> -#define SYS_OSLSR_OSLM_MASK		(BIT(3) | BIT(0))
> -#define SYS_OSLSR_OSLM_NI		0
> -#define SYS_OSLSR_OSLM_IMPLEMENTED	BIT(3)
> -#define SYS_OSLSR_OSLK			BIT(1)
> +#define OSLSR_EL1_OSLM_MASK		(BIT(3) | BIT(0))
> +#define OSLSR_EL1_OSLM_NI		0
> +#define OSLSR_EL1_OSLM_IMPLEMENTED	BIT(3)
> +#define OSLSR_EL1_OSLK			BIT(1)
>   
>   #define SYS_OSDLR_EL1			sys_reg(2, 0, 1, 3, 4)
>   #define SYS_DBGPRCR_EL1			sys_reg(2, 0, 1, 4, 4)
> diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
> index 53749d3a0996..8a5160a90d3c 100644
> --- a/arch/arm64/kvm/sys_regs.c
> +++ b/arch/arm64/kvm/sys_regs.c
> @@ -388,9 +388,9 @@ static bool trap_oslar_el1(struct kvm_vcpu *vcpu,
>   		return read_from_write_only(vcpu, p, r);
>   
>   	/* Forward the OSLK bit to OSLSR */
> -	oslsr = __vcpu_sys_reg(vcpu, OSLSR_EL1) & ~SYS_OSLSR_OSLK;
> -	if (p->regval & SYS_OSLAR_OSLK)
> -		oslsr |= SYS_OSLSR_OSLK;
> +	oslsr = __vcpu_sys_reg(vcpu, OSLSR_EL1) & ~OSLSR_EL1_OSLK;
> +	if (p->regval & OSLAR_EL1_OSLK)
> +		oslsr |= OSLSR_EL1_OSLK;
>   
>   	__vcpu_sys_reg(vcpu, OSLSR_EL1) = oslsr;
>   	return true;
> @@ -414,7 +414,7 @@ static int set_oslsr_el1(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd,
>   	 * The only modifiable bit is the OSLK bit. Refuse the write if
>   	 * userspace attempts to change any other bit in the register.
>   	 */
> -	if ((val ^ rd->val) & ~SYS_OSLSR_OSLK)
> +	if ((val ^ rd->val) & ~OSLSR_EL1_OSLK)
>   		return -EINVAL;
>   
>   	__vcpu_sys_reg(vcpu, rd->reg) = val;
> @@ -1760,7 +1760,7 @@ static const struct sys_reg_desc sys_reg_descs[] = {
>   	{ SYS_DESC(SYS_MDRAR_EL1), trap_raz_wi },
>   	{ SYS_DESC(SYS_OSLAR_EL1), trap_oslar_el1 },
>   	{ SYS_DESC(SYS_OSLSR_EL1), trap_oslsr_el1, reset_val, OSLSR_EL1,
> -		SYS_OSLSR_OSLM_IMPLEMENTED, .set_user = set_oslsr_el1, },
> +		OSLSR_EL1_OSLM_IMPLEMENTED, .set_user = set_oslsr_el1, },
>   	{ SYS_DESC(SYS_OSDLR_EL1), trap_raz_wi },
>   	{ SYS_DESC(SYS_DBGPRCR_EL1), trap_raz_wi },
>   	{ SYS_DESC(SYS_DBGCLAIMSET_EL1), trap_raz_wi },
> 

-- 
Shaoqin




More information about the linux-arm-kernel mailing list