diff options
author | sos <sos@FreeBSD.org> | 1994-10-14 08:45:16 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 1994-10-14 08:45:16 +0000 |
commit | eefd04ea190b36b4739d0d18e89848cff67a1ead (patch) | |
tree | 12b4f2fd4275ec4e67e66b300cd4c45a49f74141 /lkm/ibcs2 | |
parent | aae398c2844c3188cc26e6d99da71c11ba618eb8 (diff) | |
download | FreeBSD-src-eefd04ea190b36b4739d0d18e89848cff67a1ead.zip FreeBSD-src-eefd04ea190b36b4739d0d18e89848cff67a1ead.tar.gz |
LKM module for the iBCS2 emulator
Diffstat (limited to 'lkm/ibcs2')
-rw-r--r-- | lkm/ibcs2/Makefile | 11 | ||||
-rwxr-xr-x | lkm/ibcs2/ibcs2 | 18 | ||||
-rw-r--r-- | lkm/ibcs2/ibcs2.c | 8 |
3 files changed, 27 insertions, 10 deletions
diff --git a/lkm/ibcs2/Makefile b/lkm/ibcs2/Makefile index 451cf80..720d309 100644 --- a/lkm/ibcs2/Makefile +++ b/lkm/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/lkm/ibcs2/ibcs2 b/lkm/ibcs2/ibcs2 new file mode 100755 index 0000000..bf65033 --- /dev/null +++ b/lkm/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/lkm/ibcs2/ibcs2.c b/lkm/ibcs2/ibcs2.c index 35ae9f9..c58966e 100644 --- a/lkm/ibcs2/ibcs2.c +++ b/lkm/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) { |