Support for HP Smart Array 6i RAID controller

Matthew Dillon dillon at
Wed Apr 20 10:44:41 PDT 2005

:I've got HP DL 360 G4 box with HP Smart Array 6i RAID controller in it. 
:It was my long waited chance to try DragonFly, but there is no a driver 
:for this RAID controller in a distribution. But there is one in FreeBSD 
:4.9 (ciss) and it works. I know nothing about driver writing and a 
:little about kernel programming but I have a general knowledge of ANSI C 
::) and a knowledge of building custom kernels under FreeBSD. So can you 
:guide me how to convert this FreeBSD driver into DragonFly driver and 
:then compile and create a new distribution?
:Regards, Andrey.

    Hmm.  We do hav ea 'ciss' driver in the DragonFly dist:

    /usr/src/sys/dev/raid/ciss	(DragonFly)
    /usr/src/sys/dev/ciss	(FreeBSD-4)

    However, our ciss driver is very old compared to what is in FreeBSD
    now.  The FreeBSD driver has a whole bunch of new PCI IDs and it
    looks like they did some major work on the structures and other parts
    of the driver.  It looks like it needs to be re-ported.

    I ran a diff -r -w -u between the two and changes do not look too severe.
    Most of the changes can be brought in verbatim.  The major areas
    where DragonFly differs are:

    * Our cdevsw is formatted a bit differently from FreeBSD's cdevsw

    * FreeBSD uses a lot of malloc ( ... M_NOWAIT ) calls that in DragonFly
      have to be malloc ( ... M_WAITOK ).

    * There might be some minor differences in the way bus_dmamap*() works.

    Would you like to take a shot at updating our driver ?

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Kernel mailing list