thorpej
11e78a6b0d
Pull thorpej-bus-dma branch into mainline.
1997-06-06 23:43:45 +00:00
cgd
3573080902
split isasearch (!__BROKEN_INDIRECT_CONFIG) completely off of
...
isascan (__BROKEN_INDIRECT_CONFIG), and attempt multiple match/attach
of cloning devices in isasearch(). (If a match/attach succeeds for
a cloning device, try it again.)
1997-01-26 03:49:28 +00:00
cgd
74187419b6
The last change fixed a last-minute goof in the __BROKEN_INDIRECT_CONFIG
...
case, but added a typo (extra parenthesis) in the !__BROKEN_INDIRECT_CONFIG
case. fix it.
1996-12-08 00:14:03 +00:00
cgd
243ef518d2
fix a (fatal) bug in the __BROKEN_INDIRECT_CONFIG changes checked
...
in yesterday. (got a little bit careless with #ifdef'd variables.)
1996-12-05 22:16:04 +00:00
cgd
197d80c63a
update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
...
is defined.
1996-12-05 01:25:23 +00:00
cgd
452ba6e098
restrict the FSTATE_STAR prohibition (and panic) to the i386 only. Cloning
...
devices actually do make sense on indirect-config busses, because you
might be able to have more than one of the busses! In addition, they're
useful because they don't require unit numbers to be wired down, so you
could e.g. have vga* at indirect? and vga* at direct?, and have the first
one found be unit number zero. Finally, devices which can divine their
own ports numbers, etc., actually should be cloning, even if you know you'll
only have one bus that they can live on.
1996-11-23 21:36:44 +00:00
thorpej
769a499800
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.
1996-10-21 22:34:38 +00:00
christos
86373f8cf9
backout kprintf changes
1996-10-13 01:37:04 +00:00
christos
58953408cb
printf -> kprintf, sprintf -> ksprintf
1996-10-10 22:04:48 +00:00
cgd
2a73ef60b7
change cfprint_t type definition to take a const char *, rather than
...
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
thorpej
52e2ab70b0
#include <machine/intr.h> to get IST_* definitions.
1996-05-14 00:31:04 +00:00
mycroft
cec36bf8d5
Use intr.h.
1996-05-12 23:51:23 +00:00
thorpej
e32158478e
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.)
1996-05-08 23:32:31 +00:00
thorpej
6fb58044fd
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.
1996-05-05 01:14:07 +00:00
christos
e8a8a6298c
- prototype fixes
1996-04-29 20:02:32 +00:00
cgd
e6456e7285
on non-i386 systems, include <machine/intr.h> (per charles's proposal on
...
tech-kern (?)), to get the IPL_* and IST_* types. pass the machine-dependent
cookie given at attach time on to sub-devices, so they can use it to access
the interrupt functions properly.
1996-04-11 22:25:44 +00:00
thorpej
6d9ea4cf59
New device attachment scheme:
...
- split softc size and match/attach out from cfdriver into
a new struct cfattach.
- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
1996-03-17 00:43:52 +00:00
cgd
b1d3f7607c
remember the bus_chipset_tag_t given by our parent, and pass it on to
...
children.
1996-03-08 20:36:21 +00:00
cgd
3ca5707161
make ISA bus match/attach, and sub-device configuration machine-independent.
1996-02-28 01:43:45 +00:00
mycroft
02317d25bb
Make the panic message for ISA clone devices more informative.
1996-01-16 07:52:38 +00:00
mycroft
3da4b2a160
The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
...
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
cgd
da5b5dfa63
make match/attach routines and cfdriver struct mi
1995-06-07 06:46:04 +00:00
cgd
3ebc44f6e1
isa softc structs are larger than 'struct device'
1995-05-17 02:07:03 +00:00
cgd
8a640328ed
clean up several ISA device interfaces: autoconfiguration, header
...
inclusion, and interrupt configuration. more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
mycroft
fcdbd2bd7b
Remove outdated comment.
1995-01-16 10:36:26 +00:00
mycroft
2d5b04744a
Don't assume ia_maddr is in the hole.
1995-01-02 20:06:29 +00:00
mycroft
9a3840f2f0
Stylistic changes.
1994-11-18 22:25:12 +00:00
mycroft
35cdd801e6
Convert port, IRQ, and DRQ numbers to ints.
1994-11-18 21:57:40 +00:00
mycroft
b341f7a8c0
Map IRQ 2 to IRQ 9.
1994-11-14 23:58:56 +00:00
mycroft
29414c5a0a
Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
...
rather than bit shifting.
1994-11-04 18:34:50 +00:00
mycroft
9af4fee97d
Use kvtop() rather than address arithmetic in a couple of places.
1994-11-04 08:55:53 +00:00
mycroft
1948fcb3fa
Add a new function config_scan(), which just calls a particular function
...
with each plausibly cfdata, ignoring the priority mechanism completely.
1994-11-04 06:40:11 +00:00
mycroft
2e8ae560f6
Commit incest with the config system for this one specific case.
1994-11-04 03:57:32 +00:00
mycroft
fa769b0e97
Set ia_irq correctly.
1994-11-04 02:55:32 +00:00
mycroft
7773b21b74
Correct an oversight.
1994-11-04 00:53:06 +00:00
mycroft
d4dd538296
Oops; forgot isacd.
1994-11-04 00:07:39 +00:00
mycroft
3fca7e771a
New version using standard config_*() functions.
1994-11-03 23:53:19 +00:00
cgd
022ee8f7fe
new RCS ID format.
1994-10-27 04:14:23 +00:00
mycroft
236f105ccd
Remove unneeded #includes.
1994-10-09 15:06:23 +00:00
mycroft
1eaa03e7dc
Fix initial allocation of dev array, and simplify the code
...
slightly.
1994-10-07 09:08:29 +00:00
cgd
a0a7429482
lots of changes: prototype migration, move lots of variables, definitions,
...
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
1994-05-05 05:35:42 +00:00
mycroft
0ee51c2c8b
Forgot to munge the #includes in last commit.
1994-05-03 20:32:22 +00:00
mycroft
884168ce49
Move beep junk to clock.c.
1994-05-03 08:23:55 +00:00
mycroft
2f66816d8b
Rename two files.
1994-04-24 01:34:05 +00:00
mycroft
221b25fd9d
Separate DMA functions.
1994-04-22 22:58:50 +00:00
mycroft
160fbf23ec
Fix typo.
1994-04-21 04:26:37 +00:00
mycroft
3f5e4f423f
Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
...
Reorganize and clean up the relevant code.
1994-04-07 06:48:19 +00:00
mycroft
314bc1f5db
Clean up #includes.
1994-04-03 22:50:14 +00:00
mycroft
5edb523880
Remove an old hack that now just causes a small memory leak during autoconfig.
1994-03-31 16:59:04 +00:00
mycroft
5eb99ad76e
New autoconfig mechanism. Hacked at the moment to use old config(8), but
...
look mostly like config.new to drivers.
1994-03-29 04:34:18 +00:00