news 2026/2/22 11:28:05

ACPI!GetPciAddress到ACPI!GetPciAddressWorker完成后会调用state->CompletionRoutine:ACPI!PciConfigSpaceHandler

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI!GetPciAddress到ACPI!GetPciAddressWorker完成后会调用state->CompletionRoutine:ACPI!PciConfigSpaceHandler

ACPI!GetPciAddress到ACPI!GetPciAddressWorker完成后会调用state->CompletionRoutine:ACPI!PciConfigSpaceHandler
1: kd> kc
#
00 ACPI!GetPciAddress
01 ACPI!PciConfigSpaceHandlerWorker
02 ACPI!PciConfigSpaceHandler
03 ACPI!InternalOpRegionHandler
04 ACPI!WriteCookAccess
05 ACPI!RunContext
06 ACPI!InsertReadyQueue
07 ACPI!RestartCtxtPassive
08 ACPI!ACPIWorker
09 nt!PspSystemThreadStartup
0a nt!KiThreadStartup
1: kd> dv
PciObj = 0x899affac
CompletionRoutine = 0xf740d62c
Context = 0x89987378
Bus = 0x899873b0 ""
Slot = 0x899873ac

1: kd> t
eax=899affac ebx=89987378 ecx=899873ac edx=899bf408 esi=f740d62c edi=899bf434
eip=f740ceea esp=f791abe8 ebp=f791ac04 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000286
ACPI!GetPciAddressWorker:
f740ceea 55 push ebp
1: kd> kc
#
00 ACPI!GetPciAddressWorker
01 ACPI!GetPciAddress
02 ACPI!PciConfigSpaceHandlerWorker
03 ACPI!PciConfigSpaceHandler
04 ACPI!InternalOpRegionHandler
05 ACPI!WriteCookAccess
06 ACPI!RunContext
07 ACPI!InsertReadyQueue
08 ACPI!RestartCtxtPassive
09 ACPI!ACPIWorker
0a nt!PspSystemThreadStartup
0b nt!KiThreadStartup
1: kd> dv
AcpiObject = 0x899affac
Status = 0n0
Result = 0x00000000
Context = 0x899bf408
buffer = unsigned char [64] ""
1: kd> dt GET_ADDRESS_CONTEXT 0x899bf408
ACPI!GET_ADDRESS_CONTEXT
+0x000 PciObject : 0x899affac _NSObj
+0x004 Bus : 0x899873b0 ""
+0x008 Slot : 0x899873ac _PCI_SLOT_NUMBER
+0x00c ParentBus : 0 ''
+0x010 ParentSlot : _PCI_SLOT_NUMBER
+0x014 Flags : 0
+0x018 Address : 0
+0x01c BaseBusNumber : 0
+0x020 RunCompletion : 0n-1
+0x024 CompletionRoutine : 0xf740d62c void ACPI!PciConfigSpaceHandlerWorker+0
+0x028 CompletionContext : 0x89987378 Void


1: kd> u f740d62c
ACPI!PciConfigSpaceHandlerWorker [d:\srv03rtm\base\busdrv\acpi\driver\nt\pciopregion.c @ 544]:
f740d62c 55 push ebp
f740d62d 8bec mov ebp,esp
f740d62f 83ec44 sub esp,44h
f740d632 a1a88c43f7 mov eax,dword ptr [ACPI!__security_cookie (f7438ca8)]
f740d637 53 push ebx
f740d638 8b5d14 mov ebx,dword ptr [ebp+14h]
f740d63b 56 push esi
f740d63c 57 push edi
windbg> .open -a fffffffff740d62c
1: kd> dt PCI_CONFIG_STATE 0x89987378
ACPI!PCI_CONFIG_STATE
+0x000 AccessType : 1
+0x004 OpRegion : 0x899b0b50 _NSObj
+0x008 Address : 0xd8
+0x00c Size : 4
+0x010 Data : 0x8997dc28 -> 0x40e98102
+0x014 Context : 0
+0x018 CompletionHandler : 0xf7420914 Void
+0x01c CompletionContext : 0x8997c0ac Void
+0x020 PciObj : 0x899affac _NSObj
+0x024 ParentObj : (null)
+0x028 CompletionHandlerType : 0
+0x02c Flags : 0x100
+0x030 RunCompletion : 0n0
+0x034 Slot : _PCI_SLOT_NUMBER
+0x038 Bus : 0 ''
+0x039 IsPciDeviceResult : 0 ''

+0x024 CompletionRoutine : 0xf740d62c void ACPI!PciConfigSpaceHandlerWorker+0
完成例程会再次进入函数ACPI!PciConfigSpaceHandlerWorker,
再次进入函数ACPI!PciConfigSpaceHandlerWorker,下面的不会运行,
会继续向下运行,因为已经得到了state->Bus和state->Slot。

if (!interface) {

if (!(state->Flags & PCISUPP_GOT_SLOT_INFO)) {

state->Flags |= PCISUPP_GOT_SLOT_INFO;

status = GetPciAddress(state->PciObj,
PciConfigSpaceHandlerWorker,
(PVOID)state,
&state->Bus,
&state->Slot);

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 0:33:24

神马影视8.8版2026最新版:核心技术升级与多场景适配解析

各位行业同仁,今天分享神马影视8.8版2026最新源码系统的核心亮点。这款新版系统聚焦播放流畅度、数据处理效率与多端兼容性三大维度升级,技术点通俗易理解,不管是开发入门者还是运营从业者,都能快速掌握实用价值,适配个…

作者头像 李华
网站建设 2026/2/11 11:15:18

【dz-1009】基于单片机的智能头盔设计

基于单片机的智能头盔设计 摘 要 针对传统头盔功能单一、缺乏安全保障的问题,本文设计了一款基于STM32F103C8T6单片机的智能头盔。该头盔主要由光敏电阻、MPU6050传感器、GPS模块、超声波传感器、按键、OLED显示屏以及通信模块构成。通过光敏电阻实时监测光照强度&…

作者头像 李华
网站建设 2026/2/13 0:52:56

软件测试常见面试题汇总(2026版)

一、常见的面试题汇总 1、你做了几年的测试、自动化测试,说一下 selenium 的原理是什么? 我做了五年的测试,1年的自动化测试; selenium 它是用 http 协议来连接 webdriver ,客户端可以使用 Java 或者 Python 各种编…

作者头像 李华
网站建设 2026/2/21 21:36:41

【dz-1014】基于单片机的智能药箱

摘 要 日常生活中,按时服药对治疗和康复至关重要,特别是老年人或慢性病患者。但记忆力下降或生活忙碌常导致忘记服药或混淆药品。因此,设计一款智能多功能储药箱具有重要意义。 本设计以STM32F103C8T6单片机为控制合作,通过RTC获…

作者头像 李华
网站建设 2026/2/21 2:18:42

盲盒经济持续升温,如何解锁消费新场景?

盲盒经济持续升温,如何解锁消费新场景? 盲盒从线下火到了线上,不少品牌通过小程序打造轻量级互动体验,不仅降低了用户参与门槛,还通过社交裂变快速触达年轻群体。为什么用户偏爱盲盒小程序? ✅ 轻量化体验&…

作者头像 李华