Fixed "free vnode isn't" panic in procfs that was caused by a missing
[unix-history] / sys / scsi / README
CommitLineData
15637ed4 1This release consists of the following files
519fb2b7
RG
2(relative to the base of the source tree )
3
4share/man/man4/scsi.4 <-useful general info
5share/man/man4/uk.4
6share/man/man4/su.4
7share/man/man4/ch.4
8share/man/man4/cd.4
9share/man/man4/sd.4
10share/man/man4/st.4 <--READ THIS IF YOU USE TAPES!
11sbin/scsi/procargs.c
12sbin/scsi/scsi.c
13sbin/scsi/scsi.1
14sbin/scsi/Makefile
15sbin/st/Makefile
16sbin/st/st.1
17sbin/st/st.c
18sys/sys/chio.h
19sys/sys/cdio.h
20sys/sys/mtio.h
21sys/sys/scsiio.h
22sys/i386/conf/EXAMPLE
23sys/i386/isa/ultra14f.c <-runs 14f and 34f
24sys/i386/isa/ultra_all.c.beta <-beta version, runs 14f,24f and 34f
25sys/i386/isa/bt742a.c
26sys/i386/isa/aha1742.c
27sys/i386/isa/aha1542.c
28sys/scsi/syspatches
29sys/scsi/syspatches/conf.c
30sys/scsi/syspatches/user_scsi.diffs
31sys/scsi/syspatches/MAKEDEV.diff
32sys/scsi/syspatches/isa.c.patch
33sys/scsi/syspatches/README
34sys/scsi/uk.c
35sys/scsi/su.c
36sys/scsi/st.c
37sys/scsi/sd.c
38sys/scsi/ch.c
39sys/scsi/cd.c
40sys/scsi/scsi_ioctl.c
41sys/scsi/scsi_base.c
42sys/scsi/scsiconf.c
43sys/scsi/scsi_tape.h
44sys/scsi/scsi_disk.h
45sys/scsi/scsi_changer.h
46sys/scsi/scsi_cd.h
47sys/scsi/scsi_all.h
48sys/scsi/scsi_debug.h
49sys/scsi/scsiconf.h
50sys/scsi/README <--this file
51
52notice sys/scsi/sg.c and sys/sys/sgio.h have been removed
15637ed4
RG
53
54
55----------------------------------------------------------------
56This scsi system is designed to allow the re-use of top end drivers
57such as disk and tape drivers, with different scsi adapters.
58
59As of writing this document, There are top end drivers working for:
60----------------------------------------------------------------
61generic scsi disk
62generic scsi tape
63cd-rom (plays music under the xcplayer (?) program)
64AEG Character recognition devices *
65Calera Character recognition devices *
519fb2b7 66Generic scsi-II scanners *
15637ed4 67Exabyte tape changer device.
519fb2b7 68GENERIC SCSI DEVICES (user generated scsi commands)
15637ed4
RG
69----------------------------------------------------------------
70
71
72There are also working bottom end drivers for:
73----------------------------------------------------------------
74adaptec 1542 (and 1742 in 1542 mode)
519fb2b7
RG
75bustec 742a (apparently works for VESA version (445S?))(and 747?)
76adaptec 174x (note NOT 27xx)
d4284689 77Ultrastore 14f (works for 34f (VESA version))
519fb2b7 78Ultrastore 24f RSN (Beta version included here)
15637ed4
RG
79----------------------------------------------------------------
80
81
15637ed4
RG
82################## Using the scsi system ##################
83------------minor numbers---------------
84This scsi system does not allocate minor numbers to devices depending
85on their SCSI IDs is any way. A devices minor number is dependant
86on the order in which it was found.
87e.g. the first tape found will become st0 (minor number 0)
88 the second found will become st1 (minor number 16)
89 the third will become st2 (minor 32)
90 etc.
91
92These devices could be on the same scsi bus or different scsi busses.
93That would not change their minor numbers.
94
d4284689
RG
95THE EXCEPTION TO THIS IS IN THE GENERIC SCSI DRIVER. in which case
96the following mapping applies:
97
519fb2b7 98BB TTT LLL B= scsi bus number, T = target number, L = LUN.
d4284689 99
15637ed4
RG
100It is possible to run two different TYPES of scsi adapters at the
101same time and have st0 on one and st1 on another. (for example)
102
103There is a scheme supported in which scsi devices can be 'wired in' even
104if they are not present or powered on at probe time. (see scsiconf.c)
519fb2b7
RG
105In addition, the scsi(1) command allows the operator ask for a
106reprobe at any time. Newly found devices will be configured in. Any
107device that does not map to a known device type is attached to the
108'unknown' (uk) driver.
15637ed4 109
15637ed4
RG
110
111--------------making devices------------
112A changed version of /dev/MAKEDEV is supplied that
113can be used to make devices sd[01234] and st[01234]
114
115e.g.
116cd /dev
117sh MAKEDEV sd0 sd1 sd2 st0 st1 cd0
118
519fb2b7 119see st(1) and st(4) for info on tape devices.
15637ed4
RG
120
121--------------file layout-------------------
122Originally I had all scsi definitions in one file: scsi.h
123I have since moved definitions of commands so that all
124definitions needed for a particular type of device are
125found together in the include file of that name.
126This approximatly follows the layout of their definition
127in the SCSI-2 spec.
128As such they are:
129
130scsi_all.h general commands for all devices --- CHAPTER 7
131scsi-disk.h commands relevant to disk --- CHAPTER 8
132scsi-tape.h commands for scsi tapes --- CHAPTER 9
133scsi-cd.h commands for cd-roms (and audio) --- CHAPTER 13
134scsi-changer.h commands medium changer devices --- CHAPTER 16
135
136---------ioctl definitions-------------
137User accessable structures (e.g. ioctl definitions) have been
d4284689 138placed in sys/cdio, sys/sgio and sys/chio (based after sys/mtio for
15637ed4 139the ioctls for mag tapes (including st).
519fb2b7 140General scsi ioctls are found in sys/scsiio.h.
15637ed4
RG
141
142-----------cd-rom-----------------
143The cd rom driver ha been tested by a number of people and
519fb2b7 144grefen@convex.com has completed the audio play
15637ed4 145functions.
d4284689
RG
146(xcdplayer was available from the 'from_ref' directory on agate)
147
148At this time it is possible audio play is broken on cdroms and I will
149be unable to fix it until I get one to test.
519fb2b7
RG
150***IMPORTANT***
151Cdrom audio is only suported at all for cdroms that use SCSI2 audio
152definitions.
15637ed4
RG
153
154-------------media changer---------------
519fb2b7 155Once again courtesy of grefen@convex.com (in germany)
15637ed4
RG
156I have not tested this but he assures me it's ready for testing.
157If anyone has an exabyte tape changer or similar,
158contact the author for information regarding the control interface
159and program.
160
d4284689
RG
161WARNING: This has not been tested for a LONG TIME!
162
d4284689
RG
163
164---------recent changes-----------
165Removed all bitfields from machine independent sections to make
166it possible for them to be used on big-endian architectures.
167
168Removed scsi specific timeouts in favour of system timeout handling.
169
170Many structures (getting more all the time) now dynamically allocated.
171
172Addition of code in the tape driver to recognise models of drive that
173have particular problems so they can be handled specially.
174
175many bug-fixes and cleanups.
01e1b05c 176
519fb2b7
RG
177---------even more recent changes:--------
178
179rewrote almost the entire thing..
180
181
182
183------Mon Oct 11 22:20:25 WST 1993------
184
185Code is now all KNF (or close to it).
186
187A new structure has been introduced..
188Called scsi_link, one of these exists for every bus/target/lun
189that has a driver attached to it.
190It has links to the adapter and to the driver, as well as status
191information of global interest. (e.g. if the device is in use).
192The use of this new structure has allowed the compaction of a
193lot of duplicated code into a single copy (now in scsi_base.c)
194and makes more simple the USER level scsi implimentation.
195
196