summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/os/clock.c')
-rw-r--r--usr/src/uts/common/os/clock.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/usr/src/uts/common/os/clock.c b/usr/src/uts/common/os/clock.c
index 669c8d6886..290506962e 100644
--- a/usr/src/uts/common/os/clock.c
+++ b/usr/src/uts/common/os/clock.c
@@ -67,6 +67,7 @@
#include <sys/rctl.h>
#include <sys/task.h>
#include <sys/sdt.h>
+#include <sys/ddi_timer.h>
/*
* for NTP support
@@ -1045,6 +1046,18 @@ clock_init(void)
mutex_enter(&cpu_lock);
clock_cyclic = cyclic_add(&hdlr, &when);
mutex_exit(&cpu_lock);
+
+ /*
+ * cyclic_timer is dedicated to the ddi interface, which
+ * uses the same clock resolution as the system one.
+ */
+ hdlr.cyh_func = (cyc_func_t)cyclic_timer;
+ hdlr.cyh_level = CY_LOCK_LEVEL;
+ hdlr.cyh_arg = NULL;
+
+ mutex_enter(&cpu_lock);
+ clock_cyclic = cyclic_add(&hdlr, &when);
+ mutex_exit(&cpu_lock);
}
/*