ACPI!StartTimeSlicePassive函数里面处理节点Device (P2P0)的子节点Device (S1F0)的_ADR
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)
dsdt.dsl:6338: Device (S2F0)
dsdt.dsl:6370: Device (S3F0)
dsdt.dsl:6402: Device (S4F0)
dsdt.dsl:6434: Device (S5F0)
dsdt.dsl:6466: Device (S6F0)
dsdt.dsl:6498: Device (S7F0)
dsdt.dsl:6530: Device (S8F0)
dsdt.dsl:6562: Device (S9F0)
dsdt.dsl:6594: Device (S10F)
dsdt.dsl:6626: Device (S11F)
Device (P2P0)
{
Name (_ADR, 0x00110000) // _ADR: Address
Device (S1F0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_SUN, 0x20) // _SUN: Slot User Number
OperationRegion (REGS, PCI_Config, 0x00, 0x04)
Field (REGS, DWordAcc, NoLock, Preserve)
{
ID, 32
}
1: kd> g
Breakpoint 38 hit
eax=f7420495 ebx=00000000 ecx=f743a928 edx=00000000 esi=f743a9b8 edi=f743b318
eip=f7420495 esp=f791ad68 ebp=f791adac 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!StartTimeSlicePassive:
f7420495 55 push ebp
1: kd> g
Breakpoint 39 hit
eax=89876010 ebx=89876000 ecx=f743a934 edx=00000000 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 = 0x89876000
pctxtSave = 0xf741d711
pkthSave = 0x00000008
rc = 0n-1987616768
1: kd> dx -r1 ((ACPI!_ctxt *)0x89876000)
((ACPI!_ctxt *)0x89876000) : 0x89876000 [Type: _ctxt *]
[+0x000] dwSig : 0x54585443 [Type: unsigned long]
[+0x004] pbCtxtEnd : 0x89878000 : 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 : 0x8996d4d4 [Type: _NSObj *]
[+0x028] pnsScope : 0x8996d4d4 [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 : 0x898a8aa4 [Type: _ObjData *]
[+0x05c] pvContext : 0x898a8a78 [Type: void *]
[+0x060] Timer [Type: _KTIMER]
[+0x088] Dpc [Type: _KDPC]
[+0x0a8] pheapCurrent : 0x898760bc [Type: _heap *]
[+0x0ac] CtxtData [Type: _ctxtdata]
[+0x0bc] LocalHeap [Type: _heap]
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996d4d4)
((ACPI!_NSObj *)0x8996d4d4) : 0x8996d4d4 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996d45c [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x5244415f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996d45c [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x8996d4d4
8996d4d4 1c d8 96 89 18 d5 96 89-5c d4 96 89 00 00 00 00 ........\.......
8996d4e4 5f 41 44 52 30 f3 9a 89-5c d4 96 89 00 00 01 00 _ADR0...\.......
8996d4f4 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996d504 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
8996d514 00 90 96 89 d4 d4 96 89-b8 d5 96 89 5c d4 96 89 ............\...
8996d524 00 00 00 00 5f 53 55 4e-30 f3 9a 89 d4 d4 96 89 ...._SUN0.......
8996d534 00 00 01 00 00 00 00 00-20 00 00 00 00 00 00 00 ........ .......
8996d544 00 00 00 00 00 00 00 00-00 00 00 00 48 4f 52 47 ............HORG
1: kd> db 0x8996d45c
8996d45c 98 d2 96 89 60 d8 96 89-78 cd 96 89 d4 d4 96 89 ....`...x.......
8996d46c 53 31 46 30 30 f3 9a 89-98 d2 96 89 00 00 06 00 S1F00...........
8996d47c 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996d48c 88 8c 96 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996d49c 00 90 96 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
8996d4ac 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996d4bc 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996d4cc 44 00 00 00 00 90 96 89-1c d8 96 89 18 d5 96 89 D...............
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996d45c)
((ACPI!_NSObj *)0x8996d45c) : 0x8996d45c [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996cd78 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x8996d4d4 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x30463153 [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996d298 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x89968c88 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996d45c)
((ACPI!_NSObj *)0x8996d45c) : 0x8996d45c [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996cd78 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x8996d4d4 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x30463153 [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996d298 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x89968c88 [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......