summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/if_cx.c
Commit message (Collapse)AuthorAgeFilesLines
* Touch up the make_dev() usage to hopefully make it work and fix warnings.peter1999-11-181-5/+3
|
* Remove NBPF conditionality of bpf calls in most of our network drivers.phk1999-09-251-9/+3
| | | | | | | | | | | | This means that we will not have to have a bpf and a non-bpf version of our driver modules. This does not open any security hole, because the bpf core isn't loadable The drivers left unchanged are the "cross platform" drivers where the respective maintainers are urged to DTRT, whatever that may be. Add a couple of missing FreeBSD tags.
* Convert DEVFS hooks in (most) drivers to make_dev().phk1999-08-231-14/+5
| | | | | | | | | | | | | | | | Diskslice/label code not yet handled. Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers) Add the correct hook for devfs to kern_conf.c The net result of this excercise is that a lot less files depends on DEVFS, and devtoname() gets more sensible output in many cases. A few drivers had minor additional cleanups performed relating to cdevsw registration. A few drivers don't register a cdevsw{} anymore, but only use make_dev().
* Rename bpfilter to bpf.des1999-07-061-5/+5
|
* Add back cxswitch() it was used afterall.phk1999-04-021-0/+22
|
* Organize the various modes (CISCO/AUTO/DEMAND/LEASED) a little bit better,phk1999-03-301-20/+0
| | | | | | centralize the code. Remember to call TLF/TLS on the hardware in CISCO mode.
* Straigthen out the use of the tls and tlf callbacks.phk1998-12-161-6/+0
| | | | | | | | | Not tested on the if_sr, if_cx and if_ar drivers, but expected to work just the same as it used to. Any users of these drivers (or even better: donors of hardware for them) please contact phk@freebsd.org so we can test the next batch of changes to if_sppp.
* Initialize isa_devtab entries for interrupt handlers in individualbde1998-10-221-1/+4
| | | | | | | device drivers, not in ioconf.c. Use a different hack in isa_device.h so that a new config(8) is not required yet. pc98 parts approved by: kato
* This commit fixes various 64bit portability problems required fordfr1998-06-071-2/+2
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.eivind1998-01-241-0/+1
| | | | | | | | This introduce an xxxFS_BOOT for each of the rootable filesystems. (Presently not required, but encouraged to allow a smooth move of option *FS to opt_dontuse.h later.) LFS is temporarily disabled, and will be re-enabled tomorrow.
* Make INET a proper option.eivind1998-01-081-0/+5
| | | | | | | | | | | | This will not make any of object files that LINT create change; there might be differences with INET disabled, but hardly anything compiled before without INET anyway. Now the 'obvious' things will give a proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The only thing that _should_ work (but can't be made to compile reasonably easily) is sppp :-( This commit move struct arpcom from <netinet/if_ether.h> to <net/if_arp.h>.
* Added used #include - don't depend on <sys/mbuf.h> includingbde1997-09-021-0/+1
| | | | <sys/malloc.h> (unless we only use the bogusly shared M*WAIT flags).
* Removed unused #includes.bde1997-07-201-3/+0
|
* Major overhaul of the SyncPPP layer. Basically, this comprises now ajoerg1997-05-191-0/+8
| | | | | | | | | | | | | | | | | | | | | full implementation of the sate machine as described in RFC1661, and provides support for plugging in various control protocols. I needed this to provide PPP support for the BISDN project (right now). Unfortunatley, while the existing API was almost up to the point, i needed one minor API change in order to decouple the this-layer- started and this-layer-finished actions from the respective Up and Down events of the lower layer. This requires two additional lines in the attach routines of all existing lower layer interface drivers that are using syncPPP (shortcutting these actions and events). Apart from this, i believe i didn't change the API of all this, so everything should plug in without too many hassles. Please report if i broke something in the existing drivers. For a list of features (including new ones like dial-on-demand), and things still to be done, please refer to the man page i'll commit asap. Encouraged by: Serge Vakulenko <vak@cronyx.ru>
* Fixed inconsistent extern declaration of a timeout function andbde1997-04-201-2/+2
| | | | | removed a cast that helped hide the problem. There was no problem in practice (at least on 386's).
* Don't include <sys/ioctl.h> in the kernel. Stage 2: includebde1997-03-241-1/+1
| | | | <sys/sockio.h> instead of <sys/ioctl.h> in network files.
* Remove devconf, it never grew up to be of any use.phk1996-09-061-17/+0
|
* Don't depend in the kernel on the gcc feature of doing arithmetic onbde1996-08-311-1/+1
| | | | pointers of type `void *'. Warn about this in future.
* Switched from using devfs_add_sw() to using devfs_add_swf()scrappy1996-03-281-6/+7
| | | | Reviewed by: julian@freebsd.org
* Clean up Ethernet drivers:wollman1996-02-061-8/+9
| | | | | | | | - fill in and use ifp->if_softc - use if_bpf rather than private cookie variables - change bpf interface to take advantage of this - call ether_ifattach() directly from Ethernet drivers - delete kludge in if_attach() that did this indirectly
* Completed function declarations and/or added prototypes and/or addedbde1995-12-151-0/+3
| | | | #includes to get prototypes.
* Staticize and cleanup.phk1995-12-101-175/+54
|
* Pass 3 of the great devsw changesjulian1995-12-081-4/+3
| | | | | | | | | | | | | | | | | | | | | | | most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter) If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :) pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :)
* all:dg1995-12-051-36/+7
| | | | | | | | | | | | | | | | Removed ifnet.if_init and ifnet.if_reset as they are generally unused. Change the parameter passed to if_watchdog to be a ifnet * rather than a unit number. All of this is an attempt to move toward not needing an array of softc pointers (which is usually static in size) to point to the driver softc. if_ed.c: Changed some of the argument passing to some functions to make a little more sense. if_ep.c, if_vx.c: Killed completely bogus use of if_timer. It was being set in such a way that the interface was being reset once per second (blech!).
* OK, that's it..julian1995-11-291-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | That's EVERY SINGLE driver that has an entry in conf.c.. my next trick will be to define cdevsw[] and bdevsw[] as empty arrays and remove all those DAMNED defines as well.. Each of these drivers has a SYSINIT linker set entry that comes in very early.. and asks teh driver to add it's own entry to the two devsw[] tables. some slight reworking of the commits from yesterday (added the SYSINIT stuff and some usually wrong but token DEVFS entries to all these devices. BTW does anyone know where the 'ata' entries in conf.c actually reside? seems we don't actually have a 'ataopen() etc... If you want to add a new device in conf.c please make sure I know so I can keep it up to date too.. as before, this is all dependent on #if defined(JREMOD) (and #ifdef DEVFS in parts)
* the second set of changes in a move towards getting devices to bejulian1995-11-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | totally dynamic. this is only the devices in i386/isa I'll do more tomorrow. they're completely masked by #ifdef JREMOD at this stage... the eventual aim is that every driver will do a SYSINIT at startup BEFORE the probes, which will effectively link it into the devsw tables etc. If I'd thought about it more I'd have put that in in this set (damn) The ioconf lines generated by config will also end up in the device's own scope as well, so ioconf.c will eventually be gutted the SYSINIT call to the driver will include a phase where the driver links it's ioconf line into a chain of such. when this phase is done then the user can modify them with the boot: -c config menu if he wants, just like now.. config will put the config lines out in the .h file (e.g. in aha.h will be the addresses for the aha driver to look.) as I said this is a very small first step.. the aim of THIS set of edits is to not have to edit conf.c at all when adding a new device.. the tabe will be a simple skeleton.. when this is done, it will allow other changes to be made, all teh time still having a fully working kernel tree, but the logical outcome is the complete REMOVAL of the devsw tables. By the end of this, linked in drivers will be exactly the same as run-time loaded drivers, except they JUST HAPPEN to already be linked and present at startup.. the SYSINIT calls will be the equivalent of the "init" call made to a newly loaded driver in every respect. For this edit, each of the files has the following code inserted into it: obviously, tailored to suit.. ----------------------somewhere at the top: #ifdef JREMOD #include <sys/conf.h> #define CDEV_MAJOR 13 #define BDEV_MAJOR 4 static void sd_devsw_install(); #endif /*JREMOD */ ---------------------somewhere that's run during bootup: EVENTUALLY a SYSINIT #ifdef JREMOD sd_devsw_install(); #endif /*JREMOD*/ -----------------------at the bottom: #ifdef JREMOD struct bdevsw sd_bdevsw = { sdopen, sdclose, sdstrategy, sdioctl, /*4*/ sddump, sdsize, 0 }; struct cdevsw sd_cdevsw = { sdopen, sdclose, rawread, rawwrite, /*13*/ sdioctl, nostop, nullreset, nodevtotty,/* sd */ seltrue, nommap, sdstrategy }; static sd_devsw_installed = 0; static void sd_devsw_install() { dev_t descript; if( ! sd_devsw_installed ) { descript = makedev(CDEV_MAJOR,0); cdevsw_add(&descript,&sd_cdevsw,NULL); #if defined(BDEV_MAJOR) descript = makedev(BDEV_MAJOR,0); bdevsw_add(&descript,&sd_bdevsw,NULL); #endif /*BDEV_MAJOR*/ sd_devsw_installed = 1; } } #endif /* JREMOD */
* Fixed a bogus include path.bde1995-11-181-2/+9
| | | | | | Removed a bogus include. Added prototypes.
* This upgrades the driver for Cronyx-Sigma multiplexor boardsjkh1995-10-041-75/+229
| | | | | from version 1.2 to version 1.9. Submitted by: Serge Vakulenko, <vak@cronyx.ru>
* Remove trailing whitespace.rgrimes1995-05-301-1/+1
|
* Add a class field to devconf and mst drivers.wollman1995-04-121-1/+1
| | | | | | | | | | | | For those where it was easy, drivers were also fixed to call dev_attach() during probe rather than attach (in keeping with the new design articulated in a mail message five months ago). For a few that were really easy, correct state tracking was added as well. The `fd' driver was fixed to correctly fill in the description. The CPU identify code was fixed to attach a `cpu' device. The code was also massively reordered to fill in cpu_model with somethingremotely resembling what identifycpu() prints out. A few bytes saved by using %b to format the features list rather than lots of ifs.
* Fix bogus and broken include paths:bde1994-12-041-7/+6
| | | | | | | | | | | | | | | | | | | <string.h> isn't supposed to be used by the kernel. cronix.h is <machine/cronix.h>, not "cronyx.h" (ambiguous) or <sys/cronyx.h> (nonexistent; caused compile to fail). cxreg.h is <i386/isa/cxreg.h>, not "cxreg.h". <i386/isa/cpufunc.h> shouldn't be included directly; it is always included by <sys/systm.h>. <i386/include/*.h> is <machine/*.h> <systm.h> is <sys/systm.h>. <kernel.h> is <sys/kernel.h>. <bpfilter.h> is "bpfilter.h". It really is in the current directory.
* Cronyx/Sigma sync/async serial driver with PPP supportwollman1994-12-021-0/+818
from Serge Vakulenko
OpenPOWER on IntegriCloud