hal!HalGetBusDataByOffset函数分析得到Device (P2P0)PCI设备空间前4个字节不是0xFFFF说明PCI设备存在--非常重要

hal!HalGetBusDataByOffset函数分析得到Device (P2P0)PCI设备空间前4个字节不是0xFFFF说明PCI设备存在

1: kd> g

Breakpoint 51 hit

eax=00000000 ebx=899050a0 ecx=00000100 edx=8996d118 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> be 48

1: kd> be 54

1: kd> dv

BusDataType = PCIConfiguration (0n4)

BusNumber = 0

SlotNumber = 0x11

Buffer = 0x898f6e44

Offset = 0

Length = 4

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

Device (P2P0)

{

Name (_ADR, 0x00110000) // _ADR: Address

1: kd> gu

Breakpoint 53 hit

eax=00000004 ebx=899050a0 ecx=00000000 edx=00000000 esi=00000000 edi=00000000

eip=f740d8c7 esp=f791abf8 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

ACPI!PciConfigSpaceHandlerWorker+0x29b:

f740d8c7 8bf0 mov esi,eax

1: kd> db 0x898f6e44

898f6e44 ad 15 90 07 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...

15ad 0790

DevNode 0x899ff848 for PDO 0x89cb4e38 ====第九个

InstancePath is "PCI\VEN_15AD&DEV_0790&SUBSYS_00000000&REV_02\3&61aaa01&0&88"

ServiceName is "pci"

State = DeviceNodeStarted (0x308)

Previous State = DeviceNodeEnumerateCompletion (0x30d)

第2个:P2P1没有接PCI设备

1: kd> g

Breakpoint 51 hit

eax=00000000 ebx=89987378 ecx=00000100 edx=899752d4 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 = 0x12

Buffer = 0x898f4e44

Offset = 0

Length = 4

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> gu

Breakpoint 53 hit

eax=00000002 ebx=89987378 ecx=00000000 edx=00000002 esi=00000000 edi=00000000

eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei ng nz na po cy

cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000283

ACPI!PciConfigSpaceHandlerWorker+0x29b:

f740d8c7 8bf0 mov esi,eax

1: kd> db 0x898f4e44

898f4e44 ff ff 00 00 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...

898f4e54 03 00 00 00 41 43 46 55-18 00 00 00 03 00 01 00 ....ACFU........

898f4e64 71 9b 41 f7 78 53 97 89-64 31 8f 89 54 45 52 4d q.A.xS..d1..TERM

898f4e74 34 00 00 00 01 00 00 00-34 7a 42 f7 f7 53 97 89 4.......4zB..S..

898f4e84 00 00 00 00 00 00 00 00-10 93 43 f7 00 00 00 00 ..........C.....

898f4e94 01 00 00 00 02 00 00 00-64 31 8f 89 1c 31 8f 89 ........d1...1..

898f4ea4 54 45 52 4d 34 00 00 00-01 00 00 00 34 7a 42 f7 TERM4.......4zB.

898f4eb4 f6 53 97 89 00 00 00 00-00 00 00 00 70 91 43 f7 .S..........p.C.

第3个:P2P2没有接PCI设备

1: kd> g

Breakpoint 51 hit

eax=00000000 ebx=89900fc0 ecx=00000100 edx=899590d4 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 = 0x13

Buffer = 0x898f2e44

Offset = 0

Length = 4

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> gu

Breakpoint 53 hit

eax=00000002 ebx=89900fc0 ecx=00000000 edx=00000002 esi=00000000 edi=00000000

eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei ng nz na po cy

cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000283

ACPI!PciConfigSpaceHandlerWorker+0x29b:

f740d8c7 8bf0 mov esi,eax

1: kd> dd 0x898f2e44

898f2e44 0000ffff 00000000 00000000 00000020

898f2e54 00000003 55464341 00000018 00010003

898f2e64 f7419b71 89959178 898f1164 4d524554

898f2e74 00000034 00000001 f7427a34 899591f7

898f2e84 00000000 00000000 f7439310 00000000

898f2e94 00000001 00000002 898f1164 898f111c

898f2ea4 4d524554 00000034 00000001 f7427a34

898f2eb4 899591f6 00000000 00000000 f7439170

1: kd> db 0x898f2e44

898f2e44 ff ff 00 00 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...

898f2e54 03 00 00 00 41 43 46 55-18 00 00 00 03 00 01 00 ....ACFU........

898f2e64 71 9b 41 f7 78 91 95 89-64 11 8f 89 54 45 52 4d q.A.x...d...TERM

898f2e74 34 00 00 00 01 00 00 00-34 7a 42 f7 f7 91 95 89 4.......4zB.....

898f2e84 00 00 00 00 00 00 00 00-10 93 43 f7 00 00 00 00 ..........C.....

898f2e94 01 00 00 00 02 00 00 00-64 11 8f 89 1c 11 8f 89 ........d.......

898f2ea4 54 45 52 4d 34 00 00 00-01 00 00 00 34 7a 42 f7 TERM4.......4zB.

898f2eb4 f6 91 95 89 00 00 00 00-00 00 00 00 70 91 43 f7 ............p.C.

第四个:P2P3没有接PCI设备

1: kd> g

Breakpoint 51 hit

eax=00000000 ebx=89906d30 ecx=00000100 edx=89961268 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 = 0x14

Buffer = 0x898f0e44

Offset = 0

Length = 4

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> gu

Breakpoint 53 hit

eax=00000002 ebx=89906d30 ecx=00000000 edx=00000002 esi=00000000 edi=00000000

eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei ng nz na po cy

cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000283

ACPI!PciConfigSpaceHandlerWorker+0x29b:

f740d8c7 8bf0 mov esi,eax

1: kd> db 0x898f0e44

898f0e44 ff ff 00 00 00 00 00 00-00 00 00 00 20 00 00 00 ............ ...

898f0e54 03 00 00 00 41 43 46 55-18 00 00 00 03 00 01 00 ....ACFU........

898f0e64 71 9b 41 f7 0c 13 96 89-64 f1 8e 89 54 45 52 4d q.A.....d...TERM

898f0e74 34 00 00 00 01 00 00 00-34 7a 42 f7 8b 13 96 89 4.......4zB.....

898f0e84 00 00 00 00 00 00 00 00-10 93 43 f7 00 00 00 00 ..........C.....

898f0e94 01 00 00 00 02 00 00 00-64 f1 8e 89 1c f1 8e 89 ........d.......

898f0ea4 54 45 52 4d 34 00 00 00-01 00 00 00 34 7a 42 f7 TERM4.......4zB.

898f0eb4 8a 13 96 89 00 00 00 00-00 00 00 00 70 91 43 f7 ............p.C.

第二部分:

PCI0设备扩展下的实际建立的子设备扩展共9+4*8=41个--重要中间结果--说明这41个设备存在

dsdt.dsl:1767: Device (AGP) 0x10000 "PCI\VEN_8086&DEV_7191&SUBSYS_00000000&REV_01\3&61aaa01&0&08" 1

dsdt.dsl:1772: Device (ISA) 0x70000 "PCI\VEN_8086&DEV_7110&SUBSYS_00000000&REV_08\3&61aaa01&0&38"

dsdt.dsl:2272: Device (PWR) 0x00070003

dsdt.dsl:2284: Device (USB) 0x00070002

dsdt.dsl:2294: Device (IDE) 0x00070001 "PCI\VEN_8086&DEV_7111&SUBSYS_197615AD&REV_01\3&61aaa01&0&39"

dsdt.dsl:5026: Device (EXPL) "ACPI\PNP0C02\4"

dsdt.dsl:5099: Device (DMAR) "ACPI\PNP0C02"

dsdt.dsl:5134: Device (VMGC) "ACPI\VMW0001"

p2p0 110000 "PCI\VEN_15AD&DEV_0790&SUBSYS_00000000&REV_02\3&61aaa01&0&88" 2

p2p1 120000

p2p2 130000

p2p3 140000

Device (PE40) 150000 "PCI\VEN_15AD&DEV_07A0&SUBSYS_00000000&REV_01\3&61aaa01&0&A8" 3

Device (PE50) 160000 "PCI\VEN_15AD&DEV_07A0&SUBSYS_00000000&REV_01\3&61aaa01&0&B0" b

Device (PE60) 170000 "PCI\VEN_15AD&DEV_07A0&SUBSYS_00000000&REV_01\3&61aaa01&0&B8" 13

Device (PE70) 180000 "PCI\VEN_15AD&DEV_07A0&SUBSYS_00000000&REV_01\3&61aaa01&0&C0" 1b

相关推荐
sitelist3 小时前
hal!HalGetBusDataByOffset函数分析得到Device (PE40)PCI设备空间前4个字节不是0xFFFF说明PCI设备存在--非常重要
halgetbusdata·device-pe40