One note to all developers using this drivers.
 
Working with a boot driver should be fine if the driver is fine.
 
However, a developer might face the following issues with a bad driver
(for example a driver that crashes on DriverEntry() ):
 
1) The 2008 machine will not boot if drivers are not signed. (connected
to a kernel debugger or not).
2) kd files will not map our drivers at boot.
3) Bus driver has been started even if we were running in safe mode.
 
All this problems can be avoided by turning the drivers to demand start
(instead of boot start).
 
See the attached registry file for an example of how to disable the boot
loading.
 
Thanks
Tzachi
 


________________________________

        From: Leonid Keller 
        Sent: Sunday, May 03, 2009 4:08 PM
        To: James Yang; Tzachi Dar
        Cc: [email protected]
        Subject: RE: Patch to support boot disk
        
        
        Applied in 2146, thank you.


________________________________

                From: James Yang [mailto:[email protected]] 
                Sent: Thursday, April 30, 2009 3:18 AM
                To: Leonid Keller; Tzachi Dar
                Cc: [email protected]
                Subject: Patch to support boot disk
                
                

                Hi,

                 

                In order to support boot from IB, we need to make all
the drivers to be boot driver. Also registry "StaticChild" should not be
changed after driver update if it's modified. Please review the patch.

                 

                Thanks,

                James

                 

                Index: hw/mlx4/kernel/hca/mlx4_hca.inx

        
===================================================================

                --- hw/mlx4/kernel/hca/mlx4_hca.inx        (revision
2139)

                +++ hw/mlx4/kernel/hca/mlx4_hca.inx     (working copy)

                @@ -246,7 +246,7 @@

                 [MLX4HCA.ServiceInstall]

                 DisplayName     = %MLX4HCA.ServiceDesc%

                 ServiceType     = %SERVICE_KERNEL_DRIVER%

                -StartType       = %SERVICE_DEMAND_START%

                +StartType       = %SERVICE_BOOT_START%

                 ErrorControl    = %SERVICE_ERROR_NORMAL%

                 ServiceBinary   = %12%\mlx4_hca.sys

                 LoadOrderGroup  = extended base

                @@ -275,7 +275,7 @@

                 [Ibbus.ServiceInstall]

                 DisplayName     = %Ibbus.ServiceDesc%

                 ServiceType     = %SERVICE_KERNEL_DRIVER%

                -StartType       = %SERVICE_DEMAND_START%

                +StartType       = %SERVICE_BOOT_START%

                 ErrorControl    = %SERVICE_ERROR_NORMAL%

                 ServiceBinary   = %12%\ibbus.sys

                 LoadOrderGroup  = PnP Filter

                @@ -292,7 +292,7 @@

                 HKR,"Parameters","DebugFlags",%REG_DWORD%,0x80000000

                 HKR,"Parameters","ReportPortNIC",%REG_DWORD%,1

                 

                -HKR,"Parameters","StaticChild",%REG_MULTI_SZ%,IPoIB

        
+HKR,"Parameters","StaticChild",%REG_MULTI_SZ_NO_CLOBBER%,IPoIB

                 ;use the following line to add your device

        
;HKR,"Parameters","StaticChild",%REG_MULTI_SZ_APPEND%,"XsigoBus"

                 

                @@ -315,7 +315,7 @@

                 [WinVerbs.ServiceInstall]

                 DisplayName = %WinVerbs.ServiceDesc%

                 ServiceType = %SERVICE_KERNEL_DRIVER%

                -StartType = %SERVICE_DEMAND_START%

                +StartType = %SERVICE_BOOT_START%

                 ErrorControl = %SERVICE_ERROR_NORMAL%

                 ServiceBinary  = %12%\winverbs.sys

                 LoadOrderGroup = PNP Filter

                @@ -328,7 +328,7 @@

                 [WinMad.ServiceInstall]

                 DisplayName = %WinMad.ServiceDesc%

                 ServiceType = %SERVICE_KERNEL_DRIVER%

                -StartType = %SERVICE_DEMAND_START%

                +StartType = %SERVICE_BOOT_START%

                 ErrorControl = %SERVICE_ERROR_NORMAL%

                 ServiceBinary  = %12%\winmad.sys

                 LoadOrderGroup = PNP Filter

                @@ -455,6 +455,7 @@

                 REG_DWORD              = 0x00010001

                 REG_DWORD_NO_CLOBBER   = 0x00010003

                 REG_MULTI_SZ                  = 0x00010000

                +REG_MULTI_SZ_NO_CLOBBER        = 0x00010002

                 REG_MULTI_SZ_APPEND    = 0x00010008

                 DIRID_SYSTEM           = 11

                 DIRID_DRIVERS          = 12

                Index: hw/mthca/kernel/mthca.inx

        
===================================================================

                --- hw/mthca/kernel/mthca.inx     (revision 2139)

                +++ hw/mthca/kernel/mthca.inx  (working copy)

                @@ -256,7 +256,7 @@

                 [MTHCA.ServiceInstall]

                 DisplayName     = %MTHCA.ServiceDesc%

                 ServiceType     = %SERVICE_KERNEL_DRIVER%

                -StartType       = %SERVICE_DEMAND_START%

                +StartType       = %SERVICE_BOOT_START%

                 ErrorControl    = %SERVICE_ERROR_NORMAL%

                 ServiceBinary   = %12%\mthca.sys

                 LoadOrderGroup  = extended base

                @@ -289,7 +289,7 @@

                 [Ibbus.ServiceInstall]

                 DisplayName     = %Ibbus.ServiceDesc%

                 ServiceType     = %SERVICE_KERNEL_DRIVER%

                -StartType       = %SERVICE_DEMAND_START%

                +StartType       = %SERVICE_BOOT_START%

                 ErrorControl    = %SERVICE_ERROR_NORMAL%

                 ServiceBinary   = %12%\ibbus.sys

                 LoadOrderGroup  = PnP Filter

                @@ -306,7 +306,7 @@

                 HKR,"Parameters","DebugFlags",%REG_DWORD%,0x80000000

                 HKR,"Parameters","ReportPortNIC",%REG_DWORD%,1

                 

                -HKR,"Parameters","StaticChild",%REG_MULTI_SZ%,IPoIB

        
+HKR,"Parameters","StaticChild",%REG_MULTI_SZ_NO_CLOBBER%,IPoIB

                 ;use the following line to add your device

        
;HKR,"Parameters","StaticChild",%REG_MULTI_SZ_APPEND%,"XsigoBus"

                 

                @@ -327,7 +327,7 @@

                 [WinVerbs.ServiceInstall]

                 DisplayName = %WinVerbs.ServiceDesc%

                 ServiceType = %SERVICE_KERNEL_DRIVER%

                -StartType = %SERVICE_DEMAND_START%

                +StartType = %SERVICE_BOOT_START%

                 ErrorControl = %SERVICE_ERROR_NORMAL%

                 ServiceBinary  = %12%\winverbs.sys

                 LoadOrderGroup = PNP Filter

                @@ -338,7 +338,7 @@

                 [WinMad.ServiceInstall]

                 DisplayName = %WinMad.ServiceDesc%

                 ServiceType = %SERVICE_KERNEL_DRIVER%

                -StartType = %SERVICE_DEMAND_START%

                +StartType = %SERVICE_BOOT_START%

                 ErrorControl = %SERVICE_ERROR_NORMAL%

                 ServiceBinary  = %12%\winmad.sys

                 LoadOrderGroup = PNP Filter

                @@ -464,6 +464,7 @@

                 REG_DWORD              = 0x00010001

                 REG_DWORD_NO_CLOBBER   = 0x00010003

                 REG_MULTI_SZ                  = 0x00010000

                +REG_MULTI_SZ_NO_CLOBBER        = 0x00010002

                 REG_MULTI_SZ_APPEND    = 0x00010008

                 DIRID_SYSTEM           = 11

                 DIRID_DRIVERS          = 12

Attachment: mlx4_start_on_demand.re_
Description: mlx4_start_on_demand.re_

_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to