aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-01-08 14:49:12 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-01-08 14:50:03 -0500
commite97126cd9056b3b42cdc862ace2ed66f8026f55b (patch)
tree9be88dbac72032d8e20cdd9b4034972dba6657ad /arch/arm/kernel
parent6020dff09252e3670a89edb36baaa4afb9b10d15 (diff)
[ARM] Provide basic printk_clock() implementation
Current sched_clock() implementations on ARM cause unbootable kernels with PRINTK_TIME support enabled. To avoid this, provide a basic printk_clock() implementation which avoids sched_clock() being called before the page tables have been set up. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/time.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c
index 174cd4900bf9..3c8cdcfe8d4a 100644
--- a/arch/arm/kernel/time.c
+++ b/arch/arm/kernel/time.c
@@ -87,6 +87,17 @@ unsigned long long __attribute__((weak)) sched_clock(void)
87 return (unsigned long long)jiffies * (1000000000 / HZ); 87 return (unsigned long long)jiffies * (1000000000 / HZ);
88} 88}
89 89
90/*
91 * An implementation of printk_clock() independent from
92 * sched_clock(). This avoids non-bootable kernels when
93 * printk_clock is enabled.
94 */
95unsigned long long printk_clock(void)
96{
97 return (unsigned long long)(jiffies - INITIAL_JIFFIES) *
98 (1000000000 / HZ);
99}
100
90static unsigned long next_rtc_update; 101static unsigned long next_rtc_update;
91 102
92/* 103/*