为了检查Device (P2P0)是不是PCI设备检查父节点Device (PCI0)是不是PCI设备陷入阻塞
Scope (PCI0)
{
dsdt.dsl:5026: Device (EXPL)
dsdt.dsl:5099: Device (DMAR)
dsdt.dsl:5134: Device (VMGC)
dsdt.dsl:6096: Device (P2P0)
dsdt.dsl:6306: Device (S1F0)
1: kd> g
Breakpoint 39 hit
eax=89781010 ebx=89781000 ecx=00008004 edx=00002707 esi=f743a928 edi=f743a934
eip=f741d710 esp=f791ad38 ebp=f791ad4c iopl=0 nv up ei pl nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000206
ACPI!RunContext:
f741d710 55 push ebp
1: kd> kc
#
00 ACPI!RunContext
01 ACPI!DispatchCtxtQueue
02 ACPI!StartTimeSlicePassive
03 ACPI!ACPIWorker
04 nt!PspSystemThreadStartup
05 nt!KiThreadStartup
1: kd> dv
pctxt = 0x89781000
pctxtSave = 0xf741d711
pkthSave = 0x00000008
rc = 0n-1988620288
1: kd> dx -r1 ((ACPI!_ctxt *)0x89781000)
((ACPI!_ctxt *)0x89781000) : 0x89781000 [Type: _ctxt *]
[+0x000] dwSig : 0x54585443 [Type: unsigned long]
[+0x004] pbCtxtEnd : 0x89783000 : 0x43 [Type: unsigned char *]
[+0x008] listCtxt [Type: _List]
[+0x010] listQueue [Type: _List]
[+0x018] pplistCtxtQueue : 0x0 [Type: _List * *]
[+0x01c] plistResources : 0x0 [Type: _List *]
[+0x020] dwfCtxt : 0x128 [Type: unsigned long]
[+0x024] pnsObj : 0x8996cdf0 [Type: _NSObj *]
[+0x028] pnsScope : 0x8996cdf0 [Type: _NSObj *]
[+0x02c] powner : 0x0 [Type: _objowner *]
[+0x030] pcall : 0x0 [Type: _call *]
[+0x034] pnctxt : 0x0 [Type: _nestedctxt *]
[+0x038] dwSyncLevel : 0x0 [Type: unsigned long]
[+0x03c] pbOp : 0x0 [Type: unsigned char *]
[+0x040] Result [Type: _ObjData]
[+0x054] pfnAsyncCallBack : 0xf7407364 [Type: void (__cdecl*)(_NSObj *,long,_ObjData *,void *)]
[+0x058] pdataCallBack : 0x89859e84 [Type: _ObjData *]
[+0x05c] pvContext : 0x89859e58 [Type: void *]
[+0x060] Timer [Type: _KTIMER]
[+0x088] Dpc [Type: _KDPC]
[+0x0a8] pheapCurrent : 0x897810bc [Type: _heap *]
[+0x0ac] CtxtData [Type: _ctxtdata]
[+0x0bc] LocalHeap [Type: _heap]
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996cdf0)
((ACPI!_NSObj *)0x8996cdf0) : 0x8996cdf0 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996cd78 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x5244415f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996cd78 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x8996cdf0
8996cdf0 b0 4b 97 89 b4 ce 96 89-78 cd 96 89 00 00 00 00 .K......x.......
8996ce00 5f 41 44 52 30 f3 9a 89-78 cd 96 89 00 00 01 00 _ADR0...x.......
8996ce10 00 00 00 00 00 00 11 00-00 00 00 00 00 00 00 00 ................
8996ce20 00 00 00 00 00 00 00 00-48 46 44 55 20 00 00 00 ........HFDU ...
8996ce30 00 90 96 89 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...
8996ce40 03 00 00 00 5c d1 96 89-48 50 4b 47 60 00 00 00 ....\...HPKG`...
8996ce50 00 90 96 89 04 00 00 00-00 00 01 00 00 00 00 00 ................
8996ce60 08 00 00 00 00 00 00 00-00 00 00 00 00 00 01 00 ................
1: kd> db 0x8996cd78
8996cd78 38 cc 96 89 88 4f 97 89-ac ff 9a 89 f0 cd 96 89 8....O..........
8996cd88 50 32 50 30 30 f3 9a 89-38 cc 96 89 00 00 06 00 P2P00...8.......
8996cd98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cda8 a0 8e 96 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996cdb8 00 90 96 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
8996cdc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cdd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996cde8 44 00 00 00 00 90 96 89-b0 4b 97 89 b4 ce 96 89 D........K......
1: kd> g
Breakpoint 45 hit
eax=00000000 ebx=f743a948 ecx=f743a948 edx=00002700 esi=89781000 edi=89782fe4
eip=f741d82f esp=f791ad14 ebp=f791ad34 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000286
ACPI!RunContext+0x11f:
f741d82f ff570c call dword ptr [edi+0Ch] ds:0023:89782ff0={ACPI!ProcessEvalObj (f741ef2b)}
1: kd> g
Breakpoint 11 hit
eax=00000001 ebx=f743a948 ecx=89781000 edx=00002700 esi=89781000 edi=89782fe4
eip=f741d852 esp=f791ad1c ebp=f791ad34 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!RunContext+0x142:
f741d852 e83bceffff call ACPI!AcquireMutex (f741a692)
1: kd> dv rc
rc = 0n0
1: kd> g
1: kd> kc
#
00 ACPI!AsyncCallBack
01 ACPI!RunContext
02 ACPI!DispatchCtxtQueue
03 ACPI!StartTimeSlicePassive
04 ACPI!ACPIWorker
05 nt!PspSystemThreadStartup
06 nt!KiThreadStartup
1: kd> g
Breakpoint 60 hit
eax=f740d146 ebx=00000000 ecx=00000001 edx=00002707 esi=89859e58 edi=89859e84
eip=f740d146 esp=f791acb4 ebp=f791acd8 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!IsPciDeviceWorker:
f740d146 55 push ebp
1: kd> kc
#
00 ACPI!IsPciDeviceWorker
01 ACPI!ACPIGetWorkerForInteger
02 ACPI!AsyncCallBack
03 ACPI!RunContext
04 ACPI!DispatchCtxtQueue
05 ACPI!StartTimeSlicePassive
06 ACPI!ACPIWorker
07 nt!PspSystemThreadStartup
08 nt!KiThreadStartup
1: kd> dv
AcpiObject = 0x8996cdf0
Status = 0n0
Result = 0x00000000
Context = 0x89859ea0
1: kd> db 0x8996cdf0
8996cdf0 b0 4b 97 89 b4 ce 96 89-78 cd 96 89 00 00 00 00 .K......x.......
8996ce00 5f 41 44 52 30 f3 9a 89-78 cd 96 89 00 00 01 00 _ADR0...x.......
8996ce10 00 00 00 00 00 00 11 00-00 00 00 00 00 00 00 00 ................
8996ce20 00 00 00 00 00 00 00 00-48 46 44 55 20 00 00 00 ........HFDU ...
8996ce30 00 90 96 89 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...
8996ce40 03 00 00 00 5c d1 96 89-48 50 4b 47 60 00 00 00 ....\...HPKG`...
8996ce50 00 90 96 89 04 00 00 00-00 00 01 00 00 00 00 00 ................
8996ce60 08 00 00 00 00 00 00 00-00 00 00 00 00 00 01 00 ................
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996cdf0)
((ACPI!_NSObj *)0x8996cdf0) : 0x8996cdf0 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996cd78 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x5244415f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996cd78 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x8996cd78
8996cd78 38 cc 96 89 88 4f 97 89-ac ff 9a 89 f0 cd 96 89 8....O..........
8996cd88 50 32 50 30 30 f3 9a 89-38 cc 96 89 00 00 06 00 P2P00...8.......
8996cd98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cda8 a0 8e 96 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996cdb8 00 90 96 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
8996cdc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cdd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996cde8 44 00 00 00 00 90 96 89-b0 4b 97 89 b4 ce 96 89 D........K......
1: kd> g
Breakpoint 59 hit
eax=8996cd78 ebx=00000000 ecx=8996cd78 edx=00002707 esi=89859ea0 edi=00000103
eip=f740d3b2 esp=f791ac90 ebp=f791acb0 iopl=0 nv up ei pl nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000206
ACPI!IsPciDevice:
f740d3b2 55 push ebp
1: kd> kc
#
00 ACPI!IsPciDevice
01 ACPI!IsPciDeviceWorker
02 ACPI!ACPIGetWorkerForInteger
03 ACPI!AsyncCallBack
04 ACPI!RunContext
05 ACPI!DispatchCtxtQueue
06 ACPI!StartTimeSlicePassive
07 ACPI!ACPIWorker
08 nt!PspSystemThreadStartup
09 nt!KiThreadStartup
1: kd> dv
AcpiObject = 0x899affac
CompletionHandler = 0xf740d146
CompletionContext = 0x89859ea0
Result = 0x89859eb4 ""
1: 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...
1: kd> kc
#
00 ACPI!IsPciDeviceWorker
01 ACPI!IsPciDevice
02 ACPI!IsPciDeviceWorker
03 ACPI!ACPIGetWorkerForInteger
04 ACPI!AsyncCallBack
05 ACPI!RunContext
06 ACPI!DispatchCtxtQueue
07 ACPI!StartTimeSlicePassive
08 ACPI!ACPIWorker
09 nt!PspSystemThreadStartup
0a nt!KiThreadStartup
1: kd> dv
AcpiObject = 0x899affac
Status = 0n0
Result = 0x00000000
Context = 0x89810708
1: kd> kc
#
00 ACPI!ACPIGet
01 ACPI!IsPciDeviceWorker
02 ACPI!IsPciDevice
03 ACPI!IsPciDeviceWorker
04 ACPI!ACPIGetWorkerForInteger
05 ACPI!AsyncCallBack
06 ACPI!RunContext
07 ACPI!DispatchCtxtQueue
08 ACPI!StartTimeSlicePassive
09 ACPI!ACPIWorker
0a nt!PspSystemThreadStartup
0b nt!KiThreadStartup
1: kd> dv
Target = 0x899affac
ObjectID = 0x4449485f
Flags = 0x58080206
SimpleArgument = 0x00000000
SimpleArgumentSize = 0
CallBackRoutine = 0xf740d146
CallBackContext = 0x89810708
Buffer = 0x89810714
BufferSize = 0x00000000
completionRoutine = 0xf74076b9
status = 0n1476919814
argument = struct _ObjData
argumentPtr = 0x89810708
acpiObject = 0x899affac
deviceExtension = 0xf791ac70
async = 0x00 ''
argumentCount = 0x103
1: kd> kc
#
00 ACPI!AMLIAsyncEvalObject
01 ACPI!ACPIGet
02 ACPI!IsPciDeviceWorker
03 ACPI!IsPciDevice
04 ACPI!IsPciDeviceWorker
05 ACPI!ACPIGetWorkerForInteger
06 ACPI!AsyncCallBack
07 ACPI!RunContext
08 ACPI!DispatchCtxtQueue
09 ACPI!StartTimeSlicePassive
0a ACPI!ACPIWorker
0b nt!PspSystemThreadStartup
0c nt!KiThreadStartup
1: kd> dv
pns = 0x899b0024
pdataResult = 0x89859efc
icArgs = 0n0
pdataArgs = 0x00000000
pfnAsyncCallBack = 0xf74074ae
pvContext = 0x89859ed0
pHData = 0x00000008
1: kd> g
Breakpoint 37 hit
eax=899b0024 ebx=00000000 ecx=899b0024 edx=00000000 esi=899b0024 edi=89859f10
eip=f741f8c9 esp=f791abac ebp=f791abdc 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!AsyncEvalObject:
f741f8c9 55 push ebp
1: kd> g
Breakpoint 42 hit
eax=00000000 ebx=899b0040 ecx=899b0040 edx=8985ffe4 esi=f7438ca8 edi=00000000
eip=f74207d4 esp=f791ab88 ebp=f791aba8 iopl=0 nv up ei ng nz ac pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000297
ACPI!RestartContext:
f74207d4 55 push ebp
1: kd> kc
#
00 ACPI!RestartContext
01 ACPI!AsyncEvalObject
02 ACPI!AMLIAsyncEvalObject
03 ACPI!ACPIGet
04 ACPI!IsPciDeviceWorker
05 ACPI!IsPciDevice
06 ACPI!IsPciDeviceWorker
07 ACPI!ACPIGetWorkerForInteger
08 ACPI!AsyncCallBack
09 ACPI!RunContext
0a ACPI!DispatchCtxtQueue
0b ACPI!StartTimeSlicePassive
0c ACPI!ACPIWorker
0d nt!PspSystemThreadStartup
0e nt!KiThreadStartup
1: kd> dv
pctxt = 0x8985e000
fDelayExecute = 0x00 ''
1: kd> g
Breakpoint 65 hit
eax=00008004 ebx=89781000 ecx=8997e000 edx=00002707 esi=f743a928 edi=f743a934
eip=f742042d esp=f791ad3c ebp=f791ad4c 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!DispatchCtxtQueue+0xaf:
f742042d 57 push edi
1: kd> x acpi!greadyqueue
f743a928 ACPI!gReadyQueue = struct _ctxtq
1: kd> dx -r1 (*((ACPI!_ctxtq *)0xf743a928))
(*((ACPI!_ctxtq *)0xf743a928)) [Type: _ctxtq]
[+0x000] dwfCtxtQ : 0x0 [Type: unsigned long]
[+0x004] pkthCurrent : 0x0 [Type: _KTHREAD *]
[+0x008] pctxtCurrent : 0x0 [Type: _ctxt *]
[+0x00c] plistCtxtQ : 0x89876010 [Type: _List *]
[+0x010] dwmsTimeSliceLength : 0x64 [Type: unsigned long]
[+0x014] dwmsTimeSliceInterval : 0x64 [Type: unsigned long]
[+0x018] pfnPauseCallback : 0x0 [Type: void (__cdecl*)(void *)]
[+0x01c] PauseCBContext : 0x0 [Type: void *]
[+0x020] mutCtxtQ [Type: _mutex]
[+0x028] Timer [Type: _KTIMER]
[+0x050] DpcStartTimeSlice [Type: _KDPC]
[+0x070] DpcExpireTimeSlice [Type: _KDPC]
[+0x090] WorkItem [Type: _WORK_QUEUE_ITEM]
1: kd> dx -r1 ((ACPI!_List *)0x89876010)
((ACPI!_List *)0x89876010) : 0x89876010 [Type: _List *]
[+0x000] plistPrev : 0x8985e010 [Type: _List *]
[+0x004] plistNext : 0x89878010 [Type: _List *]