
BETA AIC7870.ADD for OS/2 Warp
-------------------------------

This is a BETA driver that users having problems loading the AIC7870.ADD
included with OS/2 Warp may find useful, if their system has a non-compliant
system BIOS. The only difference between this BETA and the version released 
with OS/2 WARP is that this driver has /PCIHW switch which enables this 
driver to ignore the PCI BIOS and access the PCI hardware registers directly. 			     	   
   							
BASEDEV=AIC7870.ADD /PCIHW

Any issues/comments can be directed to VASPI_BETA on the Adaptec BBS or
to vaspi@adaptex.cirr.com via the Internet. 							
   							

Generic command line switches for Adaptec drivers and OS/2 2.X and above
========================================================================

OS/2 adapter device drivers (.ADD files) are normally installed 
automatically and require no further information from the user. However,
in certain situations the user may wish to modify the behavior of the 
driver to meet their specific needs.


***** IMPORTANT *****
Please proceed cautiously with the following information. If you have
purchased software which requires you to use switches, it should include
instructions on how to use them. Most software requires no switches and
you do not need to concern yourself with the information about switch 
settings.


The standard format for command line switches is :
BASEDEV=AIC7870.ADD [Universal Parameter][Adapter ID][Unit Parameter]
          {[SCSI Target ID]}

  [Universal Parameter] - An option that applies to all adapters 
           controlled by the driver.

  [Adapter ID] - /A:n, where n is the number (zero relative) of the adapter
           installed in the system. The adapter ID is determined when 
           the driver is loaded based on the order that adapters are 
           found in the system. (See below, AIC7870.ADD Specific Command
           Line Switches.)

  [Unit Parameter] - Modifies the behavior of the selected host adapter.

  [SCSI Target ID] - The targets to which the Unit Parameter will be applied.
           This parameter may be a single ID (d) or list of IDs (d,d,d).

Universal Parameters
--------------------

   /ET - Allow embedded targets.  This parameter indicates that the ADD
      should assume that all targets have more than one logical unit (LUN)
      defined.

   /!ET - Do not allow embedded targets (DEFAULT). This parameter indicates
      that the ADD should assume that all targets have only one logical 
      unit (LUN) defined.

   /PCIHW - Enables driver to access PCI configuration hardware registers.
       	    This switch is implemented because in some PCI systems accessing
       	    PCI configuration space through PCI BIOS function calls causes
       	    problems.

   /V - Load driver verbosely. This parameter will display the driver
      name as well as the version number and Adaptec copyright if the driver
      loads successfully. Information on all targets found in the system
      will also be displayed.

General Unit Parameters
-----------------------

   /I - Ignore the specified adapter. This allows another driver to
      share the adapters that the ADD would normally use.

   /DM - Enable DASD manager support (DEFAULT). This parameter allows
      OS2DASD.DMD to control the specified target(s) if they are 
      identified as DASD (hard disk) devices.

   /!DM - Disable DASD manager support. This parameter prevents
      OS2DASD.DMD from controlling the specified target(s).

   /SM - Enable SCSI manager support (DEFAULT). This parameter allows
      OS2SCSI.DMD to control the specified target(s) if they are 
      identified as NON-DASD SCSI devices. All SCSI hard drives 
      will be controlled by OS2DASD.DMD.

   /!SM - Disable SCSI manager support. This parameter prevents
      OS2SCSI.DMD from controlling the specified target(s).


Configuration Examples
----------------------

Example 1

   Suppose that you had a removable hard drive as target 3 and you wanted
   to control the hard drive with an ASPI application and driver.
   Normally OS2DASD will allocate this device, treat it as a large
   floppy and prevent you from sending any SCSI commands via ASPI.

   BASEDEV=AIC7870.ADD /A:0 /!DM:3 will prevent OS2DASD.DMD from
   accessing the target and still allow OS2SCSI.DMD and OS2ASPI.DMD to
   share access to it.

Example 2

   Suppose that you had a multi-disk CD-ROM as target 4 on host adapter 0 and
   two DASD devices as targets 1 and 5 on host adapter 1.

   BASEDEV=AIC7870.ADD /ET /A:0 /!SM:4 /A:1 /!DM:1,5 will prevent
   OS2SCSI.DMD from accessing the CD-ROM and prevent OS2DASD.DMD from
   controlling the DASD devices. The driver will also search for multiple
   LUNs on all host adapters.

Important Tips
--------------

  1) There are no switches for controlling OS2ASPI.DMD directly. IBM did
    not define them in their specification and we cannot be sure that other
    host adapters will have the same switches.

  2) OS2SCSI.DMD will only allocate devices when a device driver
    requests it, but this will prevent OS2ASPI from accessing it. There is
    nothing in the ASPI specification regarding device allocation so
    OS2ASPI must rely on other managers to fairly share targets. This
    should only be a problem if you have two drivers that use different
    managers and you want them both to access the same target at the same
    time.

  3) Do NOT disable DASD manager access to target 0 if you are booting
    from your SCSI host adapter. This will prevent the system from booting!


AIC7870.ADD-specific command line switches
==========================================

This driver supports the AIC-7870 installed on an AHA-2940 PCI host 
adapter.  Adapter numbers are first assigned to boards with their BIOS 
enabled; the numbers are assigned from lowest BIOS address to highest 
address.  Any remaining boards are assigned numbers by scanning slots.  
Each slot is a combination of a bus number and a device number pair 
starting from lowest to higest numbers, and the adapters are assigned a 
number in the order they are found.  


Special Unit Parameters:
------------------------

      /TAG: - Sets the number (1-16) of tagged commands for all target
              devices on the host adapter. A value of one disables 
              tagged queuing. 16 is the maximum number allowed and 8 is
              the default value.

      /TAG:1  Disables tagged queuing for all target devices on a given
              host adapter. The driver maintains a maximum of 2 non-
              tagged commands per target internally. The driver treats
              all target devices as non-tagged devices, and sends only
              one command at a time per target to the host adapter.

       Example:

       BASEDEV=AIC7870.ADD /A:0 /TAG:8
               will set the number of tagged commands for all target
               devices on the first host adapter to 8.
               

