stansmith [Wed, 18 Jun 2008 21:54:54 +0000 (21:54 +0000)]
[WinOF] added common exit path with time stamp info (start & end times); curently takes about 15 minutes to compile, sign drivers and build installers on a 4P platform.
stansmith [Wed, 18 Jun 2008 00:09:56 +0000 (00:09 +0000)]
[WinOF]
buildrelease.bat - added WIX .msi creation only option; assumes drivers are signed
etc\makebin.bat - don't copy Mx tools which have been removed from the build/svn
etc\clean-build.bat - delete build generated files to ensure a clean build.
stansmith [Tue, 17 Jun 2008 23:24:18 +0000 (23:24 +0000)]
[WinOF]
missed x86\Command Window.lnk
WIX\bin removed, as it's now an OS flavor {wlh,wnet,wxp} specific item
wof.wxs - removed erroneous reference to mtcr.dll
leonidk [Tue, 17 Jun 2008 18:40:54 +0000 (18:40 +0000)]
[MTHCA] Fix possible data corruption for Sinai chip upon fmr_unmap
(In mthca_arbel_fmr_unmap(), the high bits of the key are masked off.
This gets rid of the effect of adjust_key(), which makes sure that
bits 3 and 23 of the key are equal when the Sinai throughput
optimization is enabled, and so it may happen that an FMR will end up
with bits 3 and 23 in the key being different. This causes data
corruption, because when enabling the throughput optimization, the
driver promises the HCA firmware that bits 3 and 23 of all memory keys
will always be equal.
Fix by re-applying adjust_key() after masking the key.
stansmith [Fri, 13 Jun 2008 00:00:03 +0000 (00:00 +0000)]
[DAPL2] Request extensions didn't allocate a cookie if the completion was suppressed, which resulted in segfault during provider post call. Provider's expect a *cookie in wr_id, even with surpressed completions, needed to handle events during errors.
stansmith [Thu, 12 Jun 2008 23:54:39 +0000 (23:54 +0000)]
[WinOF] v2.0 prep - WDK build env structure for multiple OS flavors: WLH, WNET & WXP.
scripts to build .cat files and Digitally sign drivers, given a certificate (.cer) file.
shefty [Thu, 5 Jun 2008 06:23:08 +0000 (06:23 +0000)]
winverbs: move reference counting back to WvBase and use virtual Delete call
Move AddRef and Release back into WvBase. Add a virtual function Delete() to WvBase that derived classes set to delete 'this'. This avoids the heap corruption issues without classes re-implementing Release.
This fixes an issue with the previous fix where heap corruption still would have occurred if a user released the QP interface after releasing the derived interface (such as the connected QP interface).
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1244 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Thu, 5 Jun 2008 03:03:58 +0000 (03:03 +0000)]
winverbs: do not inherit Release() calls
Release() tries to delete an object when its reference count reaches 0. Inheriting Release() from WvBase ends up corrupting the heap when WvBase tries to delete 'this'.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1242 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Thu, 5 Jun 2008 03:00:58 +0000 (03:00 +0000)]
winverbs: wait to create device on PnP power up (D0)
The hca drivers are not ready to handle query interface and function calls until the device enters the D0 power state. Delay initializing the RDMA device until winverbs sees the D0 power state for that device. This is only done the first time that the device enters the power state to avoid losing user context information just because the device enters a lower powered state.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1241 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 4 Jun 2008 04:59:06 +0000 (04:59 +0000)]
winverbs: track changes against trunk using patch files
Add patch directory with patches that can be applied. This simplifies tracking changes against the trunk, and makes it easier to update only affected patches with changes.
This will help when merging the changes into the trunk.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1239 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
shefty [Wed, 4 Jun 2008 04:12:02 +0000 (04:12 +0000)]
winverbs: undo changes to files tracked in trunk
Undo any changes to files that exist in the trunk. All changes will be added as patches to make synchronizing changes in the winverb branch with the trunk easier. The patches will then be applied directly to the trunk when merging.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@1238 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
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