TARGETNAME=ibal\r
TARGETPATH=..\..\..\bin\kernel\obj$(BUILD_ALT_DIR)\r
-TARGETTYPE=EXPORT_DRIVER\r
+TARGETTYPE=DRIVER_LIBRARY\r
\r
DLLDEF=al_exports.def\r
\r
al_ci_ca.c \\r
al_cm_cep.c \\r
al_dev.c \\r
- al_driver.c \\r
al_ioc_pnp.c \\r
al_mad_pool.c \\r
al_mgr.c \\r
+++ /dev/null
-/*\r
- * Copyright (c) 2005 SilverStorm Technologies. All rights reserved.\r
- *\r
- * This software is available to you under the OpenIB.org BSD license\r
- * below:\r
- *\r
- * Redistribution and use in source and binary forms, with or\r
- * without modification, are permitted provided that the following\r
- * conditions are met:\r
- *\r
- * - Redistributions of source code must retain the above\r
- * copyright notice, this list of conditions and the following\r
- * disclaimer.\r
- *\r
- * - Redistributions in binary form must reproduce the above\r
- * copyright notice, this list of conditions and the following\r
- * disclaimer in the documentation and/or other materials\r
- * provided with the distribution.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * $Id$\r
- */\r
-\r
-\r
-//\r
-// Provides the driver entry points for the Access Layer.\r
-//\r
-\r
-#include <complib/cl_init.h>\r
-#include "al_init.h"\r
-#include "al_mgr.h"\r
-#include "al_debug.h"\r
-/* Safe string functions. */\r
-#if WINVER == 0x500\r
-/*\r
- * Windows 2000 doesn't support the inline version of safe strings.\r
- * Force the use of the library version of safe strings.\r
- */\r
-#define NTSTRSAFE_LIB\r
-#endif\r
-#include <ntstrsafe.h>\r
-\r
-\r
-#define DEFAULT_NODE_DESC "SilverStorm Technologies Windows® Host"\r
-\r
-\r
-char node_desc[IB_NODE_DESCRIPTION_SIZE];\r
-\r
-\r
-static void\r
-__read_machine_name( void );\r
-\r
-static NTSTATUS\r
-__read_registry(\r
- IN UNICODE_STRING* const p_registry_path );\r
-\r
-NTSTATUS\r
-DriverEntry(\r
- IN DRIVER_OBJECT *p_driver_obj,\r
- IN UNICODE_STRING *p_registry_path );\r
-\r
-NTSTATUS\r
-DllInitialize(\r
- IN UNICODE_STRING *p_registry_path );\r
-\r
-NTSTATUS\r
-DllUnload( void );\r
-\r
-\r
-#ifdef ALLOC_PRAGMA\r
-#pragma alloc_text (INIT, DriverEntry)\r
-#pragma alloc_text (INIT, DllInitialize)\r
-#pragma alloc_text (INIT, __read_machine_name)\r
-#pragma alloc_text (INIT, __read_registry)\r
-#pragma alloc_text (PAGE, DllUnload)\r
-#endif\r
-\r
-\r
-static void\r
-__read_machine_name( void )\r
-{\r
- NTSTATUS status;\r
- /* Remember the terminating entry in the table below. */\r
- RTL_QUERY_REGISTRY_TABLE table[2];\r
- UNICODE_STRING hostNamePath;\r
- UNICODE_STRING hostNameW;\r
- ANSI_STRING hostName;\r
-\r
- AL_ENTER( AL_DBG_DEV );\r
-\r
- /* Get the host name. */\r
- RtlInitUnicodeString( &hostNamePath, L"ComputerName\\ComputerName" );\r
- RtlInitUnicodeString( &hostNameW, NULL );\r
-\r
- /*\r
- * Clear the table. This clears all the query callback pointers,\r
- * and sets up the terminating table entry.\r
- */\r
- cl_memclr( table, sizeof(table) );\r
- cl_memclr( node_desc, sizeof(node_desc) );\r
-\r
- /* Setup the table entries. */\r
- table[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\r
- table[0].Name = L"ComputerName";\r
- table[0].EntryContext = &hostNameW;\r
- table[0].DefaultType = REG_SZ;\r
- table[0].DefaultData = &hostNameW;\r
- table[0].DefaultLength = 0;\r
-\r
- /* Have at it! */\r
- status = RtlQueryRegistryValues( RTL_REGISTRY_CONTROL, \r
- hostNamePath.Buffer, table, NULL, NULL );\r
- if( NT_SUCCESS( status ) )\r
- {\r
- /* Convert the UNICODE host name to UTF-8 (ASCII). */\r
- hostName.Length = 0;\r
- hostName.MaximumLength = sizeof(node_desc);\r
- hostName.Buffer = node_desc;\r
- status = RtlUnicodeStringToAnsiString( &hostName, &hostNameW, FALSE );\r
- RtlFreeUnicodeString( &hostNameW );\r
- }\r
- else\r
- {\r
- AL_TRACE( AL_DBG_ERROR, ("Failed to get host name.\n") );\r
- /* Use the default name... */\r
- RtlStringCbCopyNA( node_desc, sizeof(node_desc),\r
- DEFAULT_NODE_DESC, sizeof(DEFAULT_NODE_DESC) );\r
- }\r
-\r
- AL_EXIT( AL_DBG_DEV );\r
-}\r
-\r
-static NTSTATUS\r
-__read_registry(\r
- IN UNICODE_STRING* const p_registry_path )\r
-{\r
- NTSTATUS status;\r
- /* Remember the terminating entry in the table below. */\r
- RTL_QUERY_REGISTRY_TABLE table[6];\r
- UNICODE_STRING param_path;\r
-\r
- AL_ENTER( AL_DBG_DEV );\r
-\r
- __read_machine_name();\r
-\r
- RtlInitUnicodeString( ¶m_path, NULL );\r
- param_path.MaximumLength = p_registry_path->Length + \r
- sizeof(L"\\Parameters");\r
- param_path.Buffer = cl_zalloc( param_path.MaximumLength );\r
- if( !param_path.Buffer )\r
- {\r
- AL_TRACE_EXIT( AL_DBG_ERROR, \r
- ("Failed to allocate parameters path buffer.\n") );\r
- return STATUS_INSUFFICIENT_RESOURCES;\r
- }\r
-\r
- RtlAppendUnicodeStringToString( ¶m_path, p_registry_path );\r
- RtlAppendUnicodeToString( ¶m_path, L"\\Parameters" );\r
-\r
- /*\r
- * Clear the table. This clears all the query callback pointers,\r
- * and sets up the terminating table entry.\r
- */\r
- cl_memclr( table, sizeof(table) );\r
-\r
- // Setup the table entries.\r
- table[0].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
- table[0].Name = L"DebugFlags";\r
- table[0].EntryContext = &g_al_dbg_lvl;\r
- table[0].DefaultType = REG_DWORD;\r
- table[0].DefaultData = &g_al_dbg_lvl;\r
- table[0].DefaultLength = sizeof(ULONG);\r
-\r
- table[1].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
- table[1].Name = L"SmiPollInterval";\r
- table[1].EntryContext = &g_smi_poll_interval;\r
- table[1].DefaultType = REG_DWORD;\r
- table[1].DefaultData = &g_smi_poll_interval;\r
- table[1].DefaultLength = sizeof(ULONG);\r
-\r
- table[2].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
- table[2].Name = L"IocQueryTimeout";\r
- table[2].EntryContext = &g_ioc_query_timeout;\r
- table[2].DefaultType = REG_DWORD;\r
- table[2].DefaultData = &g_ioc_query_timeout;\r
- table[2].DefaultLength = sizeof(ULONG);\r
-\r
- table[3].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
- table[3].Name = L"IocQueryRetries";\r
- table[3].EntryContext = &g_ioc_query_retries;\r
- table[3].DefaultType = REG_DWORD;\r
- table[3].DefaultData = &g_ioc_query_retries;\r
- table[3].DefaultLength = sizeof(ULONG);\r
-\r
- table[4].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
- table[4].Name = L"IocPollInterval";\r
- table[4].EntryContext = &g_ioc_poll_interval;\r
- table[4].DefaultType = REG_DWORD;\r
- table[4].DefaultData = &g_ioc_poll_interval;\r
- table[4].DefaultLength = sizeof(ULONG);\r
-\r
- /* Have at it! */\r
- status = RtlQueryRegistryValues( RTL_REGISTRY_ABSOLUTE, \r
- param_path.Buffer, table, NULL, NULL );\r
-\r
- cl_free( param_path.Buffer );\r
- AL_EXIT( AL_DBG_DEV );\r
- return status;\r
-}\r
-\r
-\r
-NTSTATUS\r
-DriverEntry(\r
- IN DRIVER_OBJECT *p_driver_obj,\r
- IN UNICODE_STRING *p_registry_path )\r
-{\r
- /* For an export driver, DriverEntry is never called. */\r
- UNUSED_PARAM( p_driver_obj );\r
- UNUSED_PARAM( p_registry_path );\r
-\r
- return STATUS_SUCCESS;\r
-}\r
-\r
-\r
-NTSTATUS\r
-DllInitialize(\r
- IN UNICODE_STRING *p_registry_path )\r
-{\r
- NTSTATUS status;\r
-\r
- AL_ENTER( AL_DBG_DEV );\r
-\r
- status = CL_INIT;\r
- if( !NT_SUCCESS(status) )\r
- {\r
- AL_TRACE_EXIT( AL_DBG_ERROR,\r
- ("cl_init returned %08X.\n", status) );\r
- return status;\r
- }\r
-\r
- /* Get the registry values. */\r
- status = __read_registry( p_registry_path );\r
- if( !NT_SUCCESS(status) )\r
- {\r
- CL_DEINIT;\r
- AL_TRACE_EXIT( AL_DBG_ERROR, \r
- ("__read_registry returned %08x.\n", status) );\r
- return status;\r
- }\r
-\r
- AL_EXIT( AL_DBG_DEV );\r
- return STATUS_SUCCESS;\r
-}\r
-\r
-\r
-NTSTATUS\r
-DllUnload( void )\r
-{\r
- AL_ENTER( AL_DBG_DEV );\r
-\r
- CL_DEINIT;\r
-\r
- AL_EXIT( AL_DBG_DEV );\r
- return STATUS_SUCCESS;\r
-}\r
#include "bus_pnp.h"\r
#include "al_mgr.h"\r
#include "al_dev.h"\r
+#include "al_debug.h"\r
#include <complib/cl_init.h>\r
\r
\r
+#define DEFAULT_NODE_DESC "OpenIB Windows® Host"\r
+\r
+\r
+char node_desc[IB_NODE_DESCRIPTION_SIZE];\r
+\r
bus_globals_t bus_globals = {\r
BUS_DBG_ERROR,\r
TRUE,\r
NULL\r
};\r
\r
+static void\r
+__read_machine_name( void );\r
\r
static NTSTATUS\r
__read_registry(\r
IN DRIVER_OBJECT *p_driver_obj,\r
IN UNICODE_STRING *p_registry_path );\r
\r
+\r
#ifdef ALLOC_PRAGMA\r
#pragma alloc_text (INIT, DriverEntry)\r
+#pragma alloc_text (INIT, __read_machine_name)\r
#pragma alloc_text (INIT, __read_registry)\r
#pragma alloc_text (PAGE, bus_drv_unload)\r
#pragma alloc_text (PAGE, bus_drv_open)\r
#pragma alloc_text (PAGE_PNP, bus_drv_sysctl)\r
#endif\r
\r
+\r
+static void\r
+__read_machine_name( void )\r
+{\r
+ NTSTATUS status;\r
+ /* Remember the terminating entry in the table below. */\r
+ RTL_QUERY_REGISTRY_TABLE table[2];\r
+ UNICODE_STRING hostNamePath;\r
+ UNICODE_STRING hostNameW;\r
+ ANSI_STRING hostName;\r
+\r
+ AL_ENTER( AL_DBG_DEV );\r
+\r
+ /* Get the host name. */\r
+ RtlInitUnicodeString( &hostNamePath, L"ComputerName\\ComputerName" );\r
+ RtlInitUnicodeString( &hostNameW, NULL );\r
+\r
+ /*\r
+ * Clear the table. This clears all the query callback pointers,\r
+ * and sets up the terminating table entry.\r
+ */\r
+ cl_memclr( table, sizeof(table) );\r
+ cl_memclr( node_desc, sizeof(node_desc) );\r
+\r
+ /* Setup the table entries. */\r
+ table[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\r
+ table[0].Name = L"ComputerName";\r
+ table[0].EntryContext = &hostNameW;\r
+ table[0].DefaultType = REG_SZ;\r
+ table[0].DefaultData = &hostNameW;\r
+ table[0].DefaultLength = 0;\r
+\r
+ /* Have at it! */\r
+ status = RtlQueryRegistryValues( RTL_REGISTRY_CONTROL, \r
+ hostNamePath.Buffer, table, NULL, NULL );\r
+ if( NT_SUCCESS( status ) )\r
+ {\r
+ /* Convert the UNICODE host name to UTF-8 (ASCII). */\r
+ hostName.Length = 0;\r
+ hostName.MaximumLength = sizeof(node_desc);\r
+ hostName.Buffer = node_desc;\r
+ status = RtlUnicodeStringToAnsiString( &hostName, &hostNameW, FALSE );\r
+ RtlFreeUnicodeString( &hostNameW );\r
+ }\r
+ else\r
+ {\r
+ AL_TRACE( AL_DBG_ERROR, ("Failed to get host name.\n") );\r
+ /* Use the default name... */\r
+ RtlStringCbCopyNA( node_desc, sizeof(node_desc),\r
+ DEFAULT_NODE_DESC, sizeof(DEFAULT_NODE_DESC) );\r
+ }\r
+\r
+ AL_EXIT( AL_DBG_DEV );\r
+}\r
+\r
+\r
static NTSTATUS\r
__read_registry(\r
IN UNICODE_STRING* const p_registry_path )\r
{\r
NTSTATUS status;\r
/* Remember the terminating entry in the table below. */\r
- RTL_QUERY_REGISTRY_TABLE table[3];\r
+ RTL_QUERY_REGISTRY_TABLE table[8];\r
UNICODE_STRING param_path;\r
\r
BUS_ENTER( BUS_DBG_DRV );\r
\r
+ __read_machine_name();\r
+\r
RtlInitUnicodeString( ¶m_path, NULL );\r
param_path.MaximumLength = p_registry_path->Length + \r
sizeof(L"\\Parameters");\r
table[1].DefaultData = &bus_globals.dbg_lvl;\r
table[1].DefaultLength = sizeof(ULONG);\r
\r
+ table[2].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
+ table[2].Name = L"IbalDebugFlags";\r
+ table[2].EntryContext = &g_al_dbg_lvl;\r
+ table[2].DefaultType = REG_DWORD;\r
+ table[2].DefaultData = &g_al_dbg_lvl;\r
+ table[2].DefaultLength = sizeof(ULONG);\r
+\r
+ table[3].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
+ table[3].Name = L"SmiPollInterval";\r
+ table[3].EntryContext = &g_smi_poll_interval;\r
+ table[3].DefaultType = REG_DWORD;\r
+ table[3].DefaultData = &g_smi_poll_interval;\r
+ table[3].DefaultLength = sizeof(ULONG);\r
+\r
+ table[4].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
+ table[4].Name = L"IocQueryTimeout";\r
+ table[4].EntryContext = &g_ioc_query_timeout;\r
+ table[4].DefaultType = REG_DWORD;\r
+ table[4].DefaultData = &g_ioc_query_timeout;\r
+ table[4].DefaultLength = sizeof(ULONG);\r
+\r
+ table[5].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
+ table[5].Name = L"IocQueryRetries";\r
+ table[5].EntryContext = &g_ioc_query_retries;\r
+ table[5].DefaultType = REG_DWORD;\r
+ table[5].DefaultData = &g_ioc_query_retries;\r
+ table[5].DefaultLength = sizeof(ULONG);\r
+\r
+ table[6].Flags = RTL_QUERY_REGISTRY_DIRECT;\r
+ table[6].Name = L"IocPollInterval";\r
+ table[6].EntryContext = &g_ioc_poll_interval;\r
+ table[6].DefaultType = REG_DWORD;\r
+ table[6].DefaultData = &g_ioc_poll_interval;\r
+ table[6].DefaultLength = sizeof(ULONG);\r
+\r
/* Have at it! */\r
status = RtlQueryRegistryValues( RTL_REGISTRY_ABSOLUTE, \r
param_path.Buffer, table, NULL, NULL );\r
Class=System\r
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}\r
Provider=%OPENIB%\r
-DriverVer=01/12/2006,1.0.0000.213\r
+DriverVer=03/31/2006,1.0.0000.267\r
\r
\r
; ================= Device Install section =====================\r
1=%DiskId%,,,\ia64\r
\r
[SourceDisksFiles.x86]\r
-ibal.sys=1\r
ibbus.sys=1\r
ibiou.sys=1\r
ibal.dll=1\r
complib.dll=1\r
ibald.dll=1\r
complibd.dll=1\r
-datd.dll=1\r
-dat.dll=1\r
-dapld.dll=1\r
-dapl.dll=1\r
\r
[SourceDisksFiles.amd64]\r
-ibal.sys=1\r
ibbus.sys=1\r
ibiou.sys=1\r
ibal.dll=1\r
complib.dll=1\r
ibald.dll=1\r
complibd.dll=1\r
-datd.dll=1\r
-dat.dll=1\r
-dapld.dll=1\r
-dapl.dll=1\r
cl32d.dll=1\r
cl32.dll=1\r
ibal32d.dll=1\r
ibal32.dll=1\r
-dat32d.dll=1\r
-dat32.dll=1\r
-dapl32d.dll=1\r
-dapl32.dll=1\r
\r
[SourceDisksFiles.ia64]\r
-ibal.sys=1\r
ibbus.sys=1\r
ibiou.sys=1\r
ibal.dll=1\r
complib.dll=1\r
ibald.dll=1\r
complibd.dll=1\r
-datd.dll=1\r
-dat.dll=1\r
-dapld.dll=1\r
-dapl.dll=1\r
cl32d.dll=1\r
cl32.dll=1\r
ibal32d.dll=1\r
ibal32.dll=1\r
-dat32d.dll=1\r
-dat32.dll=1\r
-dapl32d.dll=1\r
-dapl32.dll=1\r
\r
[Manufacturer]\r
%OPENIB% = Ibbus.DeviceSection,ntx86,ntamd64,ntia64\r
+%SST% = SST.DeviceSection,ntx86,ntamd64,ntia64\r
\r
[Ibbus.DeviceSection]\r
; empty since we don't support W9x/Me\r
\r
+[Ibbus.DeviceSection.nt]\r
+%Iou.DeviceDesc% = Iou.DDInstall,IBA\IB_IOU\r
+\r
[Ibbus.DeviceSection.ntx86]\r
%Ibbus.DeviceDesc% = Ibbus.DDInstall,{94f41ced-78eb-407c-b5df-958040af0fd8}\r
-%VFx.DeviceDesc% = VFx.DDInstall,IBA\V00066aP0010v000000a1,IBA\V00066aP0010\r
-%VEx.DeviceDesc% = VEx.DDInstall,IBA\V00066aP0008v000000a1,IBA\V00066aP0008\r
-%Iou.DeviceDesc% = Iou.DDInstall,IBA\IB_IOU\r
\r
[Ibbus.DeviceSection.ntamd64]\r
%Ibbus.DeviceDesc% = Ibbus.DDInstall,{94f41ced-78eb-407c-b5df-958040af0fd8}\r
-%VFx.DeviceDesc% = VFx.DDInstall,IBA\V00066aP0010v000000a1,IBA\V00066aP0010\r
-%VEx.DeviceDesc% = VEx.DDInstall,IBA\V00066aP0008v000000a1,IBA\V00066aP0008\r
-%Iou.DeviceDesc% = Iou.DDInstall,IBA\IB_IOU\r
\r
[Ibbus.DeviceSection.ntia64]\r
%Ibbus.DeviceDesc% = Ibbus.DDInstall,{94f41ced-78eb-407c-b5df-958040af0fd8}\r
-%VFx.DeviceDesc% = VFx.DDInstall,IBA\V00066aP0010v000000a1,IBA\V00066aP0010\r
-%VEx.DeviceDesc% = VEx.DDInstall,IBA\V00066aP0008v000000a1,IBA\V00066aP0008\r
-%Iou.DeviceDesc% = Iou.DDInstall,IBA\IB_IOU\r
+\r
+[SST.DeviceSection]\r
+; empty since we don't support W9x/Me\r
+\r
+[SST.DeviceSection.ntx86]\r
+%VFx.DeviceDesc% = Iou.DDInstall,IBA\V00066aP0010v000000a1,IBA\V00066aP0010\r
+%VEx.DeviceDesc% = Iou.DDInstall,IBA\V00066aP0008v000000a1,IBA\V00066aP0008\r
+\r
+[SST.DeviceSection.ntamd64]\r
+%VFx.DeviceDesc% = Iou.DDInstall,IBA\V00066aP0010v000000a1,IBA\V00066aP0010\r
+%VEx.DeviceDesc% = Iou.DDInstall,IBA\V00066aP0008v000000a1,IBA\V00066aP0008\r
+\r
+[SST.DeviceSection.ntia64]\r
+%VFx.DeviceDesc% = Iou.DDInstall,IBA\V00066aP0010v000000a1,IBA\V00066aP0010\r
+%VEx.DeviceDesc% = Iou.DDInstall,IBA\V00066aP0008v000000a1,IBA\V00066aP0008\r
+\r
\r
[Ibbus.DDInstall.ntx86]\r
CopyFiles = Ibbus.CopyFiles\r
\r
[Ibbus.DDInstall.ntx86.Services]\r
AddService = ibbus,%SPSVCINST_ASSOCSERVICE%,Ibbus.ServiceInstall\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[Ibbus.DDInstall.ntamd64.Services]\r
AddService = ibbus,%SPSVCINST_ASSOCSERVICE%,Ibbus.ServiceInstall\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[Ibbus.DDInstall.ntia64.Services]\r
AddService = ibbus,%SPSVCINST_ASSOCSERVICE%,Ibbus.ServiceInstall\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
-\r
-[VFx.DDInstall.nt]\r
-CopyFiles = Iou.CopyFiles\r
-\r
-[VFx.DDInstall.nt.Services]\r
-AddService = ibiou,%SPSVCINST_ASSOCSERVICE%,Iou.ServiceInstall\r
-\r
-[VEx.DDInstall.nt]\r
-CopyFiles = Iou.CopyFiles\r
-\r
-[VEx.DDInstall.nt.Services]\r
-AddService = ibiou,%SPSVCINST_ASSOCSERVICE%,Iou.ServiceInstall\r
\r
[Iou.DDInstall.nt]\r
CopyFiles = Iou.CopyFiles\r
AddService = ibiou,%SPSVCINST_ASSOCSERVICE%,Iou.ServiceInstall\r
\r
[Ibbus.CopyFiles]\r
-ibal.sys\r
ibbus.sys\r
\r
[Ibbus.UMCopyFiles]\r
complib.dll,,,2\r
ibal.dll,,,2\r
-dat.dll,,,2\r
-dapl.dll,,,2\r
complibd.dll,,,2\r
ibald.dll,,,2\r
-datd.dll,,,2\r
-dapld.dll,,,2\r
\r
[Ibbus.WOW64CopyFiles]\r
complib.dll,cl32.dll,,2\r
ibal.dll,ibal32.dll,,2\r
-dat.dll,dat32.dll,,2\r
-dapl.dll,dapl32.dll,,2\r
complibd.dll,cl32d.dll,,2\r
ibald.dll,ibal32d.dll,,2\r
-datd.dll,dat32d.dll,,2\r
-dapld.dll,dapl32d.dll,,2\r
\r
[Iou.CopyFiles]\r
ibiou.sys\r
LoadOrderGroup = extended base\r
AddReg = Ibbus.ParamsReg\r
\r
-[Ibal.ServiceInstall]\r
-DisplayName = %Ibal.ServiceDesc%\r
-ServiceType = %SERVICE_KERNEL_DRIVER%\r
-StartType = %SERVICE_DEMAND_START%\r
-ErrorControl = %SERVICE_ERROR_NORMAL%\r
-ServiceBinary = %12%\ibal.sys\r
-AddReg = Ibal.ParamsReg\r
-\r
[Iou.ServiceInstall]\r
DisplayName = %Iou.ServiceDesc%\r
ServiceType = %SERVICE_KERNEL_DRIVER%\r
[Ibbus.ParamsReg]\r
HKR,"Parameters","DebugFlags",%REG_DWORD%,0x80000000\r
HKR,"Parameters","ReportPortNIC",%REG_DWORD%,1\r
-\r
-[Ibal.ParamsReg]\r
-HKR,"Parameters","DebugFlags",%REG_DWORD_NO_CLOBBER%,0x80000000\r
+HKR,"Parameters","IbalDebugFlags",%REG_DWORD%,0x80000000\r
HKR,"Parameters","SmiPollInterval",%REG_DWORD_NO_CLOBBER%,20000\r
HKR,"Parameters","IocQueryTimeout",%REG_DWORD_NO_CLOBBER%,250\r
HKR,"Parameters","IocQueryRetries",%REG_DWORD_NO_CLOBBER%,4\r
\r
[Strings]\r
OPENIB = "OpenIB Alliance"\r
+SST = "SilverStorm Technologies"\r
Ibbus.DeviceDesc = "InfiniBand Fabric"\r
VFx.DeviceDesc = "SilverStorm VFx"\r
VEx.DeviceDesc = "SilverStorm VEx"\r
-; OpenIB InfiniBand HCAs.\r
+; Mellanox Technologies InfiniBand HCAs.\r
; Copyright 2005 SilverStorm Technologies all Rights Reserved.\r
\r
[Version]\r
Class=InfiniBandHca\r
ClassGUID=%HcaClassGuid%\r
Provider=%OPENIB%\r
-DriverVer=01/12/2006,1.0.0000.213\r
+DriverVer=03/31/2006,1.0.0000.267\r
\r
; ================= Destination directory section =====================\r
\r
\r
[SourceDisksFiles]\r
IbInstaller.dll=1\r
-ibal.sys=1\r
mt23108.sys=1\r
thca.sys=1\r
mt23108u.dll=1\r
\r
[SourceDisksFiles.amd64]\r
IbInstaller.dll=1\r
-ibal.sys=1\r
mt23108.sys=1\r
thca.sys=1\r
mt23108u.dll=1\r
mt23108ud.dll=1\r
-;uvpd32.dll=1\r
-;uvpd32d.dll=1\r
+mtuvp32.dll=1\r
+mtuvp32d.dll=1\r
\r
[SourceDisksFiles.ia64]\r
IbInstaller.dll=1\r
thca.sys=1\r
mt23108u.dll=1\r
mt23108ud.dll=1\r
-;uvpd32.dll=1\r
-;uvpd32d.dll=1\r
+mtuvp32.dll=1\r
+mtuvp32d.dll=1\r
\r
[Manufacturer]\r
-%OPENIB% = HCA.DeviceSection,ntx86,ntamd64,ntia64\r
+%MTL% = HCA.DeviceSection,ntx86,ntamd64,ntia64\r
\r
[HCA.DeviceSection]\r
; empty since we don't support W9x/Me\r
[MT23108.DDInstall.ntx86.Services]\r
AddService = thca,%SPSVCINST_NULL%,THCA.ServiceInstall\r
AddService = mt23108,%SPSVCINST_ASSOCSERVICE%,MT23108.ServiceInstall\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[MT23108.DDInstall.ntamd64.Services]\r
AddService = thca,%SPSVCINST_NULL%,THCA.ServiceInstall\r
AddService = mt23108,%SPSVCINST_ASSOCSERVICE%,MT23108.ServiceInstall\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[MT23108.DDInstall.ntia64.Services]\r
AddService = thca,%SPSVCINST_NULL%,THCA.ServiceInstall\r
AddService = mt23108,%SPSVCINST_ASSOCSERVICE%,MT23108.ServiceInstall\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[MT23108.CopyFiles]\r
-ibal.sys\r
mt23108.sys\r
thca.sys\r
\r
mt23108ud.dll,,,2\r
\r
[MT23108.WOW64CopyFiles]\r
-;mt23108u.dll,uvpd32.dll,,2\r
-;mt23108ud.dll,uvpd32d.dll,,2\r
+mt23108u.dll,mtuvp32.dll,,2\r
+mt23108ud.dll,mtuvp32d.dll,,2\r
\r
;\r
; ============= Service Install section ==============\r
LoadOrderGroup = extended base\r
AddReg = THCA.ParamsReg\r
\r
-[Ibal.ServiceInstall]\r
-DisplayName = %Ibal.ServiceDesc%\r
-ServiceType = %SERVICE_KERNEL_DRIVER%\r
-StartType = %SERVICE_DEMAND_START%\r
-ErrorControl = %SERVICE_ERROR_NORMAL%\r
-ServiceBinary = %12%\ibal.sys\r
-AddReg = Ibal.ParamsReg\r
-\r
[MT23108.FiltersReg]\r
HKR,,"UpperFilters", 0x00010000,"thca"\r
\r
[THCA.ParamsReg]\r
HKR,"Parameters","DebugFlags",%REG_DWORD%,0x80000000\r
\r
-[Ibal.ParamsReg]\r
-HKR,"Parameters","DebugFlags",%REG_DWORD_NO_CLOBBER%,0x80000000\r
-HKR,"Parameters","SmiPollInterval",%REG_DWORD_NO_CLOBBER%,20000\r
-HKR,"Parameters","IocQueryTimeout",%REG_DWORD_NO_CLOBBER%,250\r
-HKR,"Parameters","IocQueryRetries",%REG_DWORD_NO_CLOBBER%,4\r
-HKR,"Parameters","IocPollInterval",%REG_DWORD_NO_CLOBBER%,30000\r
-\r
[Strings]\r
HcaClassGuid = "{58517E00-D3CF-40c9-A679-CEE5752F4491}"\r
OPENIB = "OpenIB Alliance"\r
-MT23108.DeviceDesc = "Mellanox MT23108 InfiniBand HCA"\r
+MTL = "Mellanox Technologies Ltd."\r
MT23108.ServiceDesc = "Mellanox MT23108 InfiniBand HCA Driver"\r
-MT25208.DeviceDesc = "Mellanox MT25208 InfiniBand HCA"\r
-MT25208.ServiceDesc = "Mellanox MT25208 InfiniBand HCA Driver"\r
+MT23108.DeviceDesc = "InfiniHost (MT23108) - Mellanox InfiniBand HCA"\r
+MT25208.DeviceDesc = "InfiniHost (MT25208) - Mellanox InfiniBand HCA for PCI Express"\r
THCA.ServiceDesc = "Mellanox HCA VPD for IBAL"\r
-Ibal.ServiceDesc = "OpenIB InfiniBand Access Layer"\r
DiskId = "OpenIB InfiniBand HCA installation disk"\r
SPSVCINST_NULL = 0x0\r
SPSVCINST_ASSOCSERVICE = 0x00000002\r
SERVICE_DEMAND_START = 3\r
SERVICE_ERROR_NORMAL = 1\r
REG_DWORD = 0x00010001\r
-REG_DWORD_NO_CLOBBER = 0x00010003\r
REG_MULTI_SZ_APPEND = 0x00010008\r
DIRID_SYSTEM = 11\r
DIRID_DRIVERS = 12\r
\r
[SourceDisksFiles]\r
IbInstaller.dll=1\r
-ibal.sys=1\r
mthca.sys=1\r
mthcau.dll=1\r
mthcaud.dll=1\r
\r
[SourceDisksFiles.amd64]\r
IbInstaller.dll=1\r
-ibal.sys=1\r
mthca.sys=1\r
mthcau.dll=1\r
mthcaud.dll=1\r
\r
[SourceDisksFiles.ia64]\r
IbInstaller.dll=1\r
-ibal.sys=1\r
mthca.sys=1\r
mthcau.dll=1\r
mthcaud.dll=1\r
\r
[MTHCA.DDInstall.ntx86.Services]\r
AddService = mthca,%SPSVCINST_ASSOCSERVICE%,MTHCA.ServiceInstall,MTHCA.EventLog\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[MTHCA.DDInstall.ntamd64.Services]\r
AddService = mthca,%SPSVCINST_ASSOCSERVICE%,MTHCA.ServiceInstall,MTHCA.EventLog\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[MTHCA.DDInstall.ntia64.Services]\r
AddService = mthca,%SPSVCINST_ASSOCSERVICE%,MTHCA.ServiceInstall,MTHCA.EventLog\r
-AddService = ibal,%SPSVCINST_NULL%,Ibal.ServiceInstall\r
\r
[MTHCA.CopyFiles]\r
-ibal.sys\r
mthca.sys\r
\r
[MTHCA.UMCopyFiles]\r
LoadOrderGroup = extended base\r
AddReg = MTHCA.ParamsReg\r
\r
-[Ibal.ServiceInstall]\r
-DisplayName = %Ibal.ServiceDesc%\r
-ServiceType = %SERVICE_KERNEL_DRIVER%\r
-StartType = %SERVICE_DEMAND_START%\r
-ErrorControl = %SERVICE_ERROR_NORMAL%\r
-ServiceBinary = %12%\ibal.sys\r
-AddReg = Ibal.ParamsReg\r
-\r
\r
[MTHCA.EventLog]\r
AddReg = MTHCA.AddEventLogReg\r
HKLM,"System\CurrentControlSet\Control\WMI\GlobalLogger\8bf1f640-63fe-4743-b9ef-fa38c695bfde","Flags",%REG_DWORD%,0xffff\r
HKLM,"System\CurrentControlSet\Control\WMI\GlobalLogger\8bf1f640-63fe-4743-b9ef-fa38c695bfde","Level",%REG_DWORD%,0x3\r
\r
-[Ibal.ParamsReg]\r
-HKR,"Parameters","DebugFlags",%REG_DWORD_NO_CLOBBER%,0x80000000\r
-HKR,"Parameters","SmiPollInterval",%REG_DWORD_NO_CLOBBER%,20000\r
-HKR,"Parameters","IocQueryTimeout",%REG_DWORD_NO_CLOBBER%,250\r
-HKR,"Parameters","IocQueryRetries",%REG_DWORD_NO_CLOBBER%,4\r
-HKR,"Parameters","IocPollInterval",%REG_DWORD_NO_CLOBBER%,30000\r
-\r
[Strings]\r
HcaClassGuid = "{58517E00-D3CF-40c9-A679-CEE5752F4491}"\r
MTL="Mellanox Technologies Ltd."\r
-Ibal.ServiceDesc = "Mellanox InfiniBand Access Layer"\r
MTHCA.ServiceDesc = "Driver for Mellanox InfiniHost Devices"\r
MT23108.DeviceDesc="InfiniHost (MT23108) - Mellanox InfiniBand HCA"\r
MT25208.DeviceDesc="InfiniHost (MT25208) - Mellanox InfiniBand HCA for PCI Express"\r
SERVICE_DEMAND_START = 3\r
SERVICE_ERROR_NORMAL = 1\r
REG_DWORD = 0x00010001\r
-REG_DWORD_NO_CLOBBER = 0x00010003\r
REG_MULTI_SZ_APPEND = 0x00010008\r
DIRID_SYSTEM = 11\r
DIRID_DRIVERS = 12\r
#include <complib/cl_types.h>\r
#include <complib/cl_byteswap.h>\r
\r
+#ifdef CL_KERNEL\r
+ #define AL_EXPORT\r
+ #define AL_API\r
+ #define AL_INLINE static inline\r
+#else\r
#if defined( EXPORT_AL_SYMBOLS )\r
#define AL_EXPORT __declspec(dllexport)\r
#else\r
#define AL_EXPORT __declspec(dllimport)\r
#endif\r
-\r
- #ifdef CL_KERNEL\r
- #define AL_API\r
- #define AL_INLINE static inline\r
- #else\r
- #define AL_API __stdcall\r
- #define AL_INLINE AL_EXPORT inline\r
- #endif /* CL_KERNEL */\r
+ #define AL_API __stdcall\r
+ #define AL_INLINE AL_EXPORT inline\r
+#endif /* CL_KERNEL */\r
\r
\r
#ifdef __cplusplus\r
DIRS=\\r
user \\r
- kernel\r
+# kernel\r