Commit | Line | Data |
---|---|---|
15637ed4 RG |
1 | This release consists of the following files |
2 | (relative to the base of the kernel tree) | |
3 | ||
4 | ||
5 | MAKEDEV | |
6 | ||
7 | scsi | |
8 | scsi/README | |
9 | scsi/scsiconf.h | |
10 | scsi/scsiconf.c | |
11 | scsi/scsi_all.h | |
12 | ||
13 | scsi/scsi_disk.h | |
14 | scsi/sd.c | |
15 | ||
d4284689 | 16 | sys/mtio.h (modified) |
15637ed4 RG |
17 | scsi/scsi_tape.h |
18 | scsi/st.c | |
19 | ||
d4284689 RG |
20 | sys/sgio.h |
21 | scsi/scsi_generic.h | |
22 | scsi/sg.c /* port not complete */ | |
23 | ||
15637ed4 RG |
24 | sys/chio.h |
25 | scsi/scsi_changer.h | |
26 | scsi/ch.c | |
27 | ||
28 | sys/cdio.h | |
29 | scsi/scsi_cd.h | |
30 | scsi/cd.c | |
31 | ||
32 | i386/conf/SCSITEST | |
33 | i386/isa/aha1542.c | |
34 | ||
15637ed4 RG |
35 | i386/conf/AHBTEST |
36 | i386/isa/aha1742.c | |
37 | ||
38 | i386/conf/UHATEST | |
39 | i386/isa/ultra14f.c | |
40 | ||
41 | i386/conf/BTTEST | |
42 | i386/isa/bt742a.c | |
43 | ||
44 | ||
45 | ||
46 | ---------------------------------------------------------------- | |
47 | This scsi system is designed to allow the re-use of top end drivers | |
48 | such as disk and tape drivers, with different scsi adapters. | |
49 | ||
50 | As of writing this document, There are top end drivers working for: | |
51 | ---------------------------------------------------------------- | |
52 | generic scsi disk | |
53 | generic scsi tape | |
54 | cd-rom (plays music under the xcplayer (?) program) | |
55 | AEG Character recognition devices * | |
56 | Calera Character recognition devices * | |
57 | Kodak IL900 scanner * | |
58 | Exabyte tape changer device. | |
d4284689 | 59 | GENERIC SCSI DEVICES (user generated scsi commands) (port not complete) |
15637ed4 RG |
60 | ---------------------------------------------------------------- |
61 | ||
62 | ||
63 | There are also working bottom end drivers for: | |
64 | ---------------------------------------------------------------- | |
65 | adaptec 1542 (and 1742 in 1542 mode) | |
d4284689 | 66 | bustec 742a (apparently works for VESA version) |
15637ed4 | 67 | adaptec 174x |
d4284689 | 68 | Ultrastore 14f (works for 34f (VESA version)) |
15637ed4 RG |
69 | ---------------------------------------------------------------- |
70 | ||
71 | ||
72 | Work is proceeding on the following bottom end drivers: | |
73 | ---------------------------------------------------------------- | |
74 | Future Domain (1680)** hosler@tfs.com & me | |
75 | Future Domain (8 bit)**** rpr@oce.nl | |
76 | WD7000** terry@icarus.weber.edu | |
77 | seagate st01/st02**** overby@aspen.cray.com ? | |
78 | ---------------------------------------------------------------- | |
79 | * drivers not made public (proprietary.. proof that the concept works though) | |
80 | ** driver not yet released but working. | |
81 | *** just a dream so far. | |
82 | **** some amount more than just a dream so far. | |
83 | ||
84 | ||
85 | ################## Using the scsi system ################## | |
86 | ------------minor numbers--------------- | |
87 | This scsi system does not allocate minor numbers to devices depending | |
88 | on their SCSI IDs is any way. A devices minor number is dependant | |
89 | on the order in which it was found. | |
90 | e.g. the first tape found will become st0 (minor number 0) | |
91 | the second found will become st1 (minor number 16) | |
92 | the third will become st2 (minor 32) | |
93 | etc. | |
94 | ||
95 | These devices could be on the same scsi bus or different scsi busses. | |
96 | That would not change their minor numbers. | |
97 | ||
d4284689 RG |
98 | THE EXCEPTION TO THIS IS IN THE GENERIC SCSI DRIVER. in which case |
99 | the following mapping applies: | |
100 | ||
101 | BB LLL TTT B= scsi bus number, T = target number, L = LUN. | |
102 | (yes I know it's strange but it's SGI compatible) | |
103 | ||
15637ed4 RG |
104 | It is possible to run two different TYPES of scsi adapters at the |
105 | same time and have st0 on one and st1 on another. (for example) | |
106 | ||
107 | There is a scheme supported in which scsi devices can be 'wired in' even | |
108 | if they are not present or powered on at probe time. (see scsiconf.c) | |
109 | ||
110 | --------------getting started------------ | |
111 | It should be possible to use the /dev entries for as0 as if they were | |
112 | /dev entries for sd0 and the old as bootblocks should | |
113 | continue to work if you are using an adaptec 1542b. | |
114 | ||
115 | --------------making devices------------ | |
116 | A changed version of /dev/MAKEDEV is supplied that | |
117 | can be used to make devices sd[01234] and st[01234] | |
118 | ||
119 | e.g. | |
120 | cd /dev | |
121 | sh MAKEDEV sd0 sd1 sd2 st0 st1 cd0 | |
122 | ||
123 | ||
124 | The tape devices are as follows: | |
125 | rst0 basic raw device, will rewind on close | |
126 | nrst0 will not rewind on close | |
127 | erst0 will rewind and EJECTon close | |
128 | nerst0 will not rewind and WILL eject (some devices may rewind anyhow) | |
129 | ||
130 | ------------future enhancements-------------- | |
131 | Some people have indicated that they would like to have the SCSI ID | |
132 | encoded into the minor number in some way, and | |
133 | this may be supported at some timein the future, using | |
134 | minor numbers greater than 128. (or maybe a different major number) | |
135 | ||
d4284689 | 136 | |
15637ed4 RG |
137 | I will also be writing (probably) a generic scsi-error |
138 | handling routine that will be table driven, so that the routine can | |
139 | be removed from each individual driver. With enough care, | |
140 | two similar devices with different error codes (quite common) could run | |
141 | the same driver but use different error tables. | |
142 | ||
143 | --------------file layout------------------- | |
144 | Originally I had all scsi definitions in one file: scsi.h | |
145 | I have since moved definitions of commands so that all | |
146 | definitions needed for a particular type of device are | |
147 | found together in the include file of that name. | |
148 | This approximatly follows the layout of their definition | |
149 | in the SCSI-2 spec. | |
150 | As such they are: | |
151 | ||
152 | scsi_all.h general commands for all devices --- CHAPTER 7 | |
153 | scsi-disk.h commands relevant to disk --- CHAPTER 8 | |
154 | scsi-tape.h commands for scsi tapes --- CHAPTER 9 | |
155 | scsi-cd.h commands for cd-roms (and audio) --- CHAPTER 13 | |
156 | scsi-changer.h commands medium changer devices --- CHAPTER 16 | |
157 | ||
158 | ---------ioctl definitions------------- | |
159 | User accessable structures (e.g. ioctl definitions) have been | |
d4284689 | 160 | placed in sys/cdio, sys/sgio and sys/chio (based after sys/mtio for |
15637ed4 RG |
161 | the ioctls for mag tapes (including st). |
162 | ||
163 | -----------cd-rom----------------- | |
164 | The cd rom driver ha been tested by a number of people and | |
165 | grefen@wilbur.zdv.uni-mainz.de has completed the audio play | |
166 | functions. | |
d4284689 RG |
167 | (xcdplayer was available from the 'from_ref' directory on agate) |
168 | ||
169 | At this time it is possible audio play is broken on cdroms and I will | |
170 | be unable to fix it until I get one to test. | |
15637ed4 RG |
171 | |
172 | -------------media changer--------------- | |
173 | Once again courtesy of grefen@wilbur.zdv.uni-mainz.de. | |
174 | I have not tested this but he assures me it's ready for testing. | |
175 | If anyone has an exabyte tape changer or similar, | |
176 | contact the author for information regarding the control interface | |
177 | and program. | |
178 | ||
d4284689 RG |
179 | WARNING: This has not been tested for a LONG TIME! |
180 | ||
15637ed4 RG |
181 | -----------booting from an AHA-174x--------- |
182 | For some reason I have not yet worked out, | |
183 | the BIOS-based bootblocks I have posted will not boot | |
184 | from the aha1742 in extended mode. (it can't be serious | |
185 | because the MACH version works) This is in fact not a | |
186 | problem because the aha1742 driver will force the board into extended | |
187 | mode during probe, so it can be left in standard mode during the boot. | |
188 | During the next reboot, the bios will place it back in standard mode | |
189 | ready for the NEXT boot. | |
190 | ||
d4284689 RG |
191 | [Update: This has apparently been fixed in the newest NetBSD/FreeBSD |
192 | releases ] | |
193 | ||
194 | ||
195 | ||
196 | ---------recent changes----------- | |
197 | Removed all bitfields from machine independent sections to make | |
198 | it possible for them to be used on big-endian architectures. | |
199 | ||
200 | Removed scsi specific timeouts in favour of system timeout handling. | |
201 | ||
202 | Many structures (getting more all the time) now dynamically allocated. | |
203 | ||
204 | Addition of code in the tape driver to recognise models of drive that | |
205 | have particular problems so they can be handled specially. | |
206 | ||
207 | many bug-fixes and cleanups. |