From 691c1528642471e055f9dba40e16ff11eca73fd4 Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Sun, 25 Jul 1999 04:32:50 +0000 Subject: 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. --- sys/modules/Makefile | 4 ++-- sys/modules/sf/Makefile | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 sys/modules/sf/Makefile (limited to 'sys/modules') 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 -- cgit v1.3