ACPI!GetPciAddress函数调试断点搜集和3个重要数据结构

ACPI!GetPciAddress函数调试断点搜集和3个重要数据结构

ACPI!PciConfigSpaceHandler

ACPI!PciConfigSpaceHandlerWorker

1: kd> dt acpi!PCI_CONFIG_STATE

+0x000 AccessType : Uint4B

+0x004 OpRegion : Ptr32 _NSObj

+0x008 Address : Uint4B

+0x00c Size : Uint4B

+0x010 Data : Ptr32 Uint4B

+0x014 Context : Uint4B

+0x018 CompletionHandler : Ptr32 Void

+0x01c CompletionContext : Ptr32 Void

+0x020 PciObj : Ptr32 _NSObj

+0x024 ParentObj : Ptr32 _NSObj

+0x028 CompletionHandlerType : Uint4B

+0x02c Flags : Uint4B

+0x030 RunCompletion : Int4B

+0x034 Slot : _PCI_SLOT_NUMBER

+0x038 Bus : UChar

+0x039 IsPciDeviceResult : UChar

ACPI!GetPciAddress

ACPI!GetPciAddressWorker

1: kd> dt acpi!GET_ADDRESS_CONTEXT

+0x000 PciObject : Ptr32 _NSObj

+0x004 Bus : Ptr32 UChar

+0x008 Slot : Ptr32 _PCI_SLOT_NUMBER

+0x00c ParentBus : UChar

+0x010 ParentSlot : _PCI_SLOT_NUMBER

+0x014 Flags : Uint4B

+0x018 Address : Uint4B

+0x01c BaseBusNumber : Uint4B

+0x020 RunCompletion : Int4B

+0x024 CompletionRoutine : Ptr32 void

+0x028 CompletionContext : Ptr32 Void

ACPI!ACPIGet

ACPI!ACPIGet+0x220

ACPI!ACPIGet+0x248

1: kd> dt acpi!ACPI_GET_REQUEST

+0x000 Flags : Uint4B

+0x000 UFlags : __unnamed

+0x004 ObjectID : Uint4B

+0x008 ListEntry : _LIST_ENTRY

+0x010 DeviceExtension : Ptr32 _DEVICE_EXTENSION

+0x014 AcpiObject : Ptr32 _NSObj

+0x018 CallBackRoutine : Ptr32 void

+0x01c CallBackContext : Ptr32 Void

+0x020 Buffer : Ptr32 Ptr32 Void

+0x024 BufferSize : Ptr32 Uint4B

+0x028 Status : Int4B

+0x02c ResultData : _ObjData

ACPI!AMLIAsyncEvalObject

ACPI!AsyncEvalObject

ACPI!RestartCtxtCallback

ACPI!RestartContext

ACPI!RunContext

ACPI!RunContext+0x11f

ACPI!RunContext+0x1f0

ACPI!AsyncCallBack

ACPI!ACPIGetWorkerForInteger

hal!HalGetBusDataByOffset

hal!HalSetBusDataByOffset

ACPI!ParseCall
ACPI!Return
ACPI!Store

相关推荐
sitelist12 天前
ACPI!GetPciAddressWorker函数处理设备P2P0的一个例子
getpciaddress·pciaddresswork·p2p0