news 2026/10/15 19:59:39

ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点USB的子节点PRW的处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点USB的子节点PRW的处理

ACPI!ACPIBuildProcessDeviceGenericEvalStrict函数对节点USB的子节点PRW的处理

Device (USB)
{
Name (_ADR, 0x00070002) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x08,
0x01
})
}

1: kd> g
Breakpoint 33 hit
eax=899b3fe0 ebx=89982468 ecx=89982448 edx=00000001 esi=89982418 edi=8998245c
eip=f7415242 esp=f78aef34 ebp=f78aef60 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!AMLIAsyncEvalObject:
f7415242 55 push ebp
1: kd> kc
#
00 ACPI!AMLIAsyncEvalObject
01 ACPI!ACPIBuildProcessDeviceGenericEvalStrict

02 ACPI!ACPIBuildProcessGenericList
03 ACPI!ACPIBuildDeviceDpc
04 nt!KiRetireDpcList
05 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
06 0x0
1: kd> dv
pns = 0x899b3fe0
pdataResult = 0x89982448
icArgs = 0n0
pdataArgs = 0x00000000
pfnAsyncCallBack = 0xf73fa5bc
pvContext = 0x89982418
pHData = 0x00000008
1: kd> dx -r1 ((ACPI!_NSObj *)0x899b3fe0)
((ACPI!_NSObj *)0x899b3fe0) : 0x899b3fe0 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x899b3f00 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x5752505f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x899b3f44 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x899b3fe0
899b3fe0 44 3f 9b 89 44 3f 9b 89-00 3f 9b 89 00 00 00 00 D?..D?...?......
899b3ff0 5f 50 52 57 30 f3 9a 89-44 3f 9b 89 00 00 04 00 _PRW0...D?......
899b4000 00 00 00 00 00 00 00 00-2c 00 00 00 a8 3f 9b 89 ........,....?..
899b4010 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899b4020 00 f0 9a 89 00 3f 9b 89-e4 b3 96 89 ac ff 9a 89 .....?..........
899b4030 68 40 9b 89 49 44 45 5f-30 f3 9a 89 e0 3f 9b 89 h@..IDE_0....?..
899b4040 00 00 06 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b4050 00 00 00 00 b0 22 98 89-00 00 00 00 48 4e 53 4f ....."......HNSO
1: kd> db 0x899b3f00
899b3f00 68 3c 9b 89 24 40 9b 89-ac ff 9a 89 44 3f 9b 89 h<..$@......D?..
899b3f10 55 53 42 5f 30 f3 9a 89-9c 3e 9b 89 00 00 06 00 USB_0....>......
899b3f20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b3f30 68 24 98 89 00 00 00 00-48 4e 53 4f 44 00 00 00 h$......HNSOD...
899b3f40 00 f0 9a 89 e0 3f 9b 89-e0 3f 9b 89 00 3f 9b 89 .....?...?...?..
899b3f50 00 00 00 00 5f 41 44 52-30 f3 9a 89 00 3f 9b 89 ...._ADR0....?..
899b3f60 00 00 01 00 00 00 00 00-02 00 07 00 00 00 00 00 ................
899b3f70 00 00 00 00 00 00 00 00-00 00 00 00 48 4d 45 54 ............HMET

#define DATAF_NSOBJ_DEFUNC 0x00000004

1: kd> kc
#
00 ACPI!AsyncEvalObject
01 ACPI!AMLIAsyncEvalObject
02 ACPI!ACPIBuildProcessDeviceGenericEvalStrict
03 ACPI!ACPIBuildProcessGenericList
04 ACPI!ACPIBuildDeviceDpc
05 nt!KiRetireDpcList
06 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
07 0x0
1: kd> dv
pns = 0x899b3fe0
pdataResult = 0x89982448
icArgs = 0n0
pdataArgs = 0x00000000
pfnAsyncCallBack = 0xf73fa5bc
pvContext = 0x89982418
fAsync = 0x01 ''
pctxt = 0x00000008


1: kd> g
Breakpoint 42 hit
eax=00000000 ebx=899b3ffc ecx=899b3ffc edx=89895fe4 esi=f7438ca8 edi=00000000
eip=f74207d4 esp=f78aeedc ebp=f78aeefc iopl=0 nv up ei ng nz ac pe cy
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000297
ACPI!RestartContext:
f74207d4 55 push ebp
1: kd> kc
#
00 ACPI!RestartContext
01 ACPI!AsyncEvalObject
02 ACPI!AMLIAsyncEvalObject
03 ACPI!ACPIBuildProcessDeviceGenericEvalStrict
04 ACPI!ACPIBuildProcessGenericList
05 ACPI!ACPIBuildDeviceDpc
06 nt!KiRetireDpcList
07 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
08 0x0
1: kd> dv
pctxt = 0x89894000
fDelayExecute = 0x00 ''

else if ((prest = NEWRESTOBJ(sizeof(RESTART))) != NULL)
{
pctxt->dwfCtxt |= CTXTF_NEED_CALLBACK;
prest->pctxt = pctxt;
ExInitializeWorkItem(&prest->WorkItem, RestartCtxtPassive, prest);
OSQueueWorkItem(&prest->WorkItem);
rc = AMLISTA_PENDING;
}

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

Doris 与 OceanBase 物化视图对比分析

一、核心架构差异维度DorisOceanBase物化视图类型双轨制&#xff1a;同步物化视图 异步物化视图单轨制&#xff1a;异步物化视图&#xff08;4.3.0 版本引入&#xff09;同步机制- 同步视图&#xff1a;基表变更实时同步&#xff0c;强一致性- 异步视图&#xff1a;按策略周期…

作者头像 李华
网站建设 2026/10/14 2:29:19

软件项目验收测试测什么内容?2026第三方软件测试机构推荐

软件项目验收测试是项目落地交付的关键环节&#xff0c;广泛应用于政企项目验收、产品上线审核、系统升级交付、招投标合规验证等各类场景。软件项目验收测试覆盖哪些核心检测范围&#xff1f;不同需求下又该如何选择靠谱的第三方测试机构&#xff1f;本文将为你逐一拆解&#…

作者头像 李华
网站建设 2026/10/13 22:47:26

Pelco KBD300A 模拟器:20.搭建pytest集成测试基础框架 + 模拟器闭环测试

第 20 篇&#xff1a;搭建集成测试基础框架 模拟器闭环测试 下面我们将一步一步详细完成集成测试基础框架搭建&#xff0c;并实现模拟器闭环测试&#xff08;串口收到数据 → 协议解析 → VirtualDevice 状态更新 → 可选返回响应&#xff09;。 目标&#xff1a; 不依赖真…

作者头像 李华
网站建设 2026/10/13 12:07:29

1 篇看懂:以太网多参量传感器为什么能适配所有工业场景?

在工业智能化转型中&#xff0c;环境与设备监测的核心痛点是 “场景差异大、需求碎片化”—— 化工车间要防有毒气体泄漏&#xff0c;数据中心需稳控温湿度&#xff0c;仓储库房要适配多品类存储环境&#xff0c;传统单一功能传感器难以兼顾。而以太网多参量传感器凭借 “全功能…

作者头像 李华
网站建设 2026/10/15 16:55:26

不只是替代谷歌:为你带来新视角的11个搜索引擎与核心价值解析

如果你正在寻找一个替代谷歌的搜索引擎&#xff0c;你来对地方了。 读完本指南后&#xff0c;你将知道哪些是最佳的替代搜索引擎。以及为什么每个搜索引擎都可能更适合你。 我们开始吧。 1. Bing 如果你想要类似谷歌的搜索体验&#xff0c;并借助OpenAI驱动的AI结果&#xff0c…

作者头像 李华
网站建设 2026/10/13 15:33:21

springboot演唱会售票管理系统设计实现

背景分析 演唱会售票管理系统源于传统票务管理的低效与痛点。线下售票存在排队拥堵、黄牛倒票、数据统计滞后等问题&#xff1b;线上分散平台导致信息不透明、跨平台购票体验差。SpringBoot框架的成熟技术栈为系统开发提供了高效解决方案&#xff0c;其模块化设计、自动化配置…

作者头像 李华