summaryrefslogtreecommitdiff
path: root/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2011-02-27 19:41:40 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2011-02-27 19:41:40 +0000
commit10b9d77bf1ccf2f3affafa6261692cb92cf7e992 (patch)
treeef515cadc08bf427e4d3f1360199ec9827b1596b /sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
parente02dd14a548a89bee6657d9eacb0f992bf61b280 (diff)
Notes
Diffstat (limited to 'sys/cddl/compat/opensolaris/kern/opensolaris_misc.c')
-rw-r--r--sys/cddl/compat/opensolaris/kern/opensolaris_misc.c38
1 files changed, 10 insertions, 28 deletions
diff --git a/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c b/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
index 4ac666dfbe67..595f3c0b3c55 100644
--- a/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
+++ b/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
@@ -33,40 +33,22 @@ __FBSDID("$FreeBSD$");
#include <sys/libkern.h>
#include <sys/limits.h>
#include <sys/misc.h>
-#include <sys/sunddi.h>
+#include <sys/sysctl.h>
char hw_serial[11] = "0";
struct opensolaris_utsname utsname = {
- .nodename = "unset",
- .sysname = "SunOS"
+ .machine = MACHINE
};
-int
-ddi_strtol(const char *str, char **nptr, int base, long *result)
+static void
+opensolaris_utsname_init(void *arg)
{
- *result = strtol(str, nptr, base);
- if (*result == 0)
- return (EINVAL);
- else if (*result == LONG_MIN || *result == LONG_MAX)
- return (ERANGE);
- return (0);
-}
-
-int
-ddi_strtoul(const char *str, char **nptr, int base, unsigned long *result)
-{
-
- if (str == hw_serial) {
- *result = prison0.pr_hostid;
- return (0);
- }
-
- *result = strtoul(str, nptr, base);
- if (*result == 0)
- return (EINVAL);
- else if (*result == ULONG_MAX)
- return (ERANGE);
- return (0);
+ utsname.sysname = ostype;
+ utsname.nodename = prison0.pr_hostname;
+ utsname.release = osrelease;
+ snprintf(utsname.version, sizeof(utsname.version), "%d", osreldate);
}
+SYSINIT(opensolaris_utsname_init, SI_SUB_TUNABLES, SI_ORDER_ANY,
+ opensolaris_utsname_init, NULL);