ACPI!GetPciAddressWorker函数处理设备P2P0的一个例子
0: kd> g
Breakpoint 11 hit
eax=f740ceea ebx=00000000 ecx=00000001 edx=00002707 esi=8987c0e0 edi=8987c10c
eip=f740ceea 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!GetPciAddressWorker:
f740ceea 55 push ebp
0: kd> kc
00 ACPI!GetPciAddressWorker
01 ACPI!ACPIGetWorkerForInteger
02 ACPI!AsyncCallBack
03 ACPI!RunContext
04 ACPI!DispatchCtxtQueue
05 ACPI!StartTimeSlicePassive
06 ACPI!ACPIWorker
07 nt!PspSystemThreadStartup
08 nt!KiThreadStartup
0: kd> dv
AcpiObject = 0x89ddedf0
Status = 0n0
Result = 0x00000000
Context = 0x89906c20
buffer = unsigned char [64] ""
0: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ACPI!_NSObj *)0x89ddedf0)
((ACPI!_NSObj *)0x89ddedf0) : 0x89ddedf0 [Type: _NSObj *]
+0x000\] list \[Type: _List
+0x008\] pnsParent : 0x89dded78 \[Type: _NSObj \*
+0x00c\] pnsFirstChild : 0x0 \[Type: _NSObj \*
+0x010\] dwNameSeg : 0x5244415f \[Type: unsigned long
+0x014\] hOwner : 0x89da3330 \[Type: void \*
+0x018\] pnsOwnedNext : 0x89dded78 \[Type: _NSObj \*
+0x01c\] ObjData \[Type: _ObjData
+0x030\] Context : 0x0 \[Type: void \*
+0x034\] dwRefCount : 0x0 \[Type: unsigned long
0: kd> db 0x89ddedf0
89ddedf0 b0 6b de 89 b4 ee dd 89-78 ed dd 89 00 00 00 00 .k......x.......
89ddee00 5f 41 44 52 30 33 da 89-78 ed dd 89 00 00 01 00 _ADR03..x.......
89ddee10 00 00 00 00 00 00 11 00-00 00 00 00 00 00 00 00 ................
89ddee20 00 00 00 00 00 00 00 00-48 46 44 55 20 00 00 00 ........HFDU ...
89ddee30 00 b0 dd 89 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...
89ddee40 03 00 00 00 5c f1 dd 89-48 50 4b 47 60 00 00 00 ....\...HPKG`...
89ddee50 00 b0 dd 89 04 00 00 00-00 00 01 00 00 00 00 00 ................
89ddee60 08 00 00 00 00 00 00 00-00 00 00 00 00 00 01 00 ................
0: kd> db 0x89dded78
89dded78 38 ec dd 89 88 6f de 89-ac 3f da 89 f0 ed dd 89 8....o...?......
89dded88 50 32 50 30 30 33 da 89-38 ec dd 89 00 00 06 00 P2P003..8.......
89dded98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89ddeda8 f0 e9 d9 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
89ddedb8 00 b0 dd 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
89ddedc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89ddedd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
89ddede8 44 00 00 00 00 b0 dd 89-b0 6b de 89 b4 ee dd 89 D........k......
0: kd> p
eax=e71d46b8 ebx=00000000 ecx=00000001 edx=00002707 esi=8987c0e0 edi=8987c10c
eip=f740cef7 esp=f791ac64 ebp=f791acb0 iopl=0 nv up ei ng nz ac pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000296
ACPI!GetPciAddressWorker+0xd:
f740cef7 8b7514 mov esi,dword ptr [ebp+14h] ss:0010:f791acc4=89906c20
0: kd> p
eax=e71d46b8 ebx=00000000 ecx=00000001 edx=00002707 esi=89906c20 edi=8987c10c
eip=f740cf18 esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x2e:
f740cf18 8b5d0c mov ebx,dword ptr [ebp+0Ch] ss:0010:f791acbc=00000000
0: kd> p
eax=e71d46b8 ebx=00000000 ecx=00000001 edx=00002707 esi=89906c20 edi=8987c10c
eip=f740cf1b esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x31:
f740cf1b 8d4e20 lea ecx,[esi+20h]
0: kd> p
eax=00000001 ebx=00000000 ecx=89906c40 edx=00002707 esi=89906c20 edi=8987c10c
eip=f740cf24 esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x3a:
f740cf24 85db test ebx,ebx
0: kd> p
eax=00000001 ebx=00000000 ecx=89906c40 edx=00002707 esi=89906c20 edi=8987c10c
eip=f740cf2c esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x42:
f740cf2c 8b4614 mov eax,dword ptr [esi+14h] ds:0023:89906c34=00000008
0: kd> p
eax=00000008 ebx=00000000 ecx=89906c40 edx=00002707 esi=89906c20 edi=00000103
eip=f740cf70 esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x86:
f740cf70 b900010000 mov ecx,100h
0: kd> p
eax=00000008 ebx=00000000 ecx=00000100 edx=00002707 esi=89906c20 edi=00000103
eip=f740cf7a esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x90:
f740cf7a 8b5618 mov edx,dword ptr [esi+18h] ds:0023:89906c38=00110000
0: kd> p
eax=899bf540 ebx=00000000 ecx=00000100 edx=00000000 esi=89906c20 edi=00000103
eip=f740cf8d esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0xa3:
f740cf8d 8b4608 mov eax,dword ptr [esi+8] ds:0023:89906c28=899bf540
0: kd> dv
AcpiObject = 0x89ddedf0
Status = 0n0
Result = 0x00000000
Context = 0x89906c20
buffer = unsigned char [64] ""
0: kd> dt GET_ADDRESS_CONTEXT 0x89906c20
ACPI!GET_ADDRESS_CONTEXT
+0x000 PciObject : 0x89dded78 _NSObj
+0x004 Bus : 0x899bf53c ""
+0x008 Slot : 0x899bf540 _PCI_SLOT_NUMBER
+0x00c ParentBus : 0 ''
+0x010 ParentSlot : _PCI_SLOT_NUMBER
+0x014 Flags : 8
+0x018 Address : 0x110000
+0x01c BaseBusNumber : 0
+0x020 RunCompletion : 0n1
+0x024 CompletionRoutine : 0xf740ceea void ACPI!GetPciAddressWorker+0
+0x028 CompletionContext : 0x899bf530 Void
0: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ACPI!_NSObj *)0x89ddedf0)
((ACPI!_NSObj *)0x89ddedf0) : 0x89ddedf0 [Type: _NSObj *]
+0x000\] list \[Type: _List
+0x008\] pnsParent : 0x89dded78 \[Type: _NSObj \*
+0x00c\] pnsFirstChild : 0x0 \[Type: _NSObj \*
+0x010\] dwNameSeg : 0x5244415f \[Type: unsigned long
+0x014\] hOwner : 0x89da3330 \[Type: void \*
+0x018\] pnsOwnedNext : 0x89dded78 \[Type: _NSObj \*
+0x01c\] ObjData \[Type: _ObjData
+0x030\] Context : 0x0 \[Type: void \*
+0x034\] dwRefCount : 0x0 \[Type: unsigned long
0: kd> db 0x89dded78
89dded78 38 ec dd 89 88 6f de 89-ac 3f da 89 f0 ed dd 89 8....o...?......
89dded88 50 32 50 30 30 33 da 89-38 ec dd 89 00 00 06 00 P2P003..8.......
89dded98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89ddeda8 f0 e9 d9 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
89ddedb8 00 b0 dd 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
89ddedc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89ddedd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
89ddede8 44 00 00 00 00 b0 dd 89-b0 6b de 89 b4 ee dd 89 D........k......
0: kd> db 0x89ddedf0
89ddedf0 b0 6b de 89 b4 ee dd 89-78 ed dd 89 00 00 00 00 .k......x.......
89ddee00 5f 41 44 52 30 33 da 89-78 ed dd 89 00 00 01 00 _ADR03..x.......
89ddee10 00 00 00 00 00 00 11 00-00 00 00 00 00 00 00 00 ................
89ddee20 00 00 00 00 00 00 00 00-48 46 44 55 20 00 00 00 ........HFDU ...
89ddee30 00 b0 dd 89 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...
89ddee40 03 00 00 00 5c f1 dd 89-48 50 4b 47 60 00 00 00 ....\...HPKG`...
89ddee50 00 b0 dd 89 04 00 00 00-00 00 01 00 00 00 00 00 ................
89ddee60 08 00 00 00 00 00 00 00-00 00 00 00 00 00 01 00 ................
if (!(state->Flags & PCISUPP_GOT_SLOT_INFO)) {
//
// Build a PCI_SLOT_NUMBER out of the integer returned
// from the interpretter.
//
state->Slot->u.bits.FunctionNumber = (state->Address) & 0x7;
state->Slot->u.bits.DeviceNumber = ( (state->Address) >> 16) & 0x1f;
state->Flags |= PCISUPP_GOT_SLOT_INFO;
}
0: kd> dt GET_ADDRESS_CONTEXT 0x89906c20
ACPI!GET_ADDRESS_CONTEXT
+0x000 PciObject : 0x89dded78 _NSObj
+0x004 Bus : 0x899bf53c ""
+0x008 Slot : 0x899bf540 _PCI_SLOT_NUMBER
+0x00c ParentBus : 0 ''
+0x010 ParentSlot : _PCI_SLOT_NUMBER
+0x014 Flags : 0x108
+0x018 Address : 0x110000
+0x01c BaseBusNumber : 0
+0x020 RunCompletion : 0n1
+0x024 CompletionRoutine : 0xf740ceea void ACPI!GetPciAddressWorker+0
+0x028 CompletionContext : 0x899bf530 Void
0: kd> db 0x899bf540
899bf540 11 00 00 00 28 01 00 00-00 00 00 00 00 00 00 00 ....(...........
0: kd> dt _PCI_SLOT_NUMBER -r
hal!_PCI_SLOT_NUMBER
+0x000 u : __unnamed
+0x000 bits : __unnamed
+0x000 DeviceNumber : Pos 0, 5 Bits
+0x000 FunctionNumber : Pos 5, 3 Bits
+0x000 Reserved : Pos 8, 24 Bits
+0x000 AsULONG : Uint4B
Device (P2P0)
{
Name (_ADR, 0x00110000) // _ADR: Address
Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters
{
0x08,
0x40,
0x01,
0x00
})
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x03,
0x03
})
Method (BSTA, 1, NotSerialized)
{
Return (PSTA (_STA (), Arg0))
}
Method (BEJ0, 2, NotSerialized)
{
PEJ0 (Arg0, Arg1, _ADR)
}
Method (BDSM, 5, Serialized)
{
Return (PDSM (Arg0, Arg1, Arg2, Arg3, Arg4, _ADR))
}
OperationRegion (REGS, PCI_Config, 0x00, 0x04)
Field (REGS, DWordAcc, NoLock, Preserve)
{
ID, 32
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (And (LEqual (ID, 0x079015AD), 0x0F))
}
Method (OSHP, 0, NotSerialized)
{
PSHP (_ADR)
}
Method (PPHR, 2, NotSerialized)
{
Store (Arg0, Local0)
If (LNot (Local0))
{
Notify (S1F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S2F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S3F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S4F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S5F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S6F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S7F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S8F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S9F0, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S10F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S11F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S12F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S13F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S14F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S15F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S16F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S17F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S18F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S19F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S20F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S21F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S22F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S23F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S24F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S25F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S26F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S27F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S28F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S29F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S30F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S31F, Arg1)
}
If (LNot (Decrement (Local0)))
{
Notify (S32F, Arg1)
}
}
//
// Check first to see if this bus has a _HID.
// (It might be a root PCI bridge.)
//
bus = state->PciObject;
tempObj = ACPIAmliGetNamedChild(bus, PACKED_HID);
if (!tempObj) {
//
// This device had no _HID. So look up
// to the parent and see if it is a
// root PCI bridge.
//
bus = state->PciObject->pnsParent;
tempObj = ACPIAmliGetNamedChild(bus, PACKED_HID);
}
0: kd> dt GET_ADDRESS_CONTEXT 0x89906c20
ACPI!GET_ADDRESS_CONTEXT
+0x000 PciObject : 0x89dded78 _NSObj
+0x004 Bus : 0x899bf53c ""
+0x008 Slot : 0x899bf540 _PCI_SLOT_NUMBER
+0x00c ParentBus : 0 ''
+0x010 ParentSlot : _PCI_SLOT_NUMBER
+0x014 Flags : 0x108
+0x018 Address : 0x110000
+0x01c BaseBusNumber : 0
+0x020 RunCompletion : 0n1
+0x024 CompletionRoutine : 0xf740ceea void ACPI!GetPciAddressWorker+0
+0x028 CompletionContext : 0x899bf530 Void
0: kd> dt _nsobj 0x89dded78
ACPI!_NSObj
+0x000 list : _List
+0x008 pnsParent : 0x89da3fac _NSObj
+0x00c pnsFirstChild : 0x89ddedf0 _NSObj
+0x010 dwNameSeg : 0x30503250
+0x014 hOwner : 0x89da3330 Void
+0x018 pnsOwnedNext : 0x89ddec38 _NSObj
+0x01c ObjData : _ObjData
+0x030 Context : 0x89d9e9f0 Void
+0x034 dwRefCount : 0
0: kd> db 0x89da3fac
89da3fac 4c 3f da 89 ac 80 da 89-f0 30 da 89 24 40 da 89 L?.......0..$@..
89da3fbc 50 43 49 30 30 33 da 89-4c 3f da 89 00 00 06 00 PCI003..L?......
89da3fcc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89da3fdc 70 49 db 89 00 00 00 00-48 4f 52 47 34 00 00 00 pI......HORG4...
89da3fec 00 30 da 89 50 00 00 00-30 00 00 00 02 00 00 00 .0..P...0.......
89da3ffc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89da400c 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
89da401c 44 00 00 00 00 30 da 89-64 d0 d4 89 68 40 da 89 D....0..d...h@..
if (!tempObj) {
0: kd> p
eax=89da4024 ebx=89da3fac ecx=4449485f edx=00000011 esi=89906c20 edi=00000103
eip=f740cfc7 esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0xdd:
f740cfc7 85c0 test eax,eax
0: kd> dt _nsobj 89da4024
ACPI!_NSObj
+0x000 list : _List
+0x008 pnsParent : 0x89da3fac _NSObj
+0x00c pnsFirstChild : (null)
+0x010 dwNameSeg : 0x4449485f
+0x014 hOwner : 0x89da3330 Void
+0x018 pnsOwnedNext : 0x89da3fac _NSObj
+0x01c ObjData : _ObjData
+0x030 Context : (null)
+0x034 dwRefCount : 0
0: kd> db 0x89da3fac
89da3fac 4c 3f da 89 ac 80 da 89-f0 30 da 89 24 40 da 89 L?.......0..$@..
89da3fbc 50 43 49 30 30 33 da 89-4c 3f da 89 00 00 06 00 PCI003..L?......
89da3fcc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89da3fdc 70 49 db 89 00 00 00 00-48 4f 52 47 34 00 00 00 pI......HORG4...
89da3fec 00 30 da 89 50 00 00 00-30 00 00 00 02 00 00 00 .0..P...0.......
89da3ffc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89da400c 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
89da401c 44 00 00 00 00 30 da 89-64 d0 d4 89 68 40 da 89 D....0..d...h@..
0: kd> db 89da4024
89da4024 64 d0 d4 89 68 40 da 89-ac 3f da 89 00 00 00 00 d...h@...?......
89da4034 5f 48 49 44 30 33 da 89-ac 3f da 89 00 00 01 00 _HID03...?......
89da4044 00 00 00 00 41 d0 0a 03-00 00 00 00 00 00 00 00 ....A...........
89da4054 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
89da4064 00 30 da 89 24 40 da 89-ac 40 da 89 ac 3f da 89 .0..$@...@...?..
89da4074 00 00 00 00 5f 43 49 44-30 33 da 89 24 40 da 89 ...._CID03..$@..
89da4084 00 00 01 00 00 00 00 00-41 d0 0a 08 00 00 00 00 ........A.......
89da4094 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03")) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A08")) // _CID: Compatible ID
Name (_BBN, 0x00) // _BBN: BIOS Bus Number
0: kd> p
eax=89da40ac ebx=89da3fac ecx=4e42425f edx=00000011 esi=89906c20 edi=00000103
eip=f740d041 esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x157:
f740d041 85c0 test eax,eax
0: kd> dt _nsobj 89da40ac
ACPI!_NSObj
+0x000 list : _List
+0x008 pnsParent : 0x89da3fac _NSObj
+0x00c pnsFirstChild : (null)
+0x010 dwNameSeg : 0x4e42425f
+0x014 hOwner : 0x89da3330 Void
+0x018 pnsOwnedNext : 0x89da4068 _NSObj
+0x01c ObjData : _ObjData
+0x030 Context : (null)
+0x034 dwRefCount : 0
0: kd> db 89da40ac
89da40ac 68 40 da 89 f0 40 da 89-ac 3f da 89 00 00 00 00 h@...@...?......
89da40bc 5f 42 42 4e 30 33 da 89-68 40 da 89 00 00 01 00 _BBN03..h@......
89da40cc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89da40dc 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
89da40ec 00 30 da 89 ac 40 da 89-90 41 da 89 ac 3f da 89 .0...@...A...?..
89da40fc 00 00 00 00 5f 41 44 52-30 33 da 89 ac 40 da 89 ...._ADR03...@..
89da410c 00 00 01 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
89da411c 00 00 00 00 00 00 00 00-00 00 00 00 48 4f 52 47 ............HORG
//
// This device must be the child of a root PCI bus.
//
if (!(state->Flags & PCISUPP_CHECKED_BBN)) {
state->Flags |= PCISUPP_CHECKED_BBN;
status = ACPIGetNSIntegerAsync(
bus,
PACKED_BBN,
GetPciAddressWorker,
(PVOID)state,
&(state->BaseBusNumber), +0x01c BaseBusNumber : 0
NULL
);
0: kd> dt GET_ADDRESS_CONTEXT 0x89906c20
ACPI!GET_ADDRESS_CONTEXT
+0x000 PciObject : 0x89dded78 _NSObj
+0x004 Bus : 0x899bf53c ""
+0x008 Slot : 0x899bf540 _PCI_SLOT_NUMBER
+0x00c ParentBus : 0 ''
+0x010 ParentSlot : _PCI_SLOT_NUMBER
+0x014 Flags : 0x2108
+0x018 Address : 0x110000
+0x01c BaseBusNumber : 0
+0x020 RunCompletion : 0n1
+0x024 CompletionRoutine : 0xf740ceea void ACPI!GetPciAddressWorker+0
+0x028 CompletionContext : 0x899bf530 Void
0: kd> p
eax=00000103 ebx=00000103 ecx=00000103 edx=00002700 esi=89906c20 edi=00000103
eip=f740d07b esp=f791ac60 ebp=f791acb0 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!GetPciAddressWorker+0x191:
f740d07b 8bc7 mov eax,edi