[MLX4] This patch loads winverbs and winmad as filter drivers for mlx4_hca and mthca
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Sun, 18 Jan 2009 12:47:00 +0000 (12:47 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Sun, 18 Jan 2009 12:47:00 +0000 (12:47 +0000)
Signed off by stan.smith@intel.com

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1838 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

hw/mlx4/kernel/hca/mlx4_hca.inx
hw/mthca/kernel/mthca.inx

index deae787..06f2343 100644 (file)
@@ -19,9 +19,13 @@ CatalogFile=mlx4_hca.cat
 DefaultDestDir = %DIRID_DRIVERS%\r
 MLX4HCA.UMCopyFiles = %DIRID_SYSTEM%\r
 MLX4HCA.WOW64CopyFiles = %DIRID_SYSTEM_X86%\r
-;Wdf_CoInstaller_CopyFiles = %DIRID_SYSTEM%\r
-Ibal.UMCopyFiles=%DIRID_SYSTEM%\r
-Ibal.WOW64CopyFiles=%DIRID_SYSTEM_X86%\r
+Wdf_CoInstaller_CopyFiles = %DIRID_SYSTEM%\r
+Ibal.UMCopyFiles = %DIRID_SYSTEM%\r
+Ibal.WOW64CopyFiles = %DIRID_SYSTEM_X86%\r
+WinVerbs.CopySysFiles = %DIRID_DRIVERS%\r
+WinVerbs.CopyDllFiles = %DIRID_SYSTEM%\r
+WinMad.CopySysFiles = %DIRID_DRIVERS%\r
+WinMad.CopyDllFiles = %DIRID_SYSTEM%\r
 \r
 \r
 ;*****************************************\r
@@ -36,6 +40,8 @@ HKR,,,,"InfiniBand Channel Adapters"
 HKR,,Icon,,-5\r
 HKR,,SilentInstall,,1\r
 HKR,,"UpperFilters",0x00010000,"ibbus" ; enable IBBUS/AL Filter driver loading.\r
+HKR,,"UpperFilters",0x00010008,"WinVerbs" ; enable winverbs Filter driver load.\r
+HKR,,"UpperFilters",0x00010008,"WinMad"\r
 \r
 \r
 ;*****************************************\r
@@ -55,12 +61,18 @@ HKR,,"UpperFilters",0x00010000,"ibbus"      ; enable IBBUS/AL Filter driver loading.
 mlx4_hca.sys = 1,,\r
 mlx4u.dll = 1,,\r
 mlx4ud.dll = 1,,\r
-;wdfcoinstaller01005.dll = 1,,\r
+WdfCoInstaller01007.dll = 1,,\r
 ibal.dll=1,,\r
 ibald.dll=1,,\r
 complib.dll=1,,\r
 complibd.dll=1,,\r
 ibbus.sys=1,,\r
+winverbs.sys = 1,,\r
+winverbs.dll = 1,,\r
+winverbsd.dll = 1,,\r
+winmad.sys = 1,,\r
+winmad.dll = 1,,\r
+winmadd.dll = 1,,\r
 \r
 [SourceDisksFiles.amd64]\r
 mlx4_hca.sys = 1,,\r
@@ -68,7 +80,7 @@ mlx4u.dll = 1,,
 mlx4ud.dll = 1,,\r
 mlx4u32.dll = 1,,\r
 mlx4u32d.dll = 1,,\r
-;wdfcoinstaller01005.dll = 1,,\r
+WdfCoInstaller01007.dll = 1,,\r
 ibal.dll=1,,\r
 ibald.dll=1,,\r
 complib.dll=1,,\r
@@ -78,6 +90,12 @@ cl32d.dll=1,,
 ibal32.dll=1,,\r
 ibal32d.dll=1,,\r
 ibbus.sys=1,,\r
+winverbs.sys = 1,,\r
+winverbs.dll = 1,,\r
+winverbsd.dll = 1,,\r
+winmad.sys = 1,,\r
+winmad.dll = 1,,\r
+winmadd.dll = 1,,\r
 \r
 [SourceDisksFiles.ia64]\r
 mlx4_hca.sys = 1,,\r
@@ -85,7 +103,7 @@ mlx4u.dll = 1,,
 mlx4ud.dll = 1,,\r
 mlx4u32.dll = 1,,\r
 mlx4u32d.dll = 1,,\r
-;wdfcoinstaller01005.dll = 1,,\r
+WdfCoInstaller01007.dll = 1,,\r
 ibal.dll=1,,\r
 ibald.dll=1,,\r
 complib.dll=1,,\r
@@ -95,6 +113,12 @@ cl32d.dll=1,,
 ibal32.dll=1,,\r
 ibal32d.dll=1,,\r
 ibbus.sys=1,,\r
+winverbs.sys = 1,,\r
+winverbs.dll = 1,,\r
+winverbsd.dll = 1,,\r
+winmad.sys = 1,,\r
+winmad.dll = 1,,\r
+winmadd.dll = 1,,\r
 \r
 \r
 ;*****************************************\r
@@ -121,6 +145,10 @@ CopyFiles = MLX4HCA.CopyFiles
 CopyFiles = MLX4HCA.UMCopyFiles\r
 CopyFiles = Ibal.UMCopyFiles\r
 CopyFiles = Ibbus.CopyFiles\r
+CopyFiles = WinVerbs.CopySysFiles\r
+CopyFiles = WinVerbs.CopyDllFiles\r
+CopyFiles = WinMad.CopySysFiles\r
+CopyFiles = WinMad.CopyDllFiles\r
 \r
 [MLX4HCA.DDInstall.ntamd64]\r
 CopyFiles = MLX4HCA.CopyFiles\r
@@ -129,6 +157,10 @@ CopyFiles = MLX4HCA.WOW64CopyFiles
 CopyFiles = Ibal.UMCopyFiles\r
 CopyFiles = Ibal.WOW64CopyFiles\r
 CopyFiles = Ibbus.CopyFiles\r
+CopyFiles = WinVerbs.CopySysFiles\r
+CopyFiles = WinVerbs.CopyDllFiles\r
+CopyFiles = WinMad.CopySysFiles\r
+CopyFiles = WinMad.CopyDllFiles\r
 \r
 [MLX4HCA.DDInstall.ntia64]\r
 CopyFiles = MLX4HCA.CopyFiles\r
@@ -137,18 +169,29 @@ CopyFiles = MLX4HCA.WOW64CopyFiles
 CopyFiles = Ibal.UMCopyFiles\r
 CopyFiles = Ibal.WOW64CopyFiles\r
 CopyFiles = Ibbus.CopyFiles\r
+CopyFiles = WinVerbs.CopySysFiles\r
+CopyFiles = WinVerbs.CopyDllFiles\r
+CopyFiles = WinMad.CopySysFiles\r
+CopyFiles = WinMad.CopyDllFiles\r
+\r
 \r
 [MLX4HCA.DDInstall.ntx86.Services]\r
 AddService = mlx4_hca,%SPSVCINST_ASSOCSERVICE%,MLX4HCA.ServiceInstall,MLX4HCA.EventLog\r
 AddService = ibbus,,Ibbus.ServiceInstall\r
+AddService = WinVerbs,,WinVerbs.ServiceInstall\r
+AddService = WinMad,,WinMad.ServiceInstall\r
 \r
 [MLX4HCA.DDInstall.ntamd64.Services]\r
 AddService = mlx4_hca,%SPSVCINST_ASSOCSERVICE%,MLX4HCA.ServiceInstall,MLX4HCA.EventLog\r
 AddService = ibbus,,Ibbus.ServiceInstall\r
+AddService = WinVerbs,,WinVerbs.ServiceInstall\r
+AddService = WinMad,,WinMad.ServiceInstall\r
 \r
 [MLX4HCA.DDInstall.ntia64.Services]\r
 AddService = mlx4_hca,%SPSVCINST_ASSOCSERVICE%,MLX4HCA.ServiceInstall,MLX4HCA.EventLog\r
 AddService = ibbus,,Ibbus.ServiceInstall\r
+AddService = WinVerbs,,WinVerbs.ServiceInstall\r
+AddService = WinMad,,WinMad.ServiceInstall\r
 \r
 \r
 ;*****************************************\r
@@ -181,6 +224,20 @@ complibd.dll,cl32d.dll,,2
 [Ibbus.CopyFiles]\r
 ibbus.sys\r
 \r
+[WinVerbs.CopySysFiles]\r
+winverbs.sys\r
+\r
+[WinVerbs.CopyDllFiles]\r
+winverbs.dll,,,2\r
+winverbsd.dll,,,2\r
+\r
+[WinMad.CopySysFiles]\r
+winmad.sys\r
+\r
+[WinMad.CopyDllFiles]\r
+winmad.dll,,,2\r
+winmadd.dll,,,2\r
+\r
 \r
 ;*****************************************\r
 ; MLX4HCA Service Install section\r
@@ -235,6 +292,32 @@ HKR,"Parameters","IocPollInterval",%REG_DWORD_NO_CLOBBER%,30000
 HKR,"Parameters","DebugFlags",%REG_DWORD%,0x80000000\r
 HKR,"Parameters","ReportPortNIC",%REG_DWORD%,1\r
 \r
+;*****************************************\r
+; WinVerbs Service Install section\r
+;*****************************************\r
+\r
+[WinVerbs.ServiceInstall]\r
+DisplayName = %WinVerbs.ServiceDesc%\r
+ServiceType = %SERVICE_KERNEL_DRIVER%\r
+StartType = %SERVICE_DEMAND_START%\r
+ErrorControl = %SERVICE_ERROR_NORMAL%\r
+ServiceBinary  = %12%\winverbs.sys\r
+LoadOrderGroup = PNP Filter\r
+Dependencies   = ibbus\r
+\r
+;*****************************************\r
+; WinMad Service Install section\r
+;*****************************************\r
+\r
+[WinMad.ServiceInstall]\r
+DisplayName = %WinMad.ServiceDesc%\r
+ServiceType = %SERVICE_KERNEL_DRIVER%\r
+StartType = %SERVICE_DEMAND_START%\r
+ErrorControl = %SERVICE_ERROR_NORMAL%\r
+ServiceBinary  = %12%\winmad.sys\r
+LoadOrderGroup = PNP Filter\r
+Dependencies   = winverbs\r
+\r
 \r
 ;*****************************************\r
 ; Uninstall section (not used now)\r
@@ -249,6 +332,10 @@ DelReg     = ClassAddReg
 DelFiles   = Ibal.UMCopyFiles\r
 DelFiles   = Ibbus.CopyFiles\r
 DelReg     = Ibbus.ParamsReg\r
+DelFiles   = WinVerbs.CopySysFiles\r
+DelFiles   = WinVerbs.CopyDllFiles\r
+DelFiles   = WinMad.CopySysFiles\r
+DelFiles   = WinMad.CopyDllFiles\r
 \r
 [DefaultUninstall.ntamd64]\r
 DelFiles   = MLX4HCA.CopyFiles\r
@@ -261,6 +348,10 @@ DelFiles   = Ibal.UMCopyFiles
 DelFiles   = Ibal.WOW64CopyFiles\r
 DelFiles   = Ibbus.CopyFiles\r
 DelReg     = Ibbus.ParamsReg\r
+DelFiles   = WinVerbs.CopySysFiles\r
+DelFiles   = WinVerbs.CopyDllFiles\r
+DelFiles   = WinMad.CopySysFiles\r
+DelFiles   = WinMad.CopyDllFiles\r
 \r
 [DefaultUninstall.ntia64]\r
 DelFiles   = MLX4HCA.CopyFiles\r
@@ -273,50 +364,59 @@ DelFiles   = Ibal.UMCopyFiles
 DelFiles   = Ibal.WOW64CopyFiles\r
 DelFiles   = Ibbus.CopyFiles\r
 DelReg     = Ibbus.ParamsReg\r
+DelFiles   = WinVerbs.CopySysFiles\r
+DelFiles   = WinVerbs.CopyDllFiles\r
+DelFiles   = WinMad.CopySysFiles\r
+DelFiles   = WinMad.CopyDllFiles\r
 \r
 [DefaultUninstall.Services]\r
+DelService = WinMad,%SPSVCINST_STOPSERVICE%\r
+DelService = WinVerbs,%SPSVCINST_STOPSERVICE%\r
 DelService = Ibbus,%SPSVCINST_STOPSERVICE%\r
 DelService = mlx4_hca,%SPSVCINST_STOPSERVICE%\r
 \r
 \r
 ;\r
-; The below section is temporarily disabled.\r
 ; It should be uncommented after returning MLX4_HCA to WDF model.\r
+; WinVerbs is a WDF, KMDF driver.\r
 ;\r
 \r
 ;*****************************************\r
 ; WDF Coinstaller installation section\r
 ;*****************************************\r
 \r
-;[MLX4HCA.DDInstall.ntx86.CoInstallers]\r
-;AddReg=Wdf_CoInstaller_AddReg\r
-;CopyFiles=Wdf_CoInstaller_CopyFiles\r
+[MLX4HCA.DDInstall.ntx86.CoInstallers]\r
+AddReg=Wdf_CoInstaller_AddReg\r
+CopyFiles=Wdf_CoInstaller_CopyFiles\r
 \r
-;[MLX4HCA.DDInstall.ntamd64.CoInstallers]\r
-;AddReg=Wdf_CoInstaller_AddReg\r
-;CopyFiles=Wdf_CoInstaller_CopyFiles\r
+[MLX4HCA.DDInstall.ntamd64.CoInstallers]\r
+AddReg=Wdf_CoInstaller_AddReg\r
+CopyFiles=Wdf_CoInstaller_CopyFiles\r
 \r
-;[MLX4HCA.DDInstall.ntia64.CoInstallers]\r
-;AddReg=Wdf_CoInstaller_AddReg\r
-;CopyFiles=Wdf_CoInstaller_CopyFiles\r
+[MLX4HCA.DDInstall.ntia64.CoInstallers]\r
+AddReg=Wdf_CoInstaller_AddReg\r
+CopyFiles=Wdf_CoInstaller_CopyFiles\r
 \r
-;[Wdf_CoInstaller_AddReg]\r
-;HKR,,CoInstallers32,0x00010000, "wdfcoinstaller01005.dll,WdfCoInstaller"\r
+[Wdf_CoInstaller_AddReg]\r
+HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01007.dll,WdfCoInstaller"\r
 \r
-;[Wdf_CoInstaller_CopyFiles]\r
-;wdfcoinstaller01005.dll\r
+[Wdf_CoInstaller_CopyFiles]\r
+WdfCoInstaller01007.dll\r
 \r
-;[MLX4HCA.DDInstall.ntx86.Wdf]\r
-;KmdfService = mlx4_hca, mlx4_hca_wdfsect\r
+[MLX4HCA.DDInstall.ntx86.Wdf]\r
+KmdfService = WinVerbs,WvWdfSect\r
+KmdfService = WinMad,WvWdfSect\r
 \r
-;[MLX4HCA.DDInstall.ntamd64.Wdf]\r
-;KmdfService = mlx4_hca, mlx4_hca_wdfsect\r
+[MLX4HCA.DDInstall.ntamd64.Wdf]\r
+KmdfService = WinVerbs,WvWdfSect\r
+KmdfService = WinMad,WvWdfSect\r
 \r
-;[MLX4HCA.DDInstall.ntia64.Wdf]\r
-;KmdfService = mlx4_hca, mlx4_hca_wdfsect\r
+[MLX4HCA.DDInstall.ntia64.Wdf]\r
+KmdfService = WinVerbs,WvWdfSect\r
+KmdfService = WinMad,WvWdfSect\r
 \r
-;[mlx4_hca_wdfsect]\r
-;KmdfLibraryVersion = 1.5\r
+[WvWdfSect]\r
+KmdfLibraryVersion = 1.7\r
 \r
 \r
 ;*****************************************\r
@@ -328,12 +428,15 @@ Mlx4HcaClassGuid = "{31B0B28A-26FF-4dca-A6FA-E767C7DFBA20}"
 MTL="Mellanox Technologies Ltd."\r
 MLX4HCA.ServiceDesc = "Mellanox ConnectX Virtual Infiband Driver"\r
 Ibbus.ServiceDesc = "InfiniBand Bus/AL (Filter Driver)"\r
+WinVerbs.ServiceDesc = "WinVerbs Service"\r
+WinMad.ServiceDesc = "WinMad Service"\r
 Mlx4_Hca.DeviceDesc="Mellanox ConnectX Virtual Channel Adapter"\r
 DiskId = "Mellanox Mlx4 HCA installation disk"\r
-SPSVCINST_NULL = 0x0\r
+SPSVCINST_NULL         = 0x0\r
 SPSVCINST_ASSOCSERVICE = 0x00000002\r
 SPSVCINST_STOPSERVICE  = 0x00000200\r
 SERVICE_KERNEL_DRIVER  = 1\r
+SERVICE_BOOT_START     = 0\r
 SERVICE_DEMAND_START   = 3\r
 SERVICE_ERROR_NORMAL   = 1\r
 REG_DWORD              = 0x00010001\r
index 3aa6a6a..49b6370 100644 (file)
@@ -18,6 +18,12 @@ MTHCA.UMCopyFiles=%DIRID_SYSTEM%
 MTHCA.WOW64CopyFiles=%DIRID_SYSTEM_X86%\r
 Ibal.UMCopyFiles=%DIRID_SYSTEM%\r
 Ibal.WOW64CopyFiles=%DIRID_SYSTEM_X86%\r
+WinVerbs.CopySysFiles = %DIRID_DRIVERS%\r
+WinVerbs.CopyDllFiles = %DIRID_SYSTEM%\r
+WinMad.CopySysFiles = %DIRID_DRIVERS%\r
+WinMad.CopyDllFiles = %DIRID_SYSTEM%\r
+Wdf_CoInstaller_CopyFiles = %DIRID_SYSTEM%\r
+\r
 \r
 ; ================= Class Install section =====================\r
 \r
@@ -28,7 +34,9 @@ AddReg=ClassAddReg
 HKR,,,,"InfiniBand Channel Adapters"\r
 HKR,,Icon,,-5\r
 HKR,,SilentInstall,,1\r
-HKR,,"UpperFilters",0x00010000,"ibbus" ; enable IBBUS/AL Filter driver loading.\r
+HKR,,"UpperFilters",0x00010000,"ibbus" ; enable IBBUS/AL Filter driver load.\r
+HKR,,"UpperFilters",0x00010008,"WinVerbs" ; enable winverbs Filter driver load.\r
+HKR,,"UpperFilters",0x00010008,"WinMad"\r
 \r
 \r
 ; ================= Device Install section =====================\r
@@ -51,6 +59,14 @@ complib.dll=1,,
 ibald.dll=1,,\r
 complibd.dll=1,,\r
 ibbus.sys=1,,\r
+winverbs.sys = 1,,\r
+winverbs.dll = 1,,\r
+winverbsd.dll = 1,,\r
+winmad.sys = 1,,\r
+winmad.dll = 1,,\r
+winmadd.dll = 1,,\r
+WdfCoInstaller01007.dll = 1,,\r
+\r
 \r
 [SourceDisksFiles.amd64]\r
 mthca.sys=1,,\r
@@ -67,6 +83,13 @@ cl32d.dll=1,,
 ibal32.dll=1,,\r
 ibal32d.dll=1,,\r
 ibbus.sys=1,,\r
+winverbs.sys = 1,,\r
+winverbs.dll = 1,,\r
+winverbsd.dll = 1,,\r
+winmad.sys = 1,,\r
+winmad.dll = 1,,\r
+winmadd.dll = 1,,\r
+WdfCoInstaller01007.dll = 1,,\r
 \r
 [SourceDisksFiles.ia64]\r
 mthca.sys=1,,\r
@@ -83,6 +106,13 @@ cl32d.dll=1,,
 ibal32.dll=1,,\r
 ibal32d.dll=1,,\r
 ibbus.sys=1,,\r
+winverbs.sys = 1,,\r
+winverbs.dll = 1,,\r
+winverbsd.dll = 1,,\r
+winmad.sys = 1,,\r
+winmad.dll = 1,,\r
+winmadd.dll = 1,,\r
+WdfCoInstaller01007.dll = 1,,\r
 \r
 [Manufacturer]\r
 %MTL% = HCA.DeviceSection,ntx86,ntamd64,ntia64\r
@@ -128,6 +158,10 @@ CopyFiles = MTHCA.CopyFiles
 CopyFiles = MTHCA.UMCopyFiles\r
 CopyFiles = Ibal.UMCopyFiles\r
 CopyFiles = Ibbus.CopyFiles\r
+CopyFiles = WinVerbs.CopySysFiles\r
+CopyFiles = WinVerbs.CopyDllFiles\r
+CopyFiles = WinMad.CopySysFiles\r
+CopyFiles = WinMad.CopyDllFiles\r
 \r
 [MTHCA.DDInstall.ntamd64]\r
 CopyFiles = MTHCA.CopyFiles\r
@@ -136,6 +170,10 @@ CopyFiles = MTHCA.WOW64CopyFiles
 CopyFiles = Ibal.UMCopyFiles\r
 CopyFiles = Ibal.WOW64CopyFiles\r
 CopyFiles = Ibbus.CopyFiles\r
+CopyFiles = WinVerbs.CopySysFiles\r
+CopyFiles = WinVerbs.CopyDllFiles\r
+CopyFiles = WinMad.CopySysFiles\r
+CopyFiles = WinMad.CopyDllFiles\r
 \r
 [MTHCA.DDInstall.ntia64]\r
 CopyFiles = MTHCA.CopyFiles\r
@@ -144,6 +182,10 @@ CopyFiles = MTHCA.WOW64CopyFiles
 CopyFiles = Ibal.UMCopyFiles\r
 CopyFiles = Ibal.WOW64CopyFiles\r
 CopyFiles = Ibbus.CopyFiles\r
+CopyFiles = WinVerbs.CopySysFiles\r
+CopyFiles = WinVerbs.CopyDllFiles\r
+CopyFiles = WinMad.CopySysFiles\r
+CopyFiles = WinMad.CopyDllFiles\r
 \r
 \r
 ; ============== Services ==============\r
@@ -151,14 +193,20 @@ CopyFiles = Ibbus.CopyFiles
 [MTHCA.DDInstall.ntx86.Services]\r
 AddService = mthca,%SPSVCINST_ASSOCSERVICE%,MTHCA.ServiceInstall,MTHCA.EventLog\r
 AddService = ibbus,,Ibbus.ServiceInstall\r
+AddService = WinVerbs,,WinVerbs.ServiceInstall\r
+AddService = WinMad,,WinMad.ServiceInstall\r
 \r
 [MTHCA.DDInstall.ntamd64.Services]\r
 AddService = mthca,%SPSVCINST_ASSOCSERVICE%,MTHCA.ServiceInstall,MTHCA.EventLog\r
 AddService = ibbus,,Ibbus.ServiceInstall\r
+AddService = WinVerbs,,WinVerbs.ServiceInstall\r
+AddService = WinMad,,WinMad.ServiceInstall\r
 \r
 [MTHCA.DDInstall.ntia64.Services]\r
 AddService = mthca,%SPSVCINST_ASSOCSERVICE%,MTHCA.ServiceInstall,MTHCA.EventLog\r
 AddService = ibbus,,Ibbus.ServiceInstall\r
+AddService = WinVerbs,,WinVerbs.ServiceInstall\r
+AddService = WinMad,,WinMad.ServiceInstall\r
 \r
 \r
 ; ============= File Copy ==============\r
@@ -189,6 +237,19 @@ complibd.dll,cl32d.dll,,2
 [Ibbus.CopyFiles]\r
 ibbus.sys\r
 \r
+[WinVerbs.CopySysFiles]\r
+winverbs.sys\r
+\r
+[WinVerbs.CopyDllFiles]\r
+winverbs.dll,,,2\r
+winverbsd.dll,,,2\r
+\r
+[WinMad.CopySysFiles]\r
+winmad.sys\r
+\r
+[WinMad.CopyDllFiles]\r
+winmad.dll,,,2\r
+winmadd.dll,,,2\r
 \r
 ; ============= MTHCA Service Install section ==============\r
 \r
@@ -246,6 +307,65 @@ HKR,"Parameters","DebugFlags",%REG_DWORD%,0x80000000
 HKR,"Parameters","ReportPortNIC",%REG_DWORD%,1\r
 \r
 \r
+; ============= WinVerbs Service Install section ==============\r
+\r
+[WinVerbs.ServiceInstall]\r
+DisplayName = %WinVerbs.ServiceDesc%\r
+ServiceType = %SERVICE_KERNEL_DRIVER%\r
+StartType = %SERVICE_DEMAND_START%\r
+ErrorControl = %SERVICE_ERROR_NORMAL%\r
+ServiceBinary  = %12%\winverbs.sys\r
+LoadOrderGroup = PNP Filter\r
+Dependencies   = ibbus\r
+\r
+; ============= WinMad Service Install section ==============\r
+\r
+[WinMad.ServiceInstall]\r
+DisplayName = %WinMad.ServiceDesc%\r
+ServiceType = %SERVICE_KERNEL_DRIVER%\r
+StartType = %SERVICE_DEMAND_START%\r
+ErrorControl = %SERVICE_ERROR_NORMAL%\r
+ServiceBinary  = %12%\winmad.sys\r
+LoadOrderGroup = PNP Filter\r
+Dependencies   = winverbs\r
+\r
+\r
+; ============= KMDF CoInstaller section ==============\r
+\r
+[MTHCA.DDInstall.ntx86.CoInstallers]\r
+AddReg = Wdf_CoInstaller_AddReg\r
+CopyFiles = Wdf_CoInstaller_CopyFiles\r
+\r
+[MTHCA.DDInstall.ntamd64.CoInstallers]\r
+AddReg = Wdf_CoInstaller_AddReg\r
+CopyFiles = Wdf_CoInstaller_CopyFiles\r
+\r
+[MTHCA.DDInstall.ntia64.CoInstallers]\r
+AddReg = Wdf_CoInstaller_AddReg\r
+CopyFiles = Wdf_CoInstaller_CopyFiles\r
+\r
+[Wdf_CoInstaller_AddReg]\r
+HKR,, CoInstallers32,0x00010000, "WdfCoInstaller01007.dll,WdfCoInstaller"\r
+\r
+[Wdf_CoInstaller_CopyFiles]\r
+WdfCoInstaller01007.dll\r
+\r
+[MTHCA.DDInstall.ntx86.Wdf]\r
+KmdfService = WinVerbs, WvWdfSect\r
+KmdfService = WinMad, WvWdfSect\r
+\r
+[MTHCA.DDInstall.ntamd64.Wdf]\r
+KmdfService = WinVerbs, WvWdfSect\r
+KmdfService = WinMad, WvWdfSect\r
+\r
+[MTHCA.DDInstall.ntia64.Wdf]\r
+KmdfService = WinVerbs, WvWdfSect\r
+KmdfService = WinMad, WvWdfSect\r
+\r
+[WvWdfSect]\r
+KmdfLibraryVersion = 1.7\r
+\r
+\r
 ; ============= Uninstall Section =============\r
 \r
 [DefaultUninstall.ntx86]\r
@@ -257,6 +377,10 @@ DelReg     = ClassAddReg
 DelFiles   = Ibal.UMCopyFiles\r
 DelFiles   = Ibbus.CopyFiles\r
 DelReg     = Ibbus.ParamsReg\r
+DelFiles   = WinVerbs.CopySysFiles\r
+DelFiles   = WinVerbs.CopyDllFiles\r
+DelFiles   = WinMad.CopySysFiles\r
+DelFiles   = WinMad.CopyDllFiles\r
 \r
 [DefaultUninstall.ntamd64]\r
 DelFiles   = MTHCA.CopyFiles\r
@@ -269,6 +393,10 @@ DelFiles   = Ibal.UMCopyFiles
 DelFiles   = Ibal.WOW64CopyFiles\r
 DelFiles   = Ibbus.CopyFiles\r
 DelReg     = Ibbus.ParamsReg\r
+DelFiles   = WinVerbs.CopySysFiles\r
+DelFiles   = WinVerbs.CopyDllFiles\r
+DelFiles   = WinMad.CopySysFiles\r
+DelFiles   = WinMad.CopyDllFiles\r
 \r
 [DefaultUninstall.ntia64]\r
 DelFiles   = MTHCA.CopyFiles\r
@@ -281,8 +409,14 @@ DelFiles   = Ibal.UMCopyFiles
 DelFiles   = Ibal.WOW64CopyFiles\r
 DelFiles   = Ibbus.CopyFiles\r
 DelReg     = Ibbus.ParamsReg\r
+DelFiles   = WinVerbs.CopySysFiles\r
+DelFiles   = WinVerbs.CopyDllFiles\r
+DelFiles   = WinMad.CopySysFiles\r
+DelFiles   = WinMad.CopyDllFiles\r
 \r
 [DefaultUninstall.Services]\r
+DelService = WinMad,%SPSVCINST_STOPSERVICE%\r
+DelService = WinVerbs,%SPSVCINST_STOPSERVICE%\r
 DelService = Ibbus,%SPSVCINST_STOPSERVICE%\r
 DelService = mthca,%SPSVCINST_STOPSERVICE%\r
 \r
@@ -303,10 +437,13 @@ MT25204.DeviceDesc="InfiniHost III Lx (MT25204) - Mellanox InfiniBand HCA for PC
 MT25205.DeviceDesc="InfiniHost III Lx (MT25205) - Mellanox InfiniBand HCA for PCI Express (burner device)"\r
 DiskId = "Mellanox InfiniBand HCA installation disk"\r
 Ibbus.ServiceDesc = "InfiniBand Bus/AL (Filter Driver)"\r
-SPSVCINST_NULL = 0x0\r
+WinVerbs.ServiceDesc = "WinVerbs Service"\r
+WinMad.ServiceDesc = "WinMad Service"\r
+SPSVCINST_NULL         = 0x0\r
 SPSVCINST_ASSOCSERVICE = 0x00000002\r
 SPSVCINST_STOPSERVICE  = 0x00000200\r
 SERVICE_KERNEL_DRIVER  = 1\r
+SERVICE_BOOT_START     = 0\r
 SERVICE_DEMAND_START   = 3\r
 SERVICE_ERROR_NORMAL   = 1\r
 REG_DWORD              = 0x00010001\r