diff options
author | gallatin <gallatin@FreeBSD.org> | 1999-12-14 22:35:36 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 1999-12-14 22:35:36 +0000 |
commit | 1b39d5d377f46180854da60e63f95aa7473d1db6 (patch) | |
tree | 0b293aeec2b72f82bb5672fdc41a54e5d8d1b8a6 /sys/modules | |
parent | a53726a684bbbe7c65bcfeb9aca85f45a8eaf1e2 (diff) | |
download | FreeBSD-src-1b39d5d377f46180854da60e63f95aa7473d1db6.zip FreeBSD-src-1b39d5d377f46180854da60e63f95aa7473d1db6.tar.gz |
Finally add the Alpha OSF/1 compat code. I will add it to the
sys/modules Makefile after completing a buildworld.
History:
The bulk of this code was obtained from NetBSD approximately one year
ago (I have taken care to preserve the original NetBSD copyrights and
I thank the authors for their work.) At that time, the OSF/1 code was
what was left over from their initial bootstrapping off of OSF/1 and
did not provide support for executing shared binaries.
I have independently added support for shared libraries, and support
for some of the more obscure system calls. This code has been
available for testing and comment since January of 1999 and running on
production machines here at Duke since April.
Known working applications include:
- Netscape (all versions I've tried)
- Mathematica 3.0.2
- Splus 3.4
- ArcInfo 7.1
- Matlab (version unknown)
- SimOS
- Atom instrumented binaries (built on a real OSF/1 system)
Applications which are known not to work:
- All applications linking to libmach
- Adobe Acrobat (uses libmach)
This has been tested with applications running against shared
libraries from OSF/1 (aka Tru64) 4.0D and 4.0F.
Reviewed by: marcel, obrien
BDE-lint by: obrien
Agreed in principal to by: msmith
Diffstat (limited to 'sys/modules')
-rw-r--r-- | sys/modules/osf1/Makefile | 26 | ||||
-rw-r--r-- | sys/modules/osf1/osf1.8 | 46 | ||||
-rw-r--r-- | sys/modules/osf1/osf1.sh | 36 |
3 files changed, 108 insertions, 0 deletions
diff --git a/sys/modules/osf1/Makefile b/sys/modules/osf1/Makefile new file mode 100644 index 0000000..459f429 --- /dev/null +++ b/sys/modules/osf1/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +MAINTAINER= gallatin@FreeBSD.org + +.PATH: ${.CURDIR}/../../alpha/osf1 + +KMOD= osf1 +SRCS= osf1_ioctl.c osf1_misc.c osf1_signal.c osf1_sysent.c \ + osf1_mount.c imgact_osf1.c osf1_sysvec.c opt_compat.h \ + opt_simos.h opt_nfs.h vnode_if.h +MAN8= osf1.8 + +#CFLAGS+= -g +EXPORT_SYMS= _osf1 + +opt_compat.h: + echo "#define COMPAT_43 1" > ${.TARGET} + +opt_osf1.h opt_simos.h opt_nfs.h: + touch ${.TARGET} + +afterinstall: + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/osf1.sh ${DESTDIR}/usr/bin/osf1 + +.include <bsd.kmod.mk> diff --git a/sys/modules/osf1/osf1.8 b/sys/modules/osf1/osf1.8 new file mode 100644 index 0000000..a367dc9 --- /dev/null +++ b/sys/modules/osf1/osf1.8 @@ -0,0 +1,46 @@ +.\" Copyright (c) 1999 +.\" The FreeBSD Project. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd December 31, 1998 +.Dt OSF1 8 +.Os FreeBSD +.Sh NAME +.Nm osf1 +.Nd load the OSF/1 emulator kernel module +.Sh SYNOPSIS +.Nm osf1 +.Sh DESCRIPTION +The +.Nm +utility loads the OSF/1 image activator kernel module. +.Sh FILES +.Bl -tag -width /modules/osf1.ko +.It Pa /modules/osf1.ko +OSF/1 image activator loadable kernel module. +.Sh SEE ALSO +.Xr kld 4 , +.Xr kldload 8 , +.Xr kldstat 8 , +.Xr kldunload 8 diff --git a/sys/modules/osf1/osf1.sh b/sys/modules/osf1/osf1.sh new file mode 100644 index 0000000..b2b4d92 --- /dev/null +++ b/sys/modules/osf1/osf1.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (c) 1999 +# The FreeBSD Project. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ +# + +FOUND=`kldstat -v | egrep 'osf1_ecoff'` + +if [ "x$FOUND" != x ] ; then + echo Osf1 driver already loaded + exit 1 +else + kldload osf1 +fi |