The Design and Implementation of the FreeBSD Operating System, Second Edition
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
sys/scsi/

Version: -  FREEBSD  -  FREEBSD11  -  FREEBSD10  -  FREEBSD9  -  FREEBSD92  -  FREEBSD91  -  FREEBSD90  -  FREEBSD8  -  FREEBSD82  -  FREEBSD81  -  FREEBSD80  -  FREEBSD7  -  FREEBSD74  -  FREEBSD73  -  FREEBSD72  -  FREEBSD71  -  FREEBSD70  -  FREEBSD6  -  FREEBSD64  -  FREEBSD63  -  FREEBSD62  -  FREEBSD61  -  FREEBSD60  -  FREEBSD5  -  FREEBSD55  -  FREEBSD54  -  FREEBSD53  -  FREEBSD52  -  FREEBSD51  -  FREEBSD50  -  FREEBSD4  -  FREEBSD3  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

Name Size Last modified (GMT) Description
Back Parent directory 2008-12-15 13:59:19
File README 6964 bytes 1995-03-01 22:24:38
C file cd.c 37223 bytes 1999-09-05 08:21:33
C file ch.c 19375 bytes 1999-09-05 08:21:34
C file od.c 24661 bytes 1999-09-05 08:21:36
C file pt.c 7779 bytes 1999-09-05 08:21:36
C file scsi_all.h 6744 bytes 1999-09-05 08:21:37
C file scsi_base.c 30635 bytes 1999-09-05 08:21:38
C file scsi_cd.h 4353 bytes 1999-09-05 08:21:39
C file scsi_changer.h 12552 bytes 1999-09-05 08:21:40
C file scsi_debug.h 1483 bytes 1999-09-05 08:21:41
C file scsi_disk.h 6941 bytes 1999-09-05 08:21:42
C file scsi_driver.c 6191 bytes 1999-09-05 08:21:42
C file scsi_driver.h 2672 bytes 1999-09-05 08:21:43
C file scsi_generic.h 2695 bytes 1999-09-05 08:21:44
C file scsi_ioctl.c 10084 bytes 1999-09-05 08:21:45
C file scsi_message.h 1344 bytes 1996-10-07 03:53:43
C file scsi_sense.c 12003 bytes 1996-04-19 17:39:47
C file scsi_tape.h 6230 bytes 1999-09-05 08:21:45
C file scsi_worm.h 2238 bytes 1996-01-27 17:48:12
C file scsiconf.c 36082 bytes 1999-09-05 08:21:46
C file scsiconf.h 22718 bytes 1999-09-05 08:21:47
C file sctarg.c 7872 bytes 1999-09-05 08:21:48
C file sd.c 26355 bytes 1999-09-05 08:21:49
C file ssc.c 4702 bytes 1999-09-05 08:21:50
C file st.c 52126 bytes 1999-09-05 08:21:51
C file su.c 7686 bytes 1999-09-05 08:21:52
C file uk.c 1306 bytes 1999-09-05 08:21:54
C file 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.