Whamcloud - gitweb
b=6336
[fs/lustre-release.git] / lnet / autoconf / lustre-lnet.m4
index 8a937e3..ba0fffc 100644 (file)
@@ -107,6 +107,14 @@ if test -d $QSNET/drivers/net/qsnet ; then
                        QSWCPPFLAGS="-I$QSNET/include/linux"
                fi
        fi
+
+       LB_LINUX_CONFIG([QSNET],[],[
+               LB_LINUX_CONFIG([QSNET_MODULE],[],[
+                       AC_MSG_WARN([QSNET is not enabled in this kernel; not building qswnal.])
+                       QSWNAL=""
+                       QSWCPPFLAGS=""
+               ])
+       ])
 else
        AC_MSG_RESULT([no])
        QSWNAL=""
@@ -368,9 +376,9 @@ else
        EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
 fi
 if test -n "$VIBNAL"; then
-       AC_MSG_CHECKING([if Voltaire still uses void * sg addresses])
        EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="$EXTRA_KCFLAGS $VIBCPPFLAGS"
+       AC_MSG_CHECKING([if Voltaire still uses void * sg addresses])
        LB_LINUX_TRY_COMPILE([
                #include <linux/list.h>
                #include <asm/byteorder.h>
@@ -395,6 +403,27 @@ if test -n "$VIBNAL"; then
        ],[
                AC_MSG_RESULT([no])
        ])
+       AC_MSG_CHECKING([if page_to_phys() must avoid sign extension])
+       LB_LINUX_TRY_COMPILE([
+               #include <linux/kernel.h>
+               #include <linux/mm.h>
+               #include <linux/unistd.h>
+               #include <asm/system.h>
+               #include <asm/io.h>
+       ],[
+               struct page p;
+
+               switch (42) {
+               case 0:
+               case (sizeof(typeof(page_to_phys(&p))) < 8):
+                       break;
+               }
+       ],[
+               AC_MSG_RESULT([yes])
+               VIBCPPFLAGS="$VIBCPPFLAGS -DIBNAL_32BIT_PAGE2PHYS=1"
+       ],[
+               AC_MSG_RESULT([no])
+       ])
        EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
 fi
 AC_SUBST(VIBCPPFLAGS)
@@ -543,9 +572,7 @@ fi
 # Portals linux kernel checks
 #
 AC_DEFUN([LP_PROG_LINUX],
-[LP_CHECK_GCC_VERSION
-
-LP_CONFIG_ZEROCOPY
+[LP_CONFIG_ZEROCOPY
 LP_CONFIG_AFFINITY
 LP_CONFIG_QUADRICS
 LP_CONFIG_GM