summaryrefslogtreecommitdiffstats
path: root/sys/isa
Commit message (Collapse)AuthorAgeFilesLines
* Pre 3.0 branch cleanup casualty #6: ftphk1998-12-271-82/+2
|
* Fixed LINT breakage in previous commit. Option FDC_YE enabled abde1998-12-141-6/+6
| | | | | syntax error. Options FDC_YE and DEVFS together enabled references to a nonexistent variable and calls of a nonexistent function.
* Fix tabs that should have been spaces. Some were in kernel error messages.mckay1998-12-141-22/+22
|
* Add support for another 3COM/USR PNP modem, USR3031.steve1998-12-131-1/+2
|
* Add support for the YE-Data external PCMCIA floppy driver. Thisimp1998-12-122-8/+365
| | | | | | | | | | | | | | | | | floppy is used on the toshiba Libretto line of subnotebook computers. It differs from a normal floppy in that you must use PIO rather than DMA to transfer the data. To enable this, you must add options "FDC_YE" to your kernel. I don't have a machine that has a floppy and a pcmcia slot to test to make sure that this doesn't impact normal floppy units, so I've left this as an option. I have ported this to -current and made an attempt to ensure that the indentation conforms to style(9), aka the bruce filter. Reviewed by: nate, markm Submitted by: David Horwitt (dhorwitt@ucsd.edu)
* Rename one of the two devfs_link's to devfs_makelink.eivind1998-12-101-3/+3
|
* The "easy" fixes for compiling the kernel -Wunused: remove unreferenced staticarchie1998-12-072-13/+4
| | | | and local variables, goto labels, and functions declared but not defined.
* Examine all occurrences of sprintf(), strcat(), and str[n]cpy()archie1998-12-041-3/+3
| | | | | | | | | | | | | | for possible buffer overflow problems. Replaced most sprintf()'s with snprintf(); for others cases, added terminating NUL bytes where appropriate, replaced constants like "16" with sizeof(), etc. These changes include several bug fixes, but most changes are for maintainability's sake. Any instance where it wasn't "immediately obvious" that a buffer overflow could not occur was made safer. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Matthew Dillon <dillon@apollo.backplane.com> Reviewed by: Mike Spengler <mks@networkcs.com>
* * Add hooks to allow the X server to access I/O ports and memory.dfr1998-11-154-29/+52
| | | | | | | | | * Update drivers to the latest version of the bus interface. The ISA drivers' use of the new resource api is minimal. Garrett has some much cleaner drivers which should be more easily shared between i386 and alpha. This has only been tested on cia based machines. It should work on lca and apecs but I might have broken something.
* Fix probes when a port address is specified.gibbs1998-11-101-21/+8
|
* Port the ps/2 mouse driver to the alpha.dfr1998-11-081-0/+2221
|
* * Fix a couple of places in the device pager where an address wasdfr1998-11-081-2/+2
| | | | | | | | | | | truncated to 32 bits. * Change the calling convention of the device mmap entry point to pass a vm_offset_t instead of an int for the offset allowing devices with a larger memory map than (1<<32) to be supported on the alpha (/dev/mem is one such). These changes are required to allow the X server to mmap the various I/O regions used for device port and memory access on the alpha.
* pcf.c: timeout management addednsouch1998-10-312-100/+219
| | | | ppc.c: nsc code improved. Actually, a complete rewrite.
* * Fix vga_probe() so that it doesn't report a non-vga display adapter asdfr1998-10-311-3/+3
| | | | | | | | | a vga. * Fix broken logic in syscons for a failed probe. * Fix AlphaStation 500/600 so that non-serial consoles are supported. Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu> (vga bits), Andrew Gallatin <gallatin@cs.duke.edu> (AS500/AS600)
* Update timecounters to new interface.phk1998-10-231-11/+11
|
* Initialize isa_devtab entries for interrupt handlers in individualbde1998-10-222-4/+9
| | | | | | | 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
* Fix breakage introduced by last patch. bde has added CC_QUIET flag toimp1998-10-121-27/+4
| | | | | | | | hasseen_isadev so this will be less noisy when conflicts do exist. Also eliminate redundant warnings about conflicts. Requested by: bde Reviewed by: gibbs
* Fix conficts in probe:imp1998-10-101-1/+28
| | | | | | | | | | o For bt and aha only probe the one I/O range if a specific I/O is specified in the config file. o Don't even try to probe I/O ranges that have been seen already. o If we conflict with an IRQ or DRQ, then fail the probe. Requested by: bde, gibbs Approved by: jkh
* Merge changes from i386/isa/sio.c up to revision 1.215.dfr1998-09-261-46/+42
|
* Underlying ,v files were copied and detagged. Re-commit old versionspeter1998-09-262-167/+334
| | | | onto the head revision. (mainly using sys/bus.h etc for alpha)
* Removed unused include of "ioconf.h" again. The CAM changes made ioconf.hbde1998-09-241-3/+1
| | | | empty but regressed to including it here.
* Attempt to work around a bug in the previous commit related tobde1998-09-201-3/+3
| | | | | non-reentrancy of SMP clock locking. Depend on the giant lock protecting clkintr().
* - program counter was previously an index in the microsequence, now pcnsouch1998-09-201-26/+18
| | | | is struct ppb_microseq* pointing directly into the microsequence
* Ensure that the i8254 timecounter doesn't go backards. It sometimesbde1998-09-201-6/+21
| | | | | | | | | | went backwards when interrupts were masked for more than one i8254 interrupt period. It sometimes went backwards when the i8254 counter was reprogrammed. Neither of these should happen in normal operation. Update the i8254 timecounter support variables atomically. Calling timecounter functions from fast interrupt handlers may actually work in all cases now.
* Merge with the latest i386 syscons.dfr1998-09-175-1365/+2795
|
* Nuke uninitialized varible fd from retrier(). Change the devstat codegibbs1998-09-151-3/+2
| | | | to reference fdc->fd instead.
* Update system to new device statistics code.gibbs1998-09-151-20/+30
| | | | | Submitted by: "Kenneth D. Merry" <ken@plutotech.com> mike@smith.net.au (Mike Smith)
* Mylex/Buslogic MultiMaster SCSI-Host Adapter Driver for CAM.gibbs1998-09-151-0/+322
|
* Remove the SLICE code.sos1998-09-141-245/+1
| | | | | This clearly needs alot more thought, and we dont need this to hunt us down in 3.0-RELEASE.
* Support PnP compatibility IDs. This allow e.g. the ed driver to pickeivind1998-09-131-19/+17
| | | | | | | up any PnP NE2000 compatible card, instead of forcing us to always update ID lists. Submitted by: Ugo Paternostro <paterno@dsi.unifi.it>
* invalid printf call fixed -> compile time warning removednsouch1998-09-131-2/+2
|
* ppbus enhanced to support ZIP+ : microseq improvednsouch1998-09-132-27/+69
|
* Maintain a mapping from irq number to (ioapic number, int pin) tuple,tegge1998-09-061-3/+3
| | | | | | | | | | | | and use this when masking/unmasking interrupts. Maintain a mapping from (iopaic number, int pin) tuple to irq number, and use this when configuring devices and programming the ioapics. Previous code assumed that irq number was equal to int pin number, and that the ioapic number was 0. Don't let an AP enter _cpu_switch before all local apics are initialized.
* printing with compatible mode fixed if ECP available + more verbose if ↵nsouch1998-09-021-43/+163
| | | | bootverbose set
* Fixed printf format errors. Only one left in LINT on i386's.bde1998-08-241-3/+2
|
* Fixed printf format errors.bde1998-08-231-2/+2
|
* Added D_TTY to the cdevswitch flags for all tty drivers. This is requiredbde1998-08-231-4/+5
| | | | | | | | | for the Lite2 fix for always returning EIO in dead_read(). Cleaned up the cdevswitch initializers for all tty drivers. Removed explicit calls to ttsetwater() from all (tty) drivers. ttsetwater() is now called centrally for opens, not just for parameter changes.
* Fixed devfs initialization which I broke in the previous commit.bde1998-08-201-7/+7
|
* Enabled dynamically sized tty input buffers (with enough bufferingbde1998-08-191-9/+10
| | | | | | | | | | | | for 1 second's worth of input) and larger tty output buffers. The interrupt-level buffers are still too small for speeds above 115200 bps (only a little too small for 230400 bps if RTS flow control is enabled). Don't call ttsetwater() explicitly in open(). It is now called for the TTYDISC l_open() and should be static. Don't attempt to register the cdevsw more than once.
* Register tty software interrupt handlers at run time using register_swi()bde1998-08-111-15/+10
| | | | | | | instead of at compile time using ifdefs. Use _swi_null instead of dummycamisr. CAM and dpt should call register_swi() instead of hacking on ihandlers[] directly.
* Port syscons to the alpha. The driver itself has moved to sys/isa as it willdfr1998-08-066-113/+233
| | | | | | | | | hopefully become a portable driver usable by all architectures. The api support files have had to be copied to sys/alpha/include since userland programs expect to find them in <machine/*.h>. All the revision history of the i386 syscons has been retained by a repository copy.
* Support files for ISA bus.dfr1998-08-062-0/+260
|
* Major ppbus updates from the author.msmith1998-08-032-190/+609
| | | | | | | | | | | | | | | | | - ppbus now supports PLIP via the if_plip driver - ieee1284 infrastructure added, including parallel-port PnP - port microsequencer added, for scripting the sort of port I/O that is common with parallel devices without endless calls up and down through the driver structure. - improved bus ownership behaviour among the ppbus-using drivers. - improved I/O chipset feature detection The vpo driver is now implemented using the microsequencer, leading to some performance improvements as well as providing an extensive example of its use. Reviewed by: msmith Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
* 1. Reorganized screen saver related code so that both the LKM screenyokota1998-08-032-146/+300
| | | | | | | | | | | | | | | | | | | | | | | | | saver and splash screen can all work properly with syscons. Note that the splash screen option (SC_SPLASH_SCREEN) does not work yet, as it requires additional code from msmith. - Reorganized the splash screen code to match the latest development in this area. - Delay screen switch in `switch_scr()' until the screen saver is stopped, if one is running, - Start the screen saver immediately, if any, when the `saver' key is pressed. (There will be another commit for `kbdcontrol' to support this keyword in the keymap file.) - Do not always stop the screen saver when mouse-related ioctls are called. Stop it only if the mouse is moved or buttons are clicked; don't stop it if any other mouse ioctls are called. 2. Added provision to write userland screen savers. (Contact me if you are interested in writing one.) - Added CONS_IDLE, CONS_SAVERMODE, and CONS_SAVERSTART ioctls to support userland screen savers. 3. Some code clean-ups.
* - When the system is shut down, switch to the vty0 if possible.yokota1998-08-031-3/+17
| | | | | | - Don't try to ring bell when system is going down. Beacuse the clock code is about to be stopped, the timeout routine won't be called anymore.
* Fix the bug which always reallocated the cut buffer wheneveryokota1998-08-031-7/+18
| | | | | | the screen mode is changed even if another vty has larger size. Reallocate the buffer only when the new screen size is larger than the current cut buffer size.
* Don't accept the blank time value, if it is too big.yokota1998-08-031-2/+4
| | | | PR: bin/6188
* - Add new bell types: "quiet.normal" and "quiet.visual".yokota1998-08-032-4/+12
| | | | | | | | | | | | When bell is of "quiet" types, the console won't ring (or flush) if the ringing process is in a background vty. PR: i386/2853 - Modify the escape sequence 'ESC[=%d;%dB' so that bell pitch and duration are set in hertz and msecs by kbdcontrol(1). There will be a corresponding kbdcontrol patch. PR: bin/6037 Submitted by: Kouichi Hirabayashi (kh@eve.mogami-wire.co.jp)
* Fixed error handling:bde1998-07-292-57/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Call isa_dmadone() whenever necessary to stop DMA and/or free bounce buffers. Undead DMA corrupted the malloc freelist fairly consistently in the following configuration: SLICE kernel, 2 floppy drives, no disk in fd0, disk in fd1. - Don't call fdc_reset() from fd_timeout(). Doing so gave an "extra" interrupt which was usually misinterpreted as being for completion of the next FDC command; the interrupt for completion of the next FDC command was then usually misinterpreted... There were further complications for interrupts latched by the soft-spl mechanism so that they were delivered after all the h/w interrupts went away. This caused at least wrong head settle delays and may be why the FreeBSD floppy driver seems to munch floppies more than most floppy drivers. The reset was unnecessary anyway in cases that didn't have the bug described next, since is was repeated a little later for the IOTIMEDOUT state. The state machine has complications to handle resets correctly, so just use it. - Don't call retrier() from fd_timeout(). The IOTIMEDOUT state needs to be processed next, and it isn't valid to set to that state if retrier() has aborted the current transfer. Doing so caused null pointer panics after the previous bug was fixed. Improved error handling: - If an i/o is aborted, arrange to reset in the state machine before doing the next i/o. New fdc flag for this. This fixes spurious warnings and lengthy busy-waiting for the next i/o. - Split STARTRECAL into RESETCOMPLETE and STARTRECAL and only check for the results from reset if we actually reset. This fixes spurious warnings for other paths to STARTRECAL. [Oops, it may break reset handling for motor-off resets.] Cleanups in fd_timeout(): - Renamed to fd_iotimeout() to make it clearer that it is only used for i/o. - Don't handle the bp == 0 case. This case can't happen for i/o. - Don't check for controller-busy. We know it must be. - Don't print anything. retrier() already prints too much for normal errors. - Fudge the state differently so that the state machine advances fdc->retry and the status is invalid (perhaps this should fudge a valid state like the one for WP). - Style fixes.
* Fixed error handling after a seek error that can't happen. When thebde1998-07-181-1/+3
| | | | | | | | | | | | | | | | controller reports a successful seek, it is very unlikely to report seeking to a cylinder other than the one requested, but we check for this, and botched the error handling for the requested_cylinder != 0 case. This error happened when the bug fixed in rev.1.52 of <sys/buf.h> caused the head of buffer queue to change to one starting on a different cylnder - the requested cylinder was found, but it wasn't what we thought we requested. The fix is simply to arrange to reset the state machine. Corruption of the buffer queue seems to only have been a problem in the floppy driver. Other drivers dequeue the head of the queue before doing physical i/o on it, so the corruption at worse broke the elevator sort order. Dequeueing breaks it anyway.
OpenPOWER on IntegriCloud