Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5efe6de1 authored by Marc Zyngier's avatar Marc Zyngier
Browse files

arm64: KVM: VHE: Use unified sysreg accessors for timer



Switch the timer code to the unified sysreg accessors.

Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
parent 68908bf7
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -31,12 +31,12 @@ void __hyp_text __timer_save_state(struct kvm_vcpu *vcpu)
	u64 val;

	if (kvm->arch.timer.enabled) {
		timer->cntv_ctl = read_sysreg(cntv_ctl_el0);
		timer->cntv_cval = read_sysreg(cntv_cval_el0);
		timer->cntv_ctl = read_sysreg_el0(cntv_ctl);
		timer->cntv_cval = read_sysreg_el0(cntv_cval);
	}

	/* Disable the virtual timer */
	write_sysreg(0, cntv_ctl_el0);
	write_sysreg_el0(0, cntv_ctl);

	/* Allow physical timer/counter access for the host */
	val = read_sysreg(cnthctl_el2);
@@ -64,8 +64,8 @@ void __hyp_text __timer_restore_state(struct kvm_vcpu *vcpu)

	if (kvm->arch.timer.enabled) {
		write_sysreg(kvm->arch.timer.cntvoff, cntvoff_el2);
		write_sysreg(timer->cntv_cval, cntv_cval_el0);
		write_sysreg_el0(timer->cntv_cval, cntv_cval);
		isb();
		write_sysreg(timer->cntv_ctl, cntv_ctl_el0);
		write_sysreg_el0(timer->cntv_ctl, cntv_ctl);
	}
}