kernel: Add D_MPSAFE to the ops of mfi(4), mrsas(4) and twa(4).
[dragonfly.git] / sys / dev / raid / hptmv / readme.txt
1 RocketRAID 18xx Driver for FreeBSD
2 Copyright (C) 2007-2008 HighPoint Technologies, Inc. All rights reserved.
3 $FreeBSD: src/sys/dev/hptmv/readme.txt,v 1.4 2009/04/07 16:38:25 delphij Exp $
4
5 #############################################################################
6 Revision History:
7    v1.16 2008-2-29
8          Fix 7.0 compile error.
9
10    v1.15 2007-8-6
11          Override kernel driver(built-in) to support over 2T RAID array.
12
13    v1.14 2006-3-21
14          Fix 48-bit LBA compatibility for Seagate drives.
15          Fix 16 bytes CDB support.
16
17    v1.13 2006-2-13
18          Fix fail LED/beeper control.
19          Add 16 bytes CDB support.
20
21    v1.12 2005-6-10
22          Fix over 4G memory support on amd64.
23          Fix disk flush problem.
24
25    v1.1  2004-9-23
26          Fix activity LED problem.
27          Cleanup diagnostic code.
28
29    v1.01 2004-5-24
30          First source code release
31
32 #############################################################################
33
34 1. Overview
35 ---------------------
36   This package contains FreeBSD driver source code for HighPoint RocketRAID
37   18xx SATA controller.
38
39   NO WARRANTY
40
41   THE DRIVER SOURCE CODE HIGHPOINT PROVIDED IS FREE OF CHARGE, AND THERE IS
42   NO WARRANTY FOR THE PROGRAM. THERE ARE NO RESTRICTIONS ON THE USE OF THIS
43   FREE SOURCE CODE. HIGHPOINT DOES NOT PROVIDE ANY TECHNICAL SUPPORT IF THE
44   CODE HAS BEEN CHANGED FROM ORIGINAL SOURCE CODE.
45
46   LIMITATION OF LIABILITY
47
48   IN NO EVENT WILL HIGHPOINT BE LIABLE FOR DIRECT, INDIRECT, SPECIAL,
49   INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF OR
50   INABILITY TO USE THIS PRODUCT OR DOCUMENTATION, EVEN IF ADVISED OF THE
51   POSSIBILITY OF SUCH DAMAGES. IN PARTICULAR, HIGHPOINT SHALL NOT HAVE
52   LIABILITY FOR ANY HARDWARE, SOFTWARE, OR DATA STORED USED WITH THE
53   PRODUCT, INCLUDING THE COSTS OF REPAIRING, REPLACING, OR RECOVERING
54   SUCH HARDWARE, OR DATA.
55
56
57 2. Rebuild the kernel with RR18xx support
58 --------------------------------------------
59
60   1) Install kernel source package and building tools.
61
62   2) Extract the driver files under the kernel source tree:
63
64      # cd /usr/src/sys/
65      # tar xvzf /your/path/to/rr18xx-opensource-v1.12-bsd.tgz
66
67   3) Update the kernel configuration file to include the HighPoint source.
68      Assume the configure file is GENERIC, and new kernel configure file is
69      MYKERNEL:
70
71      # cd i386/conf          (or amd64/conf for AMD64)
72      # cp GENERIC MYKERNEL
73
74   4) Edit MYKERNEL, and add the following line under "RAID controllers
75      interfaced to the SCSI subsystem":
76
77           device  hptmv   #HighPoint RocketRAID 18xx
78
79   5) For i386 system, edit /usr/src/sys/conf/files.i386 and append the lines
80      shown below:
81
82           hptmvraid.o optional    hptmv  \
83               dependency  "$S/dev/hptmv/i386-elf.raid.o.uu" \
84               compile-with    "uudecode < $S/dev/hptmv/i386-elf.raid.o.uu" \
85               no-implicit-rule
86
87           dev/hptmv/gui_lib.c     optional        hptmv
88           dev/hptmv/hptproc.c     optional        hptmv
89           dev/hptmv/ioctl.c       optional        hptmv
90           dev/hptmv/entry.c       optional        hptmv
91           dev/hptmv/mv.c          optional        hptmv
92
93      For amd64 system, edit /usr/src/sys/conf/files.amd64 and append the lines
94      shown below:
95
96           hptmvraid.o optional    hptmv  \
97               dependency  "$S/dev/hptmv/amd64-elf.raid.o.uu" \
98               compile-with    "uudecode < $S/dev/hptmv/amd64-elf.raid.o.uu" \
99               no-implicit-rule
100
101           dev/hptmv/gui_lib.c     optional        hptmv
102           dev/hptmv/hptproc.c     optional        hptmv
103           dev/hptmv/ioctl.c       optional        hptmv
104           dev/hptmv/entry.c       optional        hptmv
105           dev/hptmv/mv.c          optional        hptmv
106
107      Note FreeBSD 5.3/5.4/6.x/7.x i386 already have a built-in RR18xx driver,
108      you should replace the old configuration lines with the lines listed above.
109
110
111   6) Rebuild and install the kernel:
112
113      a) for FreeBSD 5.x/6.x/7.x i386:
114
115         # cd /usr/src/sys/i386/conf/
116         # /usr/sbin/config MYKERNEL
117         # cd ../compile/MYKERNEL/
118         # make depend
119         # make
120         # make install
121
122      b) for FreeBSD 5.x/6.x/7.x amd64:
123
124         # cd /usr/src/sys/amd64/conf/
125         # /usr/sbin/config MYKERNEL
126         # cd ../compile/MYKERNEL/
127         # make depend
128         # make
129         # make install
130
131      c) for FreeBSD 4.x:
132
133         # cd /usr/src/sys/i386/conf/
134         # /usr/sbin/config MYKERNEL
135         # cd ../../compile/MYKERNEL/
136         # make depend
137         # make
138         # make install
139
140     If the driver was previously configured as an auto-loaded module by
141     /boot/defaults/loader.conf, please remove the entry hptmv_load="YES"
142     from loader.conf to prevent the driver from being loaded twice.
143
144   7) Reboot from the new kernel.
145
146
147 3. Build/Load the driver as a kernel module
148 ------------------------------------------------
149
150   1) Install kernel source package and building tools.
151
152   2) Extract the driver files under the kernel source tree:
153
154      # cd /usr/src/sys/
155      # tar xvzf /your/path/to/rr18xx-opensource-v1.12-bsd.tgz
156
157
158   4) Build the driver module:
159
160      # cd modules/hptmv
161      # make
162
163   5) Copy the driver module to the kernel module directory
164
165      For FreeBSD 4.x:
166
167      # cp hptmv.ko /modules/
168
169      For FreeBSD 5.x/6.x/7.x:
170
171      # cp hptmv.ko /boot/kernel/
172
173   6) Reboot and load the driver under loader prompt. e.g:
174
175         BTX loader 1.00  BTX version is 1.01
176         Console: internal video/keyboard
177         BIOS driver A: is disk0
178         BIOS driver C: is disk2
179         BIOS 636kB/74512kB available memory
180
181         FreeBSD/i386 bootstrap loader, Revision 0.8
182         (mailto:jkh@narf.osd.bsdi.com, Sat Apr 21 08:46:19 GMT 2001)
183         Loading /boot/defaults/loader.conf
184         /kernel text=0x24f1db data=0x3007ec+0x2062c -
185
186         Hit [Enter] to boot immediagely, or any other key for command prompt.
187         Booting [kernel] in 9 seconds¡­
188
189          <-- press SPACE key here
190         Type '?' for a list of commands, 'help' for more detailed help.
191         ok load hptmv
192         /modules/hptmv.ko text=0xf571 data=0x2c8+0x254
193         ok boot
194
195      For FreeBSD 5.x/6.x/7.x, you can select 6 on the boot menu to get a loader prompt.
196
197   7) You can add a below line into /boot/defaults/loader.conf to load the
198      driver automatically:
199
200            hptmv_load="YES"
201
202      Please refer to the installation guide in HighPoint FreeBSD driver release
203      package for more information.
204
205
206 #############################################################################
207 Technical support and service
208
209   If you have questions about installing or using your HighPoint product,
210   check the user's guide or readme file first, and you will find answers to
211   most of your questions here. If you need further assistance, please
212   contact us. We offer the following support and information services:
213
214   1)  The HighPoint Web Site provides information on software upgrades,
215       answers to common questions, and other topics. The Web Site is
216       available from Internet 24 hours a day, 7 days a week, at
217       http://www.highpoint-tech.com.
218
219   2)  For technical support, send e-mail to support@highpoint-tech.com
220
221   NOTE: Before you send an e-mail, please visit our Web Site
222         (http://www.highpoint-tech.com) to check if there is a new or
223         updated device driver for your system.