Home | History | Annotate | Download | only in isa
History log of /src/sys/dev/isa/isavar.h
RevisionDateAuthorComments
 1.53  12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.52  28-Apr-2008  martin branches: 1.52.14;
Remove clause 3 and 4 from TNF licenses
 1.51  30-Mar-2008  ad branches: 1.51.2; 1.51.4;
Add isa_get_slotcount/isa_set_slotcount to get/set the number of ISA
compatible expansion slots in a system.
 1.50  15-Mar-2008  cube Split device_t and softc for isa(4).
 1.49  19-Oct-2007  ad branches: 1.49.12; 1.49.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.48  11-Dec-2005  christos branches: 1.48.30; 1.48.44; 1.48.46; 1.48.50;
merge ktrace-lwp.
 1.47  29-May-2005  christos branches: 1.47.2;
sprinkle const.
 1.46  27-Feb-2005  perry nuke trailing whitespace
 1.45  04-Feb-2005  perry de-__P
 1.44  14-Sep-2004  drochner branches: 1.44.4; 1.44.6;
Separate the namespace for default (ie unspecified) locators used
by the isa.c bus driver and the "address/whatever not specified"
argument passed to leaf device drivers.
The former is "ISACF_XXX_DEFAULT" as generaterd by config(8), the latter
"ISA_UNKNOWN_XXX", defined in isavar.h.
This way we save a dependency of every ISA device driver on "locators.h".
 1.43  30-Aug-2004  drochner Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.42  30-Aug-2004  drochner add centralized {eisa,isa,pci,agp,mca}busprint() functions which do
what tens of the bus' parents foo{...}bridge_print()s scattered around do
 1.41  08-Jul-2003  itojun function prototype must not have variable name
 1.40  09-May-2003  fvdl branches: 1.40.2;
A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
 1.39  07-Jan-2002  thorpej branches: 1.39.6;
Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
 1.38  04-Jun-2000  cgd branches: 1.38.4; 1.38.6;
Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.37  19-Mar-1999  cgd branches: 1.37.8; 1.37.16;
pull isa_machdep.h in from machine/ instead of from $(MACHINE)/isa/
 1.36  19-Feb-1999  mycroft Kill vestiges of isa_establish().
 1.35  30-Nov-1998  leo Change comment about isa_intr_establish() as discussed on tech-kern.
 1.34  11-Sep-1998  jonathan Add arc as a target platform.
 1.33  09-Jun-1998  thorpej Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device. The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
 1.32  15-Apr-1998  thorpej Remove the `delay port' stuff since nothing uses it anymore (can't reliably
use it on modern chipsets).
 1.31  17-Feb-1998  cgd include an MD header if arm32. (No header yet, but there will be
one eventually.)
 1.30  14-Oct-1997  sakamoto add bebox
 1.29  26-Aug-1997  augustss XXX Add a drq2 locator for the ISA bus. Many sound cards need
two DMA channels to do e.g. full-duplex. This allows
a way of specifying the second channel in a sane way.
THIS IS TEMPORARY. The drq2 locator will go away when
the locator system has been changed to allow multiple
values per locator.
 1.28  17-Jul-1997  jtk branches: 1.28.2;
use locator defines in "locators.h" to index cf_loc[]

still to be done and/or decided not to be done: replace all *UNK uses in
isa code with the native names from locators.h
 1.27  15-Jul-1997  leo Add atari.
 1.26  06-Jun-1997  thorpej Pull thorpej-bus-dma branch into mainline.
 1.25  05-Dec-1996  cgd branches: 1.25.8;
update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
 1.24  21-Oct-1996  thorpej New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
 1.23  08-May-1996  thorpej Correct a couple of comments ... port 0x84 produces a 1.25us delay when
read, not 2.5us. (I must have been confused; thanks Charles, for
correcting me.)
 1.22  05-May-1996  thorpej Map port 0x84 (which is used to generate a 2.6us delay) in isaattach().
Since this port is needed by at least a few drivers, export its i/o handle
via isa_attach_args.
 1.21  11-Apr-1996  cgd include a machine-specific header from ARCH/isa/isa_machdep.h, to define
the isa_chipset_tag_t type, and to define or prototype:
isa_attach_hook()
isa_intr_establish()
isa_intr_disestablish()
i.e. the machine-dependent functions to be used my MI ISA code.
Remove prototypes for the latter two functions from this file.
 1.20  16-Mar-1996  cgd delete unused cruft (the 'software conventions' chunk).
 1.19  08-Mar-1996  cgd pass a bus_chipset_tag_t (defined in <machine/bus.h>) to the bus when
attaching, and to the devices when attaching them. #include <machine/bus.h>
to make this backward compatible with old #include requirements.
Also, clean up idempotency so that isa/eisa/pci "var.h" headers are
consistent (make them all idempotent).
 1.18  28-Feb-1996  cgd make ISA bus match/attach, and sub-device configuration machine-independent.
 1.17  24-Dec-1995  mycroft The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
 1.16  07-Jun-1995  cgd prototype isascan, spacing
 1.15  17-Apr-1995  cgd clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration. more work still needs to be done,
but it's getting better...
 1.14  03-Jan-1995  mycroft Update intr_establish() prototype.
 1.13  02-Jan-1995  mycroft Don't assume ia_maddr is in the hole.
 1.12  18-Nov-1994  mycroft Convert port, IRQ, and DRQ numbers to ints.
 1.11  27-Oct-1994  cgd new RCS ID format.
 1.10  27-Jul-1994  mycroft Add IRQUNK.
 1.9  07-Apr-1994  mycroft branches: 1.9.2;
Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
 1.8  30-Mar-1994  mycroft Minor changes.
 1.7  29-Mar-1994  mycroft New autoconfig mechanism. Hacked at the moment to use old config(8), but
look mostly like config.new to drivers.
 1.6  21-Jan-1994  cgd delete contents; can't appear in trunk until copyright is fixed.
 1.5  26-Oct-1993  mycroft branches: 1.5.2;
Add MADDRUNK.
 1.4  17-Oct-1993  mycroft Make atdevbase an int.
 1.3  16-Oct-1993  mycroft Add isa_establish(), for all it's worth (which is to say, nothing).
 1.2  06-Oct-1993  mycroft Add DRQUNK and IOBASEUNK.
 1.1  14-Sep-1993  mycroft New i386 code.
 1.5.2.1  11-Feb-1994  cgd new copyright, per Mike Karels
 1.9.2.1  27-Jul-1994  cgd from trunk, per mycroft
 1.25.8.2  28-May-1997  mycroft Don't use the TC bit to check for wraparound in isa_dmacount(); remember the
transfer length and use that.
 1.25.8.1  13-May-1997  thorpej - Provide the bus dma tag to children.
- Add DMA maps and requisite state information for the on-board ISA DMA
controller.
 1.28.2.2  15-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.28.2.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.37.16.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.37.8.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.38.6.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.38.4.2  28-Feb-2002  nathanw Catch up to -current.
 1.38.4.1  11-Jan-2002  nathanw More catchup.
 1.39.6.1  06-Apr-2002  eeh Convert to support attachment through devprops as well.
 1.40.2.7  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.40.2.6  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.40.2.5  04-Feb-2005  skrll Sync with HEAD.
 1.40.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.40.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.40.2.2  03-Sep-2004  skrll Sync with HEAD
 1.40.2.1  03-Aug-2004  skrll Sync with HEAD
 1.44.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.44.6.1  12-Feb-2005  yamt sync with head.
 1.44.4.1  29-Apr-2005  kent sync with -current
 1.47.2.2  17-Mar-2008  yamt sync with head.
 1.47.2.1  27-Oct-2007  yamt sync with head.
 1.48.50.1  25-Oct-2007  bouyer Sync with HEAD.
 1.48.46.2  23-Mar-2008  matt sync with HEAD
 1.48.46.1  06-Nov-2007  matt sync with HEAD
 1.48.44.3  06-Nov-2007  joerg Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
three layers (class logic, device logic, bus logic), all of them being
optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
not suspended (even partially), device_is_enabled returns true if the
device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
pnp_system_resume. Before running any suspend/resume handlers, check
that all currently attached devices support power management and bail
out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
can register what events they are interested in and whether the handler
should be global or not.
- Introduce device_active API for devices to mark themselve in use from
either the system or the device. Use this to implement the idle handling
for audio and input devices. This is intended to replace most ad-hoc
watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.
 1.48.44.2  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.48.44.1  05-Oct-2007  joerg Add generic ISA power handler.
 1.48.30.1  23-Oct-2007  ad Sync with head.
 1.49.16.2  02-Jun-2008  mjf Sync with HEAD.
 1.49.16.1  03-Apr-2008  mjf Sync with HEAD.
 1.49.12.1  24-Mar-2008  keiichi sync with head.
 1.51.4.2  16-May-2009  yamt sync with head
 1.51.4.1  16-May-2008  yamt sync with head.
 1.51.2.1  18-May-2008  yamt sync with head.
 1.52.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

RSS XML Feed