aboutsummaryrefslogtreecommitdiff
path: root/emulators/kqemu-kmod/files/kqemu.in
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/kqemu-kmod/files/kqemu.in')
-rw-r--r--emulators/kqemu-kmod/files/kqemu.in49
1 files changed, 49 insertions, 0 deletions
diff --git a/emulators/kqemu-kmod/files/kqemu.in b/emulators/kqemu-kmod/files/kqemu.in
new file mode 100644
index 000000000000..c8ececdd2226
--- /dev/null
+++ b/emulators/kqemu-kmod/files/kqemu.in
@@ -0,0 +1,49 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# PROVIDE: kqemu
+# KEYWORD: nojail
+#
+# Add the following line to /etc/rc.conf[.local] to enable kqemu
+#
+# kqemu_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="kqemu"
+load_rc_config $name
+rcvar=`set_rcvar`
+start_cmd=kqemu_start
+stop_cmd=kqemu_stop
+
+kqemu_start()
+{
+ # load aio if needed
+ if ! kldstat -qm aio; then
+ if kldload aio; then
+ info 'aio module loaded.'
+ else
+ warn 'aio module failed to load.'
+ return 1
+ fi
+ fi
+ if ! kldstat -qm kqemu; then
+ if kldload kqemu; then
+ echo 'kqemu module loaded.'
+ else
+ warn 'kqemu module failed to load.'
+ return 1
+ fi
+ fi
+ return 0
+}
+
+kqemu_stop()
+{
+ if kldstat -qm kqemu && kldunload kqemu; then
+ echo 'kqemu module unloaded.'
+ fi
+}
+
+run_rc_command "$1"