mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 08:51:46 -04:00
KVM: arm64: nv: Drop sanitised_sys_reg() helper
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. Reviewed-by: Joey Gouly <joey.gouly@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20240214131827.2856277-8-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
This commit is contained in:
committed by
Oliver Upton
parent
d39051d392
commit
76b457a5cd
@@ -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__;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user