Commit Graph

86 Commits

Author SHA1 Message Date
thorpej
e2a2842013 Keep track of which DMA window was actually used to map the
request (not always the passed in DMA tag if we try direct-map
and then fall back to sgmap-mapped).  Use the actual window
when performing dmamap_sync and dmamap_unload operations.

Fixes DMA resource leak on systems with 2G+ RAM.  Thanks to
Matt Thomas for help debugging this.
2002-04-26 04:15:18 +00:00
thorpej
3835413bc1 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.
2002-01-07 21:46:56 +00:00
thorpej
9faf26ffb5 This file is obsolsete. 2000-07-19 17:39:57 +00:00
mrg
80bb8049ba remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 09:02:51 +00:00
thorpej
e75d8e3878 Forgot __KERNEL_RCSID(). 2000-06-01 05:49:36 +00:00
thorpej
5114577ab0 ISA DMA bounce buffer code, needed for a couple of SGMAP-less
systems, support for which will be hitting the tree soon.
2000-06-01 03:55:45 +00:00
thorpej
6dd5a9db6e Use dev/isa/fd.c. 2000-04-07 16:35:19 +00:00
thorpej
4ad898818b Fallout from callout. 2000-03-24 01:04:11 +00:00
thorpej
b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
thorpej
52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
thorpej
fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
thorpej
52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
mrg
d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
cgd
10af862bf7 move isa/isa_machdep.h to include/isa_machdep.h. (can't do it via
repository copy because alpha already had an include/isa_machdep.h in
the attic.)
1999-03-19 05:04:42 +00:00
cgd
08eb14f874 Moved to arch/alpha/include/isapnp_machdep.h,v 1999-03-19 03:14:06 +00:00
explorer
3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
mycroft
0d22ee1396 Use DMAMODE_DEMAND. Tested on an AS200. 1999-02-22 02:52:24 +00:00
mycroft
4449a6ef39 Kill vestiges of isa_establish(). 1999-02-19 16:15:06 +00:00
thorpej
1df60a8989 Floppy driver for NetBSD/alpha, copied from i386 port, and munged to take
out the i386'isms (i.e. no NVRAM read for default floppy type; floppies
just default to 1.44MB).
1999-02-18 20:15:53 +00:00
christos
449820f2ea Assign copyright to TNF. 1998-09-05 15:28:04 +00:00
eeh
a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
drochner
e8564df3b9 implemt a simple "beep" device to access the ISA speaker 1998-08-07 10:26:38 +00:00
thorpej
e2ce6c8a28 Machine-dependent ISA PnP goo for NetBSD/alpha. 1998-07-31 04:38:04 +00:00
thorpej
680a3d77f4 Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA.  Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
thorpej
53394a1d41 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.
1998-06-09 00:06:54 +00:00
drochner
0c05b92da1 pull in new PC display headers 1998-05-28 16:59:31 +00:00
matt
11e1975af7 Add isa_intr_alloc macro (for PCMCIA). 1998-05-23 18:35:03 +00:00
drochner
660e718e2e Drivers for PC-like console devices are MI now. 1998-04-24 20:05:54 +00:00
drochner
971dd06182 Adapt ISA console selection ti new mi drivers.
(was broken anyway, a "++" was missing somewhere)
1998-04-15 20:43:07 +00:00
thorpej
f82e238b10 Don't need "delaybah" in the attach args anymore. 1998-04-15 20:11:10 +00:00
thorpej
ba1ef83a1e Don't use the ISA `delay port', since it no longer exists. 1998-04-15 20:10:52 +00:00
mjacob
bd2e0fee32 delay handle was removed 1998-04-15 19:49:19 +00:00
drochner
32d94859ea adapt to changed <dev/ic/i8042reg.h> 1998-01-18 14:45:10 +00:00
thorpej
76e4297b91 No longer needed; we use the MI IDE driver now. 1998-01-15 07:01:51 +00:00
thorpej
5419debcb7 Adjust for config changes. 1998-01-12 10:21:02 +00:00
thorpej
5e05593163 Implement DIOCGDEFLABEL. 1997-10-08 23:23:13 +00:00
thorpej
d65a5e7fd2 Enter DDB on cntl-alt-esc (a'la i386). 1997-09-25 02:42:47 +00:00
thorpej
693b3e7262 Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
1997-09-02 13:17:47 +00:00
jonathan
7d9e8102ad Use new <dev/dec/clockvar.h> and and <dev/dec/mcclokvar.h>.
Garbage-collect original headers from sys/arch/alpha.
1997-07-22 18:50:52 +00:00
cgd
866bc1b267 sync with dev/isa/wd.c rev. 1.162:
>date: 1997/07/18 00:26:22;  author: fvdl;  state: Exp;  lines: +10 -10
>Work around possible race condition with 2 drives on one controller
>in wd_get_parms. PR 3773, from Onno van der Linden (onno@simplex.nl)
S: ----------------------------------------------------------------------
1997-07-19 06:39:22 +00:00
jtk
ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
thorpej
84166e5151 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:28:36 +00:00
pk
fe15d6603a Remove spurious line left over in previous commit.
Also, use parentheses like in <dev/isa/wd.c>
1997-06-18 22:25:53 +00:00
pk
f5bf0d3701 wdsize(): only call wdopen()/wdclose() if not already open, per the
current `openmask'.
1997-06-18 20:39:55 +00:00
cgd
fc8625db4f minimal changes to make hacked wd driver work under a different name.
It is configured (in config files) as 'awdc'/'awd', but shows up as
'wdc'/'wd', so that a minimal amount of code had to be modified to make
the name change work.  This is only intended to be temporary, anyway.
1997-04-21 14:47:33 +00:00
cgd
dbb6d5170a Convert to use bus_space_* macros. The resulting code isn't quite correct,
but works on the alpha (since there's currently no floppy drive support).
1997-04-21 13:38:38 +00:00
cgd
ba574b6f20 copy ISA wd driver from /sys/dev/isa/wd.c. This rev is unmodified.
This is temporary, until /sys/dev/isa/wd.c is properly bus_space_*-ified.
1997-04-21 13:36:49 +00:00
cgd
90789b53dd by default, provide RCS IDs for NetBSD/alpha kernel files in kernel binaries.
This can be disabled (to save a bit of space) with the NO_KERNEL_RCSIDS
options, which is present but commented out in the ALPHA config file.
In ELF-format kernels, these strings are present in the kernel binary but
are not loaded into memory.  (In ECOFF-format kernels, there's no easy way
to keep them from being loaded, so they _are_ loaded into memory.)
1997-04-07 23:39:37 +00:00
cgd
21598de043 use machine/conf.h instead of sys/conf.h and/or machine/cpuconf.h 1997-04-07 06:09:00 +00:00
cgd
cf01fa7db7 clean up NetBSD RCS ID strings, include machine/options.h 1997-04-06 23:22:26 +00:00