summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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