summaryrefslogtreecommitdiff
path: root/virt/kvm/arm/arch_timer.c
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2015-10-22 09:22:09 -0500
committerRob Herring <robh@kernel.org>2015-10-22 09:22:09 -0500
commitf92ce7618f0cb0ced87ea1cfe994d2e8473c61b4 (patch)
tree8589e85799e0de7b1cdf0b4e8f08397eeeb72a74 /virt/kvm/arm/arch_timer.c
parent307751ee3212df0d047b0e1a93ce21f2e511d1a1 (diff)
parenteb3fcf007fffe5830d815e713591f3e858f2a365 (diff)
Merge branch 'dt-doc-cleanup' into for-next
Diffstat (limited to 'virt/kvm/arm/arch_timer.c')
-rw-r--r--virt/kvm/arm/arch_timer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/virt/kvm/arm/arch_timer.c b/virt/kvm/arm/arch_timer.c
index 76e38d231e99..48c6e1ac6827 100644
--- a/virt/kvm/arm/arch_timer.c
+++ b/virt/kvm/arm/arch_timer.c
@@ -200,6 +200,14 @@ int kvm_timer_vcpu_reset(struct kvm_vcpu *vcpu,
timer->irq = irq;
/*
+ * The bits in CNTV_CTL are architecturally reset to UNKNOWN for ARMv8
+ * and to 0 for ARMv7. We provide an implementation that always
+ * resets the timer to be disabled and unmasked and is compliant with
+ * the ARMv7 architecture.
+ */
+ timer->cntv_ctl = 0;
+
+ /*
* Tell the VGIC that the virtual interrupt is tied to a
* physical interrupt. We do that once per VCPU.
*/