news 2026/4/28 20:01:50

第二次运行ACPI!ACPIBuildProcessQueueList函数链表内的buildRequest->TargetListEntry都是ACPI!AcpiBuildRunMethodList

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第二次运行ACPI!ACPIBuildProcessQueueList函数链表内的buildRequest->TargetListEntry都是ACPI!AcpiBuildRunMethodList

第二次运行ACPI!ACPIBuildProcessQueueList函数链表内的buildRequest->TargetListEntry都是ACPI!AcpiBuildRunMethodList


VOID
ACPIBuildDeviceDpc(
IN PKDPC Dpc,
IN PVOID DpcContext,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
)
{


do {

//
// Assume that we won't do any work
//
AcpiBuildWorkDone = FALSE;

//
// If there are items in the Request Queue, then move them to the
// proper list
//
if (!IsListEmpty( &AcpiBuildQueueList ) ) {

//
// Sort the list
//
ACPIBuildProcessQueueList();

}


0: kd> t
eax=00000002 ebx=80afae90 ecx=f743b898 edx=00000000 esi=f743b898 edi=00000000
eip=f73fbad0 esp=f789ef90 ebp=f789eff4 iopl=0 nv up ei ng nz na po cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000283
ACPI!ACPIBuildProcessQueueList:
f73fbad0 56 push esi
0: kd> kc
#
00 ACPI!ACPIBuildProcessQueueList
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> x
0: kd> dv
0: kd> x acpi!AcpiBuildQueueList
f743b890 ACPI!AcpiBuildQueueList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906aa0 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b890))
(*((ACPI!_LIST_ENTRY *)0xf743b890)) [Type: _LIST_ENTRY]
[+0x000] Flink : 0x89906d70 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906aa0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d70)
((ACPI!_LIST_ENTRY *)0x89906d70) : 0x89906d70 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906d20 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0xf743b890 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d20)
((ACPI!_LIST_ENTRY *)0x89906d20) : 0x89906d20 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906cd0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906d70 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906cd0)
((ACPI!_LIST_ENTRY *)0x89906cd0) : 0x89906cd0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906c80 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906d20 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c80)
((ACPI!_LIST_ENTRY *)0x89906c80) : 0x89906c80 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906c30 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906cd0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c30)
((ACPI!_LIST_ENTRY *)0x89906c30) : 0x89906c30 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906be0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906c80 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906be0)
((ACPI!_LIST_ENTRY *)0x89906be0) : 0x89906be0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906b90 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906c30 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906b90)
((ACPI!_LIST_ENTRY *)0x89906b90) : 0x89906b90 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906b40 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906be0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906b40)
((ACPI!_LIST_ENTRY *)0x89906b40) : 0x89906b40 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906af0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906b90 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906af0)
((ACPI!_LIST_ENTRY *)0x89906af0) : 0x89906af0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906aa0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906b40 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906aa0)
((ACPI!_LIST_ENTRY *)0x89906aa0) : 0x89906aa0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0xf743b890 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906af0 [Type: _LIST_ENTRY *]
0: kd> dt ACPI_BUILD_REQUEST 0x89906d70
+0x000 ListEntry : _LIST_ENTRY [ 0x89906d20 - 0xf743b890 ]
+0x008 Signature : 0x5f534750
+0x00c Flags : 0x100c
+0x00c UFlags : __unnamed
+0x010 WorkDone : 3
+0x014 CurrentWorkDone : 0
+0x018 NextWorkDone : 0
+0x01c BuildContext : 0x899c0d58 Void
+0x020 Status : 0n0
+0x024 CurrentObject : (null)
+0x028 CallBack : (null)
+0x02c CallBackContext : (null)
+0x030 DeviceRequest : __unnamed
+0x030 RunRequest : __unnamed
+0x030 SynchronizeRequest : __unnamed
+0x044 Integer : 0xf743b870
+0x044 String : 0xf743b870 "p???"
+0x044 TargetListEntry : 0xf743b870 _LIST_ENTRY [ 0xf743b870 - 0xf743b870 ]
0: kd> dx -id 0,0,899a2278 -r1 ((ACPI!_LIST_ENTRY *)0xf743b870)
((ACPI!_LIST_ENTRY *)0xf743b870) : 0xf743b870 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0xf743b870 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0xf743b870 [Type: _LIST_ENTRY *]
0: kd> u 0xf743b870
ACPI!AcpiBuildRunMethodList:
f743b870 70b8 jo ACPI!BuildRequestLookAsideList+0x4a (f743b82a)
f743b872 43 inc ebx
f743b873 f770b8 div eax,dword ptr [eax-48h]
f743b876 43 inc ebx
f743b877 f778b8 idiv eax,dword ptr [eax-48h]
f743b87a 43 inc ebx
f743b87b f778b8 idiv eax,dword ptr [eax-48h]
f743b87e 43 inc ebx

分类转入ACPI!AcpiBuildRunMethodList列表

第二部分:

0: kd> gu
Breakpoint 24 hit
eax=00000000 ebx=80afae90 ecx=f743b870 edx=89906af0 esi=f743b898 edi=00000000
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 *]

acpi!AcpiBuildQueueList链表内没有节点了

0: kd> x ACPI!AcpiBuildRunMethodList
f743b870 ACPI!AcpiBuildRunMethodList = struct _LIST_ENTRY [ 0x89906d70 - 0x89906aa0 ]
0: kd> dx -r1 (*((ACPI!_LIST_ENTRY *)0xf743b870))
(*((ACPI!_LIST_ENTRY *)0xf743b870)) [Type: _LIST_ENTRY]
[+0x000] Flink : 0x89906d70 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906aa0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d70)
((ACPI!_LIST_ENTRY *)0x89906d70) : 0x89906d70 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906d20 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0xf743b870 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906d20)
((ACPI!_LIST_ENTRY *)0x89906d20) : 0x89906d20 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906cd0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906d70 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906cd0)
((ACPI!_LIST_ENTRY *)0x89906cd0) : 0x89906cd0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906c80 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906d20 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c80)
((ACPI!_LIST_ENTRY *)0x89906c80) : 0x89906c80 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906c30 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906cd0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906c30)
((ACPI!_LIST_ENTRY *)0x89906c30) : 0x89906c30 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906be0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906c80 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906be0)
((ACPI!_LIST_ENTRY *)0x89906be0) : 0x89906be0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906b90 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906c30 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906b90)
((ACPI!_LIST_ENTRY *)0x89906b90) : 0x89906b90 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906b40 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906be0 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906b40)
((ACPI!_LIST_ENTRY *)0x89906b40) : 0x89906b40 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906af0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906b90 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906af0)
((ACPI!_LIST_ENTRY *)0x89906af0) : 0x89906af0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0x89906aa0 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906b40 [Type: _LIST_ENTRY *]
0: kd> dx -r1 ((ACPI!_LIST_ENTRY *)0x89906aa0)
((ACPI!_LIST_ENTRY *)0x89906aa0) : 0x89906aa0 [Type: _LIST_ENTRY *]
[+0x000] Flink : 0xf743b870 [Type: _LIST_ENTRY *]
[+0x004] Blink : 0x89906af0 [Type: _LIST_ENTRY *]

ACPI!AcpiBuildRunMethodList链表内10个节点!!!

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

YOLO-World:从入门到实战的多模态目标检测全指南

文章目录 从0到1掌握YOLO-World:多模态目标检测入门到实战超详细教程 一、先搞懂“多模态目标检测”和YOLO-World到底是什么 1. 什么是多模态目标检测? 2. YOLO-World:速度与精度的多模态标杆 二、YOLO-World的技术逻辑:从输入到输出的全流程 1. 核心架构:“图像-文本”双…

作者头像 李华
网站建设 2026/4/28 19:34:36

多光谱图像融合入门:基于 DAF-Net 的完整实现教程(红外/可见光)

文章目录 零基础入门红外与可见光图像融合:DAF-Net 实战全指南 一、技术底层逻辑:为什么选择 DAF-Net? 1. DAF-Net 核心架构拆解 二、环境搭建:从0到1配置开发环境 1. 硬件与系统要求 2. 软件安装步骤 三、数据集准备:让模型“见多识广” 1. 数据集下载与整理 2. 数据预处…

作者头像 李华
网站建设 2026/4/27 18:24:27

数学建模Matlab算法,第三十章 偏最小二乘回归

偏最小二乘回归:理论、方法与实证分析 在数据分析与建模的实践领域,变量间的相互关系研究始终是核心议题之一。尤其是当面临两组多重相关变量,且需要通过一组变量(自变量或预测变量)对另一组变量(因变量或响应变量)进行预测时,选择合适的分析方法显得至关重要。传统的…

作者头像 李华
网站建设 2026/4/27 19:15:24

基于VUE的高校毕业设计管理系统[VUE]-计算机毕业设计源码+LW文档

摘要:高校毕业设计管理是一项复杂且重要的工作,传统管理方式在效率、准确性等方面存在诸多不足。本文旨在设计并实现基于VUE的高校毕业设计管理系统,以提升管理效能。通过深入的需求分析,明确系统涵盖用户管理、选题管理、任务书管…

作者头像 李华
网站建设 2026/4/27 2:09:39

kubeadm 离线部署 Kubernetes 集群 + 完整测试【20260117】001

文章目录 kubeadm 离线部署 Kubernetes 集群 + 完整测试 一、前期准备 1. 环境规划(最小化集群) 2. 所有节点统一基础配置(必须执行) (1)关闭防火墙 (2)关闭 SELinux (3)关闭交换分区 (4)配置内核参数(开启IP转发、加载overlay模块) (5)配置主机名与hosts解析(…

作者头像 李华
网站建设 2026/4/26 22:08:52

基于SpringBoot的办公管理系统设计与实现

背景分析现代企业办公场景中,传统纸质化或分散式管理方式存在效率低、数据孤岛、协同困难等问题。随着数字化转型加速,企业对高效、集成化办公管理的需求日益增长。SpringBoot作为轻量级Java框架,具备快速开发、微服务支持等特性,…

作者头像 李华