arm: arch_timer: add isbs to register accessors
authorMark Rutland <mark.rutland@arm.com>
Fri, 11 Jan 2013 14:32:33 +0000 (14:32 +0000)
committerMark Rutland <mark.rutland@arm.com>
Thu, 31 Jan 2013 15:51:23 +0000 (15:51 +0000)
commit45801042225c66a66fb2cb50fae6ff71883a99d6
tree569367ff83dfc2b5e6c29bdeb1d32facffbb778e
parentec944c93a293bee6b4cc6b6f1c9560526c7ed635
arm: arch_timer: add isbs to register accessors

Without the isbs in arch_timer_get_cnt{p,v}ct the cpu may speculate
reads and return stale values. This could be bad for code sensitive to
changes in expected deltas between calls (e.g. the delay loop).

Without isbs in arch_timer_reg_write the processor may reorder
instructions around enabling/disabling of the timer or writing the
compare value, which we probably don't want.

This patch adds isbs to prevent those issues.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm/include/asm/arch_timer.h