shefty [Sat, 31 May 2008 07:31:01 +0000 (07:31 +0000)]
libibverbs: complete initial implementation
The implementation lacks complete support for all potential threading usage models, but it should support current usage models. The library is about 90% complete, and should be usable by most applications. Missing functionality and complete multi-threading support will be deferred until an application requires it, or a later time.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1222 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Sat, 31 May 2008 07:24:22 +0000 (07:24 +0000)]
winverbs: modify how device events are reported
Change reporting device events to simplify interface and avoid missing events. Device events are now set using flags, allowing multiple events to occur in the kernel before userspace retrieves them. This will avoid losing events or userspace needing to call into the kernel to retrieve one event at a time. Events are also associated with a device port, rather than with the device itself.
The new types of events are kept more generic for transport neutral independence.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1221 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Thu, 29 May 2008 19:50:24 +0000 (19:50 +0000)]
ibal: modify layout work request structure
Modify layout of ib_send_wr_t to eliminate internal padding and reduce the structure size. Using the new layout, users can cast between the IBAL ib_send_wr_t and the OFED struct ibv_send_wr.
Also modify the wr type enums to allow quick checks for receive completions.
ULPs are unaffected by this change, except for a re-compile.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1217 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Fri, 23 May 2008 06:40:07 +0000 (06:40 +0000)]
winverbs: allow synchronous operations
The winverbs library incorrectly calls DeviceIoControl with a NULL overlapped structure. Since the file was opened with overlapped I/O, the results of any DeviceIoControl calls are indetermined, according to the documentation.
The intent of using NULL was to convert from an asynchronous operation to a synchronous call. To fix this, provide a wrapper around DeviceIoControl that can accept a NULL overlapped parameter. If a NULL parameter is used, the call converts to a synchronous operation.
The wrapper is implemeted by adding a base class, CWVBase, that the other classes will derive from. Common functionality and data are moved out of the existing classes and into CWVBase.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1204 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Thu, 22 May 2008 01:59:21 +0000 (01:59 +0000)]
indexlist: fix dereferencing NULL pointer
If the indexlist has not grown, then pArray is NULL. Calls to the IndexList API will end up accessing a NULL pointer. To avoid adding checks (pArray != NULL) in the API, allocate an 'EmptyList' index entry that pArray can reference until the first allocation is done.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1200 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Tue, 20 May 2008 07:28:23 +0000 (07:28 +0000)]
Goofy script to copy .sys, .lib, .dll, .exe, .inf, and .whatever else
into an install directory. Not sophisticated at all, but I am able to
use it to fairly quickly update drivers when testing.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1192 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Tue, 20 May 2008 07:26:48 +0000 (07:26 +0000)]
The following build script allows building the winof stack for any
platform (OS and processor architecture) from a single command prompt
window. Guaranteed to save your sanity, versus having a dozen build
windows opened to build the various winof flavors.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1190 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Tue, 20 May 2008 07:25:52 +0000 (07:25 +0000)]
Provide simple build instructions for developers who check out the
source tree and want to try building the drivers. It's more intuitive
to provide build details with the source code itself, than separately
on a web site.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1189 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Tue, 20 May 2008 07:24:58 +0000 (07:24 +0000)]
The SVN diff program cannot handle generating diffs between two different
directories. This file describes how to use an external diff program
to generate patches between two directories that can then be applied.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1188 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Tue, 20 May 2008 07:24:21 +0000 (07:24 +0000)]
When using a diff utility to find differences between two subdirectories,
for example, an svn branch and the trunk, you can have the diff program
ignore files. This is useful to avoid diffs caused by object files,
executables, or svn tracking files.
The following file can be fed into diff to have it ignore files that
match any of the patterns listed.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1187 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
tzachid [Mon, 19 May 2008 06:46:18 +0000 (06:46 +0000)]
[IPOIB ]Fix a bugcheck when NdisMResetComplete called without previous reset request completed with STATUS_PENDING. (winib 2454)
Signed by: Slava Strebkov
tzachid [Thu, 15 May 2008 07:22:44 +0000 (07:22 +0000)]
[mlx4] Fix for FMR. (mlx4_0270_fmr_enable.patch) (winib 2392, 2394)
mlx4_table_find (for fmr mpt's) requires that ICM memory already
be mapped. Before this fix, fmr allocation depended on ICM memory
already being mapped for the mpt entry. If all currently mapped
entries are taken, the find operation fails (even if the ICM mpt
table still had more entries, which were as yet unmapped).
This fix moves the mpt find operation to fmr_enable, to guarantee
that any required ICM memory mapping has already occurred.
shefty [Thu, 15 May 2008 00:13:43 +0000 (00:13 +0000)]
dapl: remove TO_LONG_PTR macro
The TO_LONG_PTR macro is unnecessary and makes it difficult to keep the Windows and Linux DAPL versions in sync. (Updated from rev 1164 to include missing 'i' in 'ib'.)
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1169 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 14 May 2008 02:41:28 +0000 (02:41 +0000)]
scripts: batch file to build any OS/architecture from a single command window
This batch file must be modified for personal use, but it allows building multiple OS/processor architectures using a single command window. No more needing a dozen windows open to run all of the builds! And there was much rejoicing.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1166 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 14 May 2008 02:39:14 +0000 (02:39 +0000)]
The current uvp_get_interface() routine takes a structure as input. Included in the structure is a version number. In the winverb branch, I added a new API to take the version as a separate parameter, along with the size of the structure.
A better solution to supporting multiple interfaces is to define interfaces using GUIDs. This not only allows different versions of the same interface (for example the UVP interface), but also provides a mechanism that can be used to add new interfaces without affecting existing ABIs or APIs.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1165 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Fri, 9 May 2008 05:05:05 +0000 (05:05 +0000)]
mt23108: remove defunct driver
mt23108 has been replaced by the mthca driver. Remove the mt23108 directory and 344 related files. The file contents had previously been emptied, but the svn patch system does not actually delete the files through patches.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1147 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 7 May 2008 17:45:16 +0000 (17:45 +0000)]
mlx4: update driver for winverb support
Allow setting callback handlers per HW widget (CQ, QP, SRQ). Add support to respond to query interface routines. This allows the driver to support mulitple filter drivers as consumers of their interface.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1142 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 7 May 2008 17:30:12 +0000 (17:30 +0000)]
winverbs/overlapped: change GetOverlappedResult API to match Win32 call
The Winverbs GetOverlappedResult calls take SIZE_T as the inout size, but the Win32 call uses DWORD for the same argument. Modify GetOverlappedResult to match the Win32 call. This avoids a compiler warnings and needing to cast.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1139 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 7 May 2008 17:22:28 +0000 (17:22 +0000)]
build: remove opensm from default build
opensm takes 3 minutes to 'build' even when there are no changes to the code. Remove it from the default build to avoid getting grey hairs watching the build process run.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1135 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86