ACPI!ACPIBuildProcessRunMethodPhaseRecurse函数分析根节点下循环了10次调试记录
NTSTATUS
ACPIBuildProcessRunMethodPhaseRecurse(
IN PACPI_BUILD_REQUEST BuildRequest
)
{
for(childExtension = ACPIExtListStartEnum(&eled);
ACPIExtListTestElement(&eled, (BOOLEAN) NT_SUCCESS(status));
childExtension = ACPIExtListEnumNext(&eled)) {
//
// Make a request to run the control method on this child
//
status = ACPIBuildRunMethodRequest(
childExtension,
NULL,
NULL,
BuildRequest->RunRequest.ControlMethodName,
BuildRequest->RunRequest.Flags,
FALSE
);
}
0: kd> kc
00 ACPI!ACPIBuildProcessRunMethodPhaseRecurse
01 ACPI!ACPIBuildProcessGenericList
02 ACPI!ACPIBuildDeviceDpc
03 nt!KiRetireDpcList
04 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
05 0x0
0: kd> dv
BuildRequest = 0x89906e30
childExtension = 0x89906e30
deviceExtension = 0x00000346
eled = struct EXTENSIONLIST_ENUMDATA
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906e30 -r
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
+0x000 Flink : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
+0x000 Flink : 0x89906e30 _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
+0x004 Blink : 0x89906e30 _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
+0x004 Blink : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
+0x000 Flink : 0x89906e30 _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
+0x004 Blink : 0x89906e30 _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0xc
+0x00c UFlags : __unnamed
+0x000 Device : 0y0
+0x000 Sync : 0y0
+0x000 Run : 0y1
+0x000 ReleaseReference : 0y1
+0x000 Reserved1 : 0y00000000 (0)
+0x000 ValidTarget : 0y0
+0x000 Reserved2 : 0y0000000000000000000 (0)
+0x010 WorkDone : 1
+0x014 CurrentWorkDone : 6
+0x018 NextWorkDone : 2
+0x01c BuildContext : 0x89981a18 Void
+0x020 Status : 0n0
+0x024 CurrentObject : 0x899afccc _NSObj
+0x000 list : _List
+0x000 plistPrev : 0x899afc88 _List
+0x004 plistNext : 0x899aff4c _List
+0x008 pnsParent : 0x899af0f0 _NSObj
+0x000 list : _List
+0x008 pnsParent : 0x899af024 _NSObj
+0x00c pnsFirstChild : 0x899af474 _NSObj
+0x010 dwNameSeg : 0x5f42535f
+0x014 hOwner : (null)
+0x018 pnsOwnedNext : (null)
+0x01c ObjData : _ObjData
+0x030 Context : 0x89981a18 Void
+0x034 dwRefCount : 0
+0x00c pnsFirstChild : (null)
+0x010 dwNameSeg : 0x494e495f
+0x014 hOwner : 0x899af330 Void
+0x018 pnsOwnedNext : 0x899afc88 _NSObj
+0x000 list : _List
+0x008 pnsParent : 0x899af0f0 _NSObj
+0x00c pnsFirstChild : (null)
+0x010 dwNameSeg : 0x47414c46
+0x014 hOwner : 0x899af330 Void
+0x018 pnsOwnedNext : 0x899afc44 _NSObj
+0x01c ObjData : _ObjData
+0x030 Context : (null)
+0x034 dwRefCount : 0
+0x01c ObjData : _ObjData
+0x000 dwfData : 0
+0x002 dwDataType : 8
+0x004 dwRefCount : 0
+0x004 pdataBase : (null)
+0x008 dwDataValue : 0
+0x008 uipDataValue : 0
+0x008 pnsAlias : (null)
+0x008 pdataAlias : (null)
+0x008 powner : (null)
+0x00c dwDataLen : 0x230
+0x010 pbDataBuff : 0x899afd10 ""
+0x030 Context : (null)
+0x034 dwRefCount : 0
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x000 ResultData : _ObjData
+0x000 dwfData : 0x495f
+0x002 dwDataType : 0x494e
+0x004 dwRefCount : 7
+0x004 pdataBase : 0x00000007 _ObjData
+0x008 dwDataValue : 0
+0x008 uipDataValue : 0
+0x008 pnsAlias : (null)
+0x008 pdataAlias : (null)
+0x008 powner : (null)
+0x00c dwDataLen : 0
+0x010 pbDataBuff : (null)
+0x030 RunRequest : __unnamed
+0x000 ControlMethodName : 0x494e495f
+0x000 ControlMethodNameAsUchar : [4] "_INI"
+0x004 Flags : 7
+0x004 UFlags : __unnamed
+0x000 CheckStatus : 0y1
+0x000 MarkIni : 0y1
+0x000 Recursive : 0y1
+0x000 CheckWakeCount : 0y0
+0x000 RegOn : 0y0
+0x000 RegOff : 0y0
+0x000 StopAtBridges : 0y0
+0x000 Reserved : 0y0000000000000000000000000 (0)
+0x030 SynchronizeRequest : __unnamed
+0x000 SynchronizeListEntry : 0x494e495f _LIST_ENTRY
+0x000 Flink : ????
+0x004 Blink : ????
+0x004 SynchronizeMethodName : 7
+0x004 SynchronizeMethodNameAsUchar : [4] "???"
+0x008 Flags : 0
+0x008 UFlags : __unnamed
+0x000 HasMethod : 0y0
+0x000 Reserved : 0y0000000000000000000000000000000 (0)
+0x044 Integer : 0xf
+0x044 String : 0x0000000f "--- memory read error at address 0x0000000f ---"
+0x044 TargetListEntry : 0x0000000f _LIST_ENTRY
+0x000 Flink : ????
+0x004 Blink : ????
Memory read error 00000013
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0xf743b890 - 0xf743b890 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0xf743b890 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0xf743b890 \[Type: _LIST_ENTRY \*
第一个:
0: kd> gu
Breakpoint 9 hit
eax=899c0d01 ebx=00000000 ecx=899c0ea0 edx=89981b58 esi=89906e30 edi=00000000
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> kc
00 ACPI!ACPIBuildRunMethodRequest
01 ACPI!ACPIBuildProcessRunMethodPhaseRecurse
02 ACPI!ACPIBuildProcessGenericList
03 ACPI!ACPIBuildDeviceDpc
04 nt!KiRetireDpcList
05 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
06 0x0
0: kd> dv
DeviceExtension = 0x899c0d58
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x899c0d58)
((ACPI!_DEVICE_EXTENSION *)0x899c0d58) : 0x899c0d58 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x899affac \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x899affac
899affac 4c ff 9a 89 ac 40 9b 89-f0 f0 9a 89 24 00 9b 89 L....@......$...
899affbc 50 43 49 30 30 f3 9a 89-4c ff 9a 89 00 00 06 00 PCI00...L.......
899affcc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899affdc 58 0d 9c 89 00 00 00 00-48 4f 52 47 34 00 00 00 X.......HORG4...
899affec 00 f0 9a 89 50 00 00 00-30 00 00 00 02 00 00 00 ....P...0.......
899afffc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b000c 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
899b001c 44 00 00 00 00 f0 9a 89-64 a0 91 89 68 00 9b 89 D.......d...h...
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000000
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906d70 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d70 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906d70
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0xf743b890 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899c0d58 Void +0x01c BuildContext : 0x899c0d58
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
0: kd> gu
Breakpoint 9 hit
eax=899ae001 ebx=00000000 ecx=899ae150 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906d20 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d20 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d70)
((ACPI!_LIST_ENTRY *)0x89906d70) : 0x89906d70 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906d20 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0xf743b890 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906d20
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906d70 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899ae008 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x899ae008)
((ACPI!_DEVICE_EXTENSION *)0x899ae008) : 0x899ae008 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x899b4518 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x899b4518
899b4518 70 44 9b 89 04 48 9b 89-f0 f0 9a 89 5c 45 9b 89 pD...H......\E..
899b4528 42 41 54 31 30 f3 9a 89-70 44 9b 89 00 00 06 00 BAT10...pD......
899b4538 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4548 08 e0 9a 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899b4558 00 f0 9a 89 84 47 9b 89-a0 45 9b 89 18 45 9b 89 .....G...E...E..
899b4568 00 00 00 00 5f 48 49 44-30 f3 9a 89 18 45 9b 89 ...._HID0....E..
899b4578 00 00 01 00 00 00 00 00-41 d0 0c 0a 00 00 00 00 ........A.......
899b4588 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
第三个:
0: kd> gu
Breakpoint 9 hit
eax=899aee01 ebx=00000000 ecx=899aefa0 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x899aee58
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x899aee58)
((ACPI!_DEVICE_EXTENSION *)0x899aee58) : 0x899aee58 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x899b4804 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x899b4804
899b4804 18 45 9b 89 70 4a 9b 89-f0 f0 9a 89 48 48 9b 89 .E..pJ......HH..
899b4814 42 41 54 32 30 f3 9a 89-84 47 9b 89 00 00 06 00 BAT20....G......
899b4824 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4834 58 ee 9a 89 00 00 00 00-48 4e 53 4f 44 00 00 00 X.......HNSOD...
899b4844 00 f0 9a 89 08 4a 9b 89-8c 48 9b 89 04 48 9b 89 .....J...H...H..
899b4854 00 00 00 00 5f 48 49 44-30 f3 9a 89 04 48 9b 89 ...._HID0....H..
899b4864 00 00 01 00 00 00 00 00-41 d0 0c 0a 00 00 00 00 ........A.......
899b4874 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906cd0 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906cd0 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d70)
((ACPI!_LIST_ENTRY *)0x89906d70) : 0x89906d70 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906d20 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0xf743b890 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d20)
((ACPI!_LIST_ENTRY *)0x89906d20) : 0x89906d20 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906cd0 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d70 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906cd0)
((ACPI!_LIST_ENTRY *)0x89906cd0) : 0x89906cd0 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0xf743b890 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d20 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906cd0
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906d20 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899aee58 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第4个:
0: kd> gu
Breakpoint 9 hit
eax=899aec01 ebx=00000000 ecx=899aeda0 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x899aec58
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x899aec58)
((ACPI!_DEVICE_EXTENSION *)0x899aec58) : 0x899aec58 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x899b4a70 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x899b4a70
899b4a70 04 48 9b 89 64 4c 9b 89-f0 f0 9a 89 b4 4a 9b 89 .H..dL.......J..
899b4a80 41 43 41 44 30 f3 9a 89-08 4a 9b 89 00 00 06 00 ACAD0....J......
899b4a90 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4aa0 58 ec 9a 89 00 00 00 00-48 4e 53 4f 44 00 00 00 X.......HNSOD...
899b4ab0 00 f0 9a 89 fc 4b 9b 89-f8 4a 9b 89 70 4a 9b 89 .....K...J..pJ..
899b4ac0 00 00 00 00 5f 48 49 44-30 f3 9a 89 70 4a 9b 89 ...._HID0...pJ..
899b4ad0 00 00 02 00 00 00 00 00-00 00 00 00 09 00 00 00 ................
899b4ae0 f0 3c 9b 89 00 00 00 00-00 00 00 00 48 4e 53 4f .<..........HNSO
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906c80 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906c80 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d70)
((ACPI!_LIST_ENTRY *)0x89906d70) : 0x89906d70 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906d20 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0xf743b890 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d20)
((ACPI!_LIST_ENTRY *)0x89906d20) : 0x89906d20 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906cd0 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d70 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906cd0)
((ACPI!_LIST_ENTRY *)0x89906cd0) : 0x89906cd0 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906c80 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d20 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c80)
((ACPI!_LIST_ENTRY *)0x89906c80) : 0x89906c80 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0xf743b890 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906cd0 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906c80
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906cd0 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899aec58 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第5个:
0: kd> gu
Breakpoint 9 hit
eax=899aea01 ebx=00000000 ecx=899aeb88 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x899aea40
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x899aea40)
((ACPI!_DEVICE_EXTENSION *)0x899aea40) : 0x899aea40 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x899b4d34 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x899b4d34
899b4d34 a8 4c 9b 89 54 a5 96 89-f0 f0 9a 89 ac 4d 9b 89 .L..T........M..
899b4d44 53 4c 50 42 30 f3 9a 89-a8 4c 9b 89 00 00 06 00 SLPB0....L......
899b4d54 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4d64 40 ea 9a 89 00 00 00 00-48 4f 52 47 34 00 00 00 @.......HORG4...
899b4d74 00 f0 9a 89 00 10 ab f7-00 05 00 00 00 00 00 00 ................
899b4d84 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4d94 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
899b4da4 44 00 00 00 00 f0 9a 89-d0 4e 9b 89 48 4e 9b 89 D........N..HN..
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906c30 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906c30 \[Type: _LIST_ENTRY \*\] 最后建立的请求 0: kd\> dt ACPI!_ACPI_BUILD_REQUEST 0x89906c30 +0x000 ListEntry : _LIST_ENTRY \[ 0xf743b890 - 0x89906c80
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899aea40 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第6个:
0: kd> gu
Breakpoint 9 hit
eax=899ab601 ebx=00000000 ecx=899ab7d8 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x899ab690
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x899ab690)
((ACPI!_DEVICE_EXTENSION *)0x899ab690) : 0x899ab690 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0x8011e0100030000a \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x8996aed4 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x8996aed4
8996aed4 14 ae 96 89 84 b0 96 89-f0 f0 9a 89 4c af 96 89 ............L...
8996aee4 43 50 30 30 30 f3 9a 89-14 ae 96 89 00 00 0c 00 CP000...........
8996aef4 00 00 00 00 00 00 00 00-0c 00 00 00 08 81 9b 89 ................
8996af04 90 b6 9a 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996af14 00 90 96 89 c4 00 00 00-04 00 00 00 02 00 00 00 ................
8996af24 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996af34 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996af44 44 00 00 00 00 90 96 89-1c b0 96 89 b4 af 96 89 D...............
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906be0 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906be0 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906be0
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906c30 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899ab690 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第7个:
0: kd> gu
Breakpoint 9 hit
eax=8990ea01 ebx=00000000 ecx=8990ec38 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x8990eaf0
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x8990eaf0)
((ACPI!_DEVICE_EXTENSION *)0x8990eaf0) : 0x8990eaf0 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x8991a9a0 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x8991a9a0
8991a9a0 34 a9 91 89 c4 ab 91 89-f0 f0 9a 89 e4 a9 91 89 4...............
8991a9b0 4c 49 44 5f 30 f3 9a 89-34 a9 91 89 00 00 06 00 LID_0...4.......
8991a9c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8991a9d0 f0 ea 90 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
8991a9e0 00 20 91 89 50 ab 91 89-60 aa 91 89 a0 a9 91 89 . ..P...`.......
8991a9f0 00 00 00 00 5f 48 49 44-30 f3 9a 89 a0 a9 91 89 ...._HID0.......
8991aa00 00 00 02 00 00 00 00 00-00 00 00 00 08 00 00 00 ................
8991aa10 3c a5 96 89 00 00 00 00-00 00 00 00 48 50 4b 47 <...........HPKG
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906b90 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906b90 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906b90
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906be0 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x8990eaf0 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第8个:
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906b90 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906b90 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906b90
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906be0 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x8990eaf0 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
0: kd> gu
Breakpoint 9 hit
eax=8990e801 ebx=00000000 ecx=8990ea20 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x8990e8d8
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x8990e8d8)
((ACPI!_DEVICE_EXTENSION *)0x8990e8d8) : 0x8990e8d8 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0xa \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x8991acd8 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x8991acd8
8991acd8 c4 ab 91 89 10 f2 91 89-f0 f0 9a 89 1c ad 91 89 ................
8991ace8 4e 56 44 5f 30 f3 9a 89-c4 ab 91 89 00 00 06 00 NVD_0...........
8991acf8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8991ad08 d8 e8 90 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
8991ad18 00 20 91 89 1c f1 91 89-98 ad 91 89 d8 ac 91 89 . ..............
8991ad28 00 00 00 00 5f 48 49 44-30 f3 9a 89 d8 ac 91 89 ...._HID0.......
8991ad38 00 00 02 00 00 00 00 00-00 00 00 00 08 00 00 00 ................
8991ad48 c4 9c 91 89 00 00 00 00-00 00 00 00 48 50 4b 47 ............HPKG
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906b40 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906b40 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906b40
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906b90 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x8990e8d8 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第9个:
0: kd> gu
Breakpoint 9 hit
eax=89906001 ebx=00000000 ecx=89906150 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x89906008
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x89906008)
((ACPI!_DEVICE_EXTENSION *)0x89906008) : 0x89906008 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0x8011e0100030000a \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x8991f8f8 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> db 0x8991f8f8
8991f8f8 4c f6 91 89 9c f8 91 89-f0 f0 9a 89 3c f9 91 89 L...........<...
8991f908 43 50 30 31 30 f3 9a 89-30 f8 91 89 00 00 0c 00 CP010...0.......
8991f918 00 00 00 00 00 00 00 00-0c 00 00 00 20 81 9b 89 ............ ...
8991f928 08 60 90 89 00 00 00 00-48 4e 53 4f 44 00 00 00 .`......HNSOD...
8991f938 00 20 91 89 c4 fa 91 89-80 f9 91 89 f8 f8 91 89 . ..............
8991f948 00 00 00 00 43 50 49 44-30 f3 9a 89 f8 f8 91 89 ....CPID0.......
8991f958 00 00 01 00 00 00 00 00-01 00 00 00 00 00 00 00 ................
8991f968 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906af0 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906af0 \[Type: _LIST_ENTRY \*
0: kd> dt ACPI!_ACPI_BUILD_REQUEST 0x89906af0
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b890 - 0x89906b40 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x89906008 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "0n???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0x89906e30 - 0x89906e30 ]
第10个:
0: kd> gu
Breakpoint 9 hit
eax=89906e01 ebx=00000000 ecx=89906fe8 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fbfb8 esp=f789ef1c ebp=f789ef60 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!ACPIBuildRunMethodRequest:
f73fbfb8 55 push ebp
0: kd> dv
DeviceExtension = 0x89906ea0
CallBack = 0x00000000
CallBackContext = 0x00000000
MethodName = 0x494e495f
MethodFlags = 7
RunDPC = 0x00 ''
syncRequest = 0x00000000
0: kd> dx -r1 ((ACPI!_DEVICE_EXTENSION *)0x89906ea0)
((ACPI!_DEVICE_EXTENSION *)0x89906ea0) : 0x89906ea0 [Type: _DEVICE_EXTENSION *]
+0x000\] Flags : 0x18a0000036000a \[Type: unsigned __int64
+0x12c\] AcpiObject : 0x0 \[Type: _NSObj \*
+0x130\] DeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x134\] TargetDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x138\] PhysicalDeviceObject : 0x0 \[Type: _DEVICE_OBJECT \*
+0x13c\] ParentExtension : 0x89981a18 \[Type: _DEVICE_EXTENSION \*
+0x140\] ChildDeviceList \[Type: _LIST_ENTRY
+0x148\] SiblingDeviceList \[Type: _LIST_ENTRY
+0x150\] EjectDeviceHead \[Type: _LIST_ENTRY
+0x158\] EjectDeviceList \[Type: _LIST_ENTRY
0: kd> gu
eax=00000103 ebx=00000000 ecx=f743b898 edx=f743b870 esi=89906e30 edi=00000103
eip=f73fd70d esp=f789ef38 ebp=f789ef60 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x5d:
f73fd70d 8bf8 mov edi,eax
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906aa0 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
+0x000\] Flink : 0x89906d70 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906aa0 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d70)
((ACPI!_LIST_ENTRY *)0x89906d70) : 0x89906d70 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906d20 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0xf743b890 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d20)
((ACPI!_LIST_ENTRY *)0x89906d20) : 0x89906d20 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906cd0 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d70 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906cd0)
((ACPI!_LIST_ENTRY *)0x89906cd0) : 0x89906cd0 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906c80 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906d20 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c80)
((ACPI!_LIST_ENTRY *)0x89906c80) : 0x89906c80 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906c30 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906cd0 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c30)
((ACPI!_LIST_ENTRY *)0x89906c30) : 0x89906c30 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906be0 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906c80 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906be0)
((ACPI!_LIST_ENTRY *)0x89906be0) : 0x89906be0 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906b90 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906c30 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906b90)
((ACPI!_LIST_ENTRY *)0x89906b90) : 0x89906b90 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906b40 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906be0 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906b40)
((ACPI!_LIST_ENTRY *)0x89906b40) : 0x89906b40 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906af0 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906b90 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906af0)
((ACPI!_LIST_ENTRY *)0x89906af0) : 0x89906af0 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0x89906aa0 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906b40 \[Type: _LIST_ENTRY \*
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906aa0)
((ACPI!_LIST_ENTRY *)0x89906aa0) : 0x89906aa0 [Type: _LIST_ENTRY *]
+0x000\] Flink : 0xf743b890 \[Type: _LIST_ENTRY \*
+0x004\] Blink : 0x89906af0 \[Type: _LIST_ENTRY \*
上一次里面有404个!
这一次是根节点下的一级子节点10个。
下一次是PCI0节点下的子节点79个。此时还有9个没有运行,acpi!AcpiBuildQueueList链表里面共:9+79=88个。