[Pkg-ofed-commits] r545 - in /branches/ofed-1.5lenny/libnes/branches/upstream/cu...

gmpc-guest at alioth.debian.org gmpc-guest at alioth.debian.org
Fri Jan 15 13:56:19 UTC 2010


Author: gmpc-guest
Date: Fri Jan 15 13:56:17 2010
New Revision: 545

URL: http://svn.debian.org/wsvn/pkg-ofed/?sc=1&rev=545
Log:
[svn-upgrade] Integrating new upstream version, libnes (1.0.0)

Modified:
    branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0
    branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1
    branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0
    branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1
    branches/ofed-1.5lenny/libnes/branches/upstream/current/configure
    branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in
    branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec
    branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in
    branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c
    branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h
    branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0 Fri Jan 15 13:56:17 2010
@@ -1,8 +1,8 @@
 @%:@! /bin/sh
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.59 for libnes 0.6.
+@%:@ Generated by GNU Autoconf 2.59 for libnes 1.0.0.
 @%:@
-@%:@ Report bugs to <general at lists.openfabrics.org>.
+@%:@ Report bugs to <linux-rdma at vger.kernel.org>.
 @%:@ 
 @%:@ Copyright (C) 2003 Free Software Foundation, Inc.
 @%:@ This configure script is free software; the Free Software Foundation
@@ -423,9 +423,9 @@
 # Identity of this package.
 PACKAGE_NAME='libnes'
 PACKAGE_TARNAME='libnes'
-PACKAGE_VERSION='0.6'
-PACKAGE_STRING='libnes 0.6'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='libnes 1.0.0'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
 
 ac_unique_file="src/nes_umain.h"
 # Factoring default headers for most tests.
@@ -954,7 +954,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libnes 0.6 to adapt to many kinds of systems.
+\`configure' configures libnes 1.0.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libnes 0.6:";;
+     short | recursive ) echo "Configuration of libnes 1.0.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1064,7 +1064,7 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
 _ACEOF
 fi
 
@@ -1160,7 +1160,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-libnes configure 0.6
+libnes configure 1.0.0
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1174,7 +1174,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libnes $as_me 0.6, which was
+It was created by libnes $as_me 1.0.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1820,7 +1820,7 @@
 
 # Define the identity of the package.
  PACKAGE=libnes
- VERSION=0.6
+ VERSION=1.0.0
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4441,9 +4441,9 @@
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -19623,9 +19623,9 @@
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -19771,9 +19771,9 @@
 echo "$as_me: WARNING: infiniband/driver.h: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -21020,7 +21020,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by libnes $as_me 0.6, which was
+This file was extended by libnes $as_me 1.0.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21083,7 +21083,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libnes config.status 0.6
+libnes config.status 1.0.0
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1 Fri Jan 15 13:56:17 2010
@@ -1,8 +1,8 @@
 @%:@! /bin/sh
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.59 for libnes 0.6.
+@%:@ Generated by GNU Autoconf 2.59 for libnes 1.0.0.
 @%:@
-@%:@ Report bugs to <general at lists.openfabrics.org>.
+@%:@ Report bugs to <linux-rdma at vger.kernel.org>.
 @%:@ 
 @%:@ Copyright (C) 2003 Free Software Foundation, Inc.
 @%:@ This configure script is free software; the Free Software Foundation
@@ -423,9 +423,9 @@
 # Identity of this package.
 PACKAGE_NAME='libnes'
 PACKAGE_TARNAME='libnes'
-PACKAGE_VERSION='0.6'
-PACKAGE_STRING='libnes 0.6'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='libnes 1.0.0'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
 
 ac_unique_file="src/nes_umain.h"
 # Factoring default headers for most tests.
@@ -954,7 +954,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libnes 0.6 to adapt to many kinds of systems.
+\`configure' configures libnes 1.0.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libnes 0.6:";;
+     short | recursive ) echo "Configuration of libnes 1.0.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1064,7 +1064,7 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
 _ACEOF
 fi
 
@@ -1160,7 +1160,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-libnes configure 0.6
+libnes configure 1.0.0
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1174,7 +1174,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libnes $as_me 0.6, which was
+It was created by libnes $as_me 1.0.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1820,7 +1820,7 @@
 
 # Define the identity of the package.
  PACKAGE=libnes
- VERSION=0.6
+ VERSION=1.0.0
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4441,9 +4441,9 @@
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -19611,9 +19611,9 @@
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -19759,9 +19759,9 @@
 echo "$as_me: WARNING: infiniband/driver.h: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -21008,7 +21008,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by libnes $as_me 0.6, which was
+This file was extended by libnes $as_me 1.0.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21071,7 +21071,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libnes config.status 0.6
+libnes config.status 1.0.0
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0 Fri Jan 15 13:56:17 2010
@@ -6447,7 +6447,7 @@
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ])
-m4trace:configure.in:4: -1- AC_INIT([libnes], [0.6], [general at lists.openfabrics.org])
+m4trace:configure.in:4: -1- AC_INIT([libnes], [1.0.0], [linux-rdma at vger.kernel.org])
 m4trace:configure.in:4: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.in:4: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.in:4: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
@@ -6506,7 +6506,7 @@
 You should run autoupdate.], [/usr/share/aclocal-1.9/header.m4:12: AM_CONFIG_HEADER is expanded from...
 configure.in:7: the top level])
 m4trace:configure.in:7: -1- AC_CONFIG_HEADERS([config.h])
-m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [0.6])
+m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [1.0.0])
 m4trace:configure.in:8: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
 m4trace:configure.in:8: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
 m4trace:configure.in:8: -1- AM_AUTOMAKE_VERSION([1.9.6])
@@ -6516,7 +6516,7 @@
 m4trace:configure.in:8: -1- AC_SUBST([INSTALL_DATA])
 m4trace:configure.in:8: -1- AC_SUBST([CYGPATH_W])
 m4trace:configure.in:8: -1- AC_SUBST([PACKAGE], [libnes])
-m4trace:configure.in:8: -1- AC_SUBST([VERSION], [0.6])
+m4trace:configure.in:8: -1- AC_SUBST([VERSION], [1.0.0])
 m4trace:configure.in:8: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
  AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
 m4trace:configure.in:8: -2- _AM_MANGLE_OPTION([no-define])

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1 Fri Jan 15 13:56:17 2010
@@ -1,4 +1,4 @@
-m4trace:configure.in:4: -1- AC_INIT([libnes], [0.6], [general at lists.openfabrics.org])
+m4trace:configure.in:4: -1- AC_INIT([libnes], [1.0.0], [linux-rdma at vger.kernel.org])
 m4trace:configure.in:4: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.in:4: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.in:4: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
@@ -56,7 +56,7 @@
 You should run autoupdate.], [aclocal.m4:6758: AM_CONFIG_HEADER is expanded from...
 configure.in:7: the top level])
 m4trace:configure.in:7: -1- AC_CONFIG_HEADERS([config.h])
-m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [0.6])
+m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [1.0.0])
 m4trace:configure.in:8: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
 m4trace:configure.in:8: -1- AM_AUTOMAKE_VERSION([1.9.6])
 m4trace:configure.in:8: -1- AC_PROG_INSTALL
@@ -65,7 +65,7 @@
 m4trace:configure.in:8: -1- AC_SUBST([INSTALL_DATA])
 m4trace:configure.in:8: -1- AC_SUBST([CYGPATH_W])
 m4trace:configure.in:8: -1- AC_SUBST([PACKAGE], [libnes])
-m4trace:configure.in:8: -1- AC_SUBST([VERSION], [0.6])
+m4trace:configure.in:8: -1- AC_SUBST([VERSION], [1.0.0])
 m4trace:configure.in:8: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
 m4trace:configure.in:8: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
 #undef PACKAGE])

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/configure
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/configure?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/configure (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/configure Fri Jan 15 13:56:17 2010
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for libnes 0.6.
+# Generated by GNU Autoconf 2.59 for libnes 1.0.0.
 #
-# Report bugs to <general at lists.openfabrics.org>.
+# Report bugs to <linux-rdma at vger.kernel.org>.
 #
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
@@ -423,9 +423,9 @@
 # Identity of this package.
 PACKAGE_NAME='libnes'
 PACKAGE_TARNAME='libnes'
-PACKAGE_VERSION='0.6'
-PACKAGE_STRING='libnes 0.6'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='libnes 1.0.0'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
 
 ac_unique_file="src/nes_umain.h"
 # Factoring default headers for most tests.
@@ -954,7 +954,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libnes 0.6 to adapt to many kinds of systems.
+\`configure' configures libnes 1.0.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libnes 0.6:";;
+     short | recursive ) echo "Configuration of libnes 1.0.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1064,7 +1064,7 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
 _ACEOF
 fi
 
@@ -1160,7 +1160,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-libnes configure 0.6
+libnes configure 1.0.0
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1174,7 +1174,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libnes $as_me 0.6, which was
+It was created by libnes $as_me 1.0.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1820,7 +1820,7 @@
 
 # Define the identity of the package.
  PACKAGE=libnes
- VERSION=0.6
+ VERSION=1.0.0
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4441,9 +4441,9 @@
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -19611,9 +19611,9 @@
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -19759,9 +19759,9 @@
 echo "$as_me: WARNING: infiniband/driver.h: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -21008,7 +21008,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by libnes $as_me 0.6, which was
+This file was extended by libnes $as_me 1.0.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21071,7 +21071,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libnes config.status 0.6
+libnes config.status 1.0.0
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in Fri Jan 15 13:56:17 2010
@@ -1,11 +1,11 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.57)
-AC_INIT(libnes, 0.6, general at lists.openfabrics.org)
+AC_INIT(libnes, 1.0.0, linux-rdma at vger.kernel.org)
 AC_CONFIG_SRCDIR([src/nes_umain.h])
 AC_CONFIG_AUX_DIR(config)
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(libnes, 0.6)
+AM_INIT_AUTOMAKE(libnes, 1.0.0)
 AM_PROG_LIBTOOL
 
 AC_ARG_ENABLE(libcheck, [ --disable-libcheck    do not test for the presence of ib libraries],

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec Fri Jan 15 13:56:17 2010
@@ -1,12 +1,12 @@
 Name: libnes
-Version: 0.6
-Release: 1.ofed1.4.1
+Version: 1.0.0
+Release: 1
 Summary: NetEffect Ethernet Server Cluster Adapter Userspace Library
 
 Group: System Environment/Libraries
 License: GPL/BSD
 Url: http://www.openfabrics.org/
-Source: http://www.openfabrics.org/downloads/libnes-0.6.tar.gz
+Source: http://www.openfabrics.org/downloads/libnes-1.0.0.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: libibverbs-devel
@@ -25,7 +25,7 @@
 application, which may be useful for debugging.
 
 %prep
-%setup -q -n %{name}-0.6
+%setup -q -n %{name}-1.0.0
 
 %build
 %configure
@@ -51,6 +51,14 @@
 %{_libdir}/libnes*.a
 
 %changelog
+* Tue Dec 8 2009 Chien Tung <chien.tin.tung at intel.com> - 1.0.0
+- Update for OFED 1.5 RC4.
+- Sync up with libibverbs 1.1.3
+- Fix head pointer and fence flag for nes_upost_send and nes_upost_recv
+
+* Wed Oct 14 2009 Chien Tung <chien.tin.tung at intel.com> - 0.9.0
+- Updated for OFED-1.5 RC2
+
 * Wed Apr 15 2009 Chien Tung <chien.tin.tung at intel.com> - 0.6
 - Updated for OFED-1.4.1
 

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in Fri Jan 15 13:56:17 2010
@@ -6,7 +6,7 @@
 Group: System Environment/Libraries
 License: GPL/BSD
 Url: http://www.openfabrics.org/
-Source: http://www.openfabrics.org/downloads/nes/libnes-0.6.tar.gz
+Source: http://www.openfabrics.org/downloads/nes/libnes-1.0.0.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: libibverbs-devel
@@ -51,6 +51,14 @@
 %{_libdir}/libnes*.a
 
 %changelog
+* Tue Dec 8 2009 Chien Tung <chien.tin.tung at intel.com> - 1.0.0
+- Update for OFED 1.5 RC4.
+- Sync up with libibverbs 1.1.3
+- Fix head pointer and fence flag for nes_upost_send and nes_upost_recv
+
+* Wed Oct 14 2009 Chien Tung <chien.tin.tung at intel.com> - 0.9.0
+- Updated for OFED-1.5 RC2
+
 * Wed Apr 15 2009 Chien Tung <chien.tin.tung at intel.com> - 0.6
 - Updated for OFED-1.4.1
 

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c Fri Jan 15 13:56:17 2010
@@ -95,7 +95,7 @@
 	.destroy_srq = NULL,
 	.post_srq_recv = NULL,
 	.create_qp = nes_ucreate_qp,
-	.query_qp = NULL,
+	.query_qp = nes_uquery_qp,
 	.modify_qp = nes_umodify_qp,
 	.destroy_qp = nes_udestroy_qp,
 	.post_send = nes_upost_send,
@@ -104,7 +104,7 @@
 	.destroy_ah = nes_udestroy_ah,
 	.attach_mcast = nes_uattach_mcast,
 	.detach_mcast = nes_udetach_mcast,
-	.async_event = NULL
+	.async_event = nes_async_event
 };
 
 

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h Fri Jan 15 13:56:17 2010
@@ -199,6 +199,15 @@
 	NES_IWARP_SQ_OP_NOP = 12,
 };
 
+enum nes_iwarp_cqe_major_code {
+	NES_IWARP_CQE_MAJOR_FLUSH = 1,
+	NES_IWARP_CQE_MAJOR_DRV = 0x8000
+};
+
+enum nes_iwarp_cqe_minor_code {
+	NES_IWARP_CQE_MINOR_FLUSH = 1
+};
+
 struct nes_hw_qp_wqe {
 	uint32_t wqe_words[32];
 };
@@ -257,6 +266,8 @@
 	struct nes_hw_qp_wqe volatile *sq_vbase;
 	struct nes_hw_qp_wqe volatile *rq_vbase;
 	uint32_t qp_id;
+	struct nes_ucq *send_cq;
+	struct nes_ucq *recv_cq;
 	struct	ibv_mr mr;
 	uint32_t nes_drv_opt;
 	pthread_spinlock_t lock;
@@ -264,11 +275,13 @@
 	uint16_t sq_head;
 	uint16_t sq_tail;
 	uint16_t sq_size;
+	uint16_t sq_sig_all;
 	uint16_t rq_db_index;
 	uint16_t rq_head;
 	uint16_t rq_tail;
 	uint16_t rq_size;
 	uint16_t mapping;
+	uint16_t qperr;
 	uint16_t rsvd;
 };
 
@@ -310,7 +323,7 @@
 int nes_uquery_port(struct ibv_context *, uint8_t, struct ibv_port_attr *);
 struct ibv_pd *nes_ualloc_pd(struct ibv_context *);
 int nes_ufree_pd(struct ibv_pd *);
-struct ibv_mr *nes_ureg_mr(struct ibv_pd *, void *, size_t, enum ibv_access_flags);
+struct ibv_mr *nes_ureg_mr(struct ibv_pd *, void *, size_t, int);
 int nes_udereg_mr(struct ibv_mr *);
 struct ibv_cq *nes_ucreate_cq(struct ibv_context *, int, struct ibv_comp_channel *, int);
 int nes_uresize_cq(struct ibv_cq *, int);
@@ -318,18 +331,21 @@
 int nes_upoll_cq(struct ibv_cq *, int, struct ibv_wc *);
 int nes_uarm_cq(struct ibv_cq *, int);
 struct ibv_srq *nes_ucreate_srq(struct ibv_pd *, struct ibv_srq_init_attr *);
-int nes_umodify_srq(struct ibv_srq *, struct ibv_srq_attr *, enum ibv_srq_attr_mask);
+int nes_umodify_srq(struct ibv_srq *, struct ibv_srq_attr *, int);
 int nes_udestroy_srq(struct ibv_srq *);
 int nes_upost_srq_recv(struct ibv_srq *, struct ibv_recv_wr *, struct ibv_recv_wr **);
 struct ibv_qp *nes_ucreate_qp(struct ibv_pd *, struct ibv_qp_init_attr *);
-int nes_umodify_qp(struct ibv_qp *, struct ibv_qp_attr *, enum ibv_qp_attr_mask);
+int nes_uquery_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
+		  int, struct ibv_qp_init_attr *init_attr);
+int nes_umodify_qp(struct ibv_qp *, struct ibv_qp_attr *, int);
 int nes_udestroy_qp(struct ibv_qp *);
 int nes_upost_send(struct ibv_qp *, struct ibv_send_wr *, struct ibv_send_wr **);
 int nes_upost_recv(struct ibv_qp *, struct ibv_recv_wr *, struct ibv_recv_wr **);
 struct ibv_ah *nes_ucreate_ah(struct ibv_pd *, struct ibv_ah_attr *);
 int nes_udestroy_ah(struct ibv_ah *);
-int nes_uattach_mcast(struct ibv_qp *, union ibv_gid *, uint16_t);
-int nes_udetach_mcast(struct ibv_qp *, union ibv_gid *, uint16_t);
+int nes_uattach_mcast(struct ibv_qp *, const union ibv_gid *, uint16_t);
+int nes_udetach_mcast(struct ibv_qp *, const union ibv_gid *, uint16_t);
+void nes_async_event(struct ibv_async_event *event);
 
 #if __BYTE_ORDER == __LITTLE_ENDIAN
 static inline uint32_t cpu_to_le32(uint32_t x)

Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c Fri Jan 15 13:56:17 2010
@@ -135,7 +135,7 @@
  * nes_ureg_mr
  */
 struct ibv_mr *nes_ureg_mr(struct ibv_pd *pd, void *addr,
-		size_t length, enum ibv_access_flags access)
+		size_t length, int access)
 {
 	struct ibv_mr *mr;
 	struct nes_ureg_mr cmd;
@@ -310,12 +310,14 @@
 	struct nes_uqp *nesuqp;
 	int cqe_count=0;
 	uint32_t head;
-	uint32_t wq_tail;
 	uint32_t cq_size;
 	uint32_t wqe_index;
+	uint32_t wq_tail = 0;
 	struct nes_hw_cqe cqe;
 	uint32_t tmp;
-	unsigned long u64temp;
+	uint64_t u64temp;
+	int move_cq_head = 1;
+	uint32_t err_code;
 
 	nesucq = to_nes_ucq(cq);
 	nesvctx = to_nes_uctx(cq->context);
@@ -326,41 +328,41 @@
 	cq_size = nesucq->size;
 
 	while (cqe_count<num_entries) {
-		if (le32_to_cpu(nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) {
-			cqe = (volatile struct nes_hw_cqe)nesucq->cqes[head];
-
+		if ((le32_to_cpu(nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) == 0)
+			break;
+
+		/* Make sure we read CQ entry contents *after* we've checked the valid bit. */
+		mb();
+
+		cqe = (volatile struct nes_hw_cqe)nesucq->cqes[head];
+
+		/* parse CQE, get completion context from WQE (either rq or sq */
+		wqe_index = le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]) & 511;
+		u64temp = ((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]))) |
+				(((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX])))<<32);
+
+		if (likely(u64temp)) {
+			nesuqp = (struct nes_uqp *)(uintptr_t)(u64temp & (~1023));
 			memset(entry, 0, sizeof *entry);
-			/* this is for both the cqe copy and the zeroing of entry */
-			mb();
-
-			nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX] = 0;
-
-			/* parse CQE, get completion context from WQE (either rq or sq */
-			wqe_index = le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]) & 511;
-			u64temp = ((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]))) |
-					(((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX])))<<32);
-			mb();
-			nesuqp = *((struct nes_uqp **)&u64temp);
-			mb();
-			nesuqp = (struct nes_uqp *)((uintptr_t)nesuqp & (~1023));
-			if (le32_to_cpu(cqe.cqe_words[NES_CQE_ERROR_CODE_IDX]) == 0) {
+			if (likely(le32_to_cpu(cqe.cqe_words[NES_CQE_ERROR_CODE_IDX]) == 0)) {
 				entry->status = IBV_WC_SUCCESS;
 			} else {
-				/* TODO: other errors? */
-				entry->status = IBV_WC_WR_FLUSH_ERR;
+				err_code = le32_to_cpu(cqe.cqe_words[NES_CQE_ERROR_CODE_IDX]);
+				if (NES_IWARP_CQE_MAJOR_DRV == (err_code >> 16))
+					entry->status = err_code & 0x0000ffff;
+				else
+					entry->status = IBV_WC_WR_FLUSH_ERR;
 			}
 			entry->qp_num = nesuqp->qp_id;
 			entry->src_qp = nesuqp->qp_id;
 
 			if (le32_to_cpu(cqe.cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_SQ) {
 				/* Working on a SQ Completion*/
-				wq_tail = wqe_index;
-				nesuqp->sq_tail = (wqe_index+1)&(nesuqp->sq_size - 1);
-				wrid = ((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wq_tail].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_LOW_IDX])) |
-					(((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wq_tail].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
-				entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wq_tail].wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX]);
-
-				switch (le32_to_cpu(nesuqp->sq_vbase[wq_tail].
+				wrid = ((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wqe_index].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_LOW_IDX])) |
+					(((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wqe_index].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
+				entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wqe_index].wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX]);
+
+				switch (le32_to_cpu(nesuqp->sq_vbase[wqe_index].
 						wqe_words[NES_IWARP_SQ_WQE_MISC_IDX]) & 0x3f) {
 					case NES_IWARP_SQ_OP_RDMAW:
 						/* fprintf(stderr, PFX "%s: Operation = RDMA WRITE.\n",
@@ -371,7 +373,7 @@
 						/* fprintf(stderr, PFX "%s: Operation = RDMA READ.\n",
 								__FUNCTION__ ); */
 						entry->opcode = IBV_WC_RDMA_READ;
-						entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wq_tail].
+						entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wqe_index].
 								wqe_words[NES_IWARP_SQ_WQE_RDMA_LENGTH_IDX]);
 						break;
 					case NES_IWARP_SQ_OP_SENDINV:
@@ -383,23 +385,37 @@
 						entry->opcode = IBV_WC_SEND;
 						break;
 				}
+
+				nesuqp->sq_tail = (wqe_index+1)&(nesuqp->sq_size - 1);
+				if ((entry->status != IBV_WC_SUCCESS) && (nesuqp->sq_tail != nesuqp->sq_head)) {
+					move_cq_head = 0;
+					wq_tail = nesuqp->sq_tail;
+				}
 			} else {
 				/* Working on a RQ Completion*/
-				wq_tail = wqe_index;
+				entry->byte_len = le32_to_cpu(cqe.cqe_words[NES_CQE_PAYLOAD_LENGTH_IDX]);
+				wrid = ((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wqe_index].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_LOW_IDX])) |
+					(((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wqe_index].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
+				entry->opcode = IBV_WC_RECV;
+
 				nesuqp->rq_tail = (wqe_index+1)&(nesuqp->rq_size - 1);
-				entry->byte_len = le32_to_cpu(cqe.cqe_words[NES_CQE_PAYLOAD_LENGTH_IDX]);
-				wrid = ((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wq_tail].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_LOW_IDX])) |
-					(((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wq_tail].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
-				entry->opcode = IBV_WC_RECV;
+				if ((entry->status != IBV_WC_SUCCESS) && (nesuqp->rq_tail != nesuqp->rq_head)) {
+					move_cq_head = 0;
+					wq_tail = nesuqp->rq_tail;
+				}
 			}
+
 			entry->wr_id = wrid;
-
+			entry++;
+			cqe_count++;
+		}
+
+		if (move_cq_head) {
+			nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX] = 0;
 			if (++head >= cq_size)
 				head = 0;
-			cqe_count++;
 			nesucq->polled_completions++;
 
-			/* TODO: find a better number...if there is one */
 			if ((nesucq->polled_completions > (cq_size/2)) ||
 					(nesucq->polled_completions == 255)) {
 				if (nesvctx == NULL)
@@ -409,9 +425,16 @@
 				tmp = nesvctx->nesupd->udoorbell->cqe_alloc;
 				nesucq->polled_completions = 0;
 			}
-			entry++;
-		} else
-			break;
+		} else {
+			/* Update the wqe index and set status to flush */
+			wqe_index = le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]);
+			wqe_index = (wqe_index & (~511)) | wq_tail;
+			nesucq->cqes[head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = 
+				cpu_to_le32(wqe_index);
+			nesucq->cqes[head].cqe_words[NES_CQE_ERROR_CODE_IDX] = 
+				cpu_to_le32((NES_IWARP_CQE_MAJOR_FLUSH << 16) | NES_IWARP_CQE_MINOR_FLUSH);
+			move_cq_head = 1; /* ready for next pass */
+		}
 	}
 
 	if (nesucq->polled_completions) {
@@ -425,6 +448,7 @@
 	nesucq->head = head;
 
 	pthread_spin_unlock(&nesucq->lock);
+
 	return cqe_count;
 }
 
@@ -469,8 +493,7 @@
 /**
  * nes_umodify_srq
  */
-int nes_umodify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr,
-		enum ibv_srq_attr_mask attr_mask)
+int nes_umodify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr, int attr_mask)
 {
 	/* fprintf(stderr, PFX "%s\n", __FUNCTION__); */
 	return -ENOSYS;
@@ -513,13 +536,15 @@
 	struct nes_uvcontext *nesvctx = to_nes_uctx(pd->context);
 	int ret;
 
-	 memset (&cmd, 0, sizeof(cmd) );
+	memset (&cmd, 0, sizeof(cmd) );
 
 	/* fprintf(stderr, PFX "%s entering==>\n",__FUNCTION__); */
 	ret = ibv_cmd_create_qp(pd, &nesuqp->ibv_qp, attr, &cmd.ibv_cmd, sizeof cmd,
 		&resp->ibv_resp, sizeof (struct nes_ucreate_qp_resp) );
 	if (ret)
 		return 0;
+	nesuqp->send_cq = to_nes_ucq(attr->send_cq);
+	nesuqp->recv_cq = to_nes_ucq(attr->recv_cq);
 	nesuqp->sq_db_index = resp->mmap_sq_db_index;
 	nesuqp->rq_db_index = resp->mmap_rq_db_index;
 	nesuqp->sq_size = resp->actual_sq_size;
@@ -607,6 +632,8 @@
 		return 0;
 	}
 	*((unsigned int *)nesuqp->rq_vbase) = 0;
+	nesuqp->send_cq = to_nes_ucq(attr->send_cq);
+	nesuqp->recv_cq = to_nes_ucq(attr->recv_cq);
 	nesuqp->sq_db_index = resp->mmap_sq_db_index;
 	nesuqp->rq_db_index = resp->mmap_rq_db_index;
 	nesuqp->sq_size = resp->actual_sq_size;
@@ -685,6 +712,7 @@
 	nesuqp->sq_size = attr->cap.max_send_wr = sqdepth;
 	nesuqp->rq_size = attr->cap.max_recv_wr = rqdepth;
 
+	nesuqp->sq_sig_all = attr->sq_sig_all;
 	if (nesvctx->virtwq) {
 		status = nes_vmapped_qp(nesuqp,pd, attr,&resp,sqdepth,rqdepth);
 	}else {
@@ -714,7 +742,7 @@
  * nes_uquery_qp
  */
 int nes_uquery_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
-		enum ibv_qp_attr_mask attr_mask, struct ibv_qp_init_attr *init_attr)
+		  int attr_mask, struct ibv_qp_init_attr *init_attr)
 {
 	struct ibv_query_qp cmd;
 
@@ -727,14 +755,46 @@
 /**
  * nes_umodify_qp
  */
-int nes_umodify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
-		enum ibv_qp_attr_mask attr_mask)
+int nes_umodify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask)
 {
 	struct ibv_modify_qp cmd;
 
-	/* fprintf(stderr, PFX "%s, QP State = %u, attr_mask = 0x%X.\n", __FUNCTION__,
-			(unsigned int)attr->qp_state, (unsigned int)attr_mask ); */
+	/* fprintf(stderr, PFX "%s, QP State = %u, attr_mask = %d.\n", __FUNCTION__,
+			(unsigned int)attr->qp_state, attr_mask); */
 	return ibv_cmd_modify_qp(qp, attr, attr_mask, &cmd, sizeof cmd);
+}
+
+
+/**
+ * nes_clean_cq
+ */
+static void nes_clean_cq(struct nes_uqp *nesuqp, struct nes_ucq *nesucq)
+{
+	uint32_t cq_head;
+	uint32_t lo;
+	uint32_t hi;
+	uint64_t u64temp;
+
+	pthread_spin_lock(&nesucq->lock);
+
+	cq_head = nesucq->head;
+	while (le32_to_cpu(nesucq->cqes[cq_head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) {
+		rmb();
+		lo = le32_to_cpu(nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]);
+		hi = le32_to_cpu(nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX]);
+		u64temp = (((uint64_t)hi) << 32) | ((uint64_t)lo);
+		u64temp &= (~1023);
+		if (u64temp == (uint64_t)(uintptr_t)nesuqp) {
+			/* Zero the context value so cqe will be ignored */
+			nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = 0;
+			nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX] = 0;
+		}
+
+		if (++cq_head >= nesucq->size)
+			cq_head = 0;
+	}
+
+	pthread_spin_unlock(&nesucq->lock);
 }
 
 
@@ -747,15 +807,13 @@
 	int ret = 0;
 
 	// fprintf(stderr, PFX "%s addr&mr= %p  \n", __FUNCTION__, &nesuqp->mr );
-
 
 	if (nesuqp->mapping == NES_QP_VMAP) {
 		ret = ibv_cmd_dereg_mr(&nesuqp->mr);
 		if (ret)
 	 		fprintf(stderr, PFX "%s dereg_mr FAILED\n", __FUNCTION__);
-		free(nesuqp->sq_vbase);
-	}
-
+		free((void *)nesuqp->sq_vbase);
+	}
 
 	if (nesuqp->mapping == NES_QP_MMAP) {
 		munmap((void *)nesuqp->sq_vbase, (nesuqp->sq_size+nesuqp->rq_size) *
@@ -769,6 +827,13 @@
 	}
 
 	pthread_spin_destroy(&nesuqp->lock);
+
+	/* Clean any pending completions from the cq(s) */
+	if (nesuqp->send_cq)
+		nes_clean_cq(nesuqp, nesuqp->send_cq);
+
+	if ((nesuqp->recv_cq) && (nesuqp->recv_cq != nesuqp->send_cq))
+		nes_clean_cq(nesuqp, nesuqp->recv_cq);
 	free(nesuqp);
 
 	return 0;
@@ -785,7 +850,7 @@
 	struct nes_uqp *nesuqp = to_nes_uqp(ib_qp);
 	struct nes_upd *nesupd = to_nes_upd(ib_qp->pd);
 	struct nes_hw_qp_wqe volatile *wqe;
-	uint32_t head = nesuqp->sq_head;
+	uint32_t head;
 	uint32_t qsize = nesuqp->sq_size;
 	uint32_t counter;
 	uint32_t err = 0;
@@ -796,7 +861,13 @@
 
 	pthread_spin_lock(&nesuqp->lock);
 
+	head = nesuqp->sq_head;
 	while (ib_wr) {
+		if (unlikely(nesuqp->qperr)) {
+			err = -EINVAL;
+			break;
+		}
+
 		/* Check for SQ overflow */
 		outstanding_wqes = head + (2 * qsize) - nesuqp->sq_tail;
 		outstanding_wqes &= qsize - 1;
@@ -833,7 +904,7 @@
 			}
 
 			if (ib_wr->send_flags & IBV_SEND_FENCE) {
-				wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_LOCAL_FENCE);
+				wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_READ_FENCE);
 			}
 
 			/* if (ib_wr->send_flags & IBV_SEND_INLINE) {
@@ -844,7 +915,7 @@
 				((nesuqp->nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) == 0) &&
 				(ib_wr->num_sge == 1)) {
 				memcpy((void *)&wqe->wqe_words[NES_IWARP_SQ_WQE_IMM_DATA_START_IDX],
-						(void *)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
+						(void *)(intptr_t)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
 				wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = cpu_to_le32(ib_wr->sg_list[0].length);
 				wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_IMM_DATA);
 			} else {
@@ -872,7 +943,7 @@
 			wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] = cpu_to_le32(NES_IWARP_SQ_OP_RDMAW);
 
 			if (ib_wr->send_flags & IBV_SEND_FENCE) {
-				wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_LOCAL_FENCE);
+				wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_READ_FENCE);
 			}
 			wqe->wqe_words[NES_IWARP_SQ_WQE_RDMA_STAG_IDX] = cpu_to_le32(ib_wr->wr.rdma.rkey);
 			wqe->wqe_words[NES_IWARP_SQ_WQE_RDMA_TO_LOW_IDX] = cpu_to_le32(
@@ -888,7 +959,7 @@
 				((nesuqp->nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) == 0) &&
 				(ib_wr->num_sge == 1)) {
 				memcpy((void *)&wqe->wqe_words[NES_IWARP_SQ_WQE_IMM_DATA_START_IDX],
-						(void *)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
+						(void *)(intptr_t)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
 				wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = cpu_to_le32(ib_wr->sg_list[0].length);
 				wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_IMM_DATA);
 			} else {
@@ -932,7 +1003,7 @@
 			break;
 		}
 
-		if (ib_wr->send_flags & IBV_SEND_SIGNALED) {
+			if ((ib_wr->send_flags & IBV_SEND_SIGNALED) || nesuqp->sq_sig_all) {
 			/* fprintf(stderr, PFX "%s:sq wqe%u is signalled\n", __FUNCTION__, head); */
 			wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_SIGNALED_COMPL);
 		}
@@ -970,7 +1041,7 @@
 	struct nes_uqp *nesuqp = to_nes_uqp(ib_qp);
 	struct nes_upd *nesupd = to_nes_upd(ib_qp->pd);
 	struct nes_hw_qp_wqe *wqe;
-	uint32_t head = nesuqp->rq_head;
+	uint32_t head;
 	uint32_t qsize = nesuqp->rq_size;
 	uint32_t counter;
 	uint32_t err = 0;
@@ -981,7 +1052,13 @@
 
 	pthread_spin_lock(&nesuqp->lock);
 
+	head = nesuqp->rq_head;
 	while (ib_wr) {
+		if (unlikely(nesuqp->qperr)) {
+			err = -EINVAL;
+			break;
+		}
+
 		/* Check for RQ overflow */
 		outstanding_wqes = head + (2 * qsize) - nesuqp->rq_tail;
 		outstanding_wqes &= qsize - 1;
@@ -1065,7 +1142,7 @@
 /**
  * nes_uattach_mcast
  */
-int nes_uattach_mcast(struct ibv_qp *qp, union ibv_gid *gid, uint16_t lid)
+int nes_uattach_mcast(struct ibv_qp *qp, const union ibv_gid *gid, uint16_t lid)
 {
 	/* fprintf(stderr, PFX "%s\n", __FUNCTION__); */
 	return -ENOSYS;
@@ -1075,8 +1152,29 @@
 /**
  * nes_udetach_mcast
  */
-int nes_udetach_mcast(struct ibv_qp *qp, union ibv_gid *gid, uint16_t lid)
+int nes_udetach_mcast(struct ibv_qp *qp, const union ibv_gid *gid, uint16_t lid)
 {
 	/* fprintf(stderr, PFX "%s\n", __FUNCTION__); */
 	return -ENOSYS;
 }
+
+
+/**
+ * nes_async_event
+ */
+void nes_async_event(struct ibv_async_event *event)
+{
+	struct nes_uqp *nesuqp;
+
+	switch (event->event_type) {
+	case IBV_EVENT_QP_FATAL:
+	case IBV_EVENT_QP_ACCESS_ERR:
+		/* Do not let application queue anything else to the qp */
+		nesuqp = to_nes_uqp(event->element.qp);
+		nesuqp->qperr = 1;
+		break;
+
+	default:
+		break;
+	}
+}




More information about the Pkg-ofed-commits mailing list