ACPI!ACPIBuildDeviceDpc函数分析从ACPIBuildProcessQueueList结束后到处理AcpiBuildRunMethodList

ACPI!ACPIBuildDeviceDpc函数分析从ACPIBuildProcessQueueList结束后到第一次运行ACPI!ACPIBuildProcessGenericList处理AcpiBuildRunMethodList

第一次运行ACPI!ACPIBuildProcessGenericList

第一部分:
0: kd> g
Breakpoint 24 hit
eax=00000000 ebx=80afae90 ecx=f743b870 edx=f743b870 esi=f743b898 edi=ffdff980
eip=f73fc5f9 esp=f789ef94 ebp=f789eff4 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!ACPIBuildDeviceDpc+0x47:
f73fc5f9 8bce mov ecx,esi
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0xf743b890 - 0xf743b890 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
[+0x000] Flink : 0xf743b890 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0xf743b890 [Type: _LIST_ENTRY *]

第二部分:
0: kd> kc
#
00 ACPI!ACPIBuildDeviceDpc
01 nt!KiRetireDpcList
02 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
03 0x0

1: kd> g
Breakpoint 2 hit
eax=f743b870 ebx=80afae90 ecx=f743b898 edx=f743b870 esi=f743b898 edi=ffdff980
eip=f73fb8c4 esp=f789ef88 ebp=f789eff4 iopl=0 nv up ei ng nz na pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000287
ACPI!ACPIBuildProcessGenericList:
f73fb8c4 55 push ebp
0: kd> kc
#
00 ACPI!ACPIBuildProcessGenericList
01 ACPI!ACPIBuildDeviceDpc
02 nt!KiRetireDpcList
03 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
04 0x0
0: kd> dv
ListEntry = 0xf743b870 [ 0x89906e30 - 0x89906e30 ]
DispatchTable = 0xf74380e8
tempEntry = 0xf73fb8c4 [ 0x83ec8b55 - 0x4d8b0cec ]
allWorkComplete = 0x00 ''
buildFunction = 0x00000000


0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0xf743b870)
((ACPI!_LIST_ENTRY *)0xf743b870) : 0xf743b870 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906e30[Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906e30[Type: _LIST_ENTRY *]

只有一个节点!!!


0: kd> dt ACPI_BUILD_REQUEST 0x89906e30
+0x000 ListEntry : _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0xc
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x89981a18Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0
+0x044 String : (null)
+0x044 TargetListEntry : (null)
0: kd> dt acpi!_Device_Extension 0x89981a18
+0x000 Flags : 0x0001e000`00200010
+0x000 UFlags : __unnamed
+0x008 Signature : 0x5f534750
+0x00c DebugFlags : 0
+0x010 DispatchTable : 0xf743826c IRP_DISPATCH_TABLE
+0x014 WorkContext : WORK_QUEUE_CONTEXT
+0x014 Fdo : _FDO_DEVICE_EXTENSION
+0x014 Filter : _FILTER_DEVICE_EXTENSION
+0x014 Pdo : _PDO_DEVICE_EXTENSION
+0x058 WorkQueue : EXTENSION_WORKER
+0x058 Button : BUTTON_EXTENSION
+0x058 Thermal : THERMAL_EXTENSION
+0x058 LinkNode : LINK_NODE_EXTENSION
+0x058 Dock : DOCK_EXTENSION
+0x058 Processor : _PROCESSOR_DEVICE_EXTENSION
+0x088 DeviceState : 0 ( Stopped )
+0x08c PreviousState : 0 ( Stopped )
+0x090 PowerInfo : _ACPI_POWER_INFO
+0x10c DeviceID : 0x899bfed0 "ACPI\PNP0C08"
+0x10c Address : 0x899bfed0
+0x110 InstanceID : 0x899bfeb8 "0x5F534750"
+0x114 ResourceList : 0x899874d0 _CM_RESOURCE_LIST
+0x118 PnpResourceList : (null)
+0x11c OutstandingIrpCount : 0n2
+0x120 ReferenceCount : 0n15
+0x124 HibernatePathCount : 0n0
+0x128 RemoveEvent : (null)
+0x12c AcpiObject : 0x899af0f0 _NSObj
+0x130 DeviceObject : 0x89981b98 _DEVICE_OBJECT
+0x134 TargetDeviceObject : 0x899c1de0 _DEVICE_OBJECT
+0x138 PhysicalDeviceObject : 0x899c1de0 _DEVICE_OBJECT
+0x13c ParentExtension : (null)
+0x140 ChildDeviceList : _LIST_ENTRY [ 0x899c0ea0 - 0x89906fe8 ]
+0x148 SiblingDeviceList : _LIST_ENTRY [ 0x89981b60 - 0x89981b60 ]
+0x150 EjectDeviceHead : _LIST_ENTRY [ 0x89981b68 - 0x89981b68 ]
+0x158 EjectDeviceList : _LIST_ENTRY [ 0x89981b70 - 0x89981b70 ]
0: kd> db 0x899af0f0
899af0f0 ac f0 9a 89 34 f1 9a 89-24 f0 9a 89 74 f4 9a 89 ....4...$...t...
899af100 5f 53 42 5f 00 00 00 00-00 00 00 00 00 00 00 00 _SB_............
899af110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899af120 18 1a 98 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899af130 00 f0 9a 89 f0 f0 9a 89-78 f1 9a 89 24 f0 9a 89 ........x...$...
899af140 00 00 00 00 5f 53 49 5f-00 00 00 00 00 00 00 00 ...._SI_........
899af150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899af160 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO


0: kd> x ACPI!RootDeviceExtension
f743b710 ACPI!RootDeviceExtension =0x89981a18

0: kd> t
Breakpoint 26 hit
eax=00000003 ebx=00000003 ecx=89906e40 edx=00000001 esi=89906e30 edi=80b019f4
eip=f73fbbfa esp=f789ef64 ebp=f789ef84 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!ACPIBuildProcessRunMethodPhaseCheckSta:
f73fbbfa 55 push ebp
0: kd> kc
#
00 ACPI!ACPIBuildProcessRunMethodPhaseCheckSta
01 ACPI!ACPIBuildProcessGenericList
02 ACPI!ACPIBuildDeviceDpc
03 nt!KiRetireDpcList
04 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
05 0x0
0: kd> dv
BuildRequest = 0x89906e30
0: kd> dx -r1 ((ACPI!_ACPI_BUILD_REQUEST *)0x89906e30)
((ACPI!_ACPI_BUILD_REQUEST *)0x89906e30) : 0x89906e30 [Type: _ACPI_BUILD_REQUEST *]
[+0x000] ListEntry [Type: _LIST_ENTRY]
[+0x008] Signature : 0x5f534750 [Type: unsigned long]
[+0x00c] Flags : 0xc [Type: unsigned long]
[+0x00c] UFlags [Type: __unnamed]
[+0x010] WorkDone : 0x1 [Type: unsigned long]
[+0x014] CurrentWorkDone : 0x3 [Type: unsigned long]
[+0x018] NextWorkDone : 0x0 [Type: unsigned long]
[+0x01c] BuildContext : 0x89981a18 [Type: void *]
[+0x020] Status : 0 [Type: long]
[+0x024] CurrentObject : 0x0 [Type: _NSObj *]
[+0x028] CallBack : 0x0 [Type: void (*)(void *,void *,long)]
[+0x02c] CallBackContext : 0x0 [Type: void *]
[+0x030] DeviceRequest [Type: __unnamed]
[+0x030] RunRequest [Type: __unnamed]
[+0x030] SynchronizeRequest [Type: __unnamed]
[+0x044] Integer : 0x0 [Type: unsigned long]
[+0x044] String : 0x0 [Type: unsigned char *]
[+0x044] TargetListEntry : 0x0 [Type: _LIST_ENTRY *]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1169124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于django 的人工智能研讨社区系统

目录基于Django的人工智能研讨社区系统关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!基于Django的人工智能研讨社区系统 该系统是一个专为人工智能领域研究者、开发者及爱好者设计…

收藏必看!小白入门:一文搞懂LLMs、RAG与AI Agent的区别与应用

文章解析AI三大核心技术:LLMs作为"天才大脑"提供思考能力但知识有限;RAG作为记忆系统连接外部知识库解决实时性问题;AI Agent作为执行层实现自主行动。三者非竞争关系,而是协同工作,分别负责思考、认知和执行…

斯坦福+伯克利联手解决大模型长上下文难题,TTT-E2E技术详解与谷歌Titans对比,打造个人专属LLM指南

文章详解斯坦福和伯克利联合研发的TTT-E2E技术,这是一种解决大模型长上下文记忆问题的新方法。与传统固定模型不同,TTT-E2E在推理过程中更新参数存储记忆。文章对比了其与谷歌Titans的差异、更新机制和实际效果,并探讨了打造个人专属大模型的…

基于django 的学生网上选课系统的设计

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 该系统基于Django框架开发,旨在为学生提供高效、便捷的在线选课服务。通过模块化设计,系统分为…

数字孪生项目的外包开发流程

数字孪生(Digital Twin)外包开发相比传统软件开发更为复杂,因为它涉及物理建模、实时数据集成、仿真算法以及可视化渲染四个维度的深度结合。数字孪生项目的标准外包开发流程通常分为以下六个阶段:1. 需求分析与场景定义这是项目成…

Ubuntu启动盘制作

制作 Ubuntu 启动盘有两种主流方案: 一次性写入(Rufus,简单直接);多镜像共存(Ventoy,后期可随意增删 ISO)。 下面分别给出 Windows 环境下的完整步骤,按需要任选其一即可…

基于django的超市进销存管理系统 供应商

目录供应商管理模块摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!供应商管理模块摘要 Django框架下的超市进销存管理系统中,供应商管理是核心模块之一&#xff0c…

导师推荐!9款AI论文写作软件测评:本科生毕业论文全攻略

导师推荐!9款AI论文写作软件测评:本科生毕业论文全攻略 2026年AI论文写作工具测评:为本科生量身打造的高效指南 随着人工智能技术在学术领域的广泛应用,越来越多的本科生开始借助AI论文写作工具提升写作效率、优化内容质量。然而&…

AI 写论文哪个软件最好?实测虎贲等考 AI:毕业论文的智能通关密钥

毕业季的论文战场,“AI 写论文哪个软件最好” 的灵魂拷问,总能在各大高校的互助群里刷屏。不少同学踩坑无数:有的工具生成内容空洞无物,有的文献引用漏洞百出,有的查重结果与学校标准脱节。作为深耕论文写作科普的测评…

全网最全2026本科生AI论文工具TOP10测评

全网最全2026本科生AI论文工具TOP10测评 2026年本科生AI论文工具测评:为什么你需要这份指南? 随着人工智能技术的不断进步,越来越多的本科生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的AI论文生成与辅助工具&…

基于django框架和python的的实验室机房预约管理系统的

目录实验室机房预约管理系统摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!实验室机房预约管理系统摘要 该系统基于Django框架与Python语言开发,旨在实现高校或科研…

程序员必学!Claude Skills与MCP协同实战:构建智能代理的收藏级指南

文章介绍了Anthropic的Claude模型中Skills与MCP的协同机制。MCP提供对外部系统的标准化连接,而Skills提供工作流程逻辑,指导Claude有效使用这些工具。两者结合可构建遵循特定工作流程的智能代理,实现清晰的数据发现、可靠的任务编排和一致的性…

开题报告怎么写?宏智树 AI 手把手教你搞定学术第一步

作为深耕论文写作科普的教育博主,后台每天都被开题报告的求助淹没:“选题太泛被导师打回三次”“文献综述写成流水账”“研究方法不落地”“技术路线图画得像天书”…… 开题报告是学术研究的 “施工图”,写不好不仅过不了答辩,更…

基于djangos线上美食社区论坛交流系统

目录Django 线上美食社区论坛交流系统摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!Django 线上美食社区论坛交流系统摘要 Django 线上美食社区论坛交流系统是一个基于 Pytho…

收藏必备!30+程序员转行AI大模型指南:从入门到实战,抓住科技新风口!_30岁程序员失业,转行大模型还来得及吗?

转行AI大模型是明智选择,市场需求旺盛,30程序员凭借技术积累、跨领域知识和抗压能力更具优势。学习可分为初阶应用、高阶应用、模型训练和商业闭环四个阶段,系统掌握大模型技术后,可成为全栈工程师,解决实际项目需求&a…

基于django山歌文化传播系统

目录Django山歌文化传播系统摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!Django山歌文化传播系统摘要 山歌文化作为非物质文化遗产的重要组成部分,具有独特的地域…

告别文献堆砌!宏智树 AI:手把手教你写出有灵魂的文献综述

作为深耕论文写作科普的教育博主,后台每天都被粉丝的文献综述难题刷屏:“读了 30 篇文献,写出来的综述还是‘观点大乱炖’”“引用格式改到崩溃,导师说我是‘学术搬运工’”“研究空白找不到,论文创新点无从谈起”。 …

基于django框架和python的的图书借阅及书店图书销售商城管理系统设计与实现

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着信息技术的快速发展,传统图书管理方式已难以满足现代书店和图书馆的高效运营需求。基于Django框架和P…

必学收藏!一张图搞懂RAG、AI Agent和Agentic RAG的区别与联系,程序员小白必备指南

文章通过四张图和幽默比喻,清晰解释了RAG、AI Agent和Agentic RAG的区别。RAG如"图书管理员",先检索资料再回答;AI Agent如"社牛AI",能自主完成复杂任务;Agentic RAG如"超级学霸"&#…

【day 50】预训练模型

浙大疏锦行 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np# 定义通道注意力 class ChannelAttention(nn.Mod…