

aha154x                   Device Driver                   aha154x




Adaptec AHA-154x device driver


The  device driver  aahhaa115544xx lets you  use SCSI  interface devices
attached to an Adaptec AHA-154x series host adapter.  This driver
has  major number  13.  It  can  be accessed  either as  a block-
special  device  or as  a  character-special  device.  The  minor
number specifies  the device  and partition number  for disk-type
devices, letting  you use up  to eight SCSI-IDs, with  up to four
logical unit numbers (LUNs) per SCSI-ID and up to four partitions
per LUN.

The first  ooppeenn call on  a SCSI disk device  allocates memory for
the partition table and reads it into memory.

***** Controller Configuration *****

Prior to installing the  Adaptec host adapter in your system, you
must  configure the  I/O base address,  interrupt vector  and DMA
channel as follows:


            I/O base address:0x330
            DMA channel:    5
            Interrupt vector:IRQ11


In addition,  if you are using  any synchronous SCSI peripherals,
disable  the  synchronous transfer  option  on  the Adaptec  host
adapter.

After verifying that your controller works with COHERENT, you may
select an  alternate I/O base  address or an  alternate interrupt
vector.  Device driver variables SSDDBBAASSEE_ and SSDDIIRRQQ_ correspond to
the  I/O base  address and  interrupt vector,  respectively.  See
Lexicon article  hhss for an  example of how to  configure a device
driver.

When processing BIOS  I/O requests prior to booting COHERENT, the
Adaptec host adapter  uses ``translation mode'' drive parameters:
number of heads,  cylinders, and sectors per track.  Most current
versions of  the AHA-154x use  values of 64 heads  and 32 sectors
per track, and calculate the number of cylinders based upon drive
capacity.   Note that these  numbers are  called translation-mode
parameters  because they  have nothing  to  do with  the physical
drive geometry.   Some early versions  of the AHA-154x,  and some
versions distributed  by Tandy, use  16 heads and  32 sectors per
track.  Device  driver variable SSDD_HHDDSS_  is initialized to  64 as
shipped;   it should  be patched  to a value  of 16  for adapters
whose BIOS code  uses 16-head translation mode.  The translation-
mode  parameters  used by  the  BIOS code  present  on your  host
adapter can  be obtained using the ddppbb utility  found on the boot
diskette of versions 3.2.0  and later of COHERENT.  Note that the
BIOS code is  executed by COHERENT only during initial bootstrap.


COHERENT Lexicon                                           Page 1




aha154x                   Device Driver                   aha154x



After that, drive parameters are of no consequence since SCSI I/O
requests  are based  upon logical  block  number, rather  than on
cylinder/head/sector addressing.

The installation procedure  for COHERENT versions 3.2.0 and later
patches all  necessary variables for the  accompanying version of
the aahhaa115544xx driver by executing the command:


       /etc/mkdev scsi


***** Minor Device Numbers *****

The minor device number is decoded as follows:


       _B_i_t _n_u_m_b_e_r:  7 6 5 4 3 2 1 0
       _M_e_a_n_i_n_g:     S I I I L L P P


where _S indicates  the ``special'' bit, _I_I_I indicates a three-bit
field containing the SCSI-ID  in the range of zero through seven,
_L_L indicates  a two-bit  field containing a  LUN in the  range of
zero  through  three,  and  _P_P  indicates  a two-bit  field  that
contains either a partition number for disk-type devices or a set
of special modes for devices other than disks.

The ``special'' bit and the partition number interact as follows:


_D_e_s_c_r_i_p_t_i_o_n        _S _B_i_t  _P_P  _D_e_v_i_c_e      _T_y_p_e
partition a        0      00 /dev/sd?a    disk
partition b        0      01 /dev/sd?b    disk
partition c        0      10 /dev/sd?c    disk
partition d        0      11 /dev/sd?d    disk
partition table    1      00 /dev/sd?x    disk
no rewind          1      01 /dev/sd?n    tape
RESERVED           1      10     ---      ----
rewind on close    1      11 /dev/sd?     tape


***** Loading the Driver ***** The aahhaa115544xx loadable device driver
must be loaded on a system that does not have a SCSI hard disk as
the  root  device.  To  do  so, use  the  command /eettcc/ddrrvvlldd,  as
follows:


                   /etc/drvld -r /drv/aha154x


***** Files ***** /ddeevv/ssdd* -- bblloocckk-ssppeecciiaall ddeevviicceess
/ddeevv/rrssdd* -- cchhaarraacctteerr-ssppeecciiaall ddeevviicceess




COHERENT Lexicon                                           Page 2




aha154x                   Device Driver                   aha154x



***** See Also *****

ddeevviiccee ddrriivveerrss, ddrrvvlldd, ssccssii

***** Notes *****

This release of the aahhaa115544xx device driver only supports disk-type
devices.  A  future version  of the  driver will add  support for
tape-type and other devices.
















































COHERENT Lexicon                                           Page 3


