diff options
Diffstat (limited to 'arch/arm64/kvm/hyp/exception.c')
| -rw-r--r-- | arch/arm64/kvm/hyp/exception.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/arch/arm64/kvm/hyp/exception.c b/arch/arm64/kvm/hyp/exception.c index 0418399e0a20..c5d009715402 100644 --- a/arch/arm64/kvm/hyp/exception.c +++ b/arch/arm64/kvm/hyp/exception.c @@ -38,7 +38,10 @@ static inline void __vcpu_write_sys_reg(struct kvm_vcpu *vcpu, u64 val, int reg)  static void __vcpu_write_spsr(struct kvm_vcpu *vcpu, u64 val)  { -	write_sysreg_el1(val, SYS_SPSR); +	if (has_vhe()) +		write_sysreg_el1(val, SYS_SPSR); +	else +		__vcpu_sys_reg(vcpu, SPSR_EL1) = val;  }  static void __vcpu_write_spsr_abt(struct kvm_vcpu *vcpu, u64 val) |