Commit Graph

278 Commits

Author SHA1 Message Date
Bill Paul
1088f6c7c1 Spruce up the ADMtek driver: conver to newbus, miibus and add support
for the AN985 "Centaur" chip, which is apparently the next genetation
of the "Comet." The AN985 is also a tulip clone and is similar to the
AL981 except that it uses a 99C66 EEPROM and a serial MII interface
(instead of direct access to the PHY registers).

Also updated various documentation to mention the AN985 and created
a loadable module.

I don't think there are any cards that use this chip on the market yet:
the datasheet I got from ADMtek has boxes with big X's in them where the
diagrams should be, and the sample boards I got have chips without any
artwork on them.
1999-09-22 05:07:51 +00:00
Bill Paul
977f4ed148 RealTek driver module wasn't being built; add it to the Makefile. 1999-09-19 23:19:59 +00:00
Bill Paul
e5a9fd5435 This commit adds driver support for PCI fast ethernet NICs based on
the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation
XPressNet. Datasheet is available from www.davicom8.com.

The DM910x chips are still more tulip clones. The API is reproduced
pretty faithfully, unfortunately the performance is pretty bad. The
transmitter seems to have a lot of problems DMAing multi-fragment
packets. The only way to make it work reliably is to coalesce transmitted
packets into a single contiguous buffer. The Linux driver (written by
Davicom) actually does something similar to this. I can't recomment this
NIC as anything more than a "connectivity solution."

This driver uses newbus and miibus and is supported on both i386
and alpha platforms.
1999-09-06 06:14:30 +00:00
Bill Paul
9555e59a1e This commit adds driver support for the Silicon Integrated Systems
SiS 900 and SiS 7016 PCI fast ethernet chipsets. Full manuals for the
SiS chips can be found at www.sis.com.tw.

This is a fairly simple chipset. The receiver uses a 128-bit multicast
hash table and single perfect entry for the station address. Transmit and
receive DMA and FIFO thresholds are easily tuneable. Documentation is
pretty decent and performance is not bad, even on my crufty 486. This
driver uses newbus and miibus and is supported on both the i386 and
alpha architectures.
1999-09-05 21:01:03 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Bill Paul
23e4757cd7 This commit adds device driver support for the Sundance Technologies ST201
PCI fast ethernet controller. Currently, the only card I know that uses
this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the
only cards I have are samples sent to me by D-Link.)

This driver is the first to make use of the miibus code once I'm sure
it all works together nicely, I'll start converting the other drivers.

The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design
only with its own register layout. Support is provided for ifmedia,
hardware multicast filtering, bridging and promiscuous mode.
1999-08-21 18:34:58 +00:00
Bill Paul
d00275330d This commit adds support for the NetBSD MII abstraction layer and
MII-compliant PHY drivers. Many 10/100 ethernet NICs available today
either use an MII transceiver or have built-in transceivers that can
be programmed using an MII interface. It makes sense then to separate
this support out into common code instead of duplicating it in all
of the NIC drivers. The mii code also handles all of the media
detection, selection and reporting via the ifmedia interface.

This is basically the same code from NetBSD's /sys/dev/mii, except
it's been adapted to FreeBSD's bus architecture. The advantage to this
is that it automatically allows everything to be turned into a
loadable module. There are some common functions for use in drivers
once an miibus has been attached (mii_mediachg(), mii_pollstat(),
mii_tick()) as well as individual PHY drivers. There is also a
generic driver for all PHYs that aren't handled by a specific driver.
It's possible to do this because all 10/100 PHYs implement the same
general register set in addition to their vendor-specific register
sets, so for the most part you can use one driver for pretty much
any PHY. There are a couple of oddball exceptions though, hence
the need to have specific drivers.

There are two layers: the generic "miibus" layer and the PHY driver
layer. The drivers are child devices of "miibus" and the "miibus" is
a child of a given NIC driver. The "miibus" code and the PHY drivers
can actually be compiled and kldoaded as completely separate modules
or compiled together into one module. For the moment I'm using the
latter approach since the code is relatively small.

Currently there are only three PHY drivers here: the generic driver,
the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding
others later as I convert various NIC drivers to use this code.

I realize that I'm cvs adding this stuff instead of importing it
onto a separate vendor branch, but in my opinion the import approach
doesn't really offer any significant advantage: I'm going to be
maintaining this stuff and writing my own PHY drivers one way or
the other.
1999-08-21 17:40:53 +00:00
Bill Paul
8674aa45c7 Convert the Winbond driver to newbus and have it compiled as a module. 1999-08-10 21:09:12 +00:00
Bill Paul
08339b4fa4 Convert the VIA Rhine driver to newbus and set it up to be compiled as
a module. Also modified the code to work on FreeBSD/alpha and added
device vr0 to the alpha GENERIC config.

While I was in the neighborhood, I noticed that I was still using
#define NFPX 1 in all of the Makefiles that I'd copied from the fxp
module. I don't really use #define Nfoo X so it didn't matter, but
I decided to customize this correctly anyway.
1999-08-10 17:15:20 +00:00
Bill Paul
74432d0d13 Add a module Makefile for the PNIC driver. 1999-07-28 02:21:56 +00:00
Bill Paul
691c152864 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.
1999-07-25 04:32:50 +00:00
Bill Paul
8b1b6ae5a6 Add mx and ax modules for the Macronix and ASIX drivers and update the
modules Makefile so they get built.
1999-07-24 20:55:05 +00:00
Bill Paul
98edb3e178 Create module directories for the xl, ti, tl and sk drivers and add
them to the Makefile so that modules will be generated for /modules.
1999-07-23 05:48:01 +00:00
Greg Lehey
9e0450400d Reenable Vinum build 1999-06-24 05:21:19 +00:00
Roger Hardiman
05da1d9122 Add bktr (Bt848/Bt878 driver loadable module) to the Makefile i386 only section 1999-06-12 15:11:33 +00:00
John Birrell
c27d843bd9 Remove vinum from the build until Greg reviews phk's cdevsw changes.
Preferred by: phk (rather than committing the patch without review).
1999-06-02 07:15:17 +00:00
Greg Lehey
2ca1fa6cd1 Reenable vinum build. 1999-05-15 06:13:27 +00:00
Poul-Henning Kamp
2c7723a7c9 Vinum doesn't compile right now. 1999-05-13 09:43:29 +00:00
Bruce Evans
54ab20b159 Fixed bitrot in comments. 1999-05-06 03:35:44 +00:00
David E. O'Brien
025998c77d MFS: don't build the pcic.ko module. 1999-05-05 20:58:15 +00:00
Peter Wemm
bd43a21c14 Kill joy for the time being, it used lkm unconditionally, breaking world.
Submitted by:	"Steven G. Kargl" <kargl@troutmask.apl.washington.edu>
1999-04-19 20:36:06 +00:00
Bruce Evans
dc10771330 Actually build the new fxp module.
Updated comments about rotten modules.

Fixed disorder and English errors.
1999-04-18 03:18:33 +00:00
Peter Wemm
6a6aebc809 Disconnect lkm subdir so we don't build a lkm module, in case something
I do breaks world or the nightly snapshots.  (you can still do it by hand
though for the moment)
1999-04-17 16:31:13 +00:00
Peter Wemm
4962041b9b Drop the atapi module from the build, it's just wasting time. 1999-04-13 18:53:54 +00:00
Julian Elischer
accde249ae quick BDE premption 1999-03-14 20:43:09 +00:00
Julian Elischer
0237469f43 A bit of a hack, but allows the vn device to be a module again.
Submitted by: Matt Dillon <dillon@freebsd.org>
1999-03-14 20:40:15 +00:00
Julian Elischer
a5296b05b4 Submitted by: Matt Dillon <dillon@freebsd.org>
The old VN device broke in -4.x when the definition of B_PAGING
changed. This patch fixes this plus implements additional capabilities.
The new VN device can be backed by a file ( as per normal ), or it can
be directly backed by swap.

Due to dependencies in VM include files  (on opt_xxx options) the new
vn device cannot be a module yet. This will be fixed in a later commit.
This commit delimitted by tags {PRE,POST}_MATT_VNDEV
1999-03-14 09:20:01 +00:00
Mark Newton
86e9118bcc Converted "streams" pseudo-device into a KLD 1999-02-22 11:44:46 +00:00
Semen Ustimenko
b4b8aedf57 Added ntfs subdirectory.
Reviewed by:	David O'Brien <obrien@NUXI.com>
1999-02-03 04:18:25 +00:00
Mark Newton
7f84fa455a Activate svr4 module 1999-01-30 06:31:51 +00:00
Peter Wemm
7ed6908ffd Add vn module to build list. 1999-01-21 17:19:56 +00:00
Peter Wemm
afce57191c Update for pcic for kld modules and activate 1999-01-19 00:41:17 +00:00
Peter Wemm
72a3f9e4d1 Add the lkm module 1999-01-17 19:06:06 +00:00
Kazutaka YOKOTA
1243dad08d Add splash screen module. This version has rather limited
capabilities, but should be a good start... Well, sort of.

It can handle W*ndows 256 color BMP file.  (Other color depth probably
won't work.) The size of the image must be 320x200 or less.  *sigh*
1999-01-11 03:34:56 +00:00
Bruce Evans
9dd98e24ca Fixed bitrot in comments. 1999-01-01 10:33:52 +00:00
Kazutaka YOKOTA
13e05026dd Make the VESA KLD module work! 1998-12-30 11:21:08 +00:00
Peter Wemm
8b26ae02c5 Reconnect vinum KLD module and have it build from sys/dev/vinum rather than
from outside the src/sys tree like before.
1998-12-28 05:27:24 +00:00
Søren Schmidt
380366f204 Temporaryly disable vinum, awaiting repository copy of misplaced files. 1998-12-27 19:43:28 +00:00
Søren Schmidt
b31f6ba123 Remove depricated wcd module. 1998-12-27 19:01:47 +00:00
John Polstra
68d0b83d98 Fix make world breakage: "$MACHINE_ARCH" -> "${MACHINE_ARCH}". 1998-11-04 18:25:23 +00:00
Mike Smith
28cc91d8c5 Don't try to build i386-centric modules on non-i386 systems. 1998-11-04 17:15:07 +00:00
Peter Wemm
cabb29ecf0 Reactivate coda. Also, KLD isn't just for i386, it will work on all
architectures since it is a key part of the configuration mechanism. The
exact same code runs in the kernel as it does in a kld module.
1998-11-03 08:58:27 +00:00
Peter Wemm
3b49cbc625 The union kld module is now fully functional. 1998-11-03 08:03:04 +00:00
Peter Wemm
d679319f61 Update comments on status of modules 1998-11-03 06:51:48 +00:00
Peter Wemm
a654d07295 Sample initial set of kld-ified modules. Not all have been completely
converted yet.  These are more of a starting point.  This is NOT connected
to the parent Makefile.

OK'ed by jkh (who is ever so patiently waiting)
1998-10-16 04:30:52 +00:00
Greg Lehey
3d8357b49c Include vinum in SUBDIR 1998-09-28 05:38:52 +00:00
Robert V. Baron
34b01b8c34 lkm for coda 1998-09-25 17:51:44 +00:00
Søren Schmidt
e0b1054764 Add the vesa module to the list 1998-09-15 20:17:35 +00:00
John Birrell
6e19590c40 The FreeBSD lkm design is aout specific. 1998-05-15 11:57:05 +00:00
Mike Smith
34ec3b3cc9 Don't reference (nonesxistent) qcam module. 1998-02-18 14:30:07 +00:00
Jonathan Lemon
ad47cbca85 Remove the vm86 LKM. 1997-08-28 14:45:26 +00:00
John Dyson
9b9d503b21 Add VM86 to the lkm build. 1997-08-09 00:23:07 +00:00
Peter Wemm
4a0f765fbf Revert $FreeBSD$ back to $Id$ 1997-02-22 12:49:29 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Bruce Evans
a24ed11695 Disabled unusable union lkm. 1996-06-23 13:31:20 +00:00
Satoshi Asami
d02dcfb382 Add ccd. 1996-06-12 03:49:35 +00:00
Paul Traina
c3c185a32f Add in qcam module (forgot) 1996-03-24 00:30:38 +00:00
Jean-Marc Zucconi
f1d4e1ee10 Add joy to the SUBDIR list. 1996-03-16 01:43:26 +00:00
Peter Wemm
659f340ca4 Detach fpu and gnufpu from Makefile.. These lkm's build (or used to)
but are not quite useable.  (fpu is used by init, and process switch
apparently..)
1996-01-06 23:15:40 +00:00
Bruce Evans
7f31c0b610 Reformatted the list of broken modules and added ip_mroute_mod to it. 1995-12-16 21:19:18 +00:00
Poul-Henning Kamp
e531deaeb2 Two x87 emulators as LKMs.
If somebody with the right HW would make the change to /etc/rc to use
this, we could rip MATH_EMULATE from GENERIC...
1995-12-14 08:26:14 +00:00
Peter Wemm
a4991dc20f Reattach atapi and wcd to the lkm Makefile, these compile for me now. 1995-10-28 17:46:03 +00:00
Peter Wemm
6667e247e9 Sorry.. I didn't mean to re-enable wcd yet 1995-10-28 13:28:16 +00:00
Peter Wemm
8e6b01171e Do a pass over the broken LKM's and update them to use the "new"
convention of having their entry point named "<modname>_mod"".
Symorder is enforcing this when the current bsd.kmod.mk is installed.

I've not tested all these, but at least they all compile now.

Reattach them to the makefile.

Note that the change that I made to symorder needs to be compiled and
installed before any LKM's will work - the last version was corrupting
the relocation tables.  A "make world" will to this, but if you
manually run a make on the lkm's you'll need to take care of it by
hand.
1995-10-28 12:35:14 +00:00
Andrey A. Chernov
75b65495cb Temp. disable following modules:
atapi coff ibcs2 ipfw linux syscons wcd
(until they will be fixed)
It allows to build/install other modules from top
1995-10-28 02:49:46 +00:00
Steven Wallace
0730bc354b Remove socksys lkm from makefile list. 1995-10-10 08:23:13 +00:00
Poul-Henning Kamp
f37f4df155 pcic lkm for the pccard stuff. 1995-08-24 09:06:24 +00:00
Søren Schmidt
c21dee177f First incarnation of our Linux emulator or rather compatibility code.
This first shot only incorporaties so much functionality that DOOM
can run (the X version), signal handling is VERY weak, so is many
other things. But it meets my milestone number one (you guessed it
- running DOOM).

Uses /compat/linux as prefix for loading shared libs, so it won't
conflict with our own libs.

Kernel must be compiled with "options COMPAT_LINUX" for this to work.
1995-06-25 17:32:43 +00:00
Garrett Wollman
ca78a2a8bb I was wrong. I thought that the ip_mroute lkm would still compile, but it
seems to have stopped working on me.  Disable it until I get a chance to
fix it.
1995-06-13 20:51:13 +00:00
Garrett Wollman
f065639f29 The discard, tunnel, SLIP, and PPP network interface pseudo-devices
are now dynamically loadable.  It doesn't make sense to do the same
for the loopback.
1995-03-20 19:25:49 +00:00
Søren Schmidt
17ee9d00bc Next syscons update (given up on numbering :)
Removed screensavers from syscons, they are now LKM's. This makes it
possible to do some really "interesting" screensavers...
Fixed bug that sometimes caused garbage to appear when leaving
"scroll-lock" history.
Reformattet indentation, it got too deep for a normal 80 pos screen.
Split up in syscons.c & syscons.h for use with the saver-lkm's.
Temporarily removed -s option from vidcontrol, savers should now
be loaded with modload.
1995-02-22 13:48:07 +00:00
Ugen J.S. Antsilevich
89209d358d Add ipfw to /lkm Makefile..uups.. 1995-01-30 14:21:46 +00:00
Søren Schmidt
afc889a280 Added socksys module 1994-10-16 20:39:52 +00:00
Søren Schmidt
5828b66e7f Added coff & ibcs2 modules.
Reviewed by:
Submitted by:
Obtained from:
1994-10-14 08:54:31 +00:00
Garrett Wollman
cd5bc3689f Disable MFS as loadable until someone figures out how to make it work. 1994-09-28 22:16:27 +00:00
Garrett Wollman
42477d75d0 Create NFS LKM. 1994-09-22 22:12:59 +00:00
Garrett Wollman
4b1e44f14a Build LKMs for all ``easy'' filesystems. (lfs can be done, but it's more
work; ditto NFS and it's even more work.)
1994-09-21 23:27:16 +00:00
Garrett Wollman
0eec3684ff Per discussion on the mailing-lists, move LKMs from /sbin to /lkm, and
arrange for that directory to get created by mtree.  Also, process secure
directory after all the others, because the programs there may overlay
ones installed from the main part of the tree.
1994-09-16 20:24:29 +00:00