diff options
| author | Søren Schmidt <sos@FreeBSD.org> | 1994-10-14 08:45:16 +0000 |
|---|---|---|
| committer | Søren Schmidt <sos@FreeBSD.org> | 1994-10-14 08:45:16 +0000 |
| commit | 8ddee77e1bc81a2be92929222549983df674ddb3 (patch) | |
| tree | 12b4f2fd4275ec4e67e66b300cd4c45a49f74141 /sys/modules/ibcs2 | |
| parent | cc33ccc9bc366fe05c567620da75bde8614c064a (diff) | |
Notes
Diffstat (limited to 'sys/modules/ibcs2')
| -rw-r--r-- | sys/modules/ibcs2/Makefile | 11 | ||||
| -rwxr-xr-x | sys/modules/ibcs2/ibcs2 | 18 | ||||
| -rw-r--r-- | sys/modules/ibcs2/ibcs2.c | 8 | ||||
| -rw-r--r-- | sys/modules/ibcs2/ibcs2.sh | 18 |
4 files changed, 45 insertions, 10 deletions
diff --git a/sys/modules/ibcs2/Makefile b/sys/modules/ibcs2/Makefile index 451cf801390e..720d30943abf 100644 --- a/sys/modules/ibcs2/Makefile +++ b/sys/modules/ibcs2/Makefile @@ -1,14 +1,15 @@ -# $Id: Makefile,v 1.1 1994/09/21 23:27:03 wollman Exp $ +# $Id$ .PATH: ${.CURDIR}/../../sys/i386/ibcs2 KMOD= ibcs2_mod SRCS= ibcs2.c ibcs2_dummy.c ibcs2_file.c ibcs2_ioctl.c ibcs2_ipc.c \ ibcs2_isc.c ibcs2_misc.c ibcs2_signal.c ibcs2_stats.c \ - ibcs2_sysent.c ibcs2_sysi86.c ibcs2_xenix.c \ - imgact_coff.c #imgact_elf.c imgact_linux.c imgact_xout.c - + ibcs2_sysent.c ibcs2_sysi86.c ibcs2_xenix.c NOMAN= VFS_LKM= -CFLAGS+= -DLKM -I. -DIBCS2 +CFLAGS+= -DLKM -I. -DCOMPAT_IBCS2 + +.afterinstall: + ${INSTALL} -c -o bin -g bin -m 755 ibcs2 /usr/bin .include <bsd.kmod.mk> diff --git a/sys/modules/ibcs2/ibcs2 b/sys/modules/ibcs2/ibcs2 new file mode 100755 index 000000000000..bf65033d1527 --- /dev/null +++ b/sys/modules/ibcs2/ibcs2 @@ -0,0 +1,18 @@ +#!/bin/sh +# $Id$ +if [ $# -le 1 ]; then + LOADERS="coff" # elf +fi + +set -e + +kernelfile=`sysctl -n kern.bootfile` +kernelfile=`basename $kernelfile` +newkernelfile="/tmp/${kernelfile}+ibcs2" + +modload -e ibcs2_init -o $newkernelfile -q /lkm/ibcs2_mod.o +for loader in $LOADERS; do + modload -e${loader}_init -o/tmp/ibcs2_${loader}.o -qu \ + -A${newkernelfile} /lkm/ibcs2_${loader}_mod.o +done +set +e diff --git a/sys/modules/ibcs2/ibcs2.c b/sys/modules/ibcs2/ibcs2.c index 35ae9f901094..c58966e8a681 100644 --- a/sys/modules/ibcs2/ibcs2.c +++ b/sys/modules/ibcs2/ibcs2.c @@ -30,15 +30,13 @@ #include <sys/param.h> #include <sys/systm.h> -#include <sys/exec.h> #include <sys/conf.h> -#include <sys/mount.h> +#include <sys/exec.h> +#include <sys/sysent.h> #include <sys/lkm.h> #include <sys/errno.h> -extern const struct execsw coff_execsw; - -MOD_EXEC("ibcs2_mod", -1, (struct execsw*)&coff_execsw) +MOD_MISC("ibcs2_mod") ibcs2_load(struct lkm_table *lkmtp, int cmd) { diff --git a/sys/modules/ibcs2/ibcs2.sh b/sys/modules/ibcs2/ibcs2.sh new file mode 100644 index 000000000000..bf65033d1527 --- /dev/null +++ b/sys/modules/ibcs2/ibcs2.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# $Id$ +if [ $# -le 1 ]; then + LOADERS="coff" # elf +fi + +set -e + +kernelfile=`sysctl -n kern.bootfile` +kernelfile=`basename $kernelfile` +newkernelfile="/tmp/${kernelfile}+ibcs2" + +modload -e ibcs2_init -o $newkernelfile -q /lkm/ibcs2_mod.o +for loader in $LOADERS; do + modload -e${loader}_init -o/tmp/ibcs2_${loader}.o -qu \ + -A${newkernelfile} /lkm/ibcs2_${loader}_mod.o +done +set +e |
