![]() Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]
FreeBSD/Linux Kernel Cross Reference
|
Name | Size | Last modified (GMT) | Description | |
![]() | Parent directory | 2008-12-15 13:59:19 | ||
![]() | README | 6964 bytes | 1995-03-01 22:24:38 | |
![]() | cd.c | 37223 bytes | 1999-09-05 08:21:33 | |
![]() | ch.c | 19375 bytes | 1999-09-05 08:21:34 | |
![]() | od.c | 24661 bytes | 1999-09-05 08:21:36 | |
![]() | pt.c | 7779 bytes | 1999-09-05 08:21:36 | |
![]() | scsi_all.h | 6744 bytes | 1999-09-05 08:21:37 | |
![]() | scsi_base.c | 30635 bytes | 1999-09-05 08:21:38 | |
![]() | scsi_cd.h | 4353 bytes | 1999-09-05 08:21:39 | |
![]() | scsi_changer.h | 12552 bytes | 1999-09-05 08:21:40 | |
![]() | scsi_debug.h | 1483 bytes | 1999-09-05 08:21:41 | |
![]() | scsi_disk.h | 6941 bytes | 1999-09-05 08:21:42 | |
![]() | scsi_driver.c | 6191 bytes | 1999-09-05 08:21:42 | |
![]() | scsi_driver.h | 2672 bytes | 1999-09-05 08:21:43 | |
![]() | scsi_generic.h | 2695 bytes | 1999-09-05 08:21:44 | |
![]() | scsi_ioctl.c | 10084 bytes | 1999-09-05 08:21:45 | |
![]() | scsi_message.h | 1344 bytes | 1996-10-07 03:53:43 | |
![]() | scsi_sense.c | 12003 bytes | 1996-04-19 17:39:47 | |
![]() | scsi_tape.h | 6230 bytes | 1999-09-05 08:21:45 | |
![]() | scsi_worm.h | 2238 bytes | 1996-01-27 17:48:12 | |
![]() | scsiconf.c | 36082 bytes | 1999-09-05 08:21:46 | |
![]() | scsiconf.h | 22718 bytes | 1999-09-05 08:21:47 | |
![]() | sctarg.c | 7872 bytes | 1999-09-05 08:21:48 | |
![]() | sd.c | 26355 bytes | 1999-09-05 08:21:49 | |
![]() | ssc.c | 4702 bytes | 1999-09-05 08:21:50 | |
![]() | st.c | 52126 bytes | 1999-09-05 08:21:51 | |
![]() | su.c | 7686 bytes | 1999-09-05 08:21:52 | |
![]() | uk.c | 1306 bytes | 1999-09-05 08:21:54 | |
![]() | worm.c | 37218 bytes | 1999-09-05 08:21:55 |
1 WARNING: This file was not fully updated by dufault@hda.com when 2 changing the configuration. See the end for new notes. 3 4 This release consists of the following files 5 (relative to the base of the source tree ) 6 7 share/man/man4/scsi.4 <-useful general info 8 share/man/man4/uk.4 9 share/man/man4/su.4 10 share/man/man4/ch.4 11 share/man/man4/cd.4 12 share/man/man4/sd.4 13 share/man/man4/st.4 <--READ THIS IF YOU USE TAPES! 14 sbin/scsi/procargs.c 15 sbin/scsi/scsi.c 16 sbin/scsi/scsi.1 17 sbin/scsi/Makefile 18 sbin/st/Makefile 19 sbin/st/st.1 20 sbin/st/st.c 21 sys/sys/chio.h 22 sys/sys/cdio.h 23 sys/sys/mtio.h 24 sys/sys/scsiio.h 25 sys/i386/conf/EXAMPLE 26 sys/i386/isa/ultra14f.c <-runs 14f and 34f 27 sys/i386/isa/ultra_all.c.beta <-beta version, runs 14f,24f and 34f 28 sys/i386/isa/bt742a.c 29 sys/i386/isa/aha1742.c 30 sys/i386/isa/aha1542.c 31 sys/scsi/syspatches 32 sys/scsi/syspatches/conf.c 33 sys/scsi/syspatches/user_scsi.diffs 34 sys/scsi/syspatches/MAKEDEV.diff 35 sys/scsi/syspatches/isa.c.patch 36 sys/scsi/syspatches/README 37 sys/scsi/uk.c 38 sys/scsi/su.c 39 sys/scsi/st.c 40 sys/scsi/sd.c 41 sys/scsi/ch.c 42 sys/scsi/cd.c 43 sys/scsi/scsi_ioctl.c 44 sys/scsi/scsi_base.c 45 sys/scsi/scsiconf.c 46 sys/scsi/scsi_tape.h 47 sys/scsi/scsi_disk.h 48 sys/scsi/scsi_changer.h 49 sys/scsi/scsi_cd.h 50 sys/scsi/scsi_all.h 51 sys/scsi/scsi_debug.h 52 sys/scsi/scsiconf.h 53 sys/scsi/README <--this file 54 55 notice sys/scsi/sg.c and sys/sys/sgio.h have been removed 56 57 58 ---------------------------------------------------------------- 59 This scsi system is designed to allow the re-use of top end drivers 60 such as disk and tape drivers, with different scsi adapters. 61 62 As of writing this document, There are top end drivers working for: 63 ---------------------------------------------------------------- 64 generic scsi disk 65 generic scsi tape 66 cd-rom (plays music under the xcplayer (?) program) 67 AEG Character recognition devices * 68 Calera Character recognition devices * 69 Generic scsi-II scanners * 70 Exabyte tape changer device. 71 GENERIC SCSI DEVICES (user generated scsi commands) 72 ---------------------------------------------------------------- 73 74 75 There are also working bottom end drivers for: 76 ---------------------------------------------------------------- 77 adaptec 1542 (and 1742 in 1542 mode) 78 bustec 742a (apparently works for VESA version (445S?))(and 747?) 79 adaptec 174x (note NOT 27xx) 80 Ultrastore 14f (works for 34f (VESA version)) 81 Ultrastore 24f RSN (Beta version included here) 82 ---------------------------------------------------------------- 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 98 THE EXCEPTION TO THIS IS IN THE GENERIC SCSI DRIVER. in which case 99 the following mapping applies: 100 101 BB TTT LLL B= scsi bus number, T = target number, L = LUN. 102 103 It is possible to run two different TYPES of scsi adapters at the 104 same time and have st0 on one and st1 on another. (for example) 105 106 There is a scheme supported in which scsi devices can be 'wired in' even 107 if they are not present or powered on at probe time. (see scsiconf.c) 108 In addition, the scsi(1) command allows the operator ask for a 109 reprobe at any time. Newly found devices will be configured in. Any 110 device that does not map to a known device type is attached to the 111 'unknown' (uk) driver. 112 113 114 --------------making devices------------ 115 A changed version of /dev/MAKEDEV is supplied that 116 can be used to make devices sd[01234] and st[01234] 117 118 e.g. 119 cd /dev 120 sh MAKEDEV sd0 sd1 sd2 st0 st1 cd0 121 122 see st(1) and st(4) for info on tape devices. 123 124 --------------file layout------------------- 125 Originally I had all scsi definitions in one file: scsi.h 126 I have since moved definitions of commands so that all 127 definitions needed for a particular type of device are 128 found together in the include file of that name. 129 This approximatly follows the layout of their definition 130 in the SCSI-2 spec. 131 As such they are: 132 133 scsi_all.h general commands for all devices --- CHAPTER 7 134 scsi-disk.h commands relevant to disk --- CHAPTER 8 135 scsi-tape.h commands for scsi tapes --- CHAPTER 9 136 scsi-cd.h commands for cd-roms (and audio) --- CHAPTER 13 137 scsi-changer.h commands medium changer devices --- CHAPTER 16 138 139 ---------ioctl definitions------------- 140 User accessable structures (e.g. ioctl definitions) have been 141 placed in sys/cdio, sys/sgio and sys/chio (based after sys/mtio for 142 the ioctls for mag tapes (including st). 143 General scsi ioctls are found in sys/scsiio.h. 144 145 -----------cd-rom----------------- 146 The cd rom driver ha been tested by a number of people and 147 grefen@convex.com has completed the audio play 148 functions. 149 (xcdplayer was available from the 'from_ref' directory on agate) 150 151 At this time it is possible audio play is broken on cdroms and I will 152 be unable to fix it until I get one to test. 153 ***IMPORTANT*** 154 Cdrom audio is only suported at all for cdroms that use SCSI2 audio 155 definitions. 156 157 -------------media changer--------------- 158 Once again courtesy of grefen@convex.com (in germany) 159 I have not tested this but he assures me it's ready for testing. 160 If anyone has an exabyte tape changer or similar, 161 contact the author for information regarding the control interface 162 and program. 163 164 WARNING: This has not been tested for a LONG TIME! 165 166 167 ---------recent changes----------- 168 Removed all bitfields from machine independent sections to make 169 it possible for them to be used on big-endian architectures. 170 171 Removed scsi specific timeouts in favour of system timeout handling. 172 173 Many structures (getting more all the time) now dynamically allocated. 174 175 Addition of code in the tape driver to recognise models of drive that 176 have particular problems so they can be handled specially. 177 178 many bug-fixes and cleanups. 179 180 ---------even more recent changes:-------- 181 182 rewrote almost the entire thing.. 183 184 185 186 ------Mon Oct 11 22:20:25 WST 1993------ 187 188 Code is now all KNF (or close to it). 189 190 A new structure has been introduced.. 191 Called scsi_link, one of these exists for every bus/target/lun 192 that has a driver attached to it. 193 It has links to the adapter and to the driver, as well as status 194 information of global interest. (e.g. if the device is in use). 195 The use of this new structure has allowed the compaction of a 196 lot of duplicated code into a single copy (now in scsi_base.c) 197 and makes more simple the USER level scsi implimentation. 198 199 ------Tue Feb 28 07:43:17 EST 1995----- 200 dufault@hda.com: Redid configuration to support wired devices. 201 All driver entries now get bounced directly into the routines in 202 "scsi_driver" via a set of functions generated by the SCSI_ENTRIES macro 203 in scsi_conf.h. This lets us put the common code in a single place.
[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]
This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.