Commit Graph

51 Commits

Author SHA1 Message Date
thorpej
60530be43c Fix sizeof and whitespace bug from the script I'm using to do the
CFATTACH_DECL conversion.  (Grumble.)
2002-10-02 03:10:45 +00:00
thorpej
0dac35b547 Use CFATTACH_DECL(). 2002-10-02 02:00:07 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +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
lukem
3f7d8d47b6 add RCSID 2001-11-13 08:01:09 +00:00
thorpej
649ff32f2b Rather than using a magic constant, use `com_scratch' as the offset
in UART space to the interrupt CSR.
2000-05-20 18:25:41 +00:00
enami
b03b63aef4 Make these files compile again; no longer necessary to pass
iobase to comprobe1.
1998-09-18 14:38:48 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej
5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
thorpej
06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
thorpej
5c6445bc0d Don't panic if we fail to remap i/o or mem space in the attach function.
Instead, print a diagnostic and return.  (Some drivers do this already.)

Also, normalize the diagnostic message, and fix some places where the
printfs were getting ugly.
1997-10-20 18:43:03 +00:00
thorpej
29500b20c0 Make sure the i/o and/or mem addresses aren't wildcarded (i.e. -1) before
using the address in a bus_space_map() call.
1997-10-19 18:56:39 +00:00
thorpej
bc6479768b Adjust for the new "com" driver home. 1997-10-16 00:29:28 +00:00
cjs
432b9f1831 Make this compile on alpha and, presumably, other non
_BROKEN_INDIRECT_CONFIG machines.
1997-10-03 07:32:50 +00:00
drochner
8f33476972 Make console on multiport cards more likely to work (obvious bug,
fix still untested).
Closes PR kern/4095 by enami tsugutomo.
1997-09-12 13:31:10 +00:00
drochner
f4e17ffbfe Use the new com_is_console() to decide if the port is already initialized.
XXX shouldn't the attach() use the existing handle if present???
1997-08-23 14:06:17 +00:00
drochner
570688abef Bring back the "comconsattached" flag. It is necessary for starred
com devices (on non "__BROKEN_INDIRECT_CONFIG" ISA).
1997-08-16 08:33:08 +00:00
jtk
0076beb284 fix multi-port serial drivers to reflect recent changes to com driver for console/kgdb 1997-08-13 21:26:52 +00:00
mycroft
f2746e9620 Update for new com driver. 1997-04-09 16:44:21 +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
mycroft
cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
christos
d21e608c6b Make those compile again; they were missing a declaration for bc.
Also fix prototypes.
1996-05-05 19:49:51 +00:00
cgd
a610e9d471 include <sys/termios.h> to make comvar.h happy 1996-04-15 18:55:23 +00:00
cgd
51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +00:00
cgd
402f77d443 remove tricky open-coded variants of config_found(), by using the
child device pointer now returned by config_found().  (previously,
the code played games to get that pointer; now they are unnecesary.)
1996-04-04 07:08:10 +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
85286bff2f convert these to use new <machine/bus.h> interfaces. This involved
substantial reworking of the multi-port drivers, as they need to frob
bits in the io-port spaces of their children.  As a result, the
commulti->com attachment interface is substantially more complex.
(This may be fixable in the future by making some of the code common,
but as long as io-port allocation checking is planned, it's necessary.)
1996-03-10 09:01:20 +00:00
cgd
85288c6a61 Include comvar.h, for comprobe1() prototype and for commulti_attach_args.
Remove multiple identical definitions for the arg struct used by multiport
boards' to attach slave com ports.
1996-03-09 01:03:59 +00:00
cgd
645d83b763 minor cleanup. mostly: use COM_NPORTS and a new (driver-specific) NSLAVES
macro where appropriate.  No point in hard-coding numbers in multiple places.
At the very least, this makes the drivers slightly easier to diff/understand.
1996-03-09 00:09:04 +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
7491d6cbe5 if subdevices specified with wildcarded unit number, config_attach()
can change the cf_unit, so save it before attach and use saved value.
1995-06-26 04:08:04 +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
6125e1b551 Fix oversight in previous. 1995-01-04 00:47:53 +00:00
mycroft
9e499d41b3 \
These files have been 99% rewritten from the original ast driver.  Add an
appropriate copyright notice.
1995-01-03 22:38:54 +00:00
mycroft
b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft
326830c1ba Use direct config for subdevices. 1995-01-02 22:27:46 +00:00
mycroft
61800cfa25 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 22:07:32 +00:00
mycroft
35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft
21e911d911 Update for new autoconfig. 1994-11-07 09:03:48 +00:00
cgd
022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft
a618f9d915 Slight optimization, and don't go bonkers if one of the sub-devices is not
configured.
1994-08-14 14:13:25 +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
95f1b85a5a astprobe(): Set ia_iosize. 1994-03-29 06:58:29 +00:00
mycroft
592ec61b17 Updates for new autoconfig. 1994-03-29 04:35:37 +00:00
cgd
18f36e1745 copyright foo 1994-03-23 03:55:24 +00:00
mycroft
a3c2ef3169 Don't poll more than 4 ports. 1994-03-23 03:04:32 +00:00
mycroft
4cc5b77bfa Some stylistic cleanup, and a very minor speedup. 1994-03-23 03:01:50 +00:00