diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index a69284d07a28..3b69db40e003 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -686,7 +686,8 @@ static inline u64 vcpu_arch_read_sys_reg(const struct kvm_vcpu_arch *vcpu_arch, { u64 val = 0x8badf00d8badf00d; - if (is_vhe_hyp_code() && vcpu_arch->sysregs_loaded_on_cpu && + /* sysregs_loaded_on_cpu is only used in VHE */ + if (!is_nvhe_hyp_code() && vcpu_arch->sysregs_loaded_on_cpu && __vcpu_read_sys_reg_from_cpu(reg, &val)) return val; @@ -695,7 +696,8 @@ static inline u64 vcpu_arch_read_sys_reg(const struct kvm_vcpu_arch *vcpu_arch, static inline void vcpu_arch_write_sys_reg(struct kvm_vcpu_arch *vcpu_arch, u64 val, int reg) { - if (is_vhe_hyp_code() && vcpu_arch->sysregs_loaded_on_cpu && + /* sysregs_loaded_on_cpu is only used in VHE */ + if (!is_nvhe_hyp_code() && vcpu_arch->sysregs_loaded_on_cpu && __vcpu_write_sys_reg_to_cpu(val, reg)) return;