            HPT3xx RAID Controller Linux Driver
Copyright (C) 2002-2004 HighPoint Technologies, Inc. All rights reserved.


#############################################################################
Revision History:

    v1.35  17Mar2004
           Fix for DW state in thread hpt_wt.
           Update for S-ATA support.

    v1.31  21Dec2002
           Update driver library for GCC 3.2.
           Fix 48-bit LBA compatibility.
           Add support for HPT372N IC.
           Support non-RAID build.

    v1.3   05Apr2002
           It is the same driver code as ver 1.3 but this version opens kernel
           related driver source codes. Users can use this source code to 
           generate HPT37x Linux drivers with current Linux kernel version. 
           Then use it for HPT37x controller installation. Please follow the
           detail instruction in this readme.

    v1.3   02Jan2002
           HPT37x Linux driver object code released for
           a limited certain Linux kernel version.      

    v1.2   15Oct2001

    v1.1   30Jul2001

    v1.0   18Jul2001
           official release

#############################################################################

1. Overview
---------------------
  This package contains Linux driver source code for HighPoint
  HPT370/370A/372/372A/372N ATA RAID controllers and RocketRAID 1520
  S-ATA RAID controllers.

  The source code is for kernel updating purposes - you can use this
  source code to build a driver, if you cannot find one in HighPoint
  Linux driver release package. 

  NO WARRANTY

  THE DRIVER SOURCE CODE HIGHPOINT PROVIDED IS FREE OF CHARGE, AND THERE IS
  NO WARRANTY FOR THE PROGRAM. THERE ARE NO RESTRICTIONS ON THE USE OF THIS
  FREE SOURCE CODE. HIGHPOINT DOES NOT PROVIDE ANY TECHNICAL SUPPORT IF THE
  CODE HAS BEEN CHANGED FROM ORIGINAL SOURCE CODE.

  LIMITATION OF LIABILITY

  IN NO EVENT WILL HIGHPOINT BE LIABLE FOR DIRECT, INDIRECT, SPECIAL,
  INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF OR
  INABILITY TO USE THIS PRODUCT OR DOCUMENTATION, EVEN IF ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGES. IN PARTICULAR, HIGHPOINT SHALL NOT HAVE
  LIABILITY FOR ANY HARDWARE, SOFTWARE, OR DATA STORED USED WITH THE
  PRODUCT, INCLUDING THE COSTS OF REPAIRING, REPLACING, OR RECOVERING
  SUCH HARDWARE, OR DATA.

2. Files List
---------------------
   readme.txt
   hpt.c
   hptkern.h
   hptglb.h
   hpt.h
   Makefile
   rules.mak
   hpt37x2lib.o (not needed for non-RAID driver)
   
3. Build the driver
---------------------
  1) Preparation
  
     Users need to install the kernel source package and setup kernel
     headers with proper configuration before building the driver.
   
     You shall use same configuration for the kernel and the driver.
     Otherwise the driver may be unable to load or work abnormally.

     If you are using stock kernel, obtain the configuration in your Linux
     distribution (e.g. the kernel configuration file for Red Hat stock kernel
     can be found under "configs" directory in kernel source tree). Copy the
     configuration file to <your-kernel-source-dir>/.config and setup the
     kernel headers using "make oldconfig" and "make dep" commands before you
     build the driver.
     
     Please refer to the documents in your Linux distribution for kernel
     configuration.

     If the kernel contains built-in IDE support for your HPT3xx controller,
     you must rebuild and install a kernel without HPT37x controller support
     before using this driver. Please refer to kernel documents for how to 
     configure/update the kernel.
     
  2) Extract the driver files to somewhere.

  3) Build the driver (example for RedHat 7.2 i686 type kernel):

        # make KERNELDIR=/usr/src/linux-2.4.7-10
        
     Available make options:
     
        KERNELDIR=...
           Specify kernel source directory.
           
        SUPPORT_SATA=1
           Build driver for RocketRAID 1520 S-ATA controller.
     
        NON_RAID=1
           Build driver without RAID support.
     
4. Using the driver
---------------------
  1) Load module "scsi_mod" and "sd_mod" if they are not built into kernel:

        # modprobe sd_mod

  2) Load the driver.
        
        # insmod ./hpt37x2.o


5. Known problems
-------------------
  * Driver hang on SMP system using SuSE Linux 8.1

    The stock kernel shipped with SuSE Linux 8.1 has problems with the ACPI
    code. To using the driver, pass the following option to kernel manually
    at boot time:

        acpi=off

    You can also permanently add that line to your boot options before using
    the driver.

    It's recommend that you update your SuSE k_smp kernel to newer version.


6. Upgrade the driver from hpt370.o to hpt37x2.o
--------------------------------------------------
  There are two methods to upgrade hpt370 (prior to v1.2) driver to hpt37x2.o: 

  1) Replace all references (including initrd and /etc/modules.conf) to hpt370 
     with hpt37x2, and replace hpt370 modules (including initrd and 
     /lib/modules/.../hpt370.o) with hpt37x driver (hpt37x2.o). 
     HighPoint ATA RAID management software should be upgraded to v1.2 or 
     later to work with hpt37x2.o module.

  Or

  2) Name new hpt37x driver(hpt37x2.o) as hpt370.o, then overwrite hpt370 
     modules (including initrd and /lib/modules/.../hpt370.o) with it.
  

#############################################################################
Technical support and service

  If you have questions about installing or using your HighPoint product,
  check the user's guide or readme file first, and you will find answers to
  most of your questions here. If you need further assistance, please
  contact us. We offer the following support and information services:

  1)  The HighPoint Web Site provides information on software upgrades,
      answers to common questions, and other topics. The Web Site is
      available from Internet 24 hours a day, 7 days a week, at
      http://www.highpoint-tech.com.

  2)  For technical support, send e-mail to support@highpoint-tech.com

  NOTE: Before you send an e-mail, please visit our Web Site
        (http://www.highpoint-tech.com) to check if there is a new or 
        updated device driver for your system.
