README.AM53C974
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:9k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. SUBJECT
  2. -------
  3. AM53/79C974 PC-SCSI Driver
  4. DISCLAIMER
  5. ----------
  6. ***  THIS SHOULD BE CONSIDERED AS BETA SOFTWARE  ***
  7. ***  USE AT YOUR OWN RISK!                       ***
  8. Copyright
  9. ---------
  10. The architecture and much of the code of this device driver was 
  11. originally developed by Drew Eckhardt for the NCR5380. The 
  12. following copyrights apply:
  13. For the architecture and all pieces of code which can also be found 
  14. in the NCR5380 device driver:
  15. Copyright 1993, Drew Eckhardt
  16.   Visionary Computing 
  17.   (Unix and Linux consulting and custom programming)
  18.   drew@colorado.edu
  19.   +1 (303) 666-5836
  20.  
  21. The AM53C974_nobios_detect code was originally developed by
  22. Robin Cutshaw (robin@xfree86.org) and is used here in a 
  23. slightly modified form.
  24.  
  25. For the remaining code:
  26.   Copyright 1994, D. Frieauff
  27.   EMail: fri@rsx42sun0.dofn.de
  28.   Phone: x49-7545-8-2256 , x49-7541-42305
  29. Version
  30. -------
  31. AM53/79C974 (PC-SCSI) Linux driver ALPHA release 0.5, 19 November 1995
  32. Changelog
  33. ---------
  34. 0.1 -> 0.2: 
  35.   - Extended message handling re-written to eliminate 'invalid message 17' bug
  36.   - Parameters of AM53C974_intr adapted
  37.   - Debug messages structured
  38.   - Spelling improved
  39. 0.2 -> 0.3:
  40.   - README file updated -- please read this file up to the end!
  41.   - Automatic scanning of io_port and irq implemented; no need for BIOS32 
  42.     anymore
  43.   - Improved configuration (now via LILO parameter string)
  44.   - Cleanup of probing and initialization code
  45.   - Improved sync. negotiation (can be setup individually for every device)
  46.   - Improved/ debugged code for reception of ext. messages
  47. 0.3 -> 0.4:
  48.   - Improved PCI probing and initialization code
  49.   - Compatibility changes for Linux 1.3.x
  50. 0.4 -> 0.5:
  51.   - Compatibility changes for Linux 1.3.42
  52. Bugs & Todo
  53. -----------
  54.  - Add proc info function
  55.  - Support SCSI-2 tagged queuing
  56.  - Finalize abort code 
  57. Features
  58. --------
  59. This driver supports asynchronous and synchronous SCSI-I and SCSI-II
  60. devices.  It is capable of transfer rate and synchronous negotiation
  61. (see below).  The driver supports scatter-gather.  Transfers are DMA
  62. based, but do not (yet) make use of the AM53/79C974 MDL mode.
  63. Max. transfer rate is 10MHz (whatever this is in real life).  The
  64. transfer rate is negotiated with each device (see dmesg output).  The
  65. AM53/79C974 has a 96-byte DMA FIFO to the PCI bus and a 16-byte SCSI
  66. FIFO.  It provides active negation and glitch suppression functions.
  67. Burst DMA transfer rate is 132 MBytes/sec.
  68. Configuration
  69. -------------
  70. The following communication characteristics can be set individually
  71. for every SCSI device on the bus:
  72.   - enable/disable sync. negotiation
  73.   - transfer rate
  74.   - asynchronous or synchronous communication
  75.   - in case of sync. communication, the sync. offset
  76. The sync. offset specifies the number of bytes that can be sent or 
  77. received from the SCSI bus without ACK resp. REQ signal.
  78. CAUTION: USING SYNCHRONOUS MODE ON LONG SCSI CABLES MAY CAUSE 
  79.          COMMUNICATION PROBLEMS LEADING TO LOSS OF DATA. 
  80. The default setting of the SCSI communication parameters is as follows:
  81.   - no negotiation
  82.   - 5.0 MHz transfer rate
  83.   - asynchronous mode
  84.   - zero offset
  85. The parameters can be modified by passing a string with the following
  86. syntax to the kernel:
  87. AM53C974=host-scsi-id,target-scsi-id,max-rate,max-offset
  88. The parameters will be used by the driver as negotiation basis.  The
  89. range of the rate parameter is 3 to 10 MHz.  The range of the
  90. sync. offset parameter is 0 to 15 bytes. A value of 0 denotes
  91. asynchronous comm. mode.  If the target cannot cope with the specified
  92. transfer rate, sync. mode or sync.  offset, the negotiation result
  93. will differ from the specified values.  The negotiation result is
  94. printed out at the end of the negotiation process (to read it, use the
  95. dmesg program or the appropriate syslog).  The parameter strings
  96. (blank separated) can be passed to the kernel at the LILO prompt, or
  97. as part of the LILO configuration file.
  98. For example, the string "AM53C974=7,2,8,15" would be interpreted as
  99. follows:
  100. For communication between the controller with SCSI-ID 7 and the
  101. device with SCSI-ID 2 a transfer rate of 8MHz in synchronous mode with
  102. max. 15 bytes offset should be negotiated.
  103. As an example, here my LILO configuration file:
  104.   boot = /dev/sda
  105.   compact
  106.   #prompt
  107.   delay = 50 # optional, for systems that boot very quickly
  108.   vga = normal # force sane state
  109.   ramdisk = 0 # paranoia setting
  110.   root = current  # use "current" root
  111.   image = /usr/src/linux/arch/i386/boot/zImage
  112.     label = linux
  113.     append = "AM53C974=7,0,10,0 AM53C974=7,1,10,0 AM53C974=7,2,10,15 AM53C974=7,4,10,0 AM53C974=7,5,10,0"
  114.     read-only
  115.   other = /dev/sda4
  116.     label = os2
  117.   other = /dev/sdb3
  118.     loader = /boot/any_d.b
  119.     table = /dev/sdb
  120.     label = setup
  121. The same parameters at the LILO prompt:
  122.   LILO boot: linux AM53C974=7,0,10,0 AM53C974=7,1,10,0 AM53C974=7,2,10,15 AM53C974=7,4,10,0 AM53C974=7,5,10,0
  123. You can override parameters specified in the LILO configuration file
  124. by parameters specified on the LILO command line.
  125. BIOS usage
  126. ----------
  127. Version 0.4 of the driver will use the BIOS, if available. Otherwise
  128. it will try its internal PCI scan and access routines.  The driver
  129. assumes that the controller's SCSI-ID (usually 7) has been correctly
  130. loaded by the BIOS into the controller's register during system
  131. boot. If the driver detects that the controller's SCSI ID is not '7'
  132. it will print out a warning. If this happens to you please correct
  133. setting of the controller's SCSI-ID. If it is wrong, then edit the
  134. AM53C974_SCSI_ID definition in file AM53C974.h accordingly.
  135. Test environment
  136. ----------------
  137. This driver was tested on a Compaq XL566 with the following SCSI configuration:
  138. 2 x HP C2247 fixed disk (internal, rate=10MHz, async.)
  139. 1 x Micropolis 1624 fixed disk (external, rate=8MHz, sync., offset=15 bytes)
  140. 1 x Wangtek W5525ES cartridge streamer (internal, rate=5MHz, async.)
  141. 1 x Toshiba XM-3301B CD-ROM (external, rate=5MHz, async.)
  142. Known problems
  143. --------------
  144.  - Compaq/Matsushita CD-ROM:
  145.    Use of this device with AM53C974 driver version 0.2 caused the kernel to
  146.    hang during Linux boot. If you encounter the problem, don't enable sync.
  147.    negotiation with the CD-ROM, i.e. simply don't specify comm. parameters 
  148.    for this device on the LILO command line or configuration file. 
  149.    The driver will thus use its default for the CD-ROM, which is 5MHz 
  150.    transfer rate async and no sync. negotiation.
  151.  - Some disks cause problems.
  152. What to do if there is a SCSI problem possibly related to the driver
  153. --------------------------------------------------------------------
  154. Read Klaus Liedl's WWW page (http://www-c724.uibk.ac.at/XL/).  In case
  155. this does not help: Send me a complete description of the problem,
  156. including your SCSI configuration plus as much debugging information
  157. as possible.  Don't wait until I ask you for this information. To
  158. enable the generation of debugging output, remove the comments from
  159. the following definitions in the AM53C974.h file:
  160.     AM53C974_DEBUG
  161.     AM53C974_DEBUG_MSG
  162.     AM53C974_DEBUG_KEYWAIT
  163.     AM53C974_DEBUG_INFO
  164.     AM53C974_DEBUG_INTR
  165. With these definitions enabled, the driver will enter single-step mode
  166. during Linux boot. Use the spacebar for stepping.  Take note of at
  167. least the last 10 printout sections (marked by dashes) before the
  168. crash/hangup or whatever happens and send me all of this information
  169. via email. If the system can boot, use the syslogd daemon to record
  170. the debugging output. Maybe you can use the ramdisk for this purpose
  171. too (if necessary, kindly ask K. Liedl (Klaus.Liedl@uibk.ac.at) for
  172. support, he knows how to do it -- I never tried). Stay in email
  173. contact with me. Be aware that the following weeks/months could be the
  174. worst of your life.  Note: If single-stepping takes up too much time,
  175. you can try to let the driver catch the problem by pressing the 'r'
  176. key. The driver will automatically enter single-step mode if it has
  177. detected something weird.
  178. Author's Contact Address
  179. -----------------------
  180. Email: fri@rsx42sun0.dofn.de
  181. Phone: x49-7545-2256 (office), x49-7541-42305 (home)
  182. Home address: D. Frieauff, Stockerholzstr. 27, 88048 Friedrichshafen, Germany
  183. !!!! Important Notice !!!!
  184. -----------------------------
  185. - Klaus Liedl maintains an excellent WWW page about Linux on Compaq XL.
  186.   It includes an FAQ, lots of tips & tricks as well as downloadable 
  187.   boot disk images. The URL is: http://www-c724.uibk.ac.at/XL/
  188. - Volunteer wanted for further maintenance of this driver software. I
  189.   don't have the time anymore to do serious support as some of you will know.
  190. Literature
  191. ----------
  192.  - AMD AM53C974 PC-SCSI Technical Manual, publication #18624B
  193.  - Amendment to the AMD AM53C974 PC-SCSI Technical Manual
  194.  - AMD AM79C974 PC-NET Datasheet, publication #18681
  195.  - Amendment to the AMD AM79C974 PC-NET Datasheet
  196. THANKS to
  197. ---------
  198.  - Drew Eckhardt, Robin Cutshaw, K. Liedl, Robert J. Pappas, A. Grenier, 
  199.    Mark Stockton, David C. Niemi, Ben Craft, and many others who have helped