diff options
Diffstat (limited to 'sys/scsi/README')
-rw-r--r-- | sys/scsi/README | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/sys/scsi/README b/sys/scsi/README new file mode 100644 index 0000000..b110930 --- /dev/null +++ b/sys/scsi/README @@ -0,0 +1,196 @@ +This release consists of the following files +(relative to the base of the source tree ) + +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 +sys/sys/chio.h +sys/sys/cdio.h +sys/sys/mtio.h +sys/sys/scsiio.h +sys/i386/conf/EXAMPLE +sys/i386/isa/ultra14f.c <-runs 14f and 34f +sys/i386/isa/ultra_all.c.beta <-beta version, runs 14f,24f and 34f +sys/i386/isa/bt742a.c +sys/i386/isa/aha1742.c +sys/i386/isa/aha1542.c +sys/scsi/syspatches +sys/scsi/syspatches/conf.c +sys/scsi/syspatches/user_scsi.diffs +sys/scsi/syspatches/MAKEDEV.diff +sys/scsi/syspatches/isa.c.patch +sys/scsi/syspatches/README +sys/scsi/uk.c +sys/scsi/su.c +sys/scsi/st.c +sys/scsi/sd.c +sys/scsi/ch.c +sys/scsi/cd.c +sys/scsi/scsi_ioctl.c +sys/scsi/scsi_base.c +sys/scsi/scsiconf.c +sys/scsi/scsi_tape.h +sys/scsi/scsi_disk.h +sys/scsi/scsi_changer.h +sys/scsi/scsi_cd.h +sys/scsi/scsi_all.h +sys/scsi/scsi_debug.h +sys/scsi/scsiconf.h +sys/scsi/README <--this file + +notice sys/scsi/sg.c and sys/sys/sgio.h have been removed + + +---------------------------------------------------------------- +This scsi system is designed to allow the re-use of top end drivers +such as disk and tape drivers, with different scsi adapters. + +As of writing this document, There are top end drivers working for: +---------------------------------------------------------------- +generic scsi disk +generic scsi tape +cd-rom (plays music under the xcplayer (?) program) +AEG Character recognition devices * +Calera Character recognition devices * +Generic scsi-II scanners * +Exabyte tape changer device. +GENERIC SCSI DEVICES (user generated scsi commands) +---------------------------------------------------------------- + + +There are also working bottom end drivers for: +---------------------------------------------------------------- +adaptec 1542 (and 1742 in 1542 mode) +bustec 742a (apparently works for VESA version (445S?))(and 747?) +adaptec 174x (note NOT 27xx) +Ultrastore 14f (works for 34f (VESA version)) +Ultrastore 24f RSN (Beta version included here) +---------------------------------------------------------------- + + +################## Using the scsi system ################## +------------minor numbers--------------- +This scsi system does not allocate minor numbers to devices depending +on their SCSI IDs is any way. A devices minor number is dependant +on the order in which it was found. +e.g. the first tape found will become st0 (minor number 0) + the second found will become st1 (minor number 16) + the third will become st2 (minor 32) + etc. + +These devices could be on the same scsi bus or different scsi busses. +That would not change their minor numbers. + +THE EXCEPTION TO THIS IS IN THE GENERIC SCSI DRIVER. in which case +the following mapping applies: + +BB TTT LLL B= scsi bus number, T = target number, L = LUN. + +It is possible to run two different TYPES of scsi adapters at the +same time and have st0 on one and st1 on another. (for example) + +There is a scheme supported in which scsi devices can be 'wired in' even +if they are not present or powered on at probe time. (see scsiconf.c) +In addition, the scsi(1) command allows the operator ask for a +reprobe at any time. Newly found devices will be configured in. Any +device that does not map to a known device type is attached to the +'unknown' (uk) driver. + + +--------------making devices------------ +A changed version of /dev/MAKEDEV is supplied that +can be used to make devices sd[01234] and st[01234] + +e.g. +cd /dev +sh MAKEDEV sd0 sd1 sd2 st0 st1 cd0 + +see st(1) and st(4) for info on tape devices. + +--------------file layout------------------- +Originally I had all scsi definitions in one file: scsi.h +I have since moved definitions of commands so that all +definitions needed for a particular type of device are +found together in the include file of that name. +This approximatly follows the layout of their definition +in the SCSI-2 spec. +As such they are: + +scsi_all.h general commands for all devices --- CHAPTER 7 +scsi-disk.h commands relevant to disk --- CHAPTER 8 +scsi-tape.h commands for scsi tapes --- CHAPTER 9 +scsi-cd.h commands for cd-roms (and audio) --- CHAPTER 13 +scsi-changer.h commands medium changer devices --- CHAPTER 16 + +---------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----------------- +The cd rom driver ha been tested by a number of people and +grefen@convex.com has completed the audio play +functions. +(xcdplayer was available from the 'from_ref' directory on agate) + +At this time it is possible audio play is broken on cdroms and I will +be unable to fix it until I get one to test. +***IMPORTANT*** +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! + + +---------recent changes----------- +Removed all bitfields from machine independent sections to make +it possible for them to be used on big-endian architectures. + +Removed scsi specific timeouts in favour of system timeout handling. + +Many structures (getting more all the time) now dynamically allocated. + +Addition of code in the tape driver to recognise models of drive that +have particular problems so they can be handled specially. + +many bug-fixes and cleanups. + +---------even more recent changes:-------- + +rewrote almost the entire thing.. + + + +------Mon Oct 11 22:20:25 WST 1993------ + +Code is now all KNF (or close to it). + +A new structure has been introduced.. +Called scsi_link, one of these exists for every bus/target/lun +that has a driver attached to it. +It has links to the adapter and to the driver, as well as status +information of global interest. (e.g. if the device is in use). +The use of this new structure has allowed the compaction of a +lot of duplicated code into a single copy (now in scsi_base.c) +and makes more simple the USER level scsi implimentation. + + |