From: Sean Hefty Date: Tue, 27 Jul 2010 07:09:03 +0000 (-0700) Subject: squash X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=a3b718509abcb99068b7de2d6a26170c6f4c4f06;p=~shefty%2Frdma-win.git squash --- diff --git a/meta b/meta index f31ec111..70a64c9e 100644 --- a/meta +++ b/meta @@ -1,8 +1,8 @@ Version: 1 -Previous: c0a3c68507ac817769db9678b9a82d20a575f3c3 -Head: 7fae076cc5f6b3d4e5dfbbe9600f6616acea260a +Previous: a14609f3cbfcc83c69e84926fabd424fb5f449c3 +Head: 209fe858d9870d9ed31e785bb6423e688294a2c8 Applied: - nd2: 7fae076cc5f6b3d4e5dfbbe9600f6616acea260a + nd2-provide-update-provider-ap: 209fe858d9870d9ed31e785bb6423e688294a2c8 Unapplied: nd-heap: 4073d4bd9835679d69e79783b4fd841e173ec458 wv-reg: 2c86a99e122511e0ef8723c8ec08456f4002a39a @@ -10,7 +10,6 @@ Unapplied: nd-adapt-query: 4b10643cd3ba9593cb4dcfd787bf8b1285dbbb2b sge: f00370179e2dcdfb8aaf58da81785439872a8557 mr: 08fda6a1a2612a27925c8afaf1af286a65469af5 - srq: 967671cec63bf66a517bec9e5ac49a21c8279e20 srq-32: 39a3c8243009a85178c8ade30dba40951505c976 listen: 2be03271e485814fa964867af100c67d5bad37b8 connect: 7945145cdb880952fcab35d524bddaddc3ef9d1b diff --git a/patches/nd2 b/patches/nd2 deleted file mode 100644 index b719b1ce..00000000 --- a/patches/nd2 +++ /dev/null @@ -1,385 +0,0 @@ -Bottom: 06cdce656914daffeb60188020c0cbccef3f6806 -Top: 7a08ebdd6b23d5fe2e5792f4bd0cc673b626d5af -Author: Sean Hefty -Date: 2010-07-27 00:06:02 -0700 - -nd2/provide: update provider APIs to match latest spec - -Signed-off-by: Sean Hefty - ---- - -diff --git a/trunk/ulp/netdirect2/user/nd_adapter.cpp b/trunk/ulp/netdirect2/user/nd_adapter.cpp -index 475c1e6..aa4cb92 100644 ---- a/trunk/ulp/netdirect2/user/nd_adapter.cpp -+++ b/trunk/ulp/netdirect2/user/nd_adapter.cpp -@@ -167,80 +167,112 @@ QueryAddressList(SOCKET_ADDRESS_LIST* pAddressList, SIZE_T* pcbAddressList) - } - - STDMETHODIMP CNDAdapter:: --CreateCompletionQueue(DWORD queueDepth, GROUP_AFFINITY* pAffinity, -- INDCompletionQueue** ppCompletionQueue) -+CreateCompletionQueue(REFIID iid, DWORD queueDepth, USHORT group, KAFFINITY affinity, -+ VOID** ppCompletionQueue) - { - return CNDCompletionQueue::CreateInstance(this, queueDepth, ppCompletionQueue); - } - - STDMETHODIMP CNDAdapter:: --CreateMemoryRegion(INDMemoryRegion** ppMemoryRegion) -+CreateMemoryRegion(REFIID iid, VOID** ppMemoryRegion) - { -+ if (iid != IID_INDMemoryRegion) { -+ return E_NOINTERFACE; -+ } -+ - return CNDMemoryRegion::CreateInstance(this, ppMemoryRegion); - } - - STDMETHODIMP CNDAdapter:: --CreateMemoryWindow(INDMemoryWindow** ppMemoryWindow) -+CreateMemoryWindow(REFIID iid, VOID** ppMemoryWindow) - { -+ if (iid != IID_INDMemoryWindow) { -+ return E_NOINTERFACE; -+ } -+ - return CNDMemoryWindow::CreateInstance(this, ppMemoryWindow); - } - - STDMETHODIMP CNDAdapter:: --CreateSharedReceiveQueue(DWORD queueDepth, DWORD maxSGE, -- DWORD notifyThreshold, GROUP_AFFINITY* pAffinity, -- INDSharedReceiveQueue** ppSharedReceiveQueue) -+CreateSharedReceiveQueue(REFIID iid, DWORD queueDepth, DWORD maxSge, -+ DWORD notifyThreshold, USHORT group, -+ KAFFINITY affinity, VOID** ppSharedReceiveQueue) - { -- return CNDSharedReceiveQueue::CreateInstance(this, queueDepth, maxSGE, -- notifyThreshold, pAffinity, -+ if (iid != IID_INDSharedReceiveQueue) { -+ return E_NOINTERFACE; -+ } -+ -+ return CNDSharedReceiveQueue::CreateInstance(this, queueDepth, maxSge, -+ notifyThreshold, affinity, - ppSharedReceiveQueue); - } - - STDMETHODIMP CNDAdapter:: --CreateQueuePair(INDCompletionQueue* pReceiveCompletionQueue, -- INDCompletionQueue* pInitiatorCompletionQueue, VOID* context, -+CreateQueuePair(REFIID iid, IUnknown* pReceiveCompletionQueue, -+ IUnknown* pInitiatorCompletionQueue, VOID* context, - DWORD receiveQueueDepth, DWORD initiatorQueueDepth, -- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE, -- INDQueuePair** ppQueuePair) -+ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSge, -+ VOID** ppQueuePair) - { - CNDCompletionQueue *rcq = (CNDCompletionQueue *) pReceiveCompletionQueue; - CNDCompletionQueue *icq = (CNDCompletionQueue *) pInitiatorCompletionQueue; - -+ if (iid != IID_INDQueuePair) { -+ return E_NOINTERFACE; -+ } -+ - return CNDQueuePair::CreateInstance(this, rcq, icq, NULL, - context, receiveQueueDepth, initiatorQueueDepth, -- maxReceiveRequestSGE, maxInitiatorRequestSGE, -+ maxReceiveRequestSge, maxInitiatorRequestSge, - ppQueuePair); - } - - STDMETHODIMP CNDAdapter:: --CreateQueuePairWithSRQ(INDCompletionQueue* pReceiveCompletionQueue, -- INDCompletionQueue* pInitiatorCompletionQueue, -- INDSharedReceiveQueue* pSharedReceiveQueue, VOID* context, -- DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSGE, -- INDQueuePair** ppQueuePair) -+CreateQueuePairWithSrq(REFIID iid, IUnknown* pReceiveCompletionQueue, -+ IUnknown* pInitiatorCompletionQueue, -+ IUnknown* pSharedReceiveQueue, VOID* context, -+ DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSge, -+ VOID** ppQueuePair) - { - CNDCompletionQueue *rcq = (CNDCompletionQueue *) pReceiveCompletionQueue; - CNDCompletionQueue *icq = (CNDCompletionQueue *) pInitiatorCompletionQueue; - CNDSharedReceiveQueue *srq = (CNDSharedReceiveQueue *) pSharedReceiveQueue; - -+ if (iid != IID_INDQueuePair) { -+ return E_NOINTERFACE; -+ } -+ - return CNDQueuePair::CreateInstance(this, rcq, icq, srq, - context, 0, initiatorQueueDepth, 0, -- maxInitiatorRequestSGE, ppQueuePair); -+ maxInitiatorRequestSge, ppQueuePair); - } - - STDMETHODIMP CNDAdapter:: --CreateSharedEndpoint(INDSharedEndpoint** ppSharedEndpoint) -+CreateSharedEndpoint(REFIID iid, VOID** ppSharedEndpoint) - { -+ if (iid != IID_INDSharedEndpoint) { -+ return E_NOINTERFACE; -+ } -+ - return CNDSharedEndpoint::CreateInstance(this, ppSharedEndpoint); - } - - STDMETHODIMP CNDAdapter:: --CreateConnector(INDConnector** ppConnector) -+CreateConnector(REFIID iid, VOID** ppConnector) - { -+ if (iid != IID_INDConnector) { -+ return E_NOINTERFACE; -+ } -+ - return CNDConnector::CreateInstance(this, ppConnector); - } - - STDMETHODIMP CNDAdapter:: --CreateListen(INDListen** ppListen) -+CreateListen(REFIID iid, VOID** ppListen) - { -+ if (iid != IID_INDListen) { -+ return E_NOINTERFACE; -+ } -+ - return CNDListen::CreateInstance(this, ppListen); - } -diff --git a/trunk/ulp/netdirect2/user/nd_adapter.h b/trunk/ulp/netdirect2/user/nd_adapter.h -index 9821570..941f80a 100644 ---- a/trunk/ulp/netdirect2/user/nd_adapter.h -+++ b/trunk/ulp/netdirect2/user/nd_adapter.h -@@ -49,32 +49,32 @@ public: - STDMETHODIMP_(HANDLE) GetFileHandle(); - STDMETHODIMP Query(ND_ADAPTER_INFO* pInfo, SIZE_T* pcbInfo); - STDMETHODIMP QueryAddressList(SOCKET_ADDRESS_LIST* pAddressList, SIZE_T* pcbAddressList); -- STDMETHODIMP CreateCompletionQueue(DWORD queueDepth, GROUP_AFFINITY* pAffinity, -- INDCompletionQueue** ppCompletionQueue); -- STDMETHODIMP CreateMemoryRegion(INDMemoryRegion** ppMemoryRegion); -- STDMETHODIMP CreateMemoryWindow(INDMemoryWindow** ppMemoryWindow); -- STDMETHODIMP CreateSharedReceiveQueue(DWORD queueDepth, DWORD maxSGE, -- DWORD notifyThreshold, GROUP_AFFINITY* pAffinity, -- INDSharedReceiveQueue** ppSharedReceiveQueue); -- STDMETHODIMP CreateQueuePair(INDCompletionQueue* pReceiveCompletionQueue, -- INDCompletionQueue* pInitiatorCompletionQueue, VOID* context, -+ STDMETHODIMP CreateCompletionQueue(REFIID iid, DWORD queueDepth, USHORT group, -+ KAFFINITY affinity, VOID** ppCompletionQueue); -+ STDMETHODIMP CreateMemoryRegion(REFIID iid, VOID** ppMemoryRegion); -+ STDMETHODIMP CreateMemoryWindow(REFIID iid, VOID** ppMemoryWindow); -+ STDMETHODIMP CreateSharedReceiveQueue(REFIID iid, DWORD queueDepth, DWORD maxSge, -+ DWORD notifyThreshold, USHORT group, -+ KAFFINITY affinity, VOID** ppSharedReceiveQueue); -+ STDMETHODIMP CreateQueuePair(REFIID iid, IUnknown* pReceiveCompletionQueue, -+ IUnknown* pInitiatorCompletionQueue, VOID* context, - DWORD receiveQueueDepth, DWORD initiatorQueueDepth, -- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE, -- INDQueuePair** ppQueuePair); -- STDMETHODIMP CreateQueuePairWithSRQ(INDCompletionQueue* pReceiveCompletionQueue, -- INDCompletionQueue* pInitiatorCompletionQueue, -- INDSharedReceiveQueue* pSharedReceiveQueue, VOID* context, -- DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSGE, -- INDQueuePair** ppQueuePair); -- STDMETHODIMP CreateSharedEndpoint(INDSharedEndpoint** ppSharedEndpoint); -- STDMETHODIMP CreateConnector(INDConnector** ppConnector); -- STDMETHODIMP CreateListen(INDListen** ppListen); -+ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSge, -+ VOID** ppQueuePair); -+ STDMETHODIMP CreateQueuePairWithSrq(REFIID, IUnknown* pReceiveCompletionQueue, -+ IUnknown* pInitiatorCompletionQueue, -+ IUnknown* pSharedReceiveQueue, VOID* context, -+ DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSge, -+ VOID** ppQueuePair); -+ STDMETHODIMP CreateSharedEndpoint(REFIID iid, VOID** ppSharedEndpoint); -+ STDMETHODIMP CreateConnector(REFIID iid, VOID** ppConnector); -+ STDMETHODIMP CreateListen(REFIID iid, VOID** ppListen); - - CNDAdapter(CNDProvider *pProvider); - ~CNDAdapter(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDProvider *pProvider, UINT64 adapterId, INDAdapter** ppAdapter) -+ CreateInstance(CNDProvider *pProvider, UINT64 adapterId, VOID** ppAdapter) - { - HRESULT hr; - CNDAdapter *adapter; -diff --git a/trunk/ulp/netdirect2/user/nd_connect.h b/trunk/ulp/netdirect2/user/nd_connect.h -index dd1e142..ea2b12d 100644 ---- a/trunk/ulp/netdirect2/user/nd_connect.h -+++ b/trunk/ulp/netdirect2/user/nd_connect.h -@@ -79,7 +79,7 @@ public: - ~CNDConnector(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDAdapter *pAdapter, INDConnector** ppConnector) -+ CreateInstance(CNDAdapter *pAdapter, VOID** ppConnector) - { - HRESULT hr; - CNDConnector *conn; -diff --git a/trunk/ulp/netdirect2/user/nd_cq.h b/trunk/ulp/netdirect2/user/nd_cq.h -index 1f6af0e..dcca211 100644 ---- a/trunk/ulp/netdirect2/user/nd_cq.h -+++ b/trunk/ulp/netdirect2/user/nd_cq.h -@@ -58,7 +58,7 @@ public: - ~CNDCompletionQueue(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDAdapter *pAdapter, DWORD queueDepth, INDCompletionQueue** ppCq) -+ CreateInstance(CNDAdapter *pAdapter, DWORD queueDepth, VOID** ppCq) - { - HRESULT hr; - CNDCompletionQueue *cq; -diff --git a/trunk/ulp/netdirect2/user/nd_ep.h b/trunk/ulp/netdirect2/user/nd_ep.h -index e33df94..81ec189 100644 ---- a/trunk/ulp/netdirect2/user/nd_ep.h -+++ b/trunk/ulp/netdirect2/user/nd_ep.h -@@ -54,7 +54,7 @@ public: - ~CNDSharedEndpoint(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDAdapter *pAdapter, INDSharedEndpoint** ppSharedEndpoint) -+ CreateInstance(CNDAdapter *pAdapter, VOID** ppSharedEndpoint) - { - HRESULT hr; - CNDSharedEndpoint *ep; -diff --git a/trunk/ulp/netdirect2/user/nd_listen.h b/trunk/ulp/netdirect2/user/nd_listen.h -index d077a3e..83a5b86 100644 ---- a/trunk/ulp/netdirect2/user/nd_listen.h -+++ b/trunk/ulp/netdirect2/user/nd_listen.h -@@ -58,7 +58,7 @@ public: - ~CNDListen(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDAdapter *pAdapter, INDListen** ppListen) -+ CreateInstance(CNDAdapter *pAdapter, VOID** ppListen) - { - HRESULT hr; - CNDListen *listener; -diff --git a/trunk/ulp/netdirect2/user/nd_mw.h b/trunk/ulp/netdirect2/user/nd_mw.h -index 8409a0e..47c18b2 100644 ---- a/trunk/ulp/netdirect2/user/nd_mw.h -+++ b/trunk/ulp/netdirect2/user/nd_mw.h -@@ -56,7 +56,7 @@ public: - ~CNDMemoryRegion(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDAdapter *pAdapter, INDMemoryRegion** ppMemoryRegion) -+ CreateInstance(CNDAdapter *pAdapter, VOID** ppMemoryRegion) - { - HRESULT hr; - CNDMemoryRegion *mr; -@@ -97,7 +97,7 @@ public: - ~CNDMemoryWindow(); - void Delete() {delete this;} - static STDMETHODIMP -- CreateInstance(CNDAdapter *pAdapter, INDMemoryWindow** ppMemoryWindow) -+ CreateInstance(CNDAdapter *pAdapter, VOID** ppMemoryWindow) - { - HRESULT hr; - CNDMemoryWindow *mw; -diff --git a/trunk/ulp/netdirect2/user/nd_provider.cpp b/trunk/ulp/netdirect2/user/nd_provider.cpp -index 92835fd..968193d 100644 ---- a/trunk/ulp/netdirect2/user/nd_provider.cpp -+++ b/trunk/ulp/netdirect2/user/nd_provider.cpp -@@ -148,8 +148,12 @@ ResolveAddress(const struct sockaddr* pAddress, SIZE_T cbAddress, UINT64* pAdapt - } - - STDMETHODIMP CNDProvider:: --OpenAdapter(UINT64 adapterId, INDAdapter** ppAdapter) -+OpenAdapter(REFIID iid, UINT64 adapterId, VOID** ppAdapter) - { -+ if (iid != IID_INDAdapter) { -+ return E_NOINTERFACE; -+ } -+ - return CNDAdapter::CreateInstance(this, adapterId, ppAdapter); - } - -diff --git a/trunk/ulp/netdirect2/user/nd_provider.h b/trunk/ulp/netdirect2/user/nd_provider.h -index 15a74f6..b0e3709 100644 ---- a/trunk/ulp/netdirect2/user/nd_provider.h -+++ b/trunk/ulp/netdirect2/user/nd_provider.h -@@ -49,7 +49,7 @@ public: - SIZE_T* pcbAddressList); - STDMETHODIMP ResolveAddress(const struct sockaddr* pAddress, - SIZE_T cbAddress, UINT64* pAdapterId); -- STDMETHODIMP OpenAdapter(UINT64 adapterId, INDAdapter** ppAdapter); -+ STDMETHODIMP OpenAdapter(REFIID iid, UINT64 adapterId, VOID** ppAdapter); - - CNDProvider(); - ~CNDProvider(); -diff --git a/trunk/ulp/netdirect2/user/nd_qp.h b/trunk/ulp/netdirect2/user/nd_qp.h -index 1d09ddc..3ce320f 100644 ---- a/trunk/ulp/netdirect2/user/nd_qp.h -+++ b/trunk/ulp/netdirect2/user/nd_qp.h -@@ -71,7 +71,7 @@ public: - CNDSharedReceiveQueue *pSharedReceiveQueue, - VOID* context, DWORD receiveQueueDepth, DWORD initiatorQueueDepth, - DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE, -- INDQueuePair** ppQueuePair) -+ VOID** ppQueuePair) - { - HRESULT hr; - CNDQueuePair *qp; -@@ -111,7 +111,7 @@ protected: - CNDCompletionQueue* pInitiatorCompletionQueue, - CNDSharedReceiveQueue *pSharedReceiveQueue, - VOID* context, DWORD receiveQueueDepth, DWORD initiatorQueueDepth, -- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE); -+ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSGE); - STDMETHODIMP_(DWORD) ConvertSendFlags(DWORD Flags); - }; - -diff --git a/trunk/ulp/netdirect2/user/nd_srq.cpp b/trunk/ulp/netdirect2/user/nd_srq.cpp -index e472757..2856763 100644 ---- a/trunk/ulp/netdirect2/user/nd_srq.cpp -+++ b/trunk/ulp/netdirect2/user/nd_srq.cpp -@@ -38,11 +38,10 @@ CNDSharedReceiveQueue::CNDSharedReceiveQueue(CNDAdapter *pAdapter) - } - - STDMETHODIMP CNDSharedReceiveQueue:: --Init(DWORD queueDepth, DWORD maxSGE, DWORD notifyThreshold, GROUP_AFFINITY* pAffinity) -+Init(DWORD queueDepth, DWORD maxSGE, DWORD notifyThreshold, KAFFINITY affinity) - { - HRESULT hr; - -- //??? pAffinity ignored - hr = m_pAdapter->m_pWvPd->CreateSharedReceiveQueue(queueDepth, maxSGE, - notifyThreshold, &m_pWvSrq); - return NDConvertWVStatus(hr); -diff --git a/trunk/ulp/netdirect2/user/nd_srq.h b/trunk/ulp/netdirect2/user/nd_srq.h -index 80f2c4b..c35cc97 100644 ---- a/trunk/ulp/netdirect2/user/nd_srq.h -+++ b/trunk/ulp/netdirect2/user/nd_srq.h -@@ -60,8 +60,8 @@ public: - void Delete() {delete this;} - static STDMETHODIMP - CreateInstance(CNDAdapter *pAdapter, DWORD queueDepth, DWORD maxSGE, -- DWORD notifyThreshold, GROUP_AFFINITY* pAffinity, -- INDSharedReceiveQueue** ppSharedReceiveQueue) -+ DWORD notifyThreshold, KAFFINITY affinity, -+ VOID** ppSharedReceiveQueue) - { - HRESULT hr; - CNDSharedReceiveQueue *srq; -@@ -72,7 +72,7 @@ public: - goto err1; - } - -- hr = srq->Init(queueDepth, maxSGE, notifyThreshold, pAffinity); -+ hr = srq->Init(queueDepth, maxSGE, notifyThreshold, affinity); - if (FAILED(hr)) { - goto err2; - } -@@ -93,7 +93,7 @@ protected: - CNDAdapter *m_pAdapter; - - STDMETHODIMP Init(DWORD queueDepth, DWORD maxSGE, DWORD notifyThreshold, -- GROUP_AFFINITY* pAffinity); -+ KAFFINITY affinity); - }; - - #endif // _ND_SRQ_H_ diff --git a/patches/nd2-provide-update-provider-ap b/patches/nd2-provide-update-provider-ap new file mode 100644 index 00000000..950a434b --- /dev/null +++ b/patches/nd2-provide-update-provider-ap @@ -0,0 +1,406 @@ +Bottom: 06cdce656914daffeb60188020c0cbccef3f6806 +Top: 35779dc2230b0eb4dd48c03129e98b3caee2c9de +Author: Sean Hefty +Date: 2010-07-27 00:09:01 -0700 + +nd2/provide: update provider APIs to match latest spec + +Signed-off-by: Sean Hefty + +--- + +diff --git a/trunk/ulp/netdirect2/user/nd_adapter.cpp b/trunk/ulp/netdirect2/user/nd_adapter.cpp +index 475c1e6..aa4cb92 100644 +--- a/trunk/ulp/netdirect2/user/nd_adapter.cpp ++++ b/trunk/ulp/netdirect2/user/nd_adapter.cpp +@@ -167,80 +167,112 @@ QueryAddressList(SOCKET_ADDRESS_LIST* pAddressList, SIZE_T* pcbAddressList) + } + + STDMETHODIMP CNDAdapter:: +-CreateCompletionQueue(DWORD queueDepth, GROUP_AFFINITY* pAffinity, +- INDCompletionQueue** ppCompletionQueue) ++CreateCompletionQueue(REFIID iid, DWORD queueDepth, USHORT group, KAFFINITY affinity, ++ VOID** ppCompletionQueue) + { + return CNDCompletionQueue::CreateInstance(this, queueDepth, ppCompletionQueue); + } + + STDMETHODIMP CNDAdapter:: +-CreateMemoryRegion(INDMemoryRegion** ppMemoryRegion) ++CreateMemoryRegion(REFIID iid, VOID** ppMemoryRegion) + { ++ if (iid != IID_INDMemoryRegion) { ++ return E_NOINTERFACE; ++ } ++ + return CNDMemoryRegion::CreateInstance(this, ppMemoryRegion); + } + + STDMETHODIMP CNDAdapter:: +-CreateMemoryWindow(INDMemoryWindow** ppMemoryWindow) ++CreateMemoryWindow(REFIID iid, VOID** ppMemoryWindow) + { ++ if (iid != IID_INDMemoryWindow) { ++ return E_NOINTERFACE; ++ } ++ + return CNDMemoryWindow::CreateInstance(this, ppMemoryWindow); + } + + STDMETHODIMP CNDAdapter:: +-CreateSharedReceiveQueue(DWORD queueDepth, DWORD maxSGE, +- DWORD notifyThreshold, GROUP_AFFINITY* pAffinity, +- INDSharedReceiveQueue** ppSharedReceiveQueue) ++CreateSharedReceiveQueue(REFIID iid, DWORD queueDepth, DWORD maxSge, ++ DWORD notifyThreshold, USHORT group, ++ KAFFINITY affinity, VOID** ppSharedReceiveQueue) + { +- return CNDSharedReceiveQueue::CreateInstance(this, queueDepth, maxSGE, +- notifyThreshold, pAffinity, ++ if (iid != IID_INDSharedReceiveQueue) { ++ return E_NOINTERFACE; ++ } ++ ++ return CNDSharedReceiveQueue::CreateInstance(this, queueDepth, maxSge, ++ notifyThreshold, affinity, + ppSharedReceiveQueue); + } + + STDMETHODIMP CNDAdapter:: +-CreateQueuePair(INDCompletionQueue* pReceiveCompletionQueue, +- INDCompletionQueue* pInitiatorCompletionQueue, VOID* context, ++CreateQueuePair(REFIID iid, IUnknown* pReceiveCompletionQueue, ++ IUnknown* pInitiatorCompletionQueue, VOID* context, + DWORD receiveQueueDepth, DWORD initiatorQueueDepth, +- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE, +- INDQueuePair** ppQueuePair) ++ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSge, ++ VOID** ppQueuePair) + { + CNDCompletionQueue *rcq = (CNDCompletionQueue *) pReceiveCompletionQueue; + CNDCompletionQueue *icq = (CNDCompletionQueue *) pInitiatorCompletionQueue; + ++ if (iid != IID_INDQueuePair) { ++ return E_NOINTERFACE; ++ } ++ + return CNDQueuePair::CreateInstance(this, rcq, icq, NULL, + context, receiveQueueDepth, initiatorQueueDepth, +- maxReceiveRequestSGE, maxInitiatorRequestSGE, ++ maxReceiveRequestSge, maxInitiatorRequestSge, + ppQueuePair); + } + + STDMETHODIMP CNDAdapter:: +-CreateQueuePairWithSRQ(INDCompletionQueue* pReceiveCompletionQueue, +- INDCompletionQueue* pInitiatorCompletionQueue, +- INDSharedReceiveQueue* pSharedReceiveQueue, VOID* context, +- DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSGE, +- INDQueuePair** ppQueuePair) ++CreateQueuePairWithSrq(REFIID iid, IUnknown* pReceiveCompletionQueue, ++ IUnknown* pInitiatorCompletionQueue, ++ IUnknown* pSharedReceiveQueue, VOID* context, ++ DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSge, ++ VOID** ppQueuePair) + { + CNDCompletionQueue *rcq = (CNDCompletionQueue *) pReceiveCompletionQueue; + CNDCompletionQueue *icq = (CNDCompletionQueue *) pInitiatorCompletionQueue; + CNDSharedReceiveQueue *srq = (CNDSharedReceiveQueue *) pSharedReceiveQueue; + ++ if (iid != IID_INDQueuePair) { ++ return E_NOINTERFACE; ++ } ++ + return CNDQueuePair::CreateInstance(this, rcq, icq, srq, + context, 0, initiatorQueueDepth, 0, +- maxInitiatorRequestSGE, ppQueuePair); ++ maxInitiatorRequestSge, ppQueuePair); + } + + STDMETHODIMP CNDAdapter:: +-CreateSharedEndpoint(INDSharedEndpoint** ppSharedEndpoint) ++CreateSharedEndpoint(REFIID iid, VOID** ppSharedEndpoint) + { ++ if (iid != IID_INDSharedEndpoint) { ++ return E_NOINTERFACE; ++ } ++ + return CNDSharedEndpoint::CreateInstance(this, ppSharedEndpoint); + } + + STDMETHODIMP CNDAdapter:: +-CreateConnector(INDConnector** ppConnector) ++CreateConnector(REFIID iid, VOID** ppConnector) + { ++ if (iid != IID_INDConnector) { ++ return E_NOINTERFACE; ++ } ++ + return CNDConnector::CreateInstance(this, ppConnector); + } + + STDMETHODIMP CNDAdapter:: +-CreateListen(INDListen** ppListen) ++CreateListen(REFIID iid, VOID** ppListen) + { ++ if (iid != IID_INDListen) { ++ return E_NOINTERFACE; ++ } ++ + return CNDListen::CreateInstance(this, ppListen); + } +diff --git a/trunk/ulp/netdirect2/user/nd_adapter.h b/trunk/ulp/netdirect2/user/nd_adapter.h +index 9821570..941f80a 100644 +--- a/trunk/ulp/netdirect2/user/nd_adapter.h ++++ b/trunk/ulp/netdirect2/user/nd_adapter.h +@@ -49,32 +49,32 @@ public: + STDMETHODIMP_(HANDLE) GetFileHandle(); + STDMETHODIMP Query(ND_ADAPTER_INFO* pInfo, SIZE_T* pcbInfo); + STDMETHODIMP QueryAddressList(SOCKET_ADDRESS_LIST* pAddressList, SIZE_T* pcbAddressList); +- STDMETHODIMP CreateCompletionQueue(DWORD queueDepth, GROUP_AFFINITY* pAffinity, +- INDCompletionQueue** ppCompletionQueue); +- STDMETHODIMP CreateMemoryRegion(INDMemoryRegion** ppMemoryRegion); +- STDMETHODIMP CreateMemoryWindow(INDMemoryWindow** ppMemoryWindow); +- STDMETHODIMP CreateSharedReceiveQueue(DWORD queueDepth, DWORD maxSGE, +- DWORD notifyThreshold, GROUP_AFFINITY* pAffinity, +- INDSharedReceiveQueue** ppSharedReceiveQueue); +- STDMETHODIMP CreateQueuePair(INDCompletionQueue* pReceiveCompletionQueue, +- INDCompletionQueue* pInitiatorCompletionQueue, VOID* context, ++ STDMETHODIMP CreateCompletionQueue(REFIID iid, DWORD queueDepth, USHORT group, ++ KAFFINITY affinity, VOID** ppCompletionQueue); ++ STDMETHODIMP CreateMemoryRegion(REFIID iid, VOID** ppMemoryRegion); ++ STDMETHODIMP CreateMemoryWindow(REFIID iid, VOID** ppMemoryWindow); ++ STDMETHODIMP CreateSharedReceiveQueue(REFIID iid, DWORD queueDepth, DWORD maxSge, ++ DWORD notifyThreshold, USHORT group, ++ KAFFINITY affinity, VOID** ppSharedReceiveQueue); ++ STDMETHODIMP CreateQueuePair(REFIID iid, IUnknown* pReceiveCompletionQueue, ++ IUnknown* pInitiatorCompletionQueue, VOID* context, + DWORD receiveQueueDepth, DWORD initiatorQueueDepth, +- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE, +- INDQueuePair** ppQueuePair); +- STDMETHODIMP CreateQueuePairWithSRQ(INDCompletionQueue* pReceiveCompletionQueue, +- INDCompletionQueue* pInitiatorCompletionQueue, +- INDSharedReceiveQueue* pSharedReceiveQueue, VOID* context, +- DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSGE, +- INDQueuePair** ppQueuePair); +- STDMETHODIMP CreateSharedEndpoint(INDSharedEndpoint** ppSharedEndpoint); +- STDMETHODIMP CreateConnector(INDConnector** ppConnector); +- STDMETHODIMP CreateListen(INDListen** ppListen); ++ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSge, ++ VOID** ppQueuePair); ++ STDMETHODIMP CreateQueuePairWithSrq(REFIID, IUnknown* pReceiveCompletionQueue, ++ IUnknown* pInitiatorCompletionQueue, ++ IUnknown* pSharedReceiveQueue, VOID* context, ++ DWORD initiatorQueueDepth, DWORD maxInitiatorRequestSge, ++ VOID** ppQueuePair); ++ STDMETHODIMP CreateSharedEndpoint(REFIID iid, VOID** ppSharedEndpoint); ++ STDMETHODIMP CreateConnector(REFIID iid, VOID** ppConnector); ++ STDMETHODIMP CreateListen(REFIID iid, VOID** ppListen); + + CNDAdapter(CNDProvider *pProvider); + ~CNDAdapter(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDProvider *pProvider, UINT64 adapterId, INDAdapter** ppAdapter) ++ CreateInstance(CNDProvider *pProvider, UINT64 adapterId, VOID** ppAdapter) + { + HRESULT hr; + CNDAdapter *adapter; +diff --git a/trunk/ulp/netdirect2/user/nd_connect.h b/trunk/ulp/netdirect2/user/nd_connect.h +index dd1e142..ea2b12d 100644 +--- a/trunk/ulp/netdirect2/user/nd_connect.h ++++ b/trunk/ulp/netdirect2/user/nd_connect.h +@@ -79,7 +79,7 @@ public: + ~CNDConnector(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDAdapter *pAdapter, INDConnector** ppConnector) ++ CreateInstance(CNDAdapter *pAdapter, VOID** ppConnector) + { + HRESULT hr; + CNDConnector *conn; +diff --git a/trunk/ulp/netdirect2/user/nd_cq.h b/trunk/ulp/netdirect2/user/nd_cq.h +index 1f6af0e..dcca211 100644 +--- a/trunk/ulp/netdirect2/user/nd_cq.h ++++ b/trunk/ulp/netdirect2/user/nd_cq.h +@@ -58,7 +58,7 @@ public: + ~CNDCompletionQueue(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDAdapter *pAdapter, DWORD queueDepth, INDCompletionQueue** ppCq) ++ CreateInstance(CNDAdapter *pAdapter, DWORD queueDepth, VOID** ppCq) + { + HRESULT hr; + CNDCompletionQueue *cq; +diff --git a/trunk/ulp/netdirect2/user/nd_ep.h b/trunk/ulp/netdirect2/user/nd_ep.h +index e33df94..81ec189 100644 +--- a/trunk/ulp/netdirect2/user/nd_ep.h ++++ b/trunk/ulp/netdirect2/user/nd_ep.h +@@ -54,7 +54,7 @@ public: + ~CNDSharedEndpoint(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDAdapter *pAdapter, INDSharedEndpoint** ppSharedEndpoint) ++ CreateInstance(CNDAdapter *pAdapter, VOID** ppSharedEndpoint) + { + HRESULT hr; + CNDSharedEndpoint *ep; +diff --git a/trunk/ulp/netdirect2/user/nd_listen.h b/trunk/ulp/netdirect2/user/nd_listen.h +index d077a3e..83a5b86 100644 +--- a/trunk/ulp/netdirect2/user/nd_listen.h ++++ b/trunk/ulp/netdirect2/user/nd_listen.h +@@ -58,7 +58,7 @@ public: + ~CNDListen(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDAdapter *pAdapter, INDListen** ppListen) ++ CreateInstance(CNDAdapter *pAdapter, VOID** ppListen) + { + HRESULT hr; + CNDListen *listener; +diff --git a/trunk/ulp/netdirect2/user/nd_mw.h b/trunk/ulp/netdirect2/user/nd_mw.h +index 8409a0e..47c18b2 100644 +--- a/trunk/ulp/netdirect2/user/nd_mw.h ++++ b/trunk/ulp/netdirect2/user/nd_mw.h +@@ -56,7 +56,7 @@ public: + ~CNDMemoryRegion(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDAdapter *pAdapter, INDMemoryRegion** ppMemoryRegion) ++ CreateInstance(CNDAdapter *pAdapter, VOID** ppMemoryRegion) + { + HRESULT hr; + CNDMemoryRegion *mr; +@@ -97,7 +97,7 @@ public: + ~CNDMemoryWindow(); + void Delete() {delete this;} + static STDMETHODIMP +- CreateInstance(CNDAdapter *pAdapter, INDMemoryWindow** ppMemoryWindow) ++ CreateInstance(CNDAdapter *pAdapter, VOID** ppMemoryWindow) + { + HRESULT hr; + CNDMemoryWindow *mw; +diff --git a/trunk/ulp/netdirect2/user/nd_provider.cpp b/trunk/ulp/netdirect2/user/nd_provider.cpp +index 92835fd..968193d 100644 +--- a/trunk/ulp/netdirect2/user/nd_provider.cpp ++++ b/trunk/ulp/netdirect2/user/nd_provider.cpp +@@ -148,8 +148,12 @@ ResolveAddress(const struct sockaddr* pAddress, SIZE_T cbAddress, UINT64* pAdapt + } + + STDMETHODIMP CNDProvider:: +-OpenAdapter(UINT64 adapterId, INDAdapter** ppAdapter) ++OpenAdapter(REFIID iid, UINT64 adapterId, VOID** ppAdapter) + { ++ if (iid != IID_INDAdapter) { ++ return E_NOINTERFACE; ++ } ++ + return CNDAdapter::CreateInstance(this, adapterId, ppAdapter); + } + +diff --git a/trunk/ulp/netdirect2/user/nd_provider.h b/trunk/ulp/netdirect2/user/nd_provider.h +index 15a74f6..b0e3709 100644 +--- a/trunk/ulp/netdirect2/user/nd_provider.h ++++ b/trunk/ulp/netdirect2/user/nd_provider.h +@@ -49,7 +49,7 @@ public: + SIZE_T* pcbAddressList); + STDMETHODIMP ResolveAddress(const struct sockaddr* pAddress, + SIZE_T cbAddress, UINT64* pAdapterId); +- STDMETHODIMP OpenAdapter(UINT64 adapterId, INDAdapter** ppAdapter); ++ STDMETHODIMP OpenAdapter(REFIID iid, UINT64 adapterId, VOID** ppAdapter); + + CNDProvider(); + ~CNDProvider(); +diff --git a/trunk/ulp/netdirect2/user/nd_qp.h b/trunk/ulp/netdirect2/user/nd_qp.h +index 1d09ddc..3ce320f 100644 +--- a/trunk/ulp/netdirect2/user/nd_qp.h ++++ b/trunk/ulp/netdirect2/user/nd_qp.h +@@ -71,7 +71,7 @@ public: + CNDSharedReceiveQueue *pSharedReceiveQueue, + VOID* context, DWORD receiveQueueDepth, DWORD initiatorQueueDepth, + DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE, +- INDQueuePair** ppQueuePair) ++ VOID** ppQueuePair) + { + HRESULT hr; + CNDQueuePair *qp; +@@ -111,7 +111,7 @@ protected: + CNDCompletionQueue* pInitiatorCompletionQueue, + CNDSharedReceiveQueue *pSharedReceiveQueue, + VOID* context, DWORD receiveQueueDepth, DWORD initiatorQueueDepth, +- DWORD maxReceiveRequestSGE, DWORD maxInitiatorRequestSGE); ++ DWORD maxReceiveRequestSge, DWORD maxInitiatorRequestSGE); + STDMETHODIMP_(DWORD) ConvertSendFlags(DWORD Flags); + }; + +diff --git a/trunk/ulp/netdirect2/user/nd_srq.cpp b/trunk/ulp/netdirect2/user/nd_srq.cpp +index e472757..ab0abd3 100644 +--- a/trunk/ulp/netdirect2/user/nd_srq.cpp ++++ b/trunk/ulp/netdirect2/user/nd_srq.cpp +@@ -38,11 +38,10 @@ CNDSharedReceiveQueue::CNDSharedReceiveQueue(CNDAdapter *pAdapter) + } + + STDMETHODIMP CNDSharedReceiveQueue:: +-Init(DWORD queueDepth, DWORD maxSGE, DWORD notifyThreshold, GROUP_AFFINITY* pAffinity) ++Init(DWORD queueDepth, DWORD maxSGE, DWORD notifyThreshold, KAFFINITY affinity) + { + HRESULT hr; + +- //??? pAffinity ignored + hr = m_pAdapter->m_pWvPd->CreateSharedReceiveQueue(queueDepth, maxSGE, + notifyThreshold, &m_pWvSrq); + return NDConvertWVStatus(hr); +@@ -101,6 +100,12 @@ GetOverlappedResult(OVERLAPPED *pOverlapped, BOOL bWait) + } + + STDMETHODIMP CNDSharedReceiveQueue:: ++GetNotifyAffinity(USHORT *pGroup, KAFFINITY* pAffinity) ++{ ++ return ND_NOT_SUPPORTED; ++} ++ ++STDMETHODIMP CNDSharedReceiveQueue:: + Modify(DWORD queueDepth, DWORD notifyThreshold) + { + HRESULT hr; +diff --git a/trunk/ulp/netdirect2/user/nd_srq.h b/trunk/ulp/netdirect2/user/nd_srq.h +index 80f2c4b..79f3dc1 100644 +--- a/trunk/ulp/netdirect2/user/nd_srq.h ++++ b/trunk/ulp/netdirect2/user/nd_srq.h +@@ -51,6 +51,7 @@ public: + STDMETHODIMP GetOverlappedResult(OVERLAPPED *pOverlapped, BOOL bWait); + + // INDSharedReceiveQueue methods ++ STDMETHODIMP GetNotifyAffinity(USHORT *pGroup, KAFFINITY* pAffinity); + STDMETHODIMP Modify(DWORD queueDepth, DWORD notifyThreshold); + STDMETHODIMP Notify(OVERLAPPED* pOverlapped); + STDMETHODIMP Receive(VOID* requestContext, const ND_SGE* pSGE, DWORD nSGE); +@@ -60,8 +61,8 @@ public: + void Delete() {delete this;} + static STDMETHODIMP + CreateInstance(CNDAdapter *pAdapter, DWORD queueDepth, DWORD maxSGE, +- DWORD notifyThreshold, GROUP_AFFINITY* pAffinity, +- INDSharedReceiveQueue** ppSharedReceiveQueue) ++ DWORD notifyThreshold, KAFFINITY affinity, ++ VOID** ppSharedReceiveQueue) + { + HRESULT hr; + CNDSharedReceiveQueue *srq; +@@ -72,7 +73,7 @@ public: + goto err1; + } + +- hr = srq->Init(queueDepth, maxSGE, notifyThreshold, pAffinity); ++ hr = srq->Init(queueDepth, maxSGE, notifyThreshold, affinity); + if (FAILED(hr)) { + goto err2; + } +@@ -93,7 +94,7 @@ protected: + CNDAdapter *m_pAdapter; + + STDMETHODIMP Init(DWORD queueDepth, DWORD maxSGE, DWORD notifyThreshold, +- GROUP_AFFINITY* pAffinity); ++ KAFFINITY affinity); + }; + + #endif // _ND_SRQ_H_ diff --git a/patches/srq b/patches/srq deleted file mode 100644 index 317b0938..00000000 --- a/patches/srq +++ /dev/null @@ -1,41 +0,0 @@ -Bottom: d3479d116ff5a108058c5d9a747892a3388c40a8 -Top: 14f5873cf5f2c53f80d287f3300b462819b45a9a -Author: Sean Hefty -Date: 2010-07-26 17:23:20 -0700 - -nd: update SRQ APIs to match latest ND spec - -Signed-off-by: Sean Hefty - - ---- - -diff --git a/trunk/ulp/netdirect2/user/nd_srq.cpp b/trunk/ulp/netdirect2/user/nd_srq.cpp -index c64b9af..7499617 100644 ---- a/trunk/ulp/netdirect2/user/nd_srq.cpp -+++ b/trunk/ulp/netdirect2/user/nd_srq.cpp -@@ -100,6 +100,12 @@ GetOverlappedResult(OVERLAPPED *pOverlapped, BOOL bWait) - } - - STDMETHODIMP CNDSharedReceiveQueue:: -+GetNotifyAffinity(USHORT *pGroup, KAFFINITY* pAffinity) -+{ -+ return ND_NOT_SUPPORTED; -+} -+ -+STDMETHODIMP CNDSharedReceiveQueue:: - Modify(DWORD queueDepth, DWORD notifyThreshold) - { - HRESULT hr; -diff --git a/trunk/ulp/netdirect2/user/nd_srq.h b/trunk/ulp/netdirect2/user/nd_srq.h -index b4f2058..5384036 100644 ---- a/trunk/ulp/netdirect2/user/nd_srq.h -+++ b/trunk/ulp/netdirect2/user/nd_srq.h -@@ -51,6 +51,7 @@ public: - STDMETHODIMP GetOverlappedResult(OVERLAPPED *pOverlapped, BOOL bWait); - - // INDSharedReceiveQueue methods -+ STDMETHODIMP GetNotifyAffinity(USHORT *pGroup, KAFFINITY* pAffinity); - STDMETHODIMP Modify(DWORD queueDepth, DWORD notifyThreshold); - STDMETHODIMP Notify(OVERLAPPED* pOverlapped); - STDMETHODIMP Receive(VOID* requestContext, const ND_SGE* pSge, DWORD nSge);