          HPT37x UDMA/ATA RAID Controller Linux Driver
Copyright (C) 2002 HighPoint Technologies, Inc. All rights reserved.


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

    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
  products - HPT370/370A/372/372A 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
   baseproc.s
   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 before building the driver.
   
     If the kernel contains built-in IDE support for your HPT37x 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.
     
        NON_RAID=1
           Build driver without RAID support.
     
        BOOT=1
           Define __BOOT_KERNEL_BOOT.
           
        SMP=1
           Define __BOOT_KERNEL_SMP for SMP kernels.
           
        ATHLON=1
           Build driver for Red Hat Linux athlon kernel.
        
     
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.
