summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2011-06-04 22:05:20 +0000
committerattilio <attilio@FreeBSD.org>2011-06-04 22:05:20 +0000
commit8e66ca1ff16b21df31a40fa743f8df3844507305 (patch)
tree7235c316aab81a86e3bfc131b1abae5475040624 /sys/cddl
parent91525e4ff96713dd3149a3477069cc7213d0abae (diff)
parent786c89f781c52e7423abdc562256ef0830f60be6 (diff)
downloadFreeBSD-src-8e66ca1ff16b21df31a40fa743f8df3844507305.zip
FreeBSD-src-8e66ca1ff16b21df31a40fa743f8df3844507305.tar.gz
MFC
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/compat/opensolaris/kern/opensolaris.c3
-rw-r--r--sys/cddl/compat/opensolaris/sys/time.h17
2 files changed, 18 insertions, 2 deletions
diff --git a/sys/cddl/compat/opensolaris/kern/opensolaris.c b/sys/cddl/compat/opensolaris/kern/opensolaris.c
index 54118eb..640b2f3 100644
--- a/sys/cddl/compat/opensolaris/kern/opensolaris.c
+++ b/sys/cddl/compat/opensolaris/kern/opensolaris.c
@@ -40,6 +40,7 @@
cpu_core_t cpu_core[MAXCPU];
kmutex_t cpu_lock;
solaris_cpu_t solaris_cpu[MAXCPU];
+int nsec_per_tick;
/*
* OpenSolaris subsystem initialisation.
@@ -60,6 +61,8 @@ opensolaris_load(void *dummy)
}
mutex_init(&cpu_lock, "OpenSolaris CPU lock", MUTEX_DEFAULT, NULL);
+
+ nsec_per_tick = NANOSEC / hz;
}
SYSINIT(opensolaris_register, SI_SUB_OPENSOLARIS, SI_ORDER_FIRST, opensolaris_load, NULL);
diff --git a/sys/cddl/compat/opensolaris/sys/time.h b/sys/cddl/compat/opensolaris/sys/time.h
index 05db50e..8e8a99d 100644
--- a/sys/cddl/compat/opensolaris/sys/time.h
+++ b/sys/cddl/compat/opensolaris/sys/time.h
@@ -62,8 +62,21 @@ gethrtime(void) {
#define gethrestime(ts) getnanotime(ts)
#define gethrtime_waitfree() gethrtime()
-#define ddi_get_lbolt() ((gethrtime() * hz) / NANOSEC)
-#define ddi_get_lbolt64() (int64_t)((gethrtime() * hz) / NANOSEC)
+extern int nsec_per_tick; /* nanoseconds per clock tick */
+
+static __inline int64_t
+ddi_get_lbolt64(void)
+{
+
+ return (gethrtime() / nsec_per_tick);
+}
+
+static __inline clock_t
+ddi_get_lbolt(void)
+{
+
+ return (ddi_get_lbolt64());
+}
#else
OpenPOWER on IntegriCloud