hal!HalGetBusDataByOffset函数得到设备Device (ISA)字段Field-PIRX字段单元PIRA共1个字节–与上0x80结果是不存在
1: kd> g Breakpoint 51 hit eax=00000000 ebx=897a73a8 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000 eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246 hal!HalGetBusDataByOffset: 804f25ee 55 push ebp 1: kd> dv BusDataType = PCIConfiguration (0n4) BusNumber = 0 SlotNumber = 7 Buffer = 0x89867e78 Offset = 0x60 Length = 1 bus = struct _BUS_HANDLER 1: kd> kc # 00 hal!HalGetBusDataByOffset 01 ACPI!PciConfigSpaceHandlerWorker 02 ACPI!GetPciAddressWorker 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> kv # ChildEBP RetAddr Args to Child 00 f791abd8 f740d8c7 00000004 00000000 00000007 hal!HalGetBusDataByOffset (FPO: [Non-Fpo]) (CONV: stdcall) [d:\\srv03rtm\\base\\hals\\halacpi\\pmbus.c @ 165] 01 f791ac48 f740d0d2 899b00ac 00000000 00000000 ACPI!PciConfigSpaceHandlerWorker+0x29b (FPO: [Non-Fpo]) (CONV: cdecl) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\nt\\pciopregion.c @ 708] 02 f791acb0 f7407433 899b00ac 00000000 00000000 ACPI!GetPciAddressWorker+0x1e8 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\nt\\pciopregion.c @ 1207] 03 f791acd8 f741f89b 899b00ac 00000000 897a75ec ACPI!ACPIGetWorkerForInteger+0xcf (FPO: [Non-Fpo]) (CONV: cdecl) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\nt\\get.c @ 4814] 04 f791ad10 f741d905 f7407364 00000000 f743a934 ACPI!AsyncCallBack+0xe7 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\amlinew\\sync.c @ 81] 05 f791ad34 f742042d 00000000 f7433d3c f743a928 ACPI!RunContext+0x1f5 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\amlinew\\ctxt.c @ 649] 06 f791ad4c f74204ec f743a950 f743b318 f743a9b8 ACPI!DispatchCtxtQueue+0xaf (FPO: [Non-Fpo]) (CONV: cdecl) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\amlinew\\sched.c @ 150] 07 f791ad64 f74133c5 f743a928 00000000 89981ca0 ACPI!StartTimeSlicePassive+0x57 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\amlinew\\sched.c @ 107] 08 f791adac 80d391f0 00000000 00000000 00000000 ACPI!ACPIWorker+0xbf (FPO: [Non-Fpo]) (CONV: stdcall) [d:\\srv03rtm\\base\\busdrv\\acpi\\driver\\nt\\worker.c @ 302] 09 f791addc 80b00d52 f7413306 00000000 00000000 nt!PspSystemThreadStartup+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\\srv03rtm\\base\\ntos\\ps\\create.c @ 2213] 0a 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 [d:\\srv03rtm\\base\\ntos\\ke\\i386\\threadbg.asm @ 81] 1: kd> db 899b00ac 899b00ac 68 00 9b 89 f0 00 9b 89-ac ff 9a 89 00 00 00 00 h…………… 899b00bc 5f 42 42 4e 30 f3 9a 89-68 00 9b 89 00 00 01 00 _BBN0…h……. 899b00cc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ……………. 899b00dc 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ……..HNSOD… 899b00ec 00 f0 9a 89 ac 00 9b 89-90 01 9b 89 ac ff 9a 89 ……………. 899b00fc 00 00 00 00 5f 41 44 52-30 f3 9a 89 ac 00 9b 89 …._ADR0……. 899b010c 00 00 01 00 00 00 00 00-00 00 00 00 00 00 00 00 ……………. 899b011c 00 00 00 00 00 00 00 00-00 00 00 00 48 4f 52 47 …………HORG 1: kd> gu Breakpoint 53 hit eax=00000001 ebx=897a73a8 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000 eip=f740d8c7 esp=f791abf8 ebp=f791ac48 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!PciConfigSpaceHandlerWorker+0x29b: f740d8c7 8bf0 mov esi,eax 1: kd> db 0x89867e78 89867e78 09 00 00 00 00 00 00 00-00 00 00 00 08 00 00 00 …………….
Device (ISA) { Name (_ADR, 0x00070000) // _ADR: Address
OperationRegion (PIRX, PCI_Config, 0x60, 0x04) Field (PIRX, DWordAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 }
Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status { If (And (PIRA, 0x80)) { Return (0x09) }
Return (0x0B) } }
1: kd> g Breakpoint 58 hit eax=00000001 ebx=897a73a8 ecx=00000000 edx=00000cf8 esi=00000001 edi=00000000 eip=f740d8e4 esp=f791abf8 ebp=f791ac48 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!PciConfigSpaceHandlerWorker+0x2b8: f740d8e4 33f6 xor esi,esi 1: kd> dt PCI_CONFIG_STATE 897a73a8 ACPI!PCI_CONFIG_STATE +0x000 AccessType : 0 +0x004 OpRegion : 0x899b3ab0 _NSObj +0x008 Address : 0x60 +0x00c Size : 1 +0x010 Data : 0x89867e78 -> 9 +0x014 Context : 0 +0x018 CompletionHandler : 0xf7420914 Void +0x01c CompletionContext : 0x898660ac Void +0x020 PciObj : 0x899b2278 _NSObj +0x024 ParentObj : (null) +0x028 CompletionHandlerType : 0 +0x02c Flags : 0x1100 +0x030 RunCompletion : 0n2 +0x034 Slot : _PCI_SLOT_NUMBER +0x038 Bus : 0 '' +0x039 IsPciDeviceResult : 0 '' 1: kd> db 0x899b3ab0 899b3ab0 f4 36 9b 89 f4 3a 9b 89-78 22 9b 89 00 00 00 00 .6…:..x"…… 899b3ac0 50 49 52 58 30 f3 9a 89-e0 39 9b 89 00 00 0a 00 PIRX0….9…… 899b3ad0 00 00 00 00 00 00 00 00-18 00 00 00 00 22 9b 89 ………….".. 899b3ae0 78 22 9b 89 00 00 00 00-48 4e 53 4f 44 00 00 00 x"……HNSOD… 899b3af0 00 f0 9a 89 b0 3a 9b 89-38 3b 9b 89 78 22 9b 89 …..:..8;..x".. 899b3b00 00 00 00 00 00 00 00 00-30 f3 9a 89 b0 3a 9b 89 ……..0….:.. 899b3b10 00 00 83 00 00 00 00 00-00 00 00 00 04 00 00 00 ……………. 899b3b20 3c 0b 9b 89 00 00 00 00-00 00 00 00 48 4e 53 4f <………..HNSO 1: kd> db 0x899b2278 899b2278 bc 21 9b 89 68 3c 9b 89-ac ff 9a 89 bc 22 9b 89 .!..h<…….".. 899b2288 49 53 41 5f 30 f3 9a 89-34 22 9b 89 00 00 06 00 ISA_0…4"…… 899b2298 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ……………. 899b22a8 88 0a 9c 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ……..HNSOD… 899b22b8 00 f0 9a 89 0c e5 9b 89-00 23 9b 89 78 22 9b 89 ………#..x".. 899b22c8 00 00 00 00 5f 41 44 52-30 f3 9a 89 78 22 9b 89 …._ADR0…x".. 899b22d8 00 00 01 00 00 00 00 00-00 00 07 00 00 00 00 00 ……………. 899b22e8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f …………HNSO
第二部分:LNKB
1: kd> g Breakpoint 51 hit eax=00000000 ebx=897a72c0 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000 eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246 hal!HalGetBusDataByOffset: 804f25ee 55 push ebp 1: kd> dv BusDataType = PCIConfiguration (0n4) BusNumber = 0 SlotNumber = 7 Buffer = 0x89865e78 Offset = 0x61 Length = 1 bus = struct _BUS_HANDLER 1: kd> gu Breakpoint 53 hit eax=00000001 ebx=897a72c0 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000 eip=f740d8c7 esp=f791abf8 ebp=f791ac48 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!PciConfigSpaceHandlerWorker+0x29b: f740d8c7 8bf0 mov esi,eax 1: kd> db 0x89865e78 89865e78 0b 00 00 00 01 00 00 00-00 00 00 00 08 00 00 00 …………….
Method (_STA, 0, NotSerialized) // _STA: Status { If (And (PIRB, 0x80)) { Return (0x09) }
Return (0x0B) }
第三部分:LNKC 1: kd> g Breakpoint 51 hit eax=00000000 ebx=897a71d8 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000 eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246 hal!HalGetBusDataByOffset: 804f25ee 55 push ebp 1: kd> dv BusDataType = PCIConfiguration (0n4) BusNumber = 0 SlotNumber = 7 Buffer = 0x89863e78 Offset = 0x62 Length = 1 bus = struct _BUS_HANDLER 1: kd> gu Breakpoint 53 hit eax=00000001 ebx=897a71d8 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000 eip=f740d8c7 esp=f791abf8 ebp=f791ac48 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!PciConfigSpaceHandlerWorker+0x29b: f740d8c7 8bf0 mov esi,eax 1: kd> db 0x89863e78 89863e78 0a 00 00 00 02 00 00 00-00 00 00 00 08 00 00 00 …………….
Method (_STA, 0, NotSerialized) // _STA: Status { If (And (PIRC, 0x80)) { Return (0x09) }
Return (0x0B) }
第四部分:LNKD
1: kd> g Breakpoint 51 hit eax=00000000 ebx=897a70f0 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000 eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246 hal!HalGetBusDataByOffset: 804f25ee 55 push ebp 1: kd> dv BusDataType = PCIConfiguration (0n4) BusNumber = 0 SlotNumber = 7 Buffer = 0x89861e78 Offset = 0x63 Length = 1 bus = struct _BUS_HANDLER 1: kd> gu Breakpoint 53 hit eax=00000001 ebx=897a70f0 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000 eip=f740d8c7 esp=f791abf8 ebp=f791ac48 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!PciConfigSpaceHandlerWorker+0x29b: f740d8c7 8bf0 mov esi,eax 1: kd> db 0x89861e78 89861e78 07 00 00 00 03 00 00 00-00 00 00 00 08 00 00 00 …………….
Method (_STA, 0, NotSerialized) // _STA: Status { If (And (PIRD, 0x80)) { Return (0x09) }
Return (0x0B) }
网硕互联帮助中心





评论前必须登录!
注册