提交 251db453 编写于 作者: W Will Deacon 提交者: 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: NMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: NWill Deacon <will.deacon@arm.com>
Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册