We were using the virtual counter to calculate a timer cval which is 10
seconds in the future, but this obviously doesn't work for the physical
timer which is bases on the physical counter.

Make sure we use a properly paired timer/counter pair.

Reported-by: Andrew Jones <drjo...@redhat.com>
Signed-off-by: Christoffer Dall <cd...@linaro.org>
---
 arm/timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arm/timer.c b/arm/timer.c
index e824338..4cdca9e 100644
--- a/arm/timer.c
+++ b/arm/timer.c
@@ -174,7 +174,7 @@ static bool test_cval_10msec(struct timer_info *info)
 
 static void test_timer(struct timer_info *info)
 {
-       u64 now = read_sysreg(cntvct_el0);
+       u64 now = info->read_counter();
        u64 time_10s = read_sysreg(cntfrq_el0) * 10;
        u64 later = now + time_10s;
 
-- 
2.9.0

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to