- 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).
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>
* 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>
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>
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.
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
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:
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:
Report floppy/tape units on seperate lines as fdX:/ftX: to correct lots of
ways the current scheme failed to end the output with \n.
Add controller and/or drive designator to the fron of several messages
that come from this drive. [It's not fun to track down driver messages
using grep over the source tree.]
Reviewed by: joerg
- ignore the partition table if it is identical with the bogus one in
/usr/src/sys/i386/boot/biosboot/start.S. Honoring the bogus size
field was fatal. The error is detected but other compatibilty
cruft weakens the error handling too much for this case.
- weaken the partition entry checking to allow the following treatments
of C/H/S addresses when C should be >= 1024:
(1) allow C = 1023, H = max, S = max.
(2) allow C to be correct modulo 1024.
Other compatibilty cruft weakens the error handling to allow all
C/H/S addresses, but there too many errors were reported.
Improve error messages:
- print C/H/S addresses if relevant.
- distinguish primary partition table from extended partition tables.
- don't use diskerr() except for i/o errors.
NOT derived from the Linux code and is thus not GPL'd. It is the author's
express wish that the GPL copyrighted version be removed and this BSD copyright
version take its place. Considering our own stance on this, I'm certainly
not going to argue! [Note to NetBSD folks: You're free to grab it now :-)]
Submitted by: Mikael Hybsch <micke@dynas.se>
ultra14f.c and eliminate constants.
Correct EISA slot scan loops to look at slots 1 to 15 inclusive (off
by 1 errors all over the place). Other drivers need this, I will get
to it after a little more work.
Correct the ultrastore EISA probe so that it starts after the last
EISA slot probed instead of starting over from slot 0.
We need an eisa.h to move a lot of common constants into. I will
write it if someone tells me where it should go (sys/eisa?).
#include <i386/isa/isa.h>
return IO_EISASIZE instead of hard coded 0x1000.
if_ep.c:
Remove commented out disabling of interrupts that gave a
"comment withing a comment" warning.
Fixed the I/O statistics
Allow WD1007 type controllers to work
Support MULTI-BLOCK I/O
Correct delay to use port 0x84, reading the status register
might not be a long enough delay.
Changed probe message to match SCSI type devices.