news 2026/6/9 22:21:32

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/6/5 21:41:13

数字气味测试平台:用AI验证嗅觉交互系统

数字嗅觉技术的兴起与测试需求 随着人工智能技术的飞速发展,数字气味平台正成为新兴领域,通过AI模型(如生成式气味大模型)模拟和验证嗅觉交互,广泛应用于零售、医疗和娱乐等行业。例如,系统能基于用户情绪…

作者头像 李华
网站建设 2026/6/9 19:57:52

测试驱动开发实战:用 Claude 高效编写单元测试与集成测试用例

在软件开发领域,测试驱动开发(TDD)凭借“先测试、后编码”的核心逻辑,能有效提升代码质量、降低重构成本,同时让开发流程更具规范性。但实际落地中,测试用例的设计往往耗时耗力——既要覆盖核心业务场景&am…

作者头像 李华
网站建设 2026/6/9 18:32:47

多线程下用 ConcurrentHashMap,到底要不要加 volatile?

多线程下用 ConcurrentHashMap,到底要不要加 volatile?先搞懂两个关键角色ConcurrentHashMap 是做什么的volatile 又是做什么的 分场景看,到底要不要加 volatile场景一:ConcurrentHashMap 引用不会改变,不需要加 volat…

作者头像 李华
网站建设 2026/6/6 11:21:40

复杂拖拽交互场景的自动化实现与测试验证策略

随着现代应用交互复杂度的提升,拖拽操作已从基础元素位移发展为涵盖多维交互的复合行为(如图表构建、流程设计、动态表单等)。对软件测试从业者而言,确保此类交互的稳定性面临三大挑战:事件流准确性、状态一致性及跨平…

作者头像 李华
网站建设 2026/6/6 11:51:27

视频播放器控件全功能测试方案

一、核心功能测试模块 基础交互验证 播放控制:测试播放/暂停/停止功能在单次操作、连续操作及与其他功能(如音量调节)并发时的响应逻辑。 进度控制:验证进度条拖拽、快进/快退(含倍速切换)的精确性&#x…

作者头像 李华