svn commit: r219652 - in projects/ofed/head/sys: amd64/conf conf modules modules/mlx4 modules/mlx4ib modules/mlxen modules/mthca ofed/drivers/infiniband/hw/mlx4

Jeff Roberson jeff at FreeBSD.org
Mon Mar 14 23:19:04 UTC 2011


Author: jeff
Date: Mon Mar 14 23:19:04 2011
New Revision: 219652
URL: http://svn.freebsd.org/changeset/base/219652

Log:
   - Rename mlx4 to mlx4ib to indicate that it is the infiniband mlx4 driver.
   - Add the mlxen device for the ethernet front end.  I chose not to name
     it mlx4en to avoid confusion in scripts which parse unit numbers.
   - Add module builds for Infiniband device drivers.  Currently the
     stack must be compiled in for various reasons but drivers can be
     dynamically loaded and unloaded.

Added:
  projects/ofed/head/sys/modules/mlx4/
  projects/ofed/head/sys/modules/mlx4/Makefile
  projects/ofed/head/sys/modules/mlx4ib/
  projects/ofed/head/sys/modules/mlx4ib/Makefile
  projects/ofed/head/sys/modules/mlxen/
  projects/ofed/head/sys/modules/mlxen/Makefile
  projects/ofed/head/sys/modules/mthca/
  projects/ofed/head/sys/modules/mthca/Makefile
Modified:
  projects/ofed/head/sys/amd64/conf/GENERIC
  projects/ofed/head/sys/conf/files
  projects/ofed/head/sys/modules/Makefile
  projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c

Modified: projects/ofed/head/sys/amd64/conf/GENERIC
==============================================================================
--- projects/ofed/head/sys/amd64/conf/GENERIC	Mon Mar 14 23:16:57 2011	(r219651)
+++ projects/ofed/head/sys/amd64/conf/GENERIC	Mon Mar 14 23:19:04 2011	(r219652)
@@ -74,7 +74,7 @@ options 	GDB			# Support remote GDB.
 options 	DEADLKRES		# Enable the deadlock resolver
 options 	INVARIANTS		# Enable calls of extra sanity checking
 options 	INVARIANT_SUPPORT	# Extra sanity checks of internal structures, required by INVARIANTS
-#options 	WITNESS			# Enable checks to detect deadlocks and cycles
+options 	WITNESS			# Enable checks to detect deadlocks and cycles
 options 	WITNESS_SKIPSPIN	# Don't run witness on spinlocks for speed
 options		ALT_BREAK_TO_DEBUGGER
 options 	MALLOC_DEBUG_MAXZONES=8	# Separate malloc(9) zones
@@ -94,7 +94,8 @@ options		OFED		# Infiniband protocol sta
 options		SDP		# Sockets Direct Protocol for infiniband
 device		ipoib		# IP over IB devices
 options		IPOIB_CM	# Use connect mode ipoib
-device		mlx4		# ConnectX cards
+device		mlx4ib		# ConnectX Infiniband support
+device		mlxen		# ConnectX Ethernet support
 device		mthca		# Infinihost cards
 
 # Floppy drives

Modified: projects/ofed/head/sys/conf/files
==============================================================================
--- projects/ofed/head/sys/conf/files	Mon Mar 14 23:16:57 2011	(r219651)
+++ projects/ofed/head/sys/conf/files	Mon Mar 14 23:19:04 2011	(r219652)
@@ -2869,88 +2869,114 @@ ofed/drivers/infiniband/ulp/sdp/sdp_tx.c
 	no-depend							\
 	compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
 
-ofed/drivers/infiniband/hw/mlx4/ah.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/ah.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/cq.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/cq.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/doorbell.c	optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/doorbell.c	optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/mad.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/mad.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/main.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/main.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/mr.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/mr.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/qp.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/qp.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/srq.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/srq.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/infiniband/hw/mlx4/wc.c		optional mlx4		\
+ofed/drivers/infiniband/hw/mlx4/wc.c		optional mlx4ib		\
 	no-depend obj-prefix "mlx4ib_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
-ofed/drivers/net/mlx4/alloc.c			optional mlx4		\
+
+ofed/drivers/net/mlx4/alloc.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/catas.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/cmd.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/cq.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/eq.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/catas.c			optional mlx4		\
+ofed/drivers/net/mlx4/fw.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/cmd.c			optional mlx4		\
+ofed/drivers/net/mlx4/icm.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/cq.c			optional mlx4		\
+ofed/drivers/net/mlx4/intf.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/eq.c			optional mlx4		\
+ofed/drivers/net/mlx4/main.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/fw.c			optional mlx4		\
+ofed/drivers/net/mlx4/mcg.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/icm.c			optional mlx4		\
+ofed/drivers/net/mlx4/mr.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/intf.c			optional mlx4		\
+ofed/drivers/net/mlx4/pd.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/main.c			optional mlx4		\
+ofed/drivers/net/mlx4/port.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/mcg.c			optional mlx4		\
+ofed/drivers/net/mlx4/profile.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/mr.c			optional mlx4		\
+ofed/drivers/net/mlx4/qp.c			optional mlx4ib | mlxen	\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/pd.c			optional mlx4		\
+ofed/drivers/net/mlx4/reset.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/sense.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/srq.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/xrcd.c			optional mlx4ib | mlxen	\
+	no-depend obj-prefix "mlx4_"					\
+	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+
+ofed/drivers/net/mlx4/en_cq.c			optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/port.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_frag.c			optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/profile.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_main.c			optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/qp.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_netdev.c		optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/reset.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_port.c			optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/sense.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_resources.c		optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/srq.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_rx.c			optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
-ofed/drivers/net/mlx4/xrcd.c			optional mlx4		\
+ofed/drivers/net/mlx4/en_tx.c			optional mlxen		\
 	no-depend obj-prefix "mlx4_"					\
 	compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
 

Modified: projects/ofed/head/sys/modules/Makefile
==============================================================================
--- projects/ofed/head/sys/modules/Makefile	Mon Mar 14 23:16:57 2011	(r219651)
+++ projects/ofed/head/sys/modules/Makefile	Mon Mar 14 23:19:04 2011	(r219652)
@@ -183,6 +183,9 @@ SUBDIR=	${_3dfx} \
 	mfi \
 	mii \
 	mlx \
+	mlx4 \
+	mlx4ib \
+	mlxen \
 	${_mly} \
 	mmc \
 	mmcsd \
@@ -193,6 +196,7 @@ SUBDIR=	${_3dfx} \
 	msdosfs_iconv \
 	${_mse} \
 	msk \
+	mthca \
 	mvs \
 	mwl \
 	mwlfw \

Added: projects/ofed/head/sys/modules/mlx4/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/sys/modules/mlx4/Makefile	Mon Mar 14 23:19:04 2011	(r219652)
@@ -0,0 +1,14 @@
+#$FreeBSD$
+.PATH:  ${.CURDIR}/../../ofed/drivers/net/mlx4
+KMOD    = mlx4
+SRCS    = device_if.h bus_if.h pci_if.h vnode_if.h
+SRCS+=	alloc.c catas.c cmd.c cq.c eq.c fw.c icm.c intf.c main.c mcg.c mr.c
+SRCS+=	pd.c port.c profile.c qp.c reset.c sense.c srq.c xrcd.c
+
+CFLAGS+= -I${.CURDIR}/../../ofed/drivers/net/mlx4
+CFLAGS+= -I${.CURDIR}/../../ofed/include/
+CFLAGS+= -DINET6
+
+.include <bsd.kmod.mk>
+
+CFLAGS+= -Wno-cast-qual -Wno-pointer-arith -fms-extensions

Added: projects/ofed/head/sys/modules/mlx4ib/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/sys/modules/mlx4ib/Makefile	Mon Mar 14 23:19:04 2011	(r219652)
@@ -0,0 +1,11 @@
+#$FreeBSD$
+.PATH:  ${.CURDIR}/../../ofed/drivers/infiniband/hw/mlx4
+KMOD    = mlx4ib
+SRCS    = device_if.h bus_if.h pci_if.h vnode_if.h
+SRCS+=	ah.c cq.c doorbell.c mad.c main.c mr.c qp.c srq.c wc.c
+
+CFLAGS+= -I${.CURDIR}/../../ofed/include/ -DINET6
+
+.include <bsd.kmod.mk>
+
+CFLAGS+= -Wno-cast-qual -Wno-pointer-arith -fms-extensions

Added: projects/ofed/head/sys/modules/mlxen/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/sys/modules/mlxen/Makefile	Mon Mar 14 23:19:04 2011	(r219652)
@@ -0,0 +1,13 @@
+#$FreeBSD$
+.PATH:  ${.CURDIR}/../../ofed/drivers/net/mlx4
+KMOD    = mlxen
+SRCS    = device_if.h bus_if.h pci_if.h vnode_if.h
+SRCS	+= en_cq.c en_frag.c en_main.c en_netdev.c en_port.c en_resources.c
+SRCS	+= en_rx.c en_tx.c
+CFLAGS+= -I${.CURDIR}/../../ofed/drivers/net/mlx4
+CFLAGS+= -I${.CURDIR}/../../ofed/include/
+CFLAGS+= -DINET6
+
+.include <bsd.kmod.mk>
+
+CFLAGS+= -Wno-cast-qual -Wno-pointer-arith -fms-extensions

Added: projects/ofed/head/sys/modules/mthca/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/ofed/head/sys/modules/mthca/Makefile	Mon Mar 14 23:19:04 2011	(r219652)
@@ -0,0 +1,14 @@
+#$FreeBSD$
+.PATH:  ${.CURDIR}/../../ofed/drivers/infiniband/hw/mthca
+KMOD    = mthca
+SRCS    = device_if.h bus_if.h pci_if.h vnode_if.h
+SRCS+=	mthca_allocator.c mthca_av.c mthca_catas.c mthca_cmd.c mthca_cq.c
+SRCS+=	mthca_eq.c mthca_mad.c mthca_main.c mthca_mcg.c mthca_memfree.c
+SRCS+=	mthca_mr.c mthca_pd.c mthca_profile.c mthca_provider.c mthca_qp.c
+SRCS+=	mthca_reset.c mthca_srq.c mthca_uar.c
+
+CFLAGS+= -I${.CURDIR}/../../ofed/include/ -DINET6
+
+.include <bsd.kmod.mk>
+
+CFLAGS+= -Wno-cast-qual -Wno-pointer-arith -fms-extensions

Modified: projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c
==============================================================================
--- projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c	Mon Mar 14 23:16:57 2011	(r219651)
+++ projects/ofed/head/sys/ofed/drivers/infiniband/hw/mlx4/main.c	Mon Mar 14 23:19:04 2011	(r219652)
@@ -1564,3 +1564,17 @@ static void __exit mlx4_ib_cleanup(void)
 
 module_init_order(mlx4_ib_init, SI_ORDER_MIDDLE);
 module_exit(mlx4_ib_cleanup);
+
+#undef MODULE_VERSION
+#include <sys/module.h>
+static int
+mlx4ib_evhand(module_t mod, int event, void *arg)
+{
+        return (0);
+}
+static moduledata_t mlx4ib_mod = {
+        .name = "mlx4ib",
+        .evhand = mlx4ib_evhand,
+};
+DECLARE_MODULE(mlx4ib, mlx4ib_mod, SI_SUB_KLD, SI_ORDER_ANY);
+MODULE_DEPEND(mlx4ib, mlx4, 1, 1, 1);


More information about the svn-src-projects mailing list