b9c06e6fa3
dev/microcode/aic7xxx_seq.h, dev/ic/aic7xxxreg.h: Remove intrinsic knowledge about SDTR and WDTR messages and replace it with a generic message system that allows the kernel driver to handle SDTR, WDTR and any other type of extended message it chooses too. This makes the sequencer code much simpler, makes extended message handling debuggable since the bulk of the work is in the kernel driver, and saves lots of instruction space. Regen microcode header file. dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h: Add code to handle WDTR and SDTR negotiation in light of the changes in the message interface to the sequencer. Don't reject targets that negotiate async by sending an SDTR with a 0 offset. Use an sdtr message with 0,0 to negotiate async when a target suggests a period that is too long for us to handle. Some tape and cdrom drives don't like us doing the message reject that we did in the past. Fix a problem with handing the QUEUE FULL condition. Fix a race condition (most likely the cause of the SCB paging problems) that might allow the sequencer to get unpaused before the condition that caused it to be paused (a SEQINT) was handled. Race condition pointed out by Doug Ledford <dledford@dialnet.net> and by "Dan Willis" <dan@plutotech.com>. dev/pci/ahc_pci.c: Add support for the 2940AU, an aic7860 based controller. dev/pci/pcidevs.h, dev/pci/pcidevs_data.h: Add product IDs for the 2940AU, aic7860 and aic7855. Regen data file. scsi/scsi_message.h: Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these extended messages. Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes out for me. |
||
---|---|---|
.. | ||
cd.c | ||
ch.c | ||
files.scsi | ||
README | ||
scsi_all.h | ||
scsi_base.c | ||
scsi_cd.h | ||
scsi_changer.h | ||
scsi_debug.h | ||
scsi_disk.h | ||
scsi_ioctl.c | ||
scsi_message.h | ||
scsi_scanner.h | ||
scsi_tape.h | ||
scsiconf.c | ||
scsiconf.h | ||
sd.c | ||
ss_mustek.c | ||
ss_mustek.h | ||
ss_scanjet.c | ||
ss.c | ||
ssvar.h | ||
st.c | ||
su.c | ||
uk.c |
/* $NetBSD: README,v 1.6 1995/06/02 14:04:36 mycroft Exp $ */ This release consists of the following files share/man/man4/scsi.4 <-useful general info share/man/man4/uk.4 share/man/man4/su.4 share/man/man4/ch.4 share/man/man4/cd.4 share/man/man4/sd.4 share/man/man4/st.4 <--READ THIS IF YOU USE TAPES! sbin/scsi/procargs.c sbin/scsi/scsi.c sbin/scsi/scsi.1 sbin/scsi/Makefile sbin/st/Makefile sbin/st/st.1 sbin/st/st.c ################## Using the scsi system ################## --------------making devices------------ see st(1) and st(4) for info on tape devices. ---------ioctl definitions------------- User accessable structures (e.g. ioctl definitions) have been placed in sys/cdio, sys/sgio and sys/chio (based after sys/mtio for the ioctls for mag tapes (including st). General scsi ioctls are found in sys/scsiio.h. -----------cd-rom----------------- Cdrom audio is only suported at all for cdroms that use SCSI2 audio definitions. -------------media changer--------------- Once again courtesy of grefen@convex.com (in germany) I have not tested this but he assures me it's ready for testing. If anyone has an exabyte tape changer or similar, contact the author for information regarding the control interface and program. WARNING: This has not been tested for a LONG TIME!