linux/drivers/clocksource
Catalin Marinas 552b7a455c clocksource: arch_timer: Only use the virtual counter (CNTVCT) on arm64
commit d6ad369130 upstream.

Commit 0b46b8a718 (clocksource: arch_timer: Fix code to use physical
timers when requested) introduces the use of physical counters in the
ARM architected timer driver. However, he arm64 kernel uses CNTVCT in
VDSO. When booting in EL2, the kernel switches to the physical timers to
make things easier for KVM but it continues to use the virtual counter
both in user and kernel. While in such scenario CNTVCT == CNTPCT (since
CNTVOFF is initialised by the kernel to 0), we want to spot firmware
bugs corrupting CNTVOFF early (which would affect CNTVCT).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-02-04 10:58:31 +00:00
..
acpi_pm.c treewide: Fix printks with 0x%# 2013-08-27 10:49:38 +02:00
arm_arch_timer.c clocksource: arch_timer: Only use the virtual counter (CNTVCT) on arm64 2015-02-04 10:58:31 +00:00
arm_global_timer.c clocksource: arm_global_timer: Only check for unusable timer on A9 2014-04-22 11:44:24 +02:00
bcm2835_timer.c clocksource: bcm2835: Switch to sched_clock_register() 2013-07-30 11:24:51 -07:00
bcm_kona_timer.c clocksource: Kona: Print warning rather than panic 2014-02-06 16:01:40 +01:00
cadence_ttc_timer.c clocksource: cadence_ttc: Use readl/writel_relaxed instead of __raw 2014-05-20 16:16:05 +02:00
clksrc-dbx500-prcmu.c clocksource: dbx500-prcmu: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
clksrc-of.c of: consolidate linker section OF match table declarations 2014-05-20 14:25:24 -05:00
cs5535-clockevt.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
dummy_timer.c clocksource, dummy-timer: Fix CPU hotplug callback registration 2014-03-20 13:43:45 +01:00
dw_apb_timer.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
dw_apb_timer_of.c clocksource: dw_apb_timer_of: Do not trace read_sched_clock 2014-05-23 09:23:09 +02:00
em_sti.c clocksource: em_sti: Remove unnecessary OOM messages 2014-05-23 09:23:10 +02:00
exynos_mct.c clocksource: exynos_mct: Fix bitmask regression for exynos4_mct_write 2015-02-02 10:01:01 +00:00
fsl_ftm_timer.c clocksource: Add Freescale FlexTimer Module (FTM) timer support 2014-05-23 10:12:04 +02:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-04 15:57:20 -07:00
Makefile Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-04 15:57:20 -07:00
metag_generic.c clocksource+irqchip: delete __cpuinit usage from all related files 2013-07-14 19:36:57 -04:00
mmio.c clocksource: Fix clocksource_mmio_readX_down 2014-05-23 09:19:40 +02:00
moxart_timer.c ARM: clocksource: moxart: Add bitops.h include 2013-08-01 01:13:34 +02:00
mxs_timer.c clocksource: mxs_timer: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
nomadik-mtu.c ARM: SoC DT updates for 3.14 2014-01-23 18:45:38 -08:00
qcom-timer.c clocksource: qcom: Implement read_current_timer for udelay 2014-05-19 11:30:11 +02:00
samsung_pwm_timer.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c clocksource: sh_cmt: Remove unnecessary OOM messages 2014-05-23 09:23:10 +02:00
sh_mtu2.c clocksource: sh_mtu2: Remove unnecessary OOM messages 2014-05-23 09:23:11 +02:00
sh_tmu.c Merge branch 'clockevents/cmt-mtu2-tmu-cleanups' into clockevents/3.16 2014-05-23 09:23:21 +02:00
sun4i_timer.c clockevent: sun4i: Fix race condition in the probe code 2014-12-01 10:26:04 +00:00
tcb_clksrc.c clocksource: tcb_clksrc: Make tc_mode interrupt safe 2014-05-22 18:54:58 +02:00
tegra20_timer.c clocksource: tegra: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:28 +01:00
time-armada-370-xp.c clocksource: armada-370-xp: Use atomic access for shared registers 2014-03-11 23:05:05 +01:00
time-efm32.c clocksource: efm32: use $vendor,$device scheme for compatible string 2014-04-22 11:44:28 +02:00
time-orion.c clocksource: orion: Use atomic access for shared registers 2014-03-11 23:05:02 +01:00
timer-keystone.c clocksource: timer-keystone: Delete unnecessary variable 2014-03-11 23:05:00 +01:00
timer-marco.c ARM: SoC cleanups for 3.16 2014-06-02 16:14:07 -07:00
timer-prima2.c clocksource:sirf: remove the hardcode for the clk of timers 2014-05-12 21:43:49 +08:00
timer-sun5i.c clocksource: sun5i: Add support for reset controller 2014-04-22 13:56:50 +02:00
timer-u300.c Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-04-05 13:20:43 -07:00
versatile.c clocksource: versatile: Use sched_clock_register() 2014-06-04 07:46:10 -07:00
vf_pit_timer.c clocksource: vf_pit_timer: use complement for sched_clock reading 2014-03-06 11:34:14 +01:00
vt8500_timer.c clocksource: vt8500: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:28 +01:00
zevio-timer.c clocksource: nspire: Fix compiler warning 2014-04-29 15:06:43 +02:00