summaryrefslogtreecommitdiffstats
path: root/sys/dev/mfi/mfi_linux.c
diff options
context:
space:
mode:
authorambrisko <ambrisko@FreeBSD.org>2011-11-04 02:34:52 +0000
committerambrisko <ambrisko@FreeBSD.org>2011-11-04 02:34:52 +0000
commit096734a154b76780bd2761cf8e196c6fd4e0562d (patch)
tree1a1489b799c624639a0f10fe72c656d2f2963eab /sys/dev/mfi/mfi_linux.c
parentbea0b6754606ed3aba61b582c7d4c6765c96a158 (diff)
downloadFreeBSD-src-096734a154b76780bd2761cf8e196c6fd4e0562d.zip
FreeBSD-src-096734a154b76780bd2761cf8e196c6fd4e0562d.tar.gz
First cut at updating mfi(4) to support newer LSI MegaRAID SAS cards.
Specifically, add support for "Drake Skinny" and "ThunderBolt" LSI cards. Initial code was supplied by LSI under BSD license. Several improvements were done by myself. Such things like making it work in a static kernel, be able to boot of the RAID, performance improvements. I removed some fairly complicated code that seemed to directly access the disks under the firmware. It doesn't seem to be needed and significantly slowed down the performance of the driver and caused tons of sense errors to be reported. This code is being checked in this area so others can help me get it into shape to commit into the FreeBSD tree. Assistance has been volunteered by iXsystems. We might want to re-work the JBOD attachment that creates /dev/mfisyspd? node for each disk. Performance is faster then prior cards. It works okay with WITNESS and INVARIANTS on amd64 and i386. I recall seeing a use after free time bug with FreeBSD 8 and a Drake Skinny card with WITNESS and INVARIANTS on. First task is get all of the new structures to be named in FreeBSD style format. Next is probably to deal with the 64bit addressing changes that are mostly around the #ifdef __amd64__ checks. Thanks to LSI for providing the initial code. Obtained from: LSI
Diffstat (limited to 'sys/dev/mfi/mfi_linux.c')
-rw-r--r--sys/dev/mfi/mfi_linux.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/mfi/mfi_linux.c b/sys/dev/mfi/mfi_linux.c
index 12135ff..3328a66 100644
--- a/sys/dev/mfi/mfi_linux.c
+++ b/sys/dev/mfi/mfi_linux.c
@@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
#include <sys/module.h>
#include <sys/file.h>
#include <sys/proc.h>
+#include <machine/bus.h>
#if defined(__amd64__) /* Assume amd64 wants 32 bit Linux */
#include <machine/../linux32/linux.h>
OpenPOWER on IntegriCloud