Date: Wed, 1 Nov 2000 13:09:48 +0100 (CET) From: =?ISO-8859-1?Q?G=E9rard_Roudier?= <groudier@club-internet.fr> To: freebsd-scsi@freebsd.org, linux-scsi@vger.kernel.org Subject: Preliminary SYM-2 driver version available. Message-ID: <Pine.LNX.4.10.10011011301110.501-200000@linux.local>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Hello, I am glad to announce the availability of a preliminary version of the SYM-2 driver. It is versionned sym-2.0.3. The first official release will be sym-2.1.0 and will replace all the drivers for [ncr|sym|lsi][53c8xx|53c1010] PCI-SCSI controllers I currently maintain, namely: - Linux ncr53c8xx driver. - Linux sym53c8xx driver. - FreeBSD sym driver. I used a variety of shoehorns in order to have O/S glue code as short as possible. :-) The result is obviously not perfect, but it looks good enough for me to be quite happy of it. Hopefully version 2.1.0 will be better :). The aim of SYM-2.1 is: - To decrease time spent for maintainance, thus allowing more time for development. - To allow, at least me, to port the driver to some other O/S(es) in a reasonnable time, if it ever makes interest. SYM-2.0.3 can be downloaded from the following location: ftp://ftp.tux.org/roudier/drivers/portable/experimental/sym-2.0.3-20001101.tar.gz I only tried this driver version under Linux-2.2.16 and FreeBSD-4.0. It does not, at least for the moment, provide more features than stock sym drivers, but may well provide some additionnal bugs :-) due to the merge and somes rewrite of the O/S glue code parts. People who like playing with dangerous code should enjoy giving this prelimary sym-2 driver version a try (Btw, in fact, I am under the impression that this driver version does work quite well). :-) Gérard. [-- Attachment #2 --] SYM-2 driver development README file 2000-11-31 Current SYM driver version is 2.0.3. This is a full-functionnal preliminary version of the multi-O/S SYM driver. - Under FreeBSD, this driver is a full-featured replacement of the stock `sym' driver, given that it is just the version 2 of this driver :). But it has only been tried on FreeBSD-4.0/i386 for now. - Under Linux, it replaces both sym53c8xx and ncr53c8xx drivers, with the following restrictions: 1) The boot command line is not yet supported (backported). 2) On-line commands through the proc/FS are not supported, and will not be, since this feature hasn't proven to be this useful. 3) It has only been tried on stock linux-2.2.16/i386, statically linked with the kernel image. sym-2 driver series todo list: ------------------------------ sym-2.0.0: ACHIEVED Move O/S glue code to separate files. Make the driver work again under FreeBSD. sym-2.0.X: IN PROGRESS Implement glue code for Linux based on sym53c8xx driver. Interface with the new SCSI error handling method. sym-2.1.0: PLANNED FOR SOON :-) Make the driver work under Linux. Make the driver work again under FreeBSD. sym-2.1.X: Make the driver rock solid. Commit the resulted driver version. sym-2.2.0: Add framework and main code for target mode support. Make the driver work again. sym-2.2.X: Complete development of target mode support. Make this feature work reasonnably under FreeBSD. This driver have tested it (a bit :)) under FreeBSD-4.0 and Linux-2.2.16. The driver should probably compile and hopefully work under FreeBSD-4.X and probably under Linux-2.2.17/2.2.18. SYM-2 driver series drop Support for Linux-2.0.x. Support for FreeBSD 3.x will not be dropped, but the new driver version will not be committed to that branch. Driver files: ------------- FreeBSD specific files: FreeBSD/ sym_glue.h Main header file - also contains O/S specific definitions sym_glue.c O/S specific code sym-2.0.3-kconf.diff Tiny patch for kernel configuration files. Linux specific files: Linux/ sym53c8xx.h Host template definition + kernel config wrapper sym_glue.h Main header file - also contains O/S specific definitions sym_glue.c O/S specific code sym-2.0.3-kconf.diff Tiny patch for kernel configuration files. Common driver files (not platform-specific) : Common/ sym_conf.h Driver default configuration and options sym_defs.h SYMBIOS chips and SCSI related definitions sym_fw.h Firmware interface definitions sym_fw1.h NCR-Generic firmware sym_fw2.h LOAD/STORE based firmware sym_fw.c Firmware interface code sym_hipd.h Driver data structures and constants definitions sym_hipd.c Core driver code sym_misc.h For now LIST/QUEUE and byte ORDERING stuff sym_nvram.c NVRAM reading and parsing code Installation under FreeBSD-4.0 (suggestion): -------------------------------------------- The directory where the driver files have been dowloaded is denoted: <driver_source> 1) Save original driver files: # cd /usr/src/sys/dev/ # mv sym sym-orig # mkdir sym 2) Add the new driver files: # cd <driver_source> # cp Common/*.h Common/*.c /usr/src/sys/dev/sym/ # cp FreeBSD/*.h FreeBSD/*.c /usr/src/sys/dev/sym/ 3) Save kernel config files that need changes: # cd /usr/sys/conf # mv files files-orig 4) Apply the tiny patch to 'conf/files' # cd /usr # cat <driver_source>/FreeBSD/sym-2.0.3-kconf.diff | patch -p0 For other FreeBSD versions, the diffs (4) may have to be applied manually. Btw, they are just tiny trivial changes. Installation under Linux-2.2.16 (suggestion): -------------------------------------------- 1) Save original driver files: # cd /usr/src/linux/drivers/scsi # mkdir SAVED # mv sym53c8xx*.* SAVED/ # mv ncr53c8xx*.* SAVED/ 2) Add the new driver files: # cd <driver_source> # cp Common/*.h Common/*.c /usr/src/linux/drivers/scsi/ # cp Linux/*.h Linux/*.c /usr/src/linux/drivers/scsi/ 3) Save kernel files that need changes: # cd /usr/src/linux/drivers/scsi # mv Makefile Makefile-orig 4) Apply the tiny patch to the scsi Makefile: # cd /usr/src # cat <driver_source>/Linux/sym-2.0.3-kconf.diff | patch -p0 5) Configure the kernel for SYM53C8XX and not for NCR53C8XX. For other Linux versions, the diffs (4) may have to be applied manually. Btw, they are just tiny trivial changes. -- Gerard ROUDIER. groudier@club-internet.fr, groudier@FreeBSD.org.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.10.10011011301110.501-200000>
