mycroft
9448a01404
New version of com driver. Uses a different queueing mechanism and a split
...
hardware/software interrupt mechanism for improved performance. Many odd
protocols bugs also fixed.
1997-04-04 20:56:34 +00:00
mycroft
232ade1b2b
comdefaultrate -> comconsrate
...
comconsbah -> comconsioh
Only use comconsrate on the console.
1997-04-04 20:49:49 +00:00
cgd
f89ffa1fe4
don't clobber IER in cominit(). (suggested by mycroft.)
1997-01-30 19:42:33 +00:00
mycroft
be33336052
If attaching the console, reinitialize it immediately.
1996-12-14 10:46:38 +00:00
mycroft
58e4442168
Turn off the baud rate changing optimization.
1996-12-14 08:56:23 +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
b005a8ee10
move cominit() prototype to comvar.h, so that ports which use 'com'
...
for serial console, but don't use the (i386-specific)
comcninit()/comcnprobe() functions, can do the right thing.
1996-11-13 19:41:35 +00:00
cgd
233251d896
add missing argument to bus_space_map in ESP code
1996-10-22 00:45:25 +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
mycroft
767522373b
If we get a RXRDY interrupt, but RXRDY is not set in the LSR, briefly set IER
...
to 0. This fixes a condition where some UARTs send an infinite stream of
RXRDY interrupts.
1996-10-06 01:52:26 +00:00
mycroft
d1f08e3e87
Serial console changes:
...
* Enable FIFO with trigger level 1.
* Set DTR and RTS so terminals are happy.
1996-10-06 01:46:04 +00:00
mycroft
82f0b829e8
compoll() -> comsoft()
1996-09-05 16:42:32 +00:00
mycroft
b3eac79b64
tty stop functions really should return void, not int, and certainly not both.
1996-09-02 06:43:16 +00:00
cgd
bc2f07f331
move DDB-only label inside an #ifdef, so that -Wall works
1996-07-10 18:14:04 +00:00
cgd
08d585e924
add tty_attach() where appropriate.
1996-05-30 18:24:09 +00:00
mycroft
cec36bf8d5
Use intr.h.
1996-05-12 23:51:23 +00:00
christos
d53d6cd545
Move comintr() prototype to comvar.h; needed by the multi-port cards.
1996-05-05 19:50:44 +00:00
christos
e8a8a6298c
- prototype fixes
1996-04-29 20:02:32 +00:00
cgd
b6549d493d
define and export the global variable "comconscflag", the default tty
...
'cflag' for the console. Normally set to TTYDEF_CFLAG, may be
overridden by machine-dependent console attachment code, as necessary.
(Alpha uses it to set cs8 -parenb.) Files including comvar.h now
need to include <sys/termios.h>, because comconscflag is of type
tcflag_t.
1996-04-15 18:54:31 +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
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
mycroft
4cc5b77bfa
Some stylistic cleanup, and a very minor speedup.
1994-03-23 03:01:50 +00:00
cgd
c6b399cce8
add AST-style serial multiport support, from Roland McGrath
...
<roland@@frob.com>. Needs light clean by Mr. I386, but mostly
OK. For some reason, Bad Things (TM) happened on the last cvs commit.
1994-03-23 01:28:23 +00:00
cgd
456e197d26
add reasonable support for MDMBUF output flow control. input to be done later
1994-03-18 05:13:26 +00:00
cgd
39f57c7820
copy appropriate hardware config bits from config's flags
1994-03-12 08:04:19 +00:00
cgd
86ac0459be
fix some of the last; thanks to charles for looking it over...
1994-03-12 07:43:03 +00:00
cgd
c38cf8e43e
support new ioctls. fix the way CRTSCTS is used, etc. Seperate 'hardware'
...
and 'software' flags. beginnings of multiport support.
1994-03-12 07:25:16 +00:00
mycroft
49051114a6
Major cleanup and many bugs fixed; based in part on Brad Huntting's version
...
for BSD/386. More to be done when the low-level interrupt system is replaced.
1994-03-08 08:12:56 +00:00
mycroft
0c082bcaf8
DELAY() --> delay(). This is not a macro.
1994-03-06 17:18:43 +00:00
mycroft
bbb3e7618c
All ioctl routines take a struct proc * now.
1994-02-09 21:06:46 +00:00
cgd
73f7c1d72e
oops
1994-02-01 04:38:03 +00:00
cgd
b452451cfe
new cons.h location, etc.
1994-02-01 03:42:08 +00:00
ws
18673da28a
Traditional behaviour is to reset all modes if device isn't open already
1994-01-30 16:41:27 +00:00
mycroft
33a067f307
Junk comselect(); it's the same at ttselect().
1994-01-13 14:58:12 +00:00
mycroft
f2a0b4b335
Canonicalize all #includes, and add pio.h where appropriate.
1993-12-20 09:05:17 +00:00
cgd
4a21fe3648
ifdef out the ttyfree()'s, so that fill_eproc doesn't panic when
...
a process's session still holds a ref to a tty which has been deallocated
and reused.
1993-09-29 02:36:21 +00:00
deraadt
9aed375ba3
tty XXstart() routines return void
1993-08-29 13:46:31 +00:00
mycroft
3be4221095
Change tty code to use clist interface, but with ring buffer implementation.
...
Also, fix a couple of bugs in tty.c and pccons.c, and some gross kluginess
in the hp300 stuff.
1993-07-12 11:36:53 +00:00
deraadt
1eacd36710
pccons.c now dynamically allocates it's "struct tty"
...
cons.c's "struct tty *cn_tty" wasn't used by any of the kernel, and goes away.
1993-07-07 11:00:23 +00:00
cgd
f1b8c74730
make getc() and ungetc() be rb{un,}getc(), so getc() and ungetc()
...
don't conflict w/ansi prototypes...
1993-06-06 23:04:42 +00:00
deraadt
2f0c0eb674
tty dynamic allocation
1993-05-26 10:06:41 +00:00
cgd
8d6c77881c
make kernel select interface be one-stop shopping & clean it all up.
1993-05-18 18:18:40 +00:00
glass
034707f9e5
fixed to be compliant, subservient, and to take advantage of the newly
...
hacked config(8)
1993-04-10 12:04:35 +00:00
cgd
fa76d62392
have probe return size of io space on successful return, rather
...
than simply 1.
1993-04-09 16:43:56 +00:00
deraadt
b9bd4b25de
dmesg output at boottime now tries to print out information as
...
soon as it is available. The output looks much more like Sunos.
1993-04-08 08:26:46 +00:00
cgd
c32e85d3c3
moved closing #endif to include comselect
1993-03-27 09:24:42 +00:00
cgd
e541169ce2
after 0.2.2 "stable" patches applied
1993-03-21 18:04:42 +00:00
cgd
61f282557f
initial import of 386bsd-0.1 sources
1993-03-21 09:45:37 +00:00