[openib-general] [PATCH v5 2/3] ofed_1_2 Changes to ofed scripts for Chelsio T3 Support.

Steve Wise swise at opengridcomputing.com
Tue Jan 16 11:51:58 PST 2007


Changes to ofed scripts for Chelsio T3 Support.

- added cxgb3 and iw_cxgb3 config stuff
- visit and build driver/net/cxgb3 to get the cxgb3 driver

Signed-off-by: Steve Wise <swise at opengridcomputing.com>
---

 ofed_scripts/Makefile  |   73 +++++++++++++++++++++++++++++++++++++++++++++++-
 ofed_scripts/configure |   52 ++++++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 2 deletions(-)

diff --git a/ofed_scripts/Makefile b/ofed_scripts/Makefile
index 63dca81..276400b 100644
--- a/ofed_scripts/Makefile
+++ b/ofed_scripts/Makefile
@@ -33,6 +33,13 @@ uninstall: uninstall_iscsi
 clean_kernel: clean_kernel_iscsi
 endif
 
+ifeq ($(CONFIG_CHELSIO_T3),m)
+kernel:	kernel_cxgb3
+install_kernel: install_kernel_cxgb3
+uninstall: uninstall_cxgb3
+clean_kernel: clean_kernel_cxgb3
+endif
+
 #########################
 #	make kernel	#
 #########################
@@ -46,7 +53,9 @@ kernel:
 	@echo "Kernel sources: $(KSRC)"
 	env EXTRA_CFLAGS="$(OPENIB_KERNEL_EXTRA_CFLAGS) $(KERNEL_MEMTRACK_CFLAGS) -I$(CWD)/include -I$(CWD)/drivers/infiniband/include \
 		-I$(CWD)/drivers/infiniband/ulp/ipoib \
-		-I$(CWD)/drivers/infiniband/debug" \
+		-I$(CWD)/drivers/infiniband/debug \
+		-I$(CWD)/drivers/infiniband/hw/cxgb3/core \
+		-I$(CWD)/drivers/net/cxgb3 " \
     	$(MAKE) -C $(KSRC) SUBDIRS="$(CWD)/drivers/infiniband" KERNELRELEASE=$(KVERSION) \
 		EXTRAVERSION=$(EXTRAVERSION) V=1 $(WITH_MAKE_PARAMS) \
 		CONFIG_INFINIBAND=$(CONFIG_INFINIBAND) \
@@ -75,6 +84,8 @@ kernel:
         	CONFIG_INFINIBAND_VNIC=$(CONFIG_INFINIBAND_VNIC) \
         	CONFIG_INFINIBAND_VNIC_DEBUG=$(CONFIG_INFINIBAND_VNIC_DEBUG) \
         	CONFIG_INFINIBAND_VNIC_STATS=$(CONFIG_INFINIBAND_VNIC_STATS) \
+        	CONFIG_INFINIBAND_CXGB3=$(CONFIG_INFINIBAND_CXGB3) \
+        	CONFIG_INFINIBAND_CXGB3_DEBUG=$(CONFIG_INFINIBAND_CXGB3_DEBUG) \
 		LINUXINCLUDE=' \
 		$(BACKPORT_INCLUDES) \
 		-I$(CWD)/include \
@@ -105,6 +116,23 @@ kernel_iscsi:
 		cat $(CWD)/drivers/scsi/Module.symvers >> $(CWD)/drivers/infiniband/Module.symvers; \
 	fi;
 
+kernel_cxgb3:
+	echo "Building drivers/net/cxgb3"; \
+	$(MAKE) -C $(KSRC) SUBDIRS="$(CWD)/drivers/net/cxgb3" KERNELRELEASE=$(KVERSION) \
+	        EXTRAVERSION=$(EXTRAVERSION) V=1 $(WITH_MAKE_PARAMS) \
+	        CONFIG_CHELSIO_T3=$(CONFIG_CHELSIO_T3) \
+	        LINUXINCLUDE=' \
+	        $(BACKPORT_INCLUDES) \
+	        -I$(CWD)/include \
+	        -Iinclude \
+	        $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) \
+	        -include include/linux/autoconf.h \
+	        -include $(CWD)/include/linux/autoconf.h \
+	        ' \
+	        modules; \
+	if [ -f $(CWD)/drivers/net/cxgb3/Module.symvers ]; then \
+		cat $(CWD)/drivers/net/cxgb3/Module.symvers >> $(CWD)/drivers/infiniband/Module.symvers; \
+	fi;
 
 #########################
 #	Install kernel	#
@@ -181,6 +209,33 @@ install_kernel_iscsi:
 	
 	$(DEPMOD) -r -ae $(KVERSION)
 
+install_kernel_cxgb3:
+	$(MAKE) -C $(KSRC) SUBDIRS="$(CWD)/drivers/net/cxgb3" \
+		KERNELRELEASE=$(KVERSION) EXTRAVERSION=$(EXTRAVERSION) \
+		INSTALL_MOD_DIR="drivers/net/cxgb3" INSTALL_MOD_PATH=$(CWD) \
+		$(WITH_MAKE_PARAMS) modules_install;
+
+	# Backup original cxgb3.ko kernel module under 'prefix'/backup directory
+	if [ -d $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3 ]; then \
+		mkdir -p $(DESTDIR)/$(prefix)/backup; \
+		if [ ! -f $(DESTDIR)/$(prefix)/backup/cxgb3_ko-$(KVERSION).tgz ]; then \
+			tar czfP $(DESTDIR)/$(prefix)/backup/cxgb3_ko-$(KVERSION).tgz $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3/cxgb3.ko; \
+		fi; \
+		/bin/rm -f $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3/cxgb3.ko; \
+	fi;
+
+	# Copy new cxgb3 kernel module to $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3     
+	if [ -d $(CWD)/lib/modules/$(KVERSION)/drivers/net/cxgb3 ]; then \
+		mkdir -p $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3; \
+		mv $(CWD)/lib/modules/$(KVERSION)/drivers/net/cxgb3/cxgb3.ko $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3; \
+	fi; \
+	if [ -d $(CWD)/lib/modules/$(KVERSION)/extra ]; then \
+		mkdir -p $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3; \
+		mv $(CWD)/lib/modules/$(KVERSION)/extra/cxgb3.ko $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3 ; \
+	fi;
+	
+	$(DEPMOD) -r -ae $(KVERSION)
+
 clean: clean_kernel
 
 clean_kernel:
@@ -189,6 +244,9 @@ clean_kernel:
 clean_kernel_iscsi:
 	$(MAKE) -C $(KSRC) SUBDIRS="$(CWD)/scsi" KERNELRELEASE=$(KVERSION) EXTRAVERSION=$(EXTRAVERSION) $(WITH_MAKE_PARAMS) clean
 
+clean_kernel_cxgb3:
+	$(MAKE) -C $(KSRC) SUBDIRS="$(CWD)/drivers/net/cxgb3" KERNELRELEASE=$(KVERSION) EXTRAVERSION=$(EXTRAVERSION) $(WITH_MAKE_PARAMS) clean
+
 uninstall:
 	if [ -f $(DESTDIR)/$(prefix)/backup/infiniband_ko-$(KVERSION).tgz ]; then \
 		rm -rf $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/infiniband; \
@@ -209,18 +267,31 @@ uninstall_iscsi:
 
 	$(DEPMOD) -r -ae $(KVERSION)
 
+uninstall_cxgb3:
+	if [ -f $(DESTDIR)/$(prefix)/backup/cxgb3_ko-$(KVERSION).tgz ]; then \
+	         /bin/rm $(DESTDIR)/$(MODULES_DIR)/kernel/drivers/net/cxgb3/cxgb3.ko ; \
+	         tar xzfP $(DESTDIR)/$(prefix)/backup/cxgb3_ko-$(KVERSION).tgz; \
+	         /bin/rm -f $(DESTDIR)/$(prefix)/backup/cxgb3_ko-$(KVERSION).tgz; \
+	fi;
+
+
+	$(DEPMOD) -r -ae $(KVERSION)
+
 help:
 	@echo
 	@echo kernel: 		        build kernel modules
 	@echo kernel_iscsi:             build iSCSI kernel modules
+	@echo kernel_cxgb3:             build cxgb3 kernel module
 	@echo all: 		        build kernel modules
 	@echo
 	@echo install_kernel:	        install kernel modules under $(DESTDIR)/$(MODULES_DIR)
 	@echo install_kernel_iscsi:     install iSCSI kernel modules under $(DESTDIR)/$(MODULES_DIR)
+	@echo install_kernel_cxgb3:    	install cxgb3 kernel module under $(DESTDIR)/$(MODULES_DIR)
 	@echo install:	        	run install_kernel
 	@echo
 	@echo clean:	        	delete kernel modules binaries
 	@echo clean_kernel:	        delete kernel modules binaries
 	@echo clean_kernel_iscsi:	delete iscsi kernel modules binaries
+	@echo clean_kernel_cxgb3:	delete cxgb3 kernel module binaries
 	@echo uninstall:        	delete installed environment
 	@echo
diff --git a/ofed_scripts/configure b/ofed_scripts/configure
index b99104d..e0b188f 100755
--- a/ofed_scripts/configure
+++ b/ofed_scripts/configure
@@ -129,6 +129,12 @@ Usage:  `basename $0` [options]
     --with-vnic_stats-mod    make CONFIG_INFINIBAND_VNIC_STATS=y [no]
     --without-vnic_stats-mod    [yes]
 
+    --with-cxgb3-mod    make CONFIG_INFINIBAND_CXGB3=m [no]
+    --without-cxgb3-mod    [yes]
+
+    --with-cxgb3_debug-mod    make CONFIG_INFINIBAND_CXGB3_DEBUG=y [no]
+    --without-cxgb3_debug-mod    [yes]
+
     --help - print out options
 
 
@@ -210,7 +216,10 @@ get_backport_dir()
         2.6.19*)
                 echo 2.6.19
         ;;
-        2.6.2[0-9]*)
+        2.6.20*)
+                echo 2.6.20
+        ;;
+        2.6.2[1-9]*)
                 echo
         ;;
         *)
@@ -625,6 +634,20 @@ main()
                         --without-vnic_stats-mod)
                             CONFIG_INFINIBAND_VNIC_STATS=
                         ;;
+                        --with-cxgb3-mod)
+                            CONFIG_INFINIBAND_CXGB3="m"
+                            CONFIG_CHELSIO_T3="m"
+                        ;;
+                        --without-cxgb3-mod)
+                            CONFIG_INFINIBAND_CXGB3=
+                            CONFIG_CHELSIO_T3=
+                        ;;
+                        --with-cxgb3_debug-mod)
+                            CONFIG_INFINIBAND_CXGB3_DEBUG="y"
+                        ;;
+                        --without-cxgb3_debug-mod)
+                            CONFIG_INFINIBAND_CXGB3_DEBUG=
+                        ;;
                         --with-modprobe|--without-modprobe)
                         ;;
                         -h | --help)
@@ -698,6 +721,8 @@ CONFIG_INFINIBAND_RDS=${CONFIG_INFINIBAN
 CONFIG_INFINIBAND_RDS_DEBUG=${CONFIG_INFINIBAND_RDS_DEBUG:-''}
 CONFIG_INFINIBAND_MADEYE=${CONFIG_INFINIBAND_MADEYE:-''}
 CONFIG_INFINIBAND_VNIC=${CONFIG_INFINIBAND_VNIC:-''}
+CONFIG_INFINIBAND_CXGB3=${CONFIG_INFINIBAND_CXGB3:-''}
+CONFIG_CHELSIO_T3=${CONFIG_CHELSIO_T3:-''}
 
 CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=${CONFIG_INFINIBAND_IPOIB_DEBUG_DATA:-''}
 CONFIG_INFINIBAND_SDP_SEND_ZCOPY=${CONFIG_INFINIBAND_SDP_SEND_ZCOPY:-''}
@@ -708,6 +733,7 @@ CONFIG_INFINIBAND_IPATH=${CONFIG_INFINIB
 CONFIG_INFINIBAND_MTHCA_DEBUG=${CONFIG_INFINIBAND_MTHCA_DEBUG:-''}
 CONFIG_INFINIBAND_VNIC_DEBUG=${CONFIG_INFINIBAND_VNIC_DEBUG:-''}
 CONFIG_INFINIBAND_VNIC_STATS=${CONFIG_INFINIBAND_VNIC_STATS:-''}
+CONFIG_INFINIBAND_CXGB3_DEBUG=${CONFIG_INFINIBAND_CXGB3_DEBUG:-''}
 
         # Check for minimal supported kernel version
         if ! check_kerver ${KVERSION} ${MIN_KVERSION}; then
@@ -762,6 +788,8 @@ CONFIG_INFINIBAND_RDS=${CONFIG_INFINIBAN
 CONFIG_INFINIBAND_RDS_DEBUG=${CONFIG_INFINIBAND_RDS_DEBUG}
 CONFIG_INFINIBAND_MADEYE=${CONFIG_INFINIBAND_MADEYE}
 CONFIG_INFINIBAND_VNIC=${CONFIG_INFINIBAND_VNIC}
+CONFIG_INFINIBAND_CXGB3=${CONFIG_INFINIBAND_CXGB3}
+CONFIG_CHELSIO_T3=${CONFIG_CHELSIO_T3}
 
 CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=${CONFIG_INFINIBAND_IPOIB_DEBUG_DATA}
 CONFIG_INFINIBAND_SDP_SEND_ZCOPY=${CONFIG_INFINIBAND_SDP_SEND_ZCOPY}
@@ -772,6 +800,7 @@ CONFIG_INFINIBAND_IPATH=${CONFIG_INFINIB
 CONFIG_INFINIBAND_MTHCA_DEBUG=${CONFIG_INFINIBAND_MTHCA_DEBUG}
 CONFIG_INFINIBAND_VNIC_DEBUG=${CONFIG_INFINIBAND_VNIC_DEBUG}
 CONFIG_INFINIBAND_VNIC_STATS=${CONFIG_INFINIBAND_VNIC_STATS}
+CONFIG_INFINIBAND_CXGB3_DEBUG=${CONFIG_INFINIBAND_CXGB3_DEBUG}
 
 EOFCONFIG
         echo "Created ${CONFIG}:"
@@ -912,6 +941,21 @@ if [ "X${CONFIG_INFINIBAND_VNIC_STATS}" 
 else
         DEFINE_INFINIBAND_VNIC_STATS="#undef CONFIG_INFINIBAND_VNIC_STATS"
 fi
+if [ "X${CONFIG_INFINIBAND_CXGB3}" == "Xm" ]; then
+        DEFINE_INFINIBAND_CXGB3="#define CONFIG_INFINIBAND_CXGB3 1"
+else
+        DEFINE_INFINIBAND_CXGB3="#undef CONFIG_INFINIBAND_CXGB3"
+fi
+if [ "X${CONFIG_INFINIBAND_CXGB3_DEBUG}" == "Xy" ]; then
+        DEFINE_INFINIBAND_CXGB3_DEBUG="#define CONFIG_INFINIBAND_CXGB3_DEBUG 1"
+else
+        DEFINE_INFINIBAND_CXGB3_DEBUG="#undef CONFIG_INFINIBAND_CXGB3_DEBUG"
+fi
+if [ "X${CONFIG_CHELSIO_T3}" == "Xm" ]; then
+        DEFINE_CHELSIO_T3="#define CONFIG_CHELSIO_T3 1"
+else
+        DEFINE_CHELSIO_T3="#undef CONFIG_CHELSIO_T3"
+fi
 cat >> ${AUTOCONF_H} << EOFAUTOCONF
 #undef CONFIG_INFINIBAND
 #undef CONFIG_INFINIBAND_IPOIB
@@ -934,6 +978,9 @@ #undef CONFIG_INFINIBAND_MADEYE
 #undef CONFIG_INFINIBAND_VNIC
 #undef CONFIG_INFINIBAND_VNIC_DEBUG
 #undef CONFIG_INFINIBAND_VNIC_STATS
+#undef CONFIG_INFINIBAND_CXGB3
+#undef CONFIG_INFINIBAND_CXGB3_DEBUG
+#undef CONFIG_CHELSIO_T3
 
 #undef CONFIG_INFINIBAND_IPOIB_DEBUG_DATA
 #undef CONFIG_INFINIBAND_SDP_SEND_ZCOPY
@@ -954,6 +1001,8 @@ #undef CONFIG_INFINIBAND_MTHCA_DEBUG
 ${DEFINE_INFINIBAND_ADDR_TRANS}
 ${DEFINE_INFINIBAND_MTHCA}
 ${DEFINE_INFINIBAND_VNIC}
+${DEFINE_INFINIBAND_CXGB3}
+${DEFINE_CHELSIO_T3}
 
 ${DEFINE_INFINIBAND_IPOIB_DEBUG}
 ${DEFINE_INFINIBAND_ISER}
@@ -964,6 +1013,7 @@ #undef CONFIG_INFINIBAND_MTHCA_DEBUG
 ${DEFINE_INFINIBAND_RDS_DEBUG}
 ${DEFINE_INFINIBAND_VNIC_DEBUG}
 ${DEFINE_INFINIBAND_VNIC_STATS}
+${DEFINE_INFINIBAND_CXGB3_DEBUG}
 
 ${DEFINE_INFINIBAND_IPOIB_DEBUG_DATA}
 ${DEFINE_INFINIBAND_SDP_SEND_ZCOPY}




More information about the general mailing list