Re: [PATCH 1/1] KVM: arm/arm64: arch_timer: Fix TimerValue TVAL calculation in KVM

From: Marc Zyngier
Date: Sat Mar 30 2019 - 05:56:23 EST


On Fri, 29 Mar 2019 20:12:53 +0000,
Wei Huang <wei@xxxxxxxxxx> wrote:
>
> Recently the generic timer test of kvm-unit-tests failed to complete
> (stalled) when a physical timer is being used. This issue is caused
> by incorrect update of CNT_CVAL when TimerValue is being accessed,
> introduced by 'Commit 84135d3d18da ("KVM: arm/arm64: consolidate arch
> timer trap handlers")'. According to Arm ARM, the read/write behavior
> of accesses to TimeValue registers is expected to be:
>
> * READ: TimerValue = (CompareValue â (Counter - Offset)
> * WRITE: CompareValue = ((Counter - Offset) + Sign(TimerValue)
>
> This patch fixes the TVAL read/write code path according to the
> specification.
>
> Signed-off-by: Wei Huang <wei@xxxxxxxxxx>

Huh... Nice catch. I guess I only ran this with a VHE host, where this
code path is unused.

Thanks,

M.

--
Jazz is not dead, it just smell funny.