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