Commit 251db453 authored by Will Deacon's avatar Will Deacon Committed by Catalin Marinas

arm64: vdso: fix clocksource mask when extracting bottom 56 bits

The generic timer clocksource has 56 bits of precision and as such must
be masked appropriately after we have read it. The current mask
generated by a movn instruction is off by 4 bits, so we accidentally
include the top 4 bits in the final value.

This patch fixes the broken mask.
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent f2bd5d24
......@@ -223,7 +223,7 @@ ENTRY(__do_get_tspec)
/* Calculate cycle delta and convert to ns. */
sub x10, x9, x10
/* We can only guarantee 56 bits of precision. */
movn x9, #0xff0, lsl #48
movn x9, #0xff00, lsl #48
and x10, x9, x10
mul x10, x10, x14
lsr x10, x10, x15
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment