HPT374 Linux Driver OpenSource Distribution
Copyright (C) 2001-2006 HighPoint Technologies, Inc. All rights reserved.


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

    v2.17  11/14/2006
           Add IDE hard reset for error recovery.
           Fix compile error on kernel 2.6.18

    v2.16  07/10/2006
           Fix reboot hang on kernel 2.6.17.

    v2.15  05/25/2006
           Fix a race condition for free_irq
           Add 64-bit ioctl.
           Fix code generation error using gcc 4.1.0

    v2.14  11/01/2005
           Updates for Linux kernel 2.6.13.

    v2.13  03/28/2005
           Enable clustering on kernel 2.4.
           CONFIG_HIGHMEM updates.
           Fix wrong CPU utilization for process hpt_wt.
           Fix INQUIRY/READ CAPACITY command buffer handling.
           Fix DMA mapping for x86_64.
	
    v2.12  06/25/2004
           Updates for kernel 2.6.x.

    v2.11  03/20/2004
           Porting to x86_64 and kernel 2.6.

    v2.1   24Jul2003
           Add option to support cross-controller RAID.

    v2.01  23Jun2003
           This is the RAID 5 edition driver code.

    v1.11  21Nov2002
           Update driver library for GCC 3.2.

    v1.1   17Sep2002
           Fix 48bit LBA compatibility

    v1.0   12Apr2002
           Users can use this source code to generate HPT374 Linux drivers
           with current Linux kernel version. Then use it for HPT374 controller 
           installation. Please follow the detail instruction in this readme.

    v1.0   20Dec2001
           HPT374 Linux driver object code released for
           a limited certain Linux kernel version.      

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

1. Overview
---------------------
  This package contains Linux driver source code for HighPoint
  HPT374 UDMA/ATA133 RAID controller and RocketRAID 154x/1640 SATA controller.

  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. Build the driver
---------------------
  1) Install kernel source package and building tools. 
  
     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"(not necessary in the 
     2.6 kernel) 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 HPT374 controller,
     you must disable the kernel support before using this driver. You can
     either rebuild a kernel without HPT374 support, or use boot parameters
     like "hdx=noprobe" to disable the built-in driver.

  2) Extract the driver files to somewhere.

  3) Build the driver (example):

        # make KERNELDIR=/usr/src/linux-2.6.9-5
        
     Available make options:
     
        RR154X=0
           Build driver for HPT374 PATA controller instead of SATA controller.
     
        NON_RAID=1
           Build driver without RAID support.
           
        CROSS_CTRL=1
           Enable cross-controller RAID (need controller BIOS support).
     
     
3. 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 ./hpt374.o

     For kernel 2.6, the driver module is "hpt374.ko". Also you need to use 
     the 2.5/2.6 module-init-tools (you can get them from
     http://www.kernel.org/pub/linux/kernel/people/rusty/modules/).
     modutils from 2.4 won't work with 2.5/2.6. 

#############################################################################
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.
