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