diff options
Diffstat (limited to 'usr/src/lib/libfakekernel/common/kmisc.c')
-rw-r--r-- | usr/src/lib/libfakekernel/common/kmisc.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/usr/src/lib/libfakekernel/common/kmisc.c b/usr/src/lib/libfakekernel/common/kmisc.c new file mode 100644 index 0000000000..686812e9b0 --- /dev/null +++ b/usr/src/lib/libfakekernel/common/kmisc.c @@ -0,0 +1,81 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + */ + +#include <sys/types.h> +#include <sys/time.h> +#include <sys/thread.h> +#include <sys/proc.h> +#include <sys/zone.h> + +#include <sys/poll.h> + +#include <time.h> +#include <stdlib.h> +#include <unistd.h> + +#include <fakekernel.h> + +pri_t minclsyspri = 60; + +/* Some kernel code takes the address of this. */ +proc_t p0; + +proc_t * +_curproc(void) +{ + return (&p0); +} + +zone_t zone0 = { + .zone_name = "global", + .zone_zsched = &p0, 0 +}; + +zone_t * +_curzone(void) +{ + return (&zone0); +} + +pid_t +ddi_get_pid(void) +{ + return ((pid_t)getpid()); +} + +int +ddi_strtoul(const char *str, char **endp, int base, unsigned long *res) +{ + *res = strtoul(str, endp, base); + return (0); +} + +void +delay(clock_t ticks) +{ + int msec = ticks; /* NB: hz==1000 */ + (void) poll(0, 0, msec); +} + +/* + * This library does not really need an "init" function, but + * providing one the main program can call is an easy way to + * make sure this library is loaded into the debugger, and + * gives us a way to avoid elfcheck complaints in the build. + */ +void +fakekernel_init(void) +{ +} |