diff options
author | Bill Paul <wpaul@FreeBSD.org> | 1999-07-25 04:32:50 +0000 |
---|---|---|
committer | Bill Paul <wpaul@FreeBSD.org> | 1999-07-25 04:32:50 +0000 |
commit | 691c1528642471e055f9dba40e16ff11eca73fd4 (patch) | |
tree | 20324d917a3c98298814d42af5291452b626ac01 /sys/modules | |
parent | a2a0b22c90ecb1b1457b2c6b5679c62d6f91a204 (diff) | |
download | src-691c1528642471e055f9dba40e16ff11eca73fd4.tar.gz src-691c1528642471e055f9dba40e16ff11eca73fd4.zip |
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.
Notes
Notes:
svn path=/head/; revision=49076
Diffstat (limited to 'sys/modules')
-rw-r--r-- | sys/modules/Makefile | 4 | ||||
-rw-r--r-- | sys/modules/sf/Makefile | 28 |
2 files changed, 30 insertions, 2 deletions
diff --git a/sys/modules/Makefile b/sys/modules/Makefile index eaeced95aebe..6be3e15795b4 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -1,9 +1,9 @@ -# $Id: Makefile,v 1.66 1999/07/23 05:47:55 wpaul Exp $ +# $Id: Makefile,v 1.67 1999/07/24 20:55:04 wpaul Exp $ # XXX present but broken: atapi ip_mroute_mod joy pcic SUBDIR= ax ccd cd9660 coda fdesc fxp if_disc if_ppp if_sl if_tun ipfw \ - kernfs mfs msdos mx nfs ntfs nullfs portal procfs sk ti tl \ + kernfs mfs msdos mx nfs ntfs nullfs portal procfs sf sk ti tl \ umapfs union vn xl # XXX some of these can move to the general case when de-i386'ed diff --git a/sys/modules/sf/Makefile b/sys/modules/sf/Makefile new file mode 100644 index 000000000000..aa3df4c2e614 --- /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> |