Device (P2P0)的子节点Device (S2F0)存在对应的PCI-VEN_1022&DEV_2000是虚拟机网卡

Device (P2P0)的子节点Device (S2F0)存在对应的PCI-VEN_1022&DEV_2000是虚拟机网卡

第二个:S2F0

1: kd> g

Breakpoint 63 hit

eax=f740ceea ebx=00000000 ecx=00000001 edx=00002707 esi=898a8270 edi=898a829c

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

1: 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

1: kd> dv

AcpiObject = 0x899b00ac

Status = 0n0

Result = 0x00000000

Context = 0x898a8760

buffer = unsigned char [64] ""

1: kd> dt GET_ADDRESS_CONTEXT 0x898a8760

ACPI!GET_ADDRESS_CONTEXT

+0x000 PciObject : 0x8996cd78 _NSObj

+0x004 Bus : 0x899c1554 ""

+0x008 Slot : 0x899c1558 _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 : 0x899c1548 Void

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> dx -id 0,0,899a2278 -r1 ((ACPI!unsigned char *)0x899c1554)

((ACPI!unsigned char *)0x899c1554) : 0x899c1554 : 0x0 [Type: unsigned char *]

0x0 [Type: unsigned char]

1: kd> dt _PCI_SLOT_NUMBER 0x899c1558 -r

hal!_PCI_SLOT_NUMBER

+0x000 u : __unnamed

+0x000 bits : __unnamed

+0x000 DeviceNumber : 0y10001 (0x11)

+0x000 FunctionNumber : 0y000

+0x000 Reserved : 0y000000000000000000000000 (0)

+0x000 AsULONG : 0x11

1: kd> g

Breakpoint 63 hit

eax=00000000 ebx=00000000 ecx=00002000 edx=00002707 esi=898a8760 edi=00000000

eip=f740ceea esp=f791ac4c 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:

f740ceea 55 push ebp

1: kd> kc

00 ACPI!GetPciAddressWorker

01 ACPI!GetPciAddressWorker

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 = 0x899b00ac

Status = 0n0

Result = 0x00000000

Context = 0x899c1548

buffer = unsigned char [64] ""

1: kd> dt GET_ADDRESS_CONTEXT 0x899c1548

ACPI!GET_ADDRESS_CONTEXT

+0x000 PciObject : 0x8996d860 _NSObj

+0x004 Bus : 0x898a8b18 ""

+0x008 Slot : 0x898a8b14 _PCI_SLOT_NUMBER

+0x00c ParentBus : 0 ''

+0x010 ParentSlot : _PCI_SLOT_NUMBER

+0x014 Flags : 0x128

+0x018 Address : 0x10000

+0x01c BaseBusNumber : 0

+0x020 RunCompletion : 0n1

+0x024 CompletionRoutine : 0xf740d62c void ACPI!PciConfigSpaceHandlerWorker+0

+0x028 CompletionContext : 0x898a8ae0 Void

1: kd> db 0x8996d860

8996d860 5c d4 96 89 38 dc 96 89-78 cd 96 89 a4 d8 96 89 \...8...x.......

8996d870 53 32 46 30 30 f3 9a 89-1c d8 96 89 00 00 06 00 S2F00...........

8996d880 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

8996d890 88 8a 96 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...

8996d8a0 00 90 96 89 f4 db 96 89-e8 d8 96 89 60 d8 96 89 ............`...

8996d8b0 00 00 00 00 5f 41 44 52-30 f3 9a 89 60 d8 96 89 ...._ADR0...`...

8996d8c0 00 00 01 00 00 00 00 00-00 00 01 00 00 00 00 00 ................

8996d8d0 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO

1: kd> dx -id 0,0,899a2278 -r1 ((ACPI!unsigned char *)0x898a8b18)

((ACPI!unsigned char *)0x898a8b18) : 0x898a8b18 : 0x0 [Type: unsigned char *]

0x0 [Type: unsigned char]

1: kd> g

Breakpoint 51 hit

eax=00000000 ebx=00000000 ecx=8996cd78 edx=00002707 esi=899c1548 edi=00000103

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

00 hal!HalGetBusDataByOffset

01 ACPI!GetPciAddressWorker

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

BusDataType = PCIConfiguration (0n4)

BusNumber = 0

SlotNumber = 0x11

Buffer = 0xf791ac04

Offset = 0

Length = 0x40

bus = struct _BUS_HANDLER

1: kd> dt PCI_COMMON_CONFIG 0xf791ac04 -r

hal!PCI_COMMON_CONFIG

+0x000 VendorID : 0x15ad

+0x002 DeviceID : 0x790

+0x004 Command : 7

+0x006 Status : 0x290

+0x008 RevisionID : 0x2 ''

+0x009 ProgIf : 0x1 ''

+0x00a SubClass : 0x4 ''

+0x00b BaseClass : 0x6 ''

+0x00c CacheLineSize : 0x8 ''

+0x00d LatencyTimer : 0x40 '@'

+0x00e HeaderType : 0x1 ''

+0x00f BIST : 0 ''

+0x010 u : __unnamed

+0x000 type1 : _PCI_HEADER_TYPE_1

+0x000 BaseAddresses : [2] 0

+0x008 PrimaryBus : 0 ''

+0x009 SecondaryBus : 0x2 ''

+0x00a SubordinateBus : 0x2 ''

+0x00b SecondaryLatency : 0x44 'D'

+0x00c IOBase : 0x20 ' '

+0x00d IOLimit : 0x30 '0'

+0x00e SecondaryStatus : 0x280

+0x010 MemoryBase : 0xfd50

+0x012 MemoryLimit : 0xfdf0

+0x014 PrefetchBase : 0xe7b1

+0x016 PrefetchLimit : 0xe7f1

+0x018 PrefetchBaseUpper32 : 0

+0x01c PrefetchLimitUpper32 : 0

+0x020 IOBaseUpper16 : 0

+0x022 IOLimitUpper16 : 0

+0x024 CapabilitiesPtr : 0x40 '@'

+0x025 Reserved1 : [3] ""

+0x028 ROMBaseAddress : 0

+0x02c InterruptLine : 0xff ''

+0x02d InterruptPin : 0 ''

+0x02e BridgeControl : 4

1: kd> kc

00 ACPI!PciConfigSpaceHandlerWorker

01 ACPI!GetPciAddressWorker

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

AcpiObject = 0x899b00ac

CompletionStatus = 0n0

Result = 0x00000000

Context = 0x898a8ae0

1: kd> dt PCI_CONFIG_STATE 0x898a8ae0

ACPI!PCI_CONFIG_STATE

+0x000 AccessType : 0

+0x004 OpRegion : 0x8996d988 _NSObj

+0x008 Address : 0

+0x00c Size : 4

+0x010 Data : 0x897e7de0 -> 0

+0x014 Context : 0

+0x018 CompletionHandler : 0xf7420914 Void

+0x01c CompletionContext : 0x897e60ac Void

+0x020 PciObj : 0x8996d860 _NSObj

+0x024 ParentObj : (null)

+0x028 CompletionHandlerType : 0

+0x02c Flags : 0x1100

+0x030 RunCompletion : 0n1

+0x034 Slot : _PCI_SLOT_NUMBER

+0x038 Bus : 0x2 ''

+0x039 IsPciDeviceResult : 0 ''

1: kd> dx -id 0,0,899a2278 -r1 (*((ACPI!_PCI_SLOT_NUMBER *)0x898a8b14))

(*((ACPI!_PCI_SLOT_NUMBER *)0x898a8b14)) [Type: _PCI_SLOT_NUMBER]

+0x000\] u \[Type: __unnamed

1: kd> dt ACPI!_PCI_SLOT_NUMBER 0x898a8b14 -r

+0x000 u : __unnamed

+0x000 bits : __unnamed

+0x000 DeviceNumber : 0y00001 (0x1)

+0x000 FunctionNumber : 0y000

+0x000 Reserved : 0y000000000000000000000000 (0)

+0x000 AsULONG : 1

Device (S2F0)

{

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

Name (_SUN, 0x41) // _SUN: Slot User Number

OperationRegion (REGS, PCI_Config, 0x00, 0x04)

Field (REGS, DWordAcc, NoLock, Preserve)

{

ID, 32

}

Method (_STA, 0, NotSerialized) // _STA: Status

{

Return (BSTA (ID))

}

PCIVEN_1022&DEV_2000&SUBSYS_20001022&REV_10 网卡驱动!!!急...

2000年10月22日你那个是虚拟机VMXNET的硬件需要安装VMware Tools 他会自动给你装好驱动

PCI\VEN_1022&DEV_2000&SUBSYS_20001014&REV_44\3&267A616A&0&10

1: kd> g

Breakpoint 51 hit

eax=00000002 ebx=898a8ae0 ecx=00000100 edx=8996d988 esi=00000000 edi=00000000

eip=804f25ee esp=f791ab74 ebp=f791abe0 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> kc

00 hal!HalGetBusDataByOffset
01 ACPI!PciConfigSpaceHandlerWorker

02 ACPI!GetPciAddressWorker

03 ACPI!GetPciAddressWorker

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

BusDataType = PCIConfiguration (0n4)
BusNumber = 2
SlotNumber = 1

Buffer = 0x897e7de0

Offset = 0

Length = 4

bus = struct _BUS_HANDLER

1: kd> gu

Breakpoint 53 hit

eax=00000004 ebx=898a8ae0 ecx=00000000 edx=00000000 esi=00000000 edi=00000000

eip=f740d8c7 esp=f791ab90 ebp=f791abe0 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 0x897e7de0

897e7de0 22 10 00 20 00 00 00 00-00 00 00 00 20 00 00 00 ".. ........ ...

897e7df0 03 00 00 00 41 43 46 55-18 00 00 00 03 00 01 00 ....ACFU........

897e7e00 71 9b 41 f7 2c da 96 89-1c 61 7e 89 43 41 4c 4c q.A.,....a~.CALL

897e7e10 cc 00 00 00 01 00 00 00-09 77 42 f7 00 00 00 00 .........wB.....

897e7e20 00 00 00 00 74 cf 96 89-01 00 00 00 01 00 00 00 ....t...........

897e7e30 1c 61 7e 89 00 00 00 00-00 00 00 00 00 00 00 00 .a~.............

897e7e40 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

897e7e50 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

1: kd> dd 0x897e7de0

897e7de0 20001022 00000000 00000000 00000020

第二部分:

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 : 0x8985e010 \[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 *)0x8985e010)

((ACPI!_List *)0x8985e010) : 0x8985e010 [Type: _List *]

+0x000\] plistPrev : **0x897e6010** \[Type: _List \*

+0x004\] plistNext : 0x89781010 \[Type: _List \*

1: kd> dx -r1 ((ACPI!_List *)0x897e6010)

((ACPI!_List *)0x897e6010) : 0x897e6010 [Type: _List *]

+0x000\] plistPrev :**0x897e4010** \[Type: _List \*

+0x004\] plistNext : 0x8985e010 \[Type: _List \*