Commit Graph

77 Commits

Author SHA1 Message Date
cgd
179f65d15e Add #ifdef's at the right places, on NCOM_ISA and NCOM_COMMULTI, to
only include the relevant code in the probe & attach functions.  Still
one probe and one attach function, with #ifdefs, but this is a step
in the right direction and saves a few hundred bytes (ooh, ahh!).
1996-03-17 13:38:14 +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
a7c6dfe1cd include comvar.h for comprobe1() prototype 1996-03-09 01:02:08 +00:00
scottr
4005c5fd09 Fix typo (PR 2123, from Michael VanLoon) 1996-02-26 22:48:32 +00:00
mycroft
a35f0ac985 Add more debugging code. 1996-02-20 12:13:09 +00:00
mycroft
5021ab87f1 Update copyright notice. 1996-02-19 15:23:25 +00:00
mycroft
5bc567b0d3 Set IER_ETXRDY before outputting any bytes, to prevent race condition. 1996-02-19 15:09:25 +00:00
mycroft
c011a5eae4 Handle break more correctly.
Make IER_ETXRDY track TS_BUSY.  (Prevents a loop in comintr() if no output
is available.)
Add a bunch of debugging code.
1996-02-19 14:53:03 +00:00
mycroft
e5730c4a73 Fix a race condition where we might stop outputting if a write follows a
flush too closely.
1996-02-18 09:10:15 +00:00
mycroft
203f5d5329 Add some text describing the UART lossage worked around in the previous. 1996-02-17 04:51:41 +00:00
mycroft
121f6570d7 Drain the transmitter FIFO before changing the baud rate or FIFO depth
registers.  Fixes PR 2046.
Also, if COMCONSOLE is defined, expect CONSPEED to be the baud rate.
1996-02-17 04:04:28 +00:00
christos
11d31f7ce7 Hayes ESP patches [from PR database] 1996-02-10 20:23:18 +00:00
christos
d3427703db Hayes ESP support from Michael Van Loon, with minor cleanups. Tested on
a single port ESP card; works great!
1996-01-14 23:44:34 +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
mycroft
f096f370fb Use SET(), CLR(), and ISSET() macros.
Rename CFCR to LCR, and cache its value.
Check MSR before transmitting, for better flow control.
Preserve LCR_SBREAK inside comparam().
1995-10-15 19:43:04 +00:00
mycroft
eb99dcc09a Fix a condition where ttywait() wouldn't be woken up. Also, short-circuit
the case of no pending input in compoll().
1995-07-04 06:47:18 +00:00
cgd
2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
mycroft
4bfd7749ad Various:
* Check for CTS in the correct register.
* Only do a selwakeup() if we output something.
* Don't make assumptions about what TTYDISC does.
1995-06-05 19:08:09 +00:00
mycroft
5b37a8fded Handle BREAK correctly when not entering DDB. 1995-06-04 20:50:14 +00:00
mycroft
38847d04c0 Add an input FIFO, and fix several flow control problems. Based on code from
Felix A. Croes.
1995-06-04 20:39:22 +00:00
jtc
d045544ebd Changed ns82450 to ns8250 and dropped ns82550 from probe console messages. 1995-06-01 21:26:51 +00:00
mycroft
addaff473b Only use the `no pending interrupt' bit in the IIR; the other bits
are too unreliable on clone chips.
1995-05-28 03:26:37 +00:00
cgd
c821cb684a (1) conditionalize debugger usage in comeint with DDB, not COMCONSOLE;
latter would lead to undefined symbols if DDB not defined.
(2) check for break on console, and therefore debugger entry (if ddb
	in kernel) earlier, so that the device doesn't need to be open.
(3) return immediately after breaking into the debugger in comeint().
(4) only do the normal character input routine in comintr if receive
	mask yeilds _EXACLTY_ LSR_RXRDY.  if there's only a receive
	error, or there's a receive error _and_ a received character,
	do comeint().
(former two by me.  latter two from Bob Baron <rvb@cs.cmu.edu>.)
1995-05-12 17:54:41 +00:00
hpeyerl
c9319ad5c4 <break> --> ddb if defined(comconsole).
(if you have a serial console and you hit break, you get ddb).
1995-04-28 00:34:08 +00:00
mycroft
9e28a35469 Fix thinko in previous change. 1995-04-19 22:04:33 +00:00
mycroft
53d73c77a5 Garbage collect #includes. 1995-04-19 19:10:35 +00:00
mycroft
e1315808a7 Implement comtty(). 1995-04-19 18:59:27 +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
95c5c4f79f Most of the console functions return void. Also change interrupt logic
slightly.
1995-04-10 01:05:55 +00:00
cgd
3a7bbb1acd lip service to making ISA support machine-independent. This is the first
round: moving the drivers into a machine-independent directory.
Some drivers (e.g. fd.c) not moved because they use other pc features (e.g.
CMOS settings), and none of the non-driver files moved, because they're
still pretty much PC specific.  eventually (when other ports with ISA
busses really start using this code), more 'high-level' ISA support will
live here.
1995-01-29 07:36:54 +00:00
cgd
f11e7e33fe use chip headers in /dev/ic 1995-01-29 02:58:20 +00:00
pk
0a22930d97 Explicitly test the RXRDY status bit on incoming characters. 1995-01-11 09:56:40 +00:00
mycroft
6125e1b551 Fix oversight in previous. 1995-01-04 00:47:53 +00:00
mycroft
b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft
cba32aa25f Minor update for new autoconfig. 1994-11-25 08:17:21 +00:00
mycroft
35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft
ebbdd6473b Update to match autoconfig code. 1994-11-03 23:26:03 +00:00
cgd
6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd
022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft
556a119342 Implement *cnpollc(). 1994-10-26 18:06:30 +00:00
mycroft
c7003d37d3 Only reset FIFO if changing baud rate. From John Kohl (slightly edited). 1994-09-16 02:50:39 +00:00
mycroft
5e4a51278b Set the FIFO threshold based on the receive speed, per Mark Weaver. 1994-08-24 07:25:18 +00:00
mycroft
8b8390a4bb Look for MDMBUF in cflag, not lflag. 1994-08-21 15:04:37 +00:00
mycroft
59de58a39b Count up the silo overflows and only log a warning at most once per minute. 1994-08-07 11:27:51 +00:00
mycroft
8a9df6389d Bug fixes from Mark Weaver. 1994-07-31 11:34:38 +00:00
cgd
e872e13605 allow MDMBUF flags to be set (oops) 1994-04-10 10:29:06 +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
592ec61b17 Updates for new autoconfig. 1994-03-29 04:35:37 +00:00
mycroft
008f13bb69 Fix off-by-one error in comopen() unit number sanity check. From Brian de
Alwis.
1994-03-25 04:38:01 +00:00