summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-10-22 07:10:15 +0000
committerjake <jake@FreeBSD.org>2002-10-22 07:10:15 +0000
commit1e5391da25bdc331d51294c55eedbf5a57cb27c2 (patch)
treef34cffe470cbf9f9fccd2f915781b834abcdfacc /sys
parent2189f14fb731d78e03cf2731217ce6d0422a675e (diff)
downloadFreeBSD-src-1e5391da25bdc331d51294c55eedbf5a57cb27c2.zip
FreeBSD-src-1e5391da25bdc331d51294c55eedbf5a57cb27c2.tar.gz
Start tick at the correct time (cpu_init_clocks), instead of cpu_startup.
Diffstat (limited to 'sys')
-rw-r--r--sys/sparc64/sparc64/clock.c5
-rw-r--r--sys/sparc64/sparc64/tick.c11
2 files changed, 11 insertions, 5 deletions
diff --git a/sys/sparc64/sparc64/clock.c b/sys/sparc64/sparc64/clock.c
index ea65cfa..1444270 100644
--- a/sys/sparc64/sparc64/clock.c
+++ b/sys/sparc64/sparc64/clock.c
@@ -35,11 +35,6 @@ u_long tick_freq;
u_long tick_MHz;
void
-cpu_initclocks(void)
-{
-}
-
-void
DELAY(int n)
{
u_long start, end;
diff --git a/sys/sparc64/sparc64/tick.c b/sys/sparc64/sparc64/tick.c
index 8c66b18..fd6b439 100644
--- a/sys/sparc64/sparc64/tick.c
+++ b/sys/sparc64/sparc64/tick.c
@@ -40,6 +40,8 @@
#include <sys/proc.h>
#endif
+#include <dev/ofw/openfirm.h>
+
#include <machine/clock.h>
#include <machine/frame.h>
#include <machine/intr_machdep.h>
@@ -52,6 +54,15 @@ int tick_missed; /* statistics */
#define TICK_GRACE 1000
+void
+cpu_initclocks(void)
+{
+ u_int clock;
+
+ OF_getprop(PCPU_GET(node), "clock-frequency", &clock, sizeof(clock));
+ tick_start(clock, tick_hardclock);
+}
+
static __inline void
tick_process(struct clockframe *cf)
{
OpenPOWER on IntegriCloud