news 2026/4/3 3:01:08

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/3/28 9:16:02

【Matlab】MATLAB矩阵共轭转置(‘)详解:从复数案例到复矩阵运算应用

MATLAB矩阵共轭转置()详解:从复数案例到复矩阵运算应用 在MATLAB复矩阵运算体系中,共轭转置()是区别于非共轭转置(.)的核心操作,其本质是“先对矩阵元素取共轭,再进行行列互换”,专门适配复数矩阵的各类运算场景。相较于仅做行列互换的非共轭转置,共轭转置更贴合线…

作者头像 李华
网站建设 2026/3/28 16:36:32

Batch Normalization:为什么它能让你的神经网络训练速度翻倍?

Batch Normalization:为什么它能让你的神经网络训练速度翻倍? 强制调整激活值分布,深度学习训练迎来关键突破 大家好,今天我们来聊聊深度学习中的一个“加速神器”——Batch Normalization(批量归一化)。这…

作者头像 李华
网站建设 2026/3/29 3:25:22

SAP ABAP 内表全面详解

一、内表基本概念 1.1 什么是内表? 内表是ABAP程序运行时在内存中创建的临时表,用于: 存储和处理多行数据作为程序间数据传递的容器与数据库表进行批量数据交换进行复杂的数据计算和处理 1.2 内表的物理结构 内存中的内表结构: ┌…

作者头像 李华
网站建设 2026/3/28 6:38:12

电商秒杀场景自动化压力测试实战指南:2026年框架设计与优化策略

1. 秒杀场景的技术挑战与测试目标‌ ‌1.1 核心业务特征‌ ‌瞬时流量脉冲‌:系统需在开场1秒内承载峰值流量,其规模可达日常流量的1000倍以上,这对前端负载均衡和后端服务扩容能力提出了极高要求。‌资源竞争瓶颈‌:库存锁、支…

作者头像 李华