news 2026/4/18 6:31:17

ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点ISA的处理没有_EJD子节点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点ISA的处理没有_EJD子节点

ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点ISA的处理没有_EJD子节点

1: kd> g
Breakpoint 5 hit
eax=00000009 ebx=00000009 ecx=89984198 edx=00000001 esi=89984188 edi=80b019f4
eip=f73fb911 esp=f78aef68 ebp=f78aef84 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!ACPIBuildProcessGenericList+0x4d:
f73fb911 ff55f4 call dword ptr [ebp-0Ch] ss:0010:f78aef78={ACPI!ACPIBuildProcessDeviceGenericEvalStrict (f73fafda)}
1: kd> t
eax=00000009 ebx=00000009 ecx=89984198 edx=00000001 esi=89984188 edi=80b019f4
eip=f73fafda esp=f78aef64 ebp=f78aef84 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!ACPIBuildProcessDeviceGenericEvalStrict:
f73fafda 55 push ebp
1: kd> kc
#
00 ACPI!ACPIBuildProcessDeviceGenericEvalStrict
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
1: kd> dv
BuildRequest = 0x89984188
status = 0n8

1: kd> dx -r1 ((ACPI!_ACPI_BUILD_REQUEST *)0x89984188)
((ACPI!_ACPI_BUILD_REQUEST *)0x89984188) : 0x89984188 [Type: _ACPI_BUILD_REQUEST *]
[+0x000] ListEntry [Type: _LIST_ENTRY]
[+0x008] Signature : 0x5f534750 [Type: unsigned long]
[+0x00c] Flags : 0x1 [Type: unsigned long]
[+0x00c] UFlags [Type: __unnamed]
[+0x010] WorkDone : 0x1 [Type: unsigned long]
[+0x014] CurrentWorkDone : 0x9 [Type: unsigned long]
[+0x018] NextWorkDone : 0x2 [Type: unsigned long]
[+0x01c] BuildContext : 0x899c0a88 [Type: void *]
[+0x020] Status : 0 [Type: long]
[+0x024] CurrentObject : 0x899b22bc [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 : 0xf [Type: unsigned long]
[+0x044] String : 0xf : Unable to read memory at Address 0xf [Type: unsigned char *]
[+0x044] TargetListEntry : 0xf [Type: _LIST_ENTRY *]


1: kd> x acpi!AcpiBuildDevicePowerNameLookup
f7438068 ACPI!AcpiBuildDevicePowerNameLookup = unsigned long [23]
1: kd> dx -r1 (*((ACPI!unsigned long (*)[23])0xf7438068))
(*((ACPI!unsigned long (*)[23])0xf7438068)) [Type: unsigned long [23]]
[0] : 0x0 [Type: unsigned long]
[1] : 0x0 [Type: unsigned long]
[2] : 0x0 [Type: unsigned long]
[3] : 0x0 [Type: unsigned long]
[4] : 0x0 [Type: unsigned long]
[5] : 0x0 [Type: unsigned long]
[6] : 0x0 [Type: unsigned long]
[7] : 0x0 [Type: unsigned long]
[8] : 0x0 [Type: unsigned long]
[9] : 0x444a455f [Type: unsigned long]
[10] : 0x0 [Type: unsigned long]
[11] : 0x5752505f [Type: unsigned long]
[12] : 0x0 [Type: unsigned long]
[13] : 0x3052505f [Type: unsigned long]
[14] : 0x0 [Type: unsigned long]
[15] : 0x3152505f [Type: unsigned long]
[16] : 0x0 [Type: unsigned long]
[17] : 0x3252505f [Type: unsigned long]
[18] : 0x0 [Type: unsigned long]
[19] : 0x5352435f [Type: unsigned long]
[20] : 0x0 [Type: unsigned long]
[21] : 0x4353505f [Type: unsigned long]
[22] : 0x0 [Type: unsigned long]
1: kd> dd 0xf7438068
f7438068 00000000 00000000 00000000 00000000
f7438078 00000000 00000000 00000000 00000000
f7438088 00000000 444a455f 00000000 5752505f
f7438098 00000000 3052505f 00000000 3152505f
f74380a8 00000000 3252505f 00000000 5352435f
f74380b8 00000000 4353505f 00000000 f73fb840
f74380c8 00000000 00000000 00000000 f73fb840
f74380d8 00000000 f73fb94c f73fb98a f73fba36
1: kd> db 0xf7438068
f7438068 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
f7438078 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
f7438088 00 00 00 00 5f 45 4a 44-00 00 00 00 5f 50 52 57 ...._EJD...._PRW
f7438098 00 00 00 00 5f 50 52 30-00 00 00 00 5f 50 52 31 ...._PR0...._PR1
f74380a8 00 00 00 00 5f 50 52 32-00 00 00 00 5f 43 52 53 ...._PR2...._CRS
f74380b8 00 00 00 00 5f 50 53 43-00 00 00 00 40 b8 3f f7 ...._PSC....@.?.
f74380c8 00 00 00 00 00 00 00 00-00 00 00 00 40 b8 3f f7 ............@.?.
f74380d8 00 00 00 00 4c b9 3f f7-8a b9 3f f7 36 ba 3f f7 ....L.?...?.6.?.

Device (ISA)
{
Name (_ADR, 0x00070000) // _ADR: Address
Device (MBRD)
{

//
// Base everything on the current amount of workDone
//
objectName = AcpiBuildDevicePowerNameLookup[BuildRequest->CurrentWorkDone];

//
// Does this object exists? 不存在_EJD对象。
//
BuildRequest->CurrentObject = ACPIAmliGetNamedChild(
deviceExtension->AcpiObject,
objectName
); eax=00000000

1: kd> p
eax=00000000 ebx=899c0a88 ecx=899b2278 edx=00000001 esi=89984188 edi=899841cc
eip=f73fb00f esp=f78aef50 ebp=f78aef60 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!ACPIBuildProcessDeviceGenericEvalStrict+0x35:
f73fb00f 85c0 test eax,eax

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

Node.js诊断报告生成器一键定位性能瓶颈

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 目录 Node.js性能瓶颈的“数字听诊器”:诊断报告生成器架构解密与实战指南 一、为何需要专用诊断报告生成器&#xff…

作者头像 李华
网站建设 2026/3/17 11:37:36

16.QT工程后缀名解释

一般一个QT上位机工程目录如下图所示:后缀名分别代表的含义:1. .qmake.stash这是 Qt 的 qmake 工具在构建项目时生成的缓存文件。它会保存项目配置、依赖关系等临时信息,用于加速后续的构建过程。一般不需要手动修改或提交到版本控制。2. .pr…

作者头像 李华
网站建设 2026/4/16 23:04:45

每日面试题分享164:HTTP与RPC之间的区别?

严格来说,HTTP和RPC不是一个层面的东西。HTTP是一种应用层的协议,强调的是网络通信。RPC是一种分布式系统之间通信的方式,强调的是服务之间的远程调用。一些RPC框架的底层是HTTP,比如g RPC和Dubbo。

作者头像 李华
网站建设 2026/4/17 18:39:20

工业控制界面异常状态的多维测试策略与实践指南

一、ICS测试的特殊性与核心挑战 工业控制系统深度融合物理设备与信息网络,其异常检测需兼顾实时响应、设备安全与数据完整性。传统软件测试方法在以下场景存在局限: 攻击面扩大:APT攻击利用0-day漏洞穿透常规检测 状态复杂性:设…

作者头像 李华
网站建设 2026/4/12 0:28:04

Java springboot基于微信小程序的宠物医院系统挂号就诊服务预约(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus微信小程序介绍系统测试 四、代码参考 源码获取 目的 基于微信小程序的宠物医院系统,采用Spring Boot框架与微信小程序技术&am…

作者头像 李华