arm: arch_timer: add arch_counter_set_user_access
authorMark Rutland <mark.rutland@arm.com>
Wed, 14 Nov 2012 10:32:24 +0000 (10:32 +0000)
committerMark Rutland <mark.rutland@arm.com>
Thu, 31 Jan 2013 15:51:39 +0000 (15:51 +0000)
commitb2deabe3ba664a1ec47400c0ca285e951874e0cc
treef23f2dfe4abb6d10a40801edbaf227d21cb31471
parent1ba1cefc277865a0ac222f53bbbf2ebacad1559a
arm: arch_timer: add arch_counter_set_user_access

Several bits in CNTKCTL reset to 0, including PL0VTEN. For architectures
using the generic timer which wish to have a fast gettimeofday vDSO
implementation, these bits must be set to 1 by the kernel. For
architectures without a vDSO, it's best to leave the bits set to 0 for
now to ensure that if and when support is added, it's implemented sanely
architecture wide.

As the bootloader might set PL0VTEN to a value that doesn't correspond
to that which the kernel prefers, we must explicitly set it to the
architecture port's preferred value.

This patch adds arch_counter_set_user_access, which sets the PL0 access
permissions to that required by the architecture. For arch/arm, this
currently means disabling all userspace access.

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