[PATCH 07/25] KVM: arm64: nv: Drop sanitised_sys_reg() helper

Joey Gouly joey.gouly at arm.com
Tue Jan 23 06:01:28 PST 2024


Hi,

On Mon, Jan 22, 2024 at 08:18:34PM +0000, Marc Zyngier wrote:
> Now that we have the infrastructure to enforce a sanitised register
> value depending on the VM configuration, drop the helper that only
> used the architectural RES0 value.
> 
> Signed-off-by: Marc Zyngier <maz at kernel.org>

Reviewed-by: Joey Gouly <joey.gouly at arm.com>

> ---
>  arch/arm64/kvm/emulate-nested.c | 22 +++++++---------------
>  1 file changed, 7 insertions(+), 15 deletions(-)
> 
> diff --git a/arch/arm64/kvm/emulate-nested.c b/arch/arm64/kvm/emulate-nested.c
> index 431fd429932d..7a4a886adb9d 100644
> --- a/arch/arm64/kvm/emulate-nested.c
> +++ b/arch/arm64/kvm/emulate-nested.c
> @@ -1897,14 +1897,6 @@ static bool check_fgt_bit(u64 val, const union trap_config tc)
>  	return ((val >> tc.bit) & 1) == tc.pol;
>  }
>  
> -#define sanitised_sys_reg(vcpu, reg)			\
> -	({						\
> -		u64 __val;				\
> -		__val = __vcpu_sys_reg(vcpu, reg);	\
> -		__val &= ~__ ## reg ## _RES0;		\
> -		(__val);				\
> -	})
> -
>  bool __check_nv_sr_forward(struct kvm_vcpu *vcpu)
>  {
>  	union trap_config tc;
> @@ -1940,25 +1932,25 @@ bool __check_nv_sr_forward(struct kvm_vcpu *vcpu)
>  
>  	case HFGxTR_GROUP:
>  		if (is_read)
> -			val = sanitised_sys_reg(vcpu, HFGRTR_EL2);
> +			val = __vcpu_sys_reg(vcpu, HFGRTR_EL2);
>  		else
> -			val = sanitised_sys_reg(vcpu, HFGWTR_EL2);
> +			val = __vcpu_sys_reg(vcpu, HFGWTR_EL2);
>  		break;
>  
>  	case HDFGRTR_GROUP:
>  	case HDFGWTR_GROUP:
>  		if (is_read)
> -			val = sanitised_sys_reg(vcpu, HDFGRTR_EL2);
> +			val = __vcpu_sys_reg(vcpu, HDFGRTR_EL2);
>  		else
> -			val = sanitised_sys_reg(vcpu, HDFGWTR_EL2);
> +			val = __vcpu_sys_reg(vcpu, HDFGWTR_EL2);
>  		break;
>  
>  	case HAFGRTR_GROUP:
> -		val = sanitised_sys_reg(vcpu, HAFGRTR_EL2);
> +		val = __vcpu_sys_reg(vcpu, HAFGRTR_EL2);
>  		break;
>  
>  	case HFGITR_GROUP:
> -		val = sanitised_sys_reg(vcpu, HFGITR_EL2);
> +		val = __vcpu_sys_reg(vcpu, HFGITR_EL2);
>  		switch (tc.fgf) {
>  			u64 tmp;
>  
> @@ -1966,7 +1958,7 @@ bool __check_nv_sr_forward(struct kvm_vcpu *vcpu)
>  			break;
>  
>  		case HCRX_FGTnXS:
> -			tmp = sanitised_sys_reg(vcpu, HCRX_EL2);
> +			tmp = __vcpu_sys_reg(vcpu, HCRX_EL2);
>  			if (tmp & HCRX_EL2_FGTnXS)
>  				tc.fgt = __NO_FGT_GROUP__;
>  		}

Thanks,
Joey



More information about the linux-arm-kernel mailing list