aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/si
Commit message (Collapse)AuthorAgeFilesLines
* Make the debug options new-style.Eivind Eklund1998-01-311-1/+2
| | | | | | | | This also zaps a DPT option from lint; it wasn't referenced from anywhere. Notes: svn path=/head/; revision=32929
* Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.Eivind Eklund1998-01-241-1/+2
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=32726
* Make COMPAT_43 and COMPAT_SUNOS new-style options.Eivind Eklund1997-12-161-1/+3
| | | | Notes: svn path=/head/; revision=31778
* Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that areBruce Evans1997-12-061-3/+3
| | | | | | | | not handled at a particular level. This fixes mainly restarting of interrupted TIOCDRAINs and TIOCSETA{W,F}s. Notes: svn path=/head/; revision=31577
* aha1542.c aic6360.c cy.c fd.c ft.cJustin T. Gibbs1997-09-211-4/+4
| | | | | | | | | | | | | | | if_ie.c if_wl.c if_zp.c isa.c isa_device.h labpc.c mcd.c ncr5380.c scd.c seagate.c si.c sio.c tw.c ultra14f.c wcd.c wd.c: Update for changes in the callout interface. apic_vector.s icu_vector.s ipl.s ipl_funcs.c: Add CAM software/hardware interrupt support. Notes: svn path=/head/; revision=29677
* ipl.h:Justin T. Gibbs1997-09-211-1/+4
| | | | | | | | | | Add CAM software/hardware interrupt support. si.h: Update for changes in the callout interface. Notes: svn path=/head/; revision=29676
* Update select -> poll in drivers.Peter Wemm1997-09-141-2/+2
| | | | Notes: svn path=/head/; revision=29368
* Removed unused #includes.Bruce Evans1997-07-201-5/+1
| | | | Notes: svn path=/head/; revision=27555
* Fixed the type of timeout functions and removed casts that hid theBruce Evans1997-04-201-7/+7
| | | | | | | type mismatches. There was no problem in practice (at least on 386's). Notes: svn path=/head/; revision=25047
* Don't include <sys/ioctl.h> in the kernel. Stage 5: includeBruce Evans1997-03-241-2/+4
| | | | | | | | | <sys/ioctl_compat.h> and sometimes <sys/filio.h> instead of <sys/ioctl.h> in tty-related files. <sys/ttycom.h> is still usually imported bogusly via <sys/termios.h>. Notes: svn path=/head/; revision=24207
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.Bruce Evans1997-03-231-2/+2
| | | | | | | | Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all. Notes: svn path=/head/; revision=24131
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-223-3/+3
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-143-3/+3
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=21673
* Some warning cleanups. There were some needless casts that also causedPeter Wemm1996-09-271-15/+12
| | | | | | | | gcc -Wcast-qual to scream. There's still quite a few left, but since I'm cleaning out my tree, I'll commit these now. Notes: svn path=/head/; revision=18515
* Remove devconf, it never grew up to be of any use.Poul-Henning Kamp1996-09-061-34/+1
| | | | Notes: svn path=/head/; revision=18084
* Extend the poll code so that it can periodically scan the host cardsPeter Wemm1996-08-121-4/+11
| | | | | | | | | | for work regardless of whether there was an interrupt. This needs more work, it should be able to run better when there are more than 3 host cards present, ie: all cards in polling-only mode with no IRQ. (The host cards have a choice of 3 irq's, 11, 12, or 15, or just polling) Notes: svn path=/head/; revision=17547
* make si.c compile in kernels without COMPAT_43.Peter Wemm1996-08-031-2/+5
| | | | Notes: svn path=/head/; revision=17396
* ttysleep() can return EWOULDBLOCK, not ETIMEDOUT as the comment in tty.cPeter Wemm1996-07-261-2/+2
| | | | | | | | | suggests. Pointed out by: bde Notes: svn path=/head/; revision=17291
* Apply a bandaid to a problem elsewhere in the driver, when the process isPeter Wemm1996-07-261-2/+5
| | | | | | | | | | | blocked in a write() while waiting for the output to drain, sleep only for tp->t_timeout, not forever. This only seems to happen when there is either a modem lockup holding the hardware flow control down, or due to some problem in the driver with processes attempting to write after the modem has hung up (eg: elm, tf). Notes: svn path=/head/; revision=17290
* Fix typo that prevented the initial/lock state devices from workingPeter Wemm1996-06-301-2/+2
| | | | | | | correctly (accessing the lock device was not possible). Notes: svn path=/head/; revision=16839
* When writing the settings for stop bits and output hardware flow control,Peter Wemm1996-06-211-18/+24
| | | | | | | | | | | | things tend to work better if you write the settings to the correct register.. (*blush*). This subtle bug has been haunting me for ages, and will solve a few problems that have been reported to me. Also, take a shot at fixing the serial BREAK processing, what was there before never really worked. (There is a PR on this I think) Notes: svn path=/head/; revision=16575
* This time, get rid of the struct copies that were really causing gcc toPeter Wemm1996-06-171-4/+4
| | | | | | | | call memcpy.. It seems that gcc would not inline the implicit call when copying from a volatile... Notes: svn path=/head/; revision=16444
* Fix cut/paste error; a read-only variable should have been read/write.Peter Wemm1996-06-161-2/+2
| | | | Notes: svn path=/head/; revision=16403
* Clean up -Wunused warnings.Gary Palmer1996-06-121-8/+4
| | | | | | | Reviewed by: bde Notes: svn path=/head/; revision=16322
* Eliminate a struct copy that gcc doesn't inline and ends up as a call toPeter Wemm1996-06-081-2/+2
| | | | | | | memset(). Notes: svn path=/head/; revision=16214
* When estimating the time (in ms) left to drain the output queue basedPeter Wemm1996-05-301-4/+4
| | | | | | | | | on the baud rate, dont get upset if it's been hung up by setting B0. Instead, sleep for a short time, as the host controller takes a while to go through the state changes. Notes: svn path=/head/; revision=16024
* *blush* How did this slip through?Peter Wemm1996-05-081-2/+5
| | | | | | | | Fix a dynamic initialiser in a static variable, and make sure sysctl.h is #included. Notes: svn path=/head/; revision=15683
* Change the logic of the interrupt/poll loop. It no longer loops untilPeter Wemm1996-05-051-4/+15
| | | | | | | | | | | | | it empties all of the 256 byte incoming fifo, as it can spend more time processing one port than intended, especially if data is streaming in at 115.2K. The port fifo will be emptied and dumped into the tty system and left until next time. I've been running this for quite some time on one of my systems here. Also, if the tty layer is blocked or full it lets the hardware assert the flow control rather than loosing the data. Notes: svn path=/head/; revision=15640
* Change the compiled-in polling parameters to a sysctl setting.Peter Wemm1996-05-051-7/+11
| | | | Notes: svn path=/head/; revision=15639
* Switched from using devfs_add_sw() to using devfs_add_swf()Marc G. Fournier1996-03-281-4/+4
| | | | | | | Reviewed by: julian@freebsd.org Notes: svn path=/head/; revision=14873
* Avoid local sprintfs and other printf'isms.Poul-Henning Kamp1996-01-251-23/+16
| | | | Notes: svn path=/head/; revision=13630
* Use the new & improved printf rather than homegrown kludges.Poul-Henning Kamp1996-01-161-9/+5
| | | | | | | Proposed by: bde Notes: svn path=/head/; revision=13469
* clean up si_dprintf a bit so that it uses vararg argument parsing that doesPeter Wemm1996-01-091-6/+17
| | | | | | | not cause warnings, and uses printf() to do a vprintf()-like output. Notes: svn path=/head/; revision=13353
* Fix the number of ports created for devfs.. it had been only creatingPeter Wemm1996-01-021-2/+2
| | | | | | | | | | enough nodes for the number of ports on the last module, not the number of ports _total_ that the driver is managing... Submitted by: Robert Sanders <rsanders@mindspring.com> Notes: svn path=/head/; revision=13169
* Fix last "fix" - I had introduced a fencepost error.. :-(Peter Wemm1996-01-021-2/+2
| | | | | | | Happily pointed out by: julian :-) Notes: svn path=/head/; revision=13166
* Fix up the DEVFS minor numbers that the Specialix driver registers...Peter Wemm1996-01-021-7/+11
| | | | Notes: svn path=/head/; revision=13165
* Another shot at getting working si DEVFS entries.. Apparently, it didn'tPeter Wemm1995-12-161-10/+16
| | | | | | | understand %02d in it's format string... Notes: svn path=/head/; revision=12888
* Update the skeleton DEVFS code to match reality a little closer.. :-)Peter Wemm1995-12-141-20/+11
| | | | Notes: svn path=/head/; revision=12826
* Replaced nxreset by noreset (if the reset function gets called, then theBruce Evans1995-12-101-2/+2
| | | | | | | | | | device must be configured. It's hard to tell whether a reset function should be noreset or nullreset since reset functions are never called. Most drivers use nullreset but noreset has the advantage of complaining if somehow gets called). Notes: svn path=/head/; revision=12743
* Replaced nxmmap by nommap (if the mmap function gets called, then theBruce Evans1995-12-101-2/+2
| | | | | | | device must be configured). Notes: svn path=/head/; revision=12742
* Removed new alias d_size_t for d_psize_t.Bruce Evans1995-12-101-2/+2
| | | | | | | | | | | | | Removed old aliases d_rdwr_t and d_ttycv_t for d_read_t/d_write_t and d_devtotty_t. Sorted declarations of switch functions into switch order. Removed duplicated comments and declarations of nonexistent switch functions. Notes: svn path=/head/; revision=12731
* Staticize and cleanup.Poul-Henning Kamp1995-12-101-10/+10
| | | | Notes: svn path=/head/; revision=12724
* Julian forgot to make the *devsw structures static.Poul-Henning Kamp1995-12-081-2/+2
| | | | Notes: svn path=/head/; revision=12678
* Pass 3 of the great devsw changesJulian Elischer1995-12-081-40/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.. :) Notes: svn path=/head/; revision=12675
* Untangled the vm.h include file spaghetti.David Greenman1995-12-071-1/+3
| | | | Notes: svn path=/head/; revision=12662
* Replaced #includes of <sys/user.h> by less gross headers, usuallyBruce Evans1995-12-061-2/+3
| | | | | | | | | | <sys/vm.h>. Many device drivers need only the definition of vtophys() from vm. Added nearby #includes of <sys/conf.h> where appropriate. Notes: svn path=/head/; revision=12659
* aargh! I tested JREMOD, only to discover that the "good oil" part ofPeter Wemm1995-12-041-3/+3
| | | | | | | it for si.c was accidently inside some #ifdef DEBUG code.... Notes: svn path=/head/; revision=12624
* If you're going to mechanically replicate something in 50 filesJulian Elischer1995-11-291-2/+2
| | | | | | | it's best to not have a (compiles cleanly) typo in it! (sigh) Notes: svn path=/head/; revision=12521
* OK, that's it..Julian Elischer1995-11-291-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=12517
* the second set of changes in a move towards getting devices to beJulian Elischer1995-11-281-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 */ Notes: svn path=/head/; revision=12502