summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>2001-06-14 15:16:04 +0000
committerjoerg <joerg@FreeBSD.org>2001-06-14 15:16:04 +0000
commit1122486743c04a141d79ea166612f06d2c54325c (patch)
tree17fbc3c79e2ab574ea5ba4bfa944c20338aa2ff7 /sys
parentad173225baec589e8442cfc1d75b32843b41bdcc (diff)
downloadFreeBSD-src-1122486743c04a141d79ea166612f06d2c54325c.zip
FreeBSD-src-1122486743c04a141d79ea166612f06d2c54325c.tar.gz
Implement a loadable module for the oltr Olicom Token Ring driver. I
could only get a chance of testing it under 4.3, but together with the if_oltr.c fixes at least it seems to work now. If someone has the chance to test this under -current, please do. Unfortunaltey, the TR code itself (if_iso88025subr.c) is not written in a way that would allow to make a seaparate KLD out of it. By now, just link it directly into the oltr KLD since it's probably the POLA to be able to load the TR code together with the only TR hardware driver we've got by now. I've got one single unexplained panic (in doreti_switch or somewhere there, calling a 0xc1XXXXXX address that did no longer belong to the kernel at all) after unloading the modules once, thus i don't propose a MFC of this module despite my testing has been done solely on 4.3, unless someone is really going to test this stuff in -current.
Diffstat (limited to 'sys')
-rw-r--r--sys/modules/Makefile2
-rw-r--r--sys/modules/oltr/Makefile35
2 files changed, 36 insertions, 1 deletions
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index efd4880c..135203e 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -19,7 +19,7 @@ SUBDIR= 3dfx accf_data accf_http agp aha amr an aue \
# XXX some of these can move to the general case when de-i386'ed
.if ${MACHINE_ARCH} == "i386"
SUBDIR+=aac aic ar asr atspeaker bktr coff el fpu gnufpu ibcs2 mly \
- pecoff ray s3 smbfs splash sr streams vesa wi
+ oltr pecoff ray s3 smbfs splash sr streams vesa wi
.endif
.if ${MACHINE} == "pc98"
diff --git a/sys/modules/oltr/Makefile b/sys/modules/oltr/Makefile
new file mode 100644
index 0000000..2087aaa
--- /dev/null
+++ b/sys/modules/oltr/Makefile
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../../contrib/dev/oltr ${.CURDIR}/../../net
+KMOD = if_oltr
+SRCS = if_oltr.c trlldbm.c trlldhm.c trlldmac.c if_iso88025subr.c \
+ opt_inet.h opt_inet6.h opt_ipx.h device_if.h bus_if.h pci_if.h
+OBJS+= trlld.o
+NOMAN=
+
+TR_INET?= 1 # 0/1 requires INET to be configured in the kernel
+TR_INET6?= 0 # 0/1 requires INET6 to be configured in the kernel
+TR_IPX?= 0 # 0/1 requires IPX to be configured in the kernel
+
+trlld.o:
+ uudecode < ${.CURDIR}/../../contrib/dev/oltr/i386-${OBJFORMAT}.trlld.o.uu
+
+opt_inet.h:
+ touch opt_inet.h
+.if ${TR_INET} > 0
+ echo "#define INET 1" > opt_inet.h
+.endif
+
+opt_inet6.h:
+ touch opt_inet6.h
+.if ${TR_INET6} > 0
+ echo "#define INET6 1" > opt_inet6.h
+.endif
+
+opt_ipx.h:
+ touch opt_ipx.h
+.if ${TR_IPX} > 0
+ echo "#define IPX 1" > opt_ipx.h
+.endif
+
+.include <bsd.kmod.mk>
OpenPOWER on IntegriCloud