summaryrefslogtreecommitdiffstats
path: root/sys/modules/sf
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1999-07-25 04:32:50 +0000
committerwpaul <wpaul@FreeBSD.org>1999-07-25 04:32:50 +0000
commit97307ab479f01e32a804d2373409fa9d33e57b4a (patch)
tree00d7c7170d40b5465143c9eaec52f2920fa55a91 /sys/modules/sf
parentd4d099c14dc9cd65845505d1852e974126a29806 (diff)
downloadFreeBSD-src-97307ab479f01e32a804d2373409fa9d33e57b4a.zip
FreeBSD-src-97307ab479f01e32a804d2373409fa9d33e57b4a.tar.gz
This commit adds device driver support for Adaptec Duralink PCI fast
ethernet controllers based on the AIC-6915 "Starfire" controller chip. There are single port, dual port and quad port cards, plus one 100baseFX card. All are 64-bit PCI devices, except one single port model. The Starfire would be a very nice chip were it not for the fact that receive buffers have to be longword aligned. This requires buffer copying in order to achieve proper payload alignment on the alpha. Payload alignment is enforced on both the alpha and x86 platforms. The Starfire has several different DMA descriptor formats and transfer mechanisms. This driver uses frame descriptors for transmission which can address up to 14 packet fragments, and a single fragment descriptor for receive. It also uses the producer/consumer model and completion queues for both transmit and receive. The transmit ring has 128 descriptors and the receive ring has 256. This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus so that it can be compiled as a loadable kernel module. Support for BPF and hardware multicast filtering is included.
Diffstat (limited to 'sys/modules/sf')
-rw-r--r--sys/modules/sf/Makefile28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/modules/sf/Makefile b/sys/modules/sf/Makefile
new file mode 100644
index 0000000..aa3df4c
--- /dev/null
+++ b/sys/modules/sf/Makefile
@@ -0,0 +1,28 @@
+# $Id: Makefile,v 1.1 1999/07/23 05:48:01 wpaul Exp $
+
+S = ${.CURDIR}/../..
+.PATH: $S/pci
+KMOD = sf
+SRCS = if_sf.c sf.h bpf.h opt_bdg.h device_if.h bus_if.h pci_if.h
+CLEANFILES += sf.h bpf.h opt_bdg.h device_if.h bus_if.h pci_if.h
+CFLAGS += ${DEBUG_FLAGS}
+
+sf.h:
+ echo "#define NFXP 1" > sf.h
+
+bpf.h:
+ echo "#define NBPF 1" > bpf.h
+
+opt_bdg.h:
+ touch opt_bdg.h
+
+device_if.h: $S/kern/makedevops.pl $S/kern/device_if.m
+ perl $S/kern/makedevops.pl -h $S/kern/device_if.m
+
+bus_if.h: $S/kern/makedevops.pl $S/kern/bus_if.m
+ perl $S/kern/makedevops.pl -h $S/kern/bus_if.m
+
+pci_if.h: $S/kern/makedevops.pl $S/pci/pci_if.m
+ perl $S/kern/makedevops.pl -h $S/pci/pci_if.m
+
+.include <bsd.kmod.mk>
OpenPOWER on IntegriCloud