summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa
Commit message (Collapse)AuthorAgeFilesLines
* Add SPLASSERT() macro. SPLASSERT() compiles to a no-opjmb2000-01-161-19/+36
| | | | | | | | | | | unless both "option INVARIANTS" and "options INVARIANT_SUPPORT" are defined in the kernel's config(8) file. SPLASSERT(expression, msg) used KASSERT to check that the expression is true, panic()ing the kernel otherwise. Approved by: jkh Reviewed by: jdp, dfr, phk, eivind and green
* Remove pre-CAM aic driver. Support for apm, pccard and pc98 has yet toluoqi2000-01-142-2698/+0
| | | | be incorporated into the new CAM driver.
* Pre 4.0 tidy up.peter2000-01-147-3739/+0
| | | | | | | | | | | | Collect together the components of several drivers and export eisa from the i386-only area (It's not, it's on some alphas too). The code hasn't been updated to work on the Alpha yet, but that can come later. Repository copies were done a while ago. Moving these now keeps them in consistant place across the 4.x series as the newbusification progresses. Submitted by: mdodd
* Don't do device_set_desc() until after checking for PnP probes. Otherwisepeter2000-01-141-3/+4
| | | | | | | | things like sound cards can get called "Parallel port". A note to the unwary; the isa-pnp devices in the system are probed like PCI - each device ID is passed to *all* isa probe routines to find the best match. If the driver is not prepared to deal with this, it must abort in this scenario or it will try and claim all PnP devices.
* Port of ppbus standalone framework to the newbus system.nsouch2000-01-144-404/+593
| | | | | | | | | | | | | | | | | | | | | Note1: the correct interrupt level is invoked correctly for each driver. For this purpose, drivers request the bus before being able to call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus core when drivers release it. Thus, when BUS_SETUP_INTR is called at ppbus driver level, ppbus checks that the caller owns the bus and stores the interrupt handler cookie (in order to unregister it later). Printing is impossible while plip link is up is still TRUE. vpo (ZIP driver) and lpt are make in such a way that using the ZIP and printing concurrently is permitted is also TRUE. Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET is now needed to force chipset detection. If set, the flags 0x40 still avoid detection at boot. Port of the pcf(4) driver to the newbus system (was previously directly connected to the rootbus and attached by a bogus pcf_isa_probe function).
* Remove old copy of if_ed.c; it is no longer used.mdodd2000-01-131-3541/+0
|
* Correctly test CF.mdodd2000-01-131-1/+1
|
* Cosmetic cleanups.mdodd2000-01-131-34/+23
|
* Implement a DEVICE_IDENTIFY method. I want to revisit some of this latermdodd2000-01-131-22/+59
| | | | but this is enough to get us going.
* When I converted this driver to newbus I also cleaned up the codemdodd2000-01-131-50/+51
| | | | | | | | | | | | | | layout. It seems that I cleaned it up a bit too much and confused a few if () { if () { } else { } } statements in the obvious manner. This allows the driver to transmit packets again. *sigh*
* Correctly set the data length when transmitting 802.3 frames (we need towpaul2000-01-121-3/+2
| | | | subtract the length of the SNAP header).
* Add a new mechanism, cndbctl(), to tell the console driver thatyokota2000-01-111-1/+2
| | | | | | | | | | | | | | | | | | | | | ddb is entered. Don't refer to `in_Debugger' to see if we are in the debugger. (The variable used to be static in Debugger() and wasn't updated if ddb is entered via traps and panic anyway.) - Don't refer to `in_Debugger'. - Add `db_active' to i386/i386/db_interface.d (as in alpha/alpha/db_interface.c). - Remove cnpollc() stub from ddb/db_input.c. - Add the dbctl function to syscons, pcvt, and sio. (The function for pcvt and sio is noop at the moment.) Jointly developed by: bde and me (The final version was tweaked by me and not reviewed by bde. Thus, if there is any error in this commit, that is entirely of mine, not his.) Some changes were obtained from: NetBSD
* Clean up the cfgmech/pci_mechanism debris. The reason for the existancepeter2000-01-081-6/+0
| | | | | | | of this is no longer an issue as we have a replacement driver for the one that needed it. Reviewed by: dfr
* ISA device drivers use the ISA source interrupt number in locations wheretegge2000-01-041-9/+27
| | | | | | | | | | | | | | the low level interrupt handler number should be used. Change setup_apic_irq_mapping() to allocate low level interrupt handler X (Xintr${X}) for any ISA interrupt X mentioned in the MP table. Remove an assumption in the driver for the system clock (clock.c) that interrupts mentioned in the MP table as delivered to IOAPIC #0 intpin Y is handled by low level interrupt handler Y (Xintr${Y}) but don't assume that low level interrupt handler 0 (Xintr0) is used. Don't allocate two low level interrupt handlers for the system clock. Reviewed by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>
* Implement scrollback for pcvt based on code submitted byhm1999-12-3010-309/+470
| | | | | | | | | | | | | | | | | Aaron Campbell <aaron@cs.dal.ca>. Use SHIFT-PgUp and SHIFT-PgDn to scroll back and forward. Aarons original code was enhanced to have a separate scrollbuffer for every virtual terminal and to preserve the screen contents when switching screen sizes. The scrollbuffer size is currently fixed at 8 pages but this will be made configurable through the use of scon(1) in the near future. For pcvt_kbd.h, a longstanding compiler warning was fixed by using excessive backetizing of the key2ascii[] table.
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-296-14/+15
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* Add support of SB for PC98 into VoxWare 3.5, and more $FreeBSD$.tanimura1999-12-276-1/+85
| | | | | Submitted by: T.Yamaoka <taka@windows.squares.net> Pressed to review by: nyan
* Don't include <isa/isavar.h> or compile code depending on it when isabde1999-12-262-0/+12
| | | | | | is not configured. Including <isa/isavar.h> when it is not used is harmful as well as bogus, since it includes "isa_if.h" which is not generated when isa is not configured.
* Replaced the INTRMASK and INTRUNMASK macros by "|" and "&~" operations.bde1999-12-263-8/+4
| | | | | | Some interface botches went away, leaving the macros unused outside of the implementation of interrupt masking, and it was silly for the implementation to use the macros in only one place each.
* Fixed races accessing the RTC. The races apparently causedbde1999-12-251-4/+16
| | | | | | | | | | | | | | | apm_default_resume() to sometimes set a very wrong time. (1) Accesses to the RTC index and data registers were not atomic enough. Interrupts were not masked. This was only good enough until an interrupt handler (rtcintr()) started accessing the RTC in FreeBSD-2.0. (2) Access to the block of time registers in inittodr() was not atomic enough. inittodr() has 244us to read the time registers. Interrupts were not masked. This was only good enough until something (apm) started calling inittodr() after boot time in FreeBSD-2.0. The fix for (2) also makes the timecounter update more atomic, although this is currently unimportant due to the low resolution of the RTC. Problem reported by: mckay
* sn driver is no longer using isa_compat layerimp1999-12-221-5/+0
|
* Use the correct return value for MCA NMIs.eivind1999-12-212-2/+2
| | | | Reviewed by: mdodd
* Lose explict initialization of mouse to {0}; this gave a warning, and theeivind1999-12-211-2/+2
| | | | implict initialization guaranteed by ISO C give the same result.
* GC unreferenced code (to avoid warnings)eivind1999-12-206-484/+7
|
* Eliminate unused variableeivind1999-12-201-2/+0
|
* Remove references to register_intr() etc in comments.peter1999-12-201-1/+1
|
* Zap the old isa_device specific register_intr() and unregister_intr()peter1999-12-203-138/+0
| | | | emulations. Thankfully, nothing is left in the tree that uses them.
* Driver for the smc91xx series of ethernet chips. Ported from PAO toimp1999-12-181-0/+5
| | | | | | | | | 3.3R and then to -current. The pccard support has been left in the driver, but is presently non-functional because we are using the isa_compat layer for the moment. Obtained From: PAO Sponsored by: Timing Solutions
* update to isdn4bsd beta release 0.90: since the isic drivers are nowhm1999-12-151-5/+0
| | | | new-busified, remove all isic traces from compatibility mode wrapper
* Fix the command to launch DMA for 16bit samples.tanimura1999-12-141-2/+8
| | | | Tested by: Steve Reid <sreid@sea-to-sky.net>
* Remove the if_ze and if_zp drivers.phk1999-12-106-3394/+0
| | | | | | | | | | | | | | | These drivers were cloned from the ed and ep drivers back in 1994 when PCMCIA cards were a very new thing and we had no other support for such devices. They treated the PCIC (the chip which controls the PCCARD slot) as part of their device and generally hacked their way to success. They have significantly bit-rotted relative to their ancestor drivers (ed & ep) and they were a dead-end on the evolution path to proper PCCARD support in FreeBSD. They have been terminally broken since August 18 where mdodd forgot them and nobody seems to have missed them enough to fix them since. I found no outstanding PRs against these drivers.
* Remove the B_BAD buffer flag, it is no longer used.phk1999-12-101-10/+1
|
* Remove BAD144 support, it has already been disabled for some time.phk1999-12-081-93/+7
|
* Revamp the devstat priority system. All disks now have the same priority.ken1999-12-083-5/+5
| | | | | | | | | | | | | | | | | | The same goes for CD drivers and tape drivers. In systems with mixed IDE and SCSI, devices in the same priority class will be sorted in attach order. Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of drivers have been modified to use that priority. This includes the necessary changes to all drivers, except the ATA drivers. Soren will modify those separately. This does not include and does not require any change in the devstat version number, since no known userland applications use the priority enumerations. Reviewed by: msmith, sos, phk, jlemon, mjacob, bde
* Fix invocation of bus_teardown_intr(). The last arg is supposed to bewpaul1999-12-081-1/+1
| | | | sc->wi_intrhand, not &sc->wi_intrhand.
* Fix the ioctl CONS_FINDMODE and its underlying subroutineyokota1999-12-071-5/+6
| | | | | | | | | | xxx_query_mode() in the vga and vesa drivers. - xxx_query_mode() returns 0 (success) and a positive error number. - Copy mode information on success. - Remove redundant structure copy. The bug first found in -STABLE by jmg.
* Remove DSO_BAD144 from wd driver(s) so people with bad144'ed disks getphk1999-12-061-1/+1
| | | | a bit of warning.
* Supported i8251 (internal COM1) FIFO mode.nyan1999-12-061-2/+32
| | | | Submitted by: tanimura and nyan
* Remove references to old joystick driver from this file, which Peterwpaul1999-12-051-5/+0
| | | | | | | | | forgot to do when he converted it to newbus. Note: make *sure* to remove any old joy.o object files from your kernel build directories in order to be sure the joy driver is properly recompiled. Noticed by: phk
* Switch over to using the generic joy driverpeter1999-12-051-285/+0
|
* Don't use a bogus bus number for Ross host-pci bridges.dfr1999-12-051-0/+2
| | | | | PR: kern/15278 Submitted by: Ahmed Benani <ahmed_benani@urbanet.ch>
* pc98/pc98/atapi.cnyan1999-12-031-32/+2
| | | | | | | | | | | Copied from i386/isa/atapi.c. Fixed to support slave devices. Ignore the device that has strange model strings. i386/isa/atapi.c Removed pc98 codes. Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Change splbio() to splcam(). bs is cam driver.nyan1999-12-032-4/+6
|
* Remove the 'ivars' arguement to device_add_child() andmdodd1999-12-032-2/+2
| | | | | | | | | | | | | | | | device_add_child_ordered(). 'ivars' may now be set using the device_set_ivars() function. This makes it easier for us to change how arbitrary data structures are associated with a device_t. Eventually we won't be modifying device_t to add additional pointers for ivars, softc data etc. Despite my best efforts I've probably forgotten something so let me know if this breaks anything. I've been running with this change for months and its been quite involved actually isolating all the changes from the rest of the local changes in my tree. Reviewed by: peter, dfr
* The 6th bit of configuration port is not defined on pc98.nyan1999-12-011-0/+4
| | | | Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Add explicit null entries for new entrypoints.julian1999-12-012-2/+4
| | | | Forgotten by: Archie
* Update the WaveLAN/IEEE driver:wpaul1999-11-252-162/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Convert to new bus attachment scheme. Thanks to Blaz Zupan for doing the initial work here. One thing I changed was to have the attach and detach routines work like the PCI drivers, which means that in theory you should be able to load and unload the driver like the PCI NIC drivers, however the pccard support for this hasn't settled down yet so it doesn't quite work. Once the pccard work is done, I'll have to revisit this. - Add device wi0 to PCCARD. If we're lucky, people should be able to install via their WaveLAN cards now. - Add support for signal strength caching. The wicontrol utility has also been updated to allow zeroing and displaying the signal strength cache. - Add a /sys/modules/wi directory and fix a Makefile to builf if_wi.ko. Currently this module is only built for the i386 platform, though once the pccard stuff is done it should be able to work on the alpha too. (Theoretically you should be able to plug one of the WaveLAN/IEEE ISA cards into an alpha with an ISA slot, but we'll see how that turns out. - Update LINT to use only device wi0. There is no true ISA version of the WaveLAN/IEEE so we'll never use an ISA attachment. - Update files.i386 so that if_wi is dependent on card.
* Optimize two cases in the MP locking code. First, it is not necessarydillon1999-11-192-6/+4
| | | | | | | | | | | | | | | to use a locked cmpexg when unlocking a lock that we already hold, since nobody else can touch the lock while we hold it. Second, it is not necessary to use a locked cmpexg when locking a lock that we already hold, for the same reason. These changes will allow MP locks to be used recursively without impacting performance. Modify two procedures that are called only by assembly and are already NOPROF entries to pass a critical argument in %edx instead of on the stack, removing a significant amount of code from the critical path as a consequence. Reviewed by: Alfred Perlstein <bright@wintelcom.net>, Peter Wemm <peter@netplex.com.au>
* fix braino.. line misplaced.julian1999-11-191-1/+1
|
* protect some more operations with splimp() under Netgraph.julian1999-11-192-6/+6
|
OpenPOWER on IntegriCloud