summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/isa_device.h
Commit message (Collapse)AuthorAgeFilesLines
* - Remove the inthand2_t type and use the equivalent driver_intr_t type fromjhb2000-09-131-1/+1
| | | | | | | | | | | | | newbus for referencing device interrupt handlers. - Move the 'struct intrec' type which describes interrupt sources into sys/interrupt.h instead of making it just be a x86 structure. - Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd' and 'struct intrec' - Move the code to translate new-bus interrupt flags into an interrupt thread priority out of the x86 nexus code and into a MI ithread_priority() function in sys/kern/kern_intr.c. - Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and sys/pci/pci_compat.c.
* Collect the ISA DMA defines from the MI ISA code, not a private copy.msmith2000-06-231-3/+2
|
* Redo the isa compat driver shim so that each driver is self containedpeter2000-05-281-4/+15
| | | | | | | and does not require that evil list of drivers in isa_compat.h. It uses the same strategy that pci drivers use, namely a COMPAT_ISA_DRIVER() macro that creates the glue on the fly. Theoretically old-style isa drivers should be preloadable now.
* Remove haveseen_iobase() - it is no longer called from anywhere in thepeter2000-05-281-3/+0
| | | | kernel.
* Connect the ISA and PCI compatability shims to an option. In this casepeter2000-03-191-0/+4
| | | | | | | | it's options COMPAT_OLDISA and COMPAT_OLDPCI. This is meant to be a fairly strong incentive to update the older drivers to newbus, but doesn't (quite) leave anybody hanging with no hardware support. I was talking with a few folks and I was encouraged to simply break or disable the shims but that was a bit too drastic for my liking.
* Zap isa_device -> id_conflicts. The sole user of it (userconfig) neverpeter2000-01-291-6/+0
| | | | | | | actually used it since the only device that specified it (vga0) was marked as "FLG_INVISIBLE" in userconfig and therefore never shown. Suggested by: bde
* Clean up some more loose ends..peter2000-01-231-3/+0
| | | | | | | | isa_device->id_ri_flags and RI_FAST were not implemented and did nothing. The two drivers that were mistakenly thinking this was working were cy.c and loran.c - these should be converted to newbus. GC (garbage collect) isa_device->id_alive GC userconfig.c references to isa_device->id_scsiid (!).
* GC isa_device->id_reconfig - it's not referenced anywhere anymore.peter2000-01-231-2/+0
| | | | GC reconfig_isadev() - it's not used anymore.
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-3/+3
| | | | | | 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 id_iosize as used by pccard.peter1999-09-061-0/+1
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Don't include isa_dma.h if we have already seen isavar.hdfr1999-05-301-1/+3
|
* GC some unused stuff relating to the old conflict checking and other lint.peter1999-05-081-14/+3
| | | | | | | | Change haveseen_isadev() to something a little easier to emulate. Store the device_t for the wrapper in isa_device. Implement a replacement for haveseen_isadev - namely haveseen_ioport() which takes a port size as an extra argument for a proper range check. This (haveseen_ioport()) has not been tested, but I think it'll work.
* Stage 1 of a cleanup of the i386 interrupt registration mechanism.peter1999-04-211-3/+1
| | | | | | | Interrupts under the new scheme are managed by the i386 nexus with the awareness of the resource manager. There is further room for optimizing the interfaces still. All the users of register_intr()/intr_create() should be gone, with the exception of pcic and i386/isa/clock.c.
* The missing prototype for isa_wrap_old_drivers() was bugging me..peter1999-04-191-1/+2
|
* Bring the 'new-bus' to the i386. This extensively changes the way thepeter1999-04-161-23/+6
| | | | | | | | | | | | | | | | | | i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA. (Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.) This is a checkpoint of work-in-progress, but is quite functional. The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman. Approved by: core
* Removed the #defines of interrupt handlers to NULL. This hack was forbde1999-01-171-60/+1
| | | | old (> 3 months) versions of config(8).
* Initialize isa_devtab entries for interrupt handlers in individualbde1998-10-221-69/+65
| | | | | | | 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
* Added flag CC_QUIET for quiet conflict checking.bde1998-10-121-6/+7
| | | | Fixed corrupted tabs.
* The Buslogic driver is smart enough to set it's own interrupt vector now.gibbs1998-09-151-3/+2
|
* Reviewed by: Doug Rabsonnsouch1998-09-031-1/+2
| | | | | Submitted by: nsouch Philips PCF8584 chipset support. Chipset controller for the I2C bus.
* Add the 'cs' driver for Crystal Semiconductor CS89x0 devices. Thismsmith1998-07-201-1/+2
| | | | | | supports PnP and if_media. I've been running a slightly older version here for several weeks now. Submitted by: Maxim Bolotin <max@rsu.ru>
* Changed the type of an isa/general interrupt handler to take abde1998-06-181-1/+15
| | | | | | `void *' arg. Fixed or hid most of the resulting type mismatches. Handlers can now be updated locally (except for reworking their global declarations in isa_device.h).
* Don't depend on <sys/conf.h> declaring isa device structs or isabde1998-06-171-1/+2
| | | | interrupt handlers. pcm is not in LINT, so it is hard to test.
* Declare bsintr when PC98 is defined.kato1998-06-171-1/+4
|
* Don't declare isa device structs or isa interrupt handlers in <sys/conf>,bde1998-06-171-1/+52
| | | | | | | and don't depend on them being declared there. This will cause lots of warnings for a few minutes until config is updated. Interrupt handlers should never have been configured by config, and the machine generated declarations get in the way of changing the arg type from int to void *.
* aha1542.c aic6360.c cy.c fd.c ft.cgibbs1997-09-211-1/+2
| | | | | | | | | | | | 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.
* Add prototype for isa_dmastop()msmith1997-08-281-1/+2
|
* Fix a difference between the declaration & definition of isa_dmastatus().fsmp1997-07-241-2/+2
| | | | Submitted by: Chuck Robey <chuckr@glue.umd.edu>
* Add isa_dmastatus() for reading the current ISA DMA counter for amsmith1997-07-241-1/+2
| | | | | | given channel. Submitted by: luigi@labinfo.iet.unipi.it (Luigi Rizzo)
* Removed yet another vestige of devconf.bde1997-07-201-3/+1
|
* Move interrupt handling code from isa.c to a new file. This should makedfr1997-06-021-54/+1
| | | | | | | isa.c (slightly) more portable and will make my life developing the really portable version much easier. Reviewed by: peter, fsmp
* move intrhand2_t from isa_device.h to machine/types.h - it's used far morepeter1997-05-311-8/+1
| | | | | | | | than in the isa dependent code. create intrmask_t in machine/types.h (replaces "intrmask" typedef from sys/interrupt.h) Reviewed by: bde
* Add support for shared interrupts to the kernel. This code is meantse1997-05-261-5/+6
| | | | | | | | | | | | | | | | | | | | | be (eventually) architecture independent. It provides an emulation of the ISA interrupt registration function register_intr(), but that function does no longer manipulated the interrupt controller and interrupt descriptor table, but calls the architecture dependent function setup_icu() for that purpose. After the ISA/EISA bus code has been modified to directly call the new interrupt registartion functions (intr_create() and intr_connect()), the emulation of register_intr() should be dropped. The C level interrupt handler function should take a (void*) argument, and the function pointer type (inthand2_t) should defined in some other place than isa_device.h. This commit is a pre-requisite for the removal of the PCI specific shared interrupt code. Reviewed by: dfr,bde
* informal discussion between Bruce Evans <bde@zeta.org.au>,fsmp1997-04-271-18/+8
| | | | | | | | | | | | Peter Wemm <peter@spinner.DIALix.COM>, Steve Passe <smp@csn.net> removed all the IPI_INTS code. made the XFAST_IPI32 code default, renaming Xfastipi32 to Xinvltlb. cleanup of i386/isa/isa_device.h to eliminate SMP dependancies: made the id_irq member of struct isa_device an u_int. made the id_drq member of struct isa_device an int. removed all other '#ifdefs' concerning SMP & APIC_IO. removed SMP/APIC_IO dependancies from if_ze.c.
* change #if 0 to #ifdef KERNEL since this is pretty important forpeter1997-04-261-2/+3
| | | | | smp compiling. It still leaves dset non-functional on smp kernels, but we've been doing that all along with the private smp tree anyway.
* #if'ed out the '#include "opt_smp.h"' line.fsmp1997-04-261-2/+3
| | | | | | | | | | | | The SMP source was merged into 3.0-current last nite and this broke the make of sbin/dset. Should make things work for non-SMP case. People making SMP kernels will need to edit i386/isa/isa_device.h, re-enabling '#include "opt_smp.h"'. People making SMP worlds will have to punt for now... I'm thinking about the real solution, but for now the goal is to NOT break the world!
* Man the liferafts! Here comes the long awaited SMP -> -current merge!peter1997-04-261-1/+25
| | | | | | | | | | | | | | | | There are various options documented in i386/conf/LINT, there is more to come over the next few days. The kernel should run pretty much "as before" without the options to activate SMP mode. There are a handful of known "loose ends" that need to be fixed, but have been put off since the SMP kernel is in a moderately good condition at the moment. This commit is the result of the tinkering and testing over the last 14 months by many people. A special thanks to Steve Passe for implementing the APIC code!
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | 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.
* Removed more devconf leftovers.bde1996-09-101-4/+1
|
* Various cleanups for remanents of devconf.phk1996-09-081-6/+1
|
* More merge.asami1996-09-041-5/+1
| | | | | | | | | | | (1) Remove mk30line (moved to /usr/sbin, but not in our source tree yet) (2) Delete unneeded (well, harmful now :) code to prohibit #including of isa_device.h from PC98 sources. (3) Remove files now equal to their ISA/PC-AT counterparts. Submitted by: The FreeBSD(98) Development Team
* The Great PC98 Merge.asami1996-06-141-1/+5
| | | | | | | | All new code is "#ifdef PC98"ed so this should make no difference to PC/AT (and its clones) users. Ok'd by: core Submitted by: FreeBSD(98) development team
* Add a lock for DMA Channels to prevent two devices from using the same DMAsmpatel1996-04-081-6/+6
| | | | | | | | | | | | channel at the same time. The functions isa_dma_acquire() and isa_dma_release() should be used in all ISA drivers which call isa_dmastart(). This can be used more generally to register the usage of DMA channels in any driver, but it is required for drivers using isa_dmastart() and friends. Clean up sanity checks, error messages, etc. Remove isa_dmadone_nobounce(), it is no longer needed Reviewed by: bde
* Fix a bunch of spelling errors in the comment fields ofmpp1996-01-301-2/+2
| | | | a bunch of system include files.
* Declared new functions isa_dmainit() and isa_dmadone_nobounce().bde1996-01-271-29/+38
| | | | Sorted and KNFised declarations.
* Mega commit for sysctl.phk1995-11-201-4/+5
| | | | | | Convert the remaining sysctl stuff to the new way of doing things. the devconf stuff is the reason for the large number of files. Cleaned up some compiler warnings while I were there.
* Remove old eisaconf cruft from the eisa files. The old eisaconf kludgedgibbs1995-11-051-4/+1
| | | | | | | in here to do some conflict detection. The new code doesn't do conflict detection yet, but it will be implemented in another way. aic7770.c moved to i386/eisa
* Make pcvt and syscons live in the same kernel. If both are enabled, thenbde1995-09-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the first one in the config has priority. They can be switched using userconfig(). i386/i386/conf.c: Initialize the shared syscons/pcvt cdevsw entry to `nx'. Add cdevsw registration functions. Use devsw functions of the correct type if they exist. i386/i386/cons.c: Add renamed syscons entry points to constab. i386/i386/cons.h: Declare the renamed syscons entry points. i386/i386/machdep.c: Repeat console initialization after userconfig() in case the current console has become wrong. This depends on cn functions not wiring down anything important. sys/conf.h: Declare new functions. i386/isa/isa.[ch]: Add a function to decide which display driver has priority. Should be done better. i386/isa/syscons.c: Rename pccn* -> sccn*. Initialize CRTC start address in case the previous driver has moved it. i386/isa/syscons.c, i386/isa/pcvt/* Initialize the bogusly shared variable Crtat dynamically in case the stored value was changed by the previous driver. Initialize cdevsw table from a template. Don't grab the console if another display driver has priority. i386/isa/syscons.h, i386/isa/pcvt/pcvt_hdr.h: Don't externally declare now-static cdevsw functions. i386/isa/pcvt/pcvt_hdr.h: Set the sensitive hardware flag so that pcvt doesn't always have lower priority than syscons. This also fixes the "stupid" detection of the display after filling the display with text. i386/isa/pcvt/pcvt_out.c: Don't be confused the off-screen cursor offset 0xffff set by syscons. kern/subr_xxx.c: Add enough nxio/nodev/null devsw functions of the correct type for syscons and pcvt.
OpenPOWER on IntegriCloud