KVM: arm/arm64: Don't enable/disable physical timer access on VHE
authorChristoffer Dall <christoffer.dall@linaro.org>
Mon, 20 Nov 2017 11:10:15 +0000 (12:10 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Wed, 29 Nov 2017 15:46:09 +0000 (16:46 +0100)
commitec6449a9c2296b1c04f6219f7473e0c2fedecfed
tree2ee426e7d249629cb65c9c098ec2f4a924ee91fe
parent4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323
KVM: arm/arm64: Don't enable/disable physical timer access on VHE

After the timer optimization rework we accidentally end up calling
physical timer enable/disable functions on VHE systems, which is neither
needed nor correct, since the CNTHCTL_EL2 register format is
different when HCR_EL2.E2H is set.

The CNTHCTL_EL2 is initialized when CPUs become online in
kvm_timer_init_vhe() and we don't have to call these functions on VHE
systems, which also allows us to inline the non-VHE functionality.

Reported-by: Jintack Lim <jintack@cs.columbia.edu>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
include/kvm/arm_arch_timer.h
virt/kvm/arm/arch_timer.c
virt/kvm/arm/hyp/timer-sr.c