Commit Graph

2776 Commits

Author SHA1 Message Date
Justin T. Gibbs
c5e0851d47 Major overhaul of the aic7xxx driver:
- catch the interrupt type (EDGE/LEVEL) before chip reset instead
	  of guessing the right type.

	- Add pause variable to the ahc struct to better handle the different
	  interrupt types and pausing the sequencer.

	- CLRINTSTAT -> CLRSCSIINT: This is a documented bit in the CLRINT
	  register in newer Adaptec documentation, so use their name for it.

	- Report valid residual byte counts.

	- Don't mess with the target scratch areas > id 8 on single, narrow,
	  channel devices.  The BIOS does a checksum of this area and can
	  flip out if we zero it out.

	- Initialize the sequencer FLAGS scratch ram variable in the single
	  channel devices to 0.  This was the cause of the annoying warning
	  where we would get a cmdcmplt the first time we did any type of
	  transfer negotiation with no valid scb.  It also fixes the problem
	  that looked like the INTSTAT register wasn't clearing fast enough.
	  This only showed up on 294x cards, not motherboard aic7870s.

	- Add the AHC_AIC7870 type and use it as the superset of aic7870
	  based controllers.

	- clear the sync offset section of the targ scratch area so that
	  we default to asyncronous transfers.  This was only a problem
	  for wide controllers because there was a scenario where the
	  offset wouldn't get updated before a data(out/in) phase would
	  occur.  This required some change in the sequencer code since we
	  were depending on this field to hold the rate to negotiate.

	- allow sync and wide negotiated commands to be tagged (the sequencer
	  now handles this properly).
1995-03-31 13:54:41 +00:00
Justin T. Gibbs
793ac7a94c Use EISA_MAX_SLOTS to be consistent with other EISA drivers.
Fix off by one error in slot probe.

Update some comments.
Submitted by: rgrimes@FreeBSD.org
1995-03-31 13:36:57 +00:00
Andrey A. Chernov
c03e3a2617 Fix overrun error define name 1995-03-31 11:04:22 +00:00
Andrey A. Chernov
dfd88e5a00 Fix typing error sneaked somehow in prev. commit 1995-03-31 11:01:29 +00:00
Jordan K. Hubbard
b32d3189e4 Diskless boot support for 3C509.
I'm not exactly sure why all the inb/outw stuff got added to netboot.h
and I'd be happy if someone like Martin or Bruce could take a look at it!
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-03-31 06:51:37 +00:00
Jordan K. Hubbard
ec835d2414 * Promiscuous mode added and interrupt logic slightly changed
*  to reduce the number of adapter failures. Transceiver select
 *  logic changed to use value from EEPROM. Autoconfiguration
 *  features added.
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-03-31 06:41:38 +00:00
Jordan K. Hubbard
496ccdde57 I and Seiji Murata <seiji@mt.cs.keio.ac.jp> contributed 3C589 PCMCIA
Etherlink III 'zp' on 2.0R, but it did not work with the -current.
Noriyuki Takahashi <hor@aecl.ntt.jp> san has fixed this bug.

Our alpha-testers are tested this driver with 3C589B-COMBO and
3C589B-TP.  And it works fine.

I also fixed a little about the use of ZP_DEBUG symbol and beautified
the awful Frankenstein-style indent :-) with "indent -c0 -nfc1 -i4".

[Also merge with Bruce's last changes]

Submitted by: "HOSOKAWA Tatsumi" <hosokawa@mt.cs.keio.ac.jp>
1995-03-31 06:10:22 +00:00
Stefan Eßer
244c89d543 Include <stddef.h> for standard definition of offsetof() instead of
defining it explicitly in the driver.
1995-03-31 00:05:08 +00:00
David Greenman
8a31826613 Backed out changes in rev 1.5 that prevent sending FIN if in CLOSING
state. This causes an infinite loop in some rare cases (probably caused
by some other, much more difficult to find bug).
1995-03-30 23:35:55 +00:00
Andrey A. Chernov
ca9301398c This sl enhancement helps to keep serial line (modem) connection alive.
It is common case when modem hangs with carier on but don't
receive anything from another side.
This thing commonly healed with hangup and redialing.
Enhancements below allows to determine when such action
is needed and inform attach program with SIGURG signal.
There two ioctls set: outfill and keepalive, used from both
sides of connection. Outfill repeatedly sends FRAME_END with
specified timeout (i.e. 40 seconds). It is needed to get input on
other side even if no user activity on slip line currently.
Keepalive checks FRAME_ENDs from other side, and if no one
got in specified timeout (i.e. 60 seconds, max modem retrain time),
send SIGURG to attach program.
I plan to add code to slattach to handle this thing too.

Reviewed by: wollman
1995-03-30 20:43:32 +00:00
Stefan Eßer
7685716d64 Do not try to negotiate synchronous SCSI transfers in the Boot Kernel. 1995-03-30 15:41:33 +00:00
Søren Schmidt
1fe226ce8b Update to new screen update method. 1995-03-30 15:10:20 +00:00
Søren Schmidt
90fffd8e85 Fix probe message printing 1995-03-30 14:33:03 +00:00
Søren Schmidt
085db34497 Emulate hw cursor closely, and get start&end scanlines from BIOS. 1995-03-30 14:32:31 +00:00
David Greenman
7b0047e213 Made pmap_testbit a static function. 1995-03-30 08:55:39 +00:00
Andrey A. Chernov
8587890744 Move DSIMICROCODE ioctl to 85,
old value (88) is equal SLIOGUNIT ioctl
1995-03-30 05:17:50 +00:00
Rodney W. Grimes
ad0c439a34 Submitted by: Mahesh Neelakanta <mahesh@gcomm.com>
Change I/O address of Intel EtherExpress driver (ix0) from 0x280 to
0x300.
1995-03-30 00:20:08 +00:00
Andrey A. Chernov
bb34201c6a Fixes for new TTY_BI & TTY_OE 1995-03-29 21:26:37 +00:00
Søren Schmidt
736277a951 Optimized the way physical screen updates are done. Now only
update what has actually been touched. This should speed up
screen access on slow hardware.
Introduced setting of "destructive" cursor size, much like
the old hardware cursor.
1995-03-29 20:55:03 +00:00
Andrey A. Chernov
3de5725908 pppinput:
Fix serial errors handling
Add no carrier check
1995-03-29 20:34:17 +00:00
Andrey A. Chernov
29a75ef5be Fix serial error recording using new TTY_BI & TTY_OE 1995-03-29 20:20:01 +00:00
Andrey A. Chernov
f1e302d4cc c_iflag handling in setting compat modes now more close to V7 1995-03-29 19:50:58 +00:00
Andrey A. Chernov
64a49d2d33 Oops, fix typing error in prev. commit 1995-03-29 19:24:46 +00:00
Andrey A. Chernov
668a9ccefc Handle TTY_BI now instead of TTY_FE && c == 0 1995-03-29 19:22:37 +00:00
Andrey A. Chernov
9bbcea9480 Remove TTY_OE & TTY_BI definitions to allow translation,
more work required and will follow
1995-03-29 19:05:13 +00:00
Andrey A. Chernov
33eb491fce Add TTY_OE for overrun error and TTY_BI for break condition 1995-03-29 19:03:02 +00:00
Andrey A. Chernov
532f5941b0 Move parmark 0377 double code after control chars processing 1995-03-29 18:55:20 +00:00
Andrey A. Chernov
aeab1b50e3 Fix timestamps when using Wall CMOS clock,
optimize dos2unixtime()
Submitted by: pritc003@maroon.tc.umn.edu
1995-03-29 18:48:06 +00:00
David Greenman
2547597bf4 Added a set of braces to make the compiler happy. 1995-03-29 11:54:02 +00:00
David Greenman
e5e6090541 Added NQNFS option and a comment warning about it's overhead. 1995-03-29 05:14:22 +00:00
David Greenman
cb9db2b6ff When NFS is compiled into the kernel, make NQNFS lease checking conditional
on a "NQNFS" kernel config option. NQNFS is a 4.4 wart and the performance
penalty of the lease checks on the client/server for _local_ I/O is too high
to have this occur all the time - especially when most people will never
use it.
1995-03-29 05:09:44 +00:00
David Greenman
9f22c23da7 Fixed DDB's "ps" output formatting. 1995-03-28 23:29:52 +00:00
Søren Schmidt
d23c175f9d Change fkey 63 from ^[[K to ^[[~.
Submitted by:		ache
1995-03-28 21:30:13 +00:00
Poul-Henning Kamp
c57e984258 Don't install /usr/mdec/boot
Install the biosboot as /usr/mdec/boot[12]
Make the traditional links from [swf]dboot and boot[swf]d to boot[12] files.
Install dosboot as /usr/mdec/boot/fbsdboot.exe
1995-03-28 19:22:43 +00:00
Andrey A. Chernov
0e933b8841 Move discard check up and do it only for error status
(per Bruce suggestion). It speedup things for a little.
Remove l_start optimization, call l_start always (per Bruce suggestion)
1995-03-28 19:22:11 +00:00
Søren Schmidt
84351cc95c Added ata device....
Not that it is ready yet, but I'm getting there eventually...
1995-03-28 18:18:31 +00:00
Andrey A. Chernov
702c5e7e17 ttyinput() fixes:
1) Preserve old buffer contents when input buffer overflows.

Old code clear buffer and rewrite it again, if !MAXBEL
(for MAXBEL it does right thing :-).
F.e. if you type too long string, last chars passed,
not first ones as expected.
Moreover, it flush output queue too in this case without any needs.

2) Don't do IXOFF, if IGNCR and c==\r, ignore completely.

3) If PARMRK is active and !ISTRIP and char == 0377
put yet one 0377 to distinguish it from parity mark sequence.
POSIX standard (thanx Bruce).

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 15:25:13 +00:00
Bruce Evans
2f86e398e1 CVS:
The previous patch was botched.
1995-03-28 12:29:11 +00:00
Andrey A. Chernov
4e0df42774 Don't use
if (tp->t_line != 0)
test when CS_ODONE, it fails for NTTYDISC, use
		       if (linesw[tp->t_line].l_start != ttstart)
instead.

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 12:26:40 +00:00
Andrey A. Chernov
8eefd80d06 Forget to add LSR_FE to discard (see prev commit)
Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 11:13:44 +00:00
Andrey A. Chernov
63cadaef19 Bug fixed:
parity/framing/break not completely ignored when IGN* is set
but cause output restarted.
CVS:
1995-03-28 11:09:35 +00:00
Andrey A. Chernov
2cad35d11b Several fixes to help "raw" tty mode work correctly with
BREAK/parity/framing errors.
Term "correctly" assumes POSIX spec. and 4.4 ttyinput() behaviour.
1) Discard BREAK/parity at interrupt level when apropriate IGN*
is set in iflag. It helps "raw" mode works even IGN* is set.
2) Zero parity (if INPCK) and framing directly in buffer
before passing it to b_to_q() in "raw" mode.
Efficency:
interrupt level: if no error occurse, only two "test" commands added
"raw" mode: buf scan incc times for parity/framing added

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 10:51:59 +00:00
Jordan K. Hubbard
9829c3ed2e Change ahc driver comment to note that it's not just the 274x controller
it supports.
1995-03-28 08:14:55 +00:00
Jordan K. Hubbard
00f32d06c1 "matcd interface " -> "matcd"; this makes userconfig work again and
makes it more consistant with the other drivers.
1995-03-28 08:04:07 +00:00
Bruce Evans
ce7c8b00ff CVS:
Enable -Wimplicit again.
bash: /src/z1: No such file or directory
1995-03-28 08:02:37 +00:00
Bruce Evans
3aa12267a5 Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
(except in netccitt, netiso and netns) that I didn't notice when I fixed
"all" such warnings before.
1995-03-28 07:58:53 +00:00
Poul-Henning Kamp
1b9d1a091a Readdir on a CDrom would return bogus "d_type" values, potentially confusing
everybody (incl find(1) ?).  Initialize it to DT_UNKNOWN.  Maybe we can
do better, but I don't have the time.
1995-03-28 07:46:38 +00:00
Andrey A. Chernov
243823db69 Raw ttyinput test was incomplete,
add !(IGNBRK | BRKINT | PARMRK) now.
1995-03-28 06:15:44 +00:00
David Greenman
17c4c40800 Fixed typo...using wrong variable in page_shortage calculation. 1995-03-28 05:58:35 +00:00
Andrey A. Chernov
339b90b333 Fix break recording for ttyinput 1995-03-28 05:39:53 +00:00