arm64: generic timer: use virtual counter instead of physical at EL0
We want to use the virtual counter at EL0, as the physical counter may not track the current clocksource for guests running under a hypervisor. This patch updates the vdso and generic timer driver to use the virtual counter. The kernel EL2 entry code is also updated to ensure that the virtual offset is initialised to zero. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:

committed by
Catalin Marinas

parent
45a7905fc4
commit
1f75ff0a3d
@@ -220,9 +220,9 @@ ENTRY(__do_get_tspec)
|
||||
ldp w11, w12, [vdso_data, #VDSO_CS_MULT]
|
||||
seqcnt_read w9
|
||||
|
||||
/* Read the physical counter. */
|
||||
/* Read the virtual counter. */
|
||||
isb
|
||||
mrs x15, cntpct_el0
|
||||
mrs x15, cntvct_el0
|
||||
|
||||
/* Calculate cycle delta and convert to ns. */
|
||||
sub x10, x15, x10
|
||||
|
Reference in New Issue
Block a user