Follow up on the PnP questions. The port driver must be handling them
because they never hit my StartIo function.
On Tue, Mar 22, 2011 at 12:34 PM, Robert Randall
wrote:
> Many thanks. ?I was able to turn on the debug output for the pci bus
> driver and for storport.
>
> I belive I have a correct stack trace now. ?I am still experiencing
> the same problem.
>
> I am going to instrument my PnP routines a bit more. ?The request for
> a minor of 18 is curious.
>
> I can’t find an IRP_MN_PNP of 0x18.
>
> The stack appears to be stuck waiting for a DPC as part of the
> PerfOpts initialization which
> appears to be occuring at passive given the function name.
>
> I have heard from other sources that the Flag
> STOR_PERF_INTERRUPT_MESSAGE_RANGES
> is MANDATORY for MSI-X messages to work properly.
>
> STORport is NOT setting this flag when the PerfOpts are queried.
>
> Can anyone confirm what I have heard?
>
> Thanks for your attention.
>
> Best regards,
> Robert Randall
>
> Debug output:
>
> fffff80002080490 cc ? ? ? ? ? ? ?int ? ? 3<br>> kd> .reload /f<br>> Connected to Windows 7 7601 x64 target at (Tue Mar 22 11:25:28.456<br>> 2011 (GMT-5)), ptr64 TRUE<br>> Loading Kernel Symbols<br>> ......................................***ERROR: Module load completed<br>> but symbols could not be loaded for spldr.sys<br>> ....<br>> Loading User Symbols<br>><br>> kd> x nt!Kd_STOR*<br>> fffff800
02211214 nt!Kd_STORMINIPORT_Mask =
> fffff800022110d8 nt!Kd_STORPROP_Mask = <no type information><br>> fffff800
02211210 nt!Kd_STORPORT_Mask =
> fffff800022112d0 nt!Kd_STORVSP_Mask = <no type information><br>> kd> ed nt!Kd_STORPORT_Mask 0xffffffff<br>> kd> ed nt!Kd_STORMINIPORT_Mask 0xffffffff<br>> kd> g<br>><br>> After this there is a bit of noise since the iSCSI initiator is installed...<br>><br>> 2 FFFFFA8003CE4040 DriverEntry 62 Storport Driver - Built Mar 21 2011 16:27:22<br>> 2 FFFFFA8003CE4040 DriverEntry 65 System has 0x1 NUMA nodes<br>> 2 FFFFFA8003CE4040 DriverEntry 67 Driver running on NUMA node 0x0 NUMA<br>> 2 FFFFFA8003CE4040 DriverEntry 70 Driver running on processor 0x2 in group 0x0<br>> STOR: RaidPortInitialize: DriverObject=FFFFFA80044795F0,<br>> RegistryPath=FFFFFA800447C000, HwInitData=FFFFF880027551D0,<br>> HwContext=0000000000000000<br>> STOR: AddDevice: DriverObject FFFFFA80044795F0, PhysicalDeviceObject<br>> FFFFFA800479C9C0<br>> STOR: DeviceObject FFFFFA800447C060, Irp FFFFFA8007B319A0 PnP, Minor 18<br>> STOR: Adapter FFFFFA800447C1B0, Irp FFFFFA8007B319A0, Pnp 18<br>> STOR: Adapter FFFFFA800447C1B0, Irp FFFFFA8007B319A0, Pnp 18 ret = c00000bb<br>> STOR: DeviceObject FFFFFA800447C060, Irp FFFFFA8007B319A0 PnP, ret = c00000bb<br>> STOR: DeviceObject FFFFFA800447C060, Irp FFFFFA8007B319A0 PnP, Minor d<br>> STOR: Adapter FFFFFA800447C1B0, Irp FFFFFA8007B319A0, Pnp d<br>> STOR: Adapter FFFFFA800447C1B0, Irp FFFFFA8007B319A0, Pnp d ret = 0<br>> STOR: DeviceObject FFFFFA800447C060, Irp FFFFFA8007B319A0 PnP, ret = 00000000<br>> STOR: DeviceObject FFFFFA800447C060, Irp FFFFFA8007B319A0 PnP, Minor 0<br>> STOR: Adapter FFFFFA800447C1B0, Irp FFFFFA8007B319A0, Pnp 0<br>> STOR: Adapter FFFFFA800447C1B0, Irp FFFFFA8007B319A0, Pnp StartDevice<br>> 0 FFFFFA8003CE4040 FindAdapter 157 entry<br>> 0 FFFFFA8003CE4040 FindAdapter 281 exit<br>> 3 FFFFFA8003CE4040 Initialize 309 entry<br>> 3 FFFFFA8003CE4040 Initialize 310 assuming no MSI support<br>> 3 FFFFFA8003CE4040 Initialize 312 Checking for MSI support using<br>> StorPortGetMSIInfo<br>> STOR: StorPortExtendedFunction: Function code: 13<br>> STOR: StorPortExtendedFunction: Function code: 13<br>> STOR: StorPortExtendedFunction: Function code: 13<br>> <repeats times for each msi-x message found which is correct><br>> 3 FFFFFA8003CE4040 Initialize 327 found 256 MSI-X interrupts available<br>> STOR: StorPortExtendedFunction: Function code: 14<br>> Break instruction exception - code 80000003 (first chance)<br>> Initialize+0x2bb:<br>> fffff880
053eaa1b cc ? ? ? ? ? ? ?int ? ? 3
> 3: kd> p
> Initialize+0x2bc:
> fffff880053eaa1c 488b442440 ? ? ?mov ? ? rax,qword ptr [rsp+40h]<br>> 3: kd> p<br>> 3 FFFFFA8003CE4040 Initialize 380 PerfOpts flags available<br>> ? ? ? ? STOR_PERF_DPC_REDIRECTION yes<br>> ? ? ? ? STOR_PERF_CONCURRENT_CHANNELS yes<br>> ? ? ? ? STOR_PERF_INTERRUPT_MESSAGE_RANGES no<br>> ? ? ? ? STOR_PERF_OPTIMIZE_FOR_COMPLETION_DURING_STARTIO no<br>> ? ? ? ? STOR_PERF_ADV_CONFIG_LOCALITY no<br>> Initialize+0x3fb:<br>> fffff880
053eab5b 488b442440 ? ? ?mov ? ? rax,qword ptr [rsp+40h]
> 3: kd> p
> Initialize+0x488:
> fffff880053eabe8 ba28000000 ? ? ?mov ? ? edx,28h<br>> 3: kd> g<br>> 3 FFFFFA8003CE4040 Initialize 413 requesting use of 3 MSI-X interrupts<br>> STOR: StorPortExtendedFunction: Function code: 14<br>> 3 FFFFFA8003CE4040 Initialize 454 StorPortInitializePerfOpts Flags<br>> driver is USING<br>> ? ? ? ? STOR_PERF_DPC_REDIRECTION yes<br>> ? ? ? ? STOR_PERF_CONCURRENT_CHANNELS no<br>> ? ? ? ? STOR_PERF_INTERRUPT_MESSAGE_RANGES no<br>> ? ? ? ? STOR_PERF_OPTIMIZE_FOR_COMPLETION_DURING_STARTIO no<br>> ? ? ? ? STOR_PERF_ADV_CONFIG_LOCALITY no<br>> 3 FFFFFA8003CE4040 Initialize 455 Driver is using MSI-X MessageNumbers<br>> 0 through 2<br>> 3 FFFFFA8003CE4040 Initialize 456 StorPortInitializePerfOpts was successful<br>> 3 FFFFFA8003CE4040 Initialize 468 setting up passive init<br>> 3 FFFFFA8003CE4040 Initialize 475 exit<br>> 3 FFFFFA8003CE4040 PassiveInitialize 502 entry<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1192 entry MessageID 0<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1246 exit<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1192 entry MessageID 0<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1246 exit<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1192 entry MessageID 0<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1246 exit<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1192 entry MessageID 0<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1246 exit<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1192 entry MessageID 0<br>> 3 FFFFFA8003CE4040 PassiveInitialize 529 exit<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1246 exit<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1192 entry MessageID 0<br>> 6 FFFFF88001FEE2C0 MsiInterrupt 1246 exit<br>> nt!RtlpBreakWithStatusInstruction:<br>> fffff800
02085490 cc ? ? ? ? ? ? ?int ? ? 3
> 0: kd> .reload /f
> Connected to Windows 7 7601 x64 target at (Tue Mar 22 11:45:30.580
> 2011 (GMT-5)), ptr64 TRUE
> Loading Kernel Symbols
> …*** ERROR: Module load completed
> but symbols could not be loaded for spldr.sys
> …
> … ERROR: Module load completed but symbols could not be
> loaded for astgrp.sys
> … WARNING: Unable to verify
> timestamp for ASTGRV.dll
> ERROR: Module load completed but symbols could not be loaded for ASTGRV.dll
> … ERROR: Module load completed but symbols could not be
> loaded for peauth.sys
> .*** ERROR: Module load completed but symbols could not be loaded for secdrv.SYS
> …
> Loading User Symbols
>
> Loading unloaded module list
> …
> 14: kd> ~3
> 3: kd> kv
> Child-SP ? ? ? ? ?RetAddr ? ? ? ? ? : Args to Child
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? : Call Site
> fffff88002755558 fffff880
0344ad26 : 0000000000000001<br>> 00000000
00002000 fffffa800447c1b0 00000000
00000000 :
> nt!KiDpcInterrupt+0x10 (TrapFrame @ fffff880027553f0)<br>> fffff880
02755580 fffff8800344a81f : fffffa80
0447c1b0
> fffffa800447c1b0 00000000
00000000 0000000000000000 :<br>> storport!RaidInitializePerfOptsPassive+0x3ca<br>> fffff880
02755600 fffff880034a71c5 : fffffa80
0447c1b0
> fffffa8003dcd940 fffff8a0
01bd2000 fffffa800447c1b0 :<br>> storport!RaidAdapterStartMiniport+0x23f<br>> fffff880
02755670 fffff880034a6cf9 : fffffa80
0447c1b0
> fffffa8007b319a0 fffffa80
0447c1b0 0000000000000000 :<br>> storport!RaidAdapterStartDeviceIrp+0x185<br>> fffff880
027556d0 fffff880034a8b5d : fffffa80
0447c1b0
> fffffa8007b319a0 fffffa80
07b319a0 fffffa800447c060 :<br>> storport!RaidAdapterPnpIrp+0x2fd<br>> fffff880
02755750 fffff8000244417e : fffffa80
0447c060
> fffffa8007b319a0 fffffa80
07b319a0 fffffa800447c060 :<br>> storport!RaDriverPnpIrp+0x139<br>> fffff880
02755790 fffff8000217ab2d : fffffa80
0479c9c0
> fffffa8007c580e0 fffff800
02184250 0000000000000000 :<br>> nt!PnpAsynchronousCall+0xce<br>> fffff880
027557d0 fffff800024534c6 : fffff800
02289200
> fffffa800479b6e0 fffffa80
07c580e0 fffffa800479b888 :<br>> nt!PnpStartDevice+0x11d<br>> fffff880
02755890 fffff80002453764 : fffffa80
0479b6e0
> fffffa800479003e fffffa80
0479b6e0 0000000000000001 :<br>> nt!PnpStartDeviceNode+0x156<br>> fffff880
02755920 fffff80002476e96 : fffffa80
0479b6e0
> fffffa800479b6e0 00000000
00000000 0000000000000000 :<br>> nt!PipProcessStartPhase1+0x74<br>> fffff880
02755950 fffff80002477287 : fffffa80
0479b6e0
> 0000000000000000 00000000
00000001 fffff800022f8c38 :<br>> nt!PipProcessDevNodeTree+0x296<br>> fffff880
02755bc0 fffff80002186b83 : 00000001
00000003
> 0000000000000000 00000000
00000001 0000000000000000 :<br>> nt!PiRestartDevice+0xc7<br>> fffff880
02755c10 fffff80002097a21 : fffff800
02186870
> fffff80002383f01 fffffa80
03ce4000 fffffa8003ce4040 :<br>> nt!PnpDeviceActionWorker+0x313<br>> fffff880
02755cb0 fffff8000232acce : 00000000
00000000
> fffffa8003ce4040 00000000
00000080 fffffa8003cd1040 :<br>> nt!ExpWorkerThread+0x111<br>> fffff880
02755d40 fffff8000207efe6 : fffff880
020a3180
> fffffa8003ce4040 fffff880
020ae2c0 0000000000000000 :<br>> nt!PspSystemThreadStartup+0x5a<br>> fffff880
02755d80 0000000000000000 : fffff880
02756000
> fffff88002750000 fffff880
02753210 00000000`00000000 :
> nt!KxStartSystemThread+0x167
>
>
> –
> Robert Randall | xxxxx@gmail.com
>
–
Robert Randall | xxxxx@gmail.com