news 2026/2/6 8:14:19

节点ISA对应的acpi!_DEVICE_EXTENSION里面的+0x10c Address是如何得到的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
节点ISA对应的acpi!_DEVICE_EXTENSION里面的+0x10c Address是如何得到的

节点ISA对应的acpi!_DEVICE_EXTENSION里面的+0x10c Address是如何得到的

NTSTATUS
ACPIBuildProcessDevicePhaseAdrOrHid(
IN PACPI_BUILD_REQUEST BuildRequest
)
{
NTSTATUS status;
PDEVICE_EXTENSION deviceExtension = (PDEVICE_EXTENSION) BuildRequest->BuildContext;
PNSOBJ nsObject = NULL;
POBJDATA resultData = &(BuildRequest->DeviceRequest.ResultData);

//
// We need to name this node, so lets determine if there is an _HID
// or an _ADR is present
//
nsObject = ACPIAmliGetNamedChild(
deviceExtension->AcpiObject,
PACKED_HID
);
if (nsObject == NULL) {

//
// Otherwise, there had better be an _ADR present
//
nsObject = ACPIAmliGetNamedChild(
deviceExtension->AcpiObject,
PACKED_ADR
);
if (nsObject == NULL) {

//
// At this point, we have an invalid name space object ---
// this should not happen
//
KeBugCheckEx(
ACPI_BIOS_ERROR,
ACPI_REQUIRED_METHOD_NOT_PRESENT,
(ULONG_PTR) deviceExtension,
PACKED_ADR,
0
);

//
// Never get here
//
return STATUS_NO_SUCH_DEVICE;

} else {

//
// If we think there is an ADR, then the correct next stage is
// to post process the ADR
//
BuildRequest->NextWorkDone = WORK_DONE_ADR;

//
// Remember which name space object we are evaluating
//
BuildRequest->CurrentObject = nsObject;

//
// Get the Address
//
status = ACPIGetAddressAsync(
deviceExtension,
ACPIBuildCompleteMustSucceed,
BuildRequest,
(PVOID *) &(deviceExtension->Address),
NULL
);
}

+0x10c Address : 0x70000


1: kd> dt acpi!_DEVICE_EXTENSION 899c0a88
+0x000 Flags : 0x00401000`00000008
+0x000 UFlags : __unnamed
+0x008 Signature : 0x5f534750
+0x00c DebugFlags : 0
+0x010 DispatchTable : (null)
+0x014 WorkContext : WORK_QUEUE_CONTEXT
+0x014 Fdo : _FDO_DEVICE_EXTENSION
+0x014 Filter : _FILTER_DEVICE_EXTENSION
+0x014 Pdo : _PDO_DEVICE_EXTENSION
+0x058 WorkQueue : EXTENSION_WORKER
+0x058 Button : BUTTON_EXTENSION
+0x058 Thermal : THERMAL_EXTENSION
+0x058 LinkNode : LINK_NODE_EXTENSION
+0x058 Dock : DOCK_EXTENSION
+0x058 Processor : _PROCESSOR_DEVICE_EXTENSION
+0x088 DeviceState : 0 ( Stopped )
+0x08c PreviousState : 0 ( Stopped )
+0x090 PowerInfo : _ACPI_POWER_INFO
+0x10c DeviceID : 0x00070000 "--- memory read error at address 0x00070000 ---"
+0x10c Address : 0x70000

+0x110 InstanceID : (null)
+0x114 ResourceList : (null)
+0x118 PnpResourceList : (null)
+0x11c OutstandingIrpCount : 0n1
+0x120 ReferenceCount : 0n52
+0x124 HibernatePathCount : 0n0
+0x128 RemoveEvent : (null)
+0x12c AcpiObject : 0x899b2278 _NSObj
+0x130 DeviceObject : (null)
+0x134 TargetDeviceObject : (null)
+0x138 PhysicalDeviceObject : (null)
+0x13c ParentExtension : 0x899c0d58 _DEVICE_EXTENSION
+0x140 ChildDeviceList : _LIST_ENTRY [ 0x899c0a68 - 0x89979710 ]
+0x148 SiblingDeviceList : _LIST_ENTRY [ 0x89982768 - 0x899c0d38 ]
+0x150 EjectDeviceHead : _LIST_ENTRY [ 0x899c0bd8 - 0x899c0bd8 ]
+0x158 EjectDeviceList : _LIST_ENTRY [ 0x899c0be0 - 0x899c0be0 ]

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

AI算法算力平台EasyGBS:国标GB28181视频监控与智能管理解决方案

在数字化转型加速推进的背景下,视频监控已成为各行业安全管理、应急处置、运营优化的核心支撑手段。国标GB28181算法算力平台EasyGBS,凭借全协议兼容接入、全流程协同调度等核心能力,构建了一体化视频监控解决方案,广泛适配多样化…

作者头像 李华
网站建设 2026/2/5 2:30:48

内存寻址 = 硬盘寻址?

内存寻址 ≠ 硬盘寻址 —— 这是理解计算机系统性能与架构的核心分界。二者虽都涉及“地址”,但 物理机制、速度量级、抽象层级 完全不同。 一、核心区别:物理机制与速度 特性内存寻址(RAM)硬盘寻址(HDD/SSD&#xff…

作者头像 李华
网站建设 2026/2/1 19:53:30

Java springboot基于Android的食品安全信息管理系统食品检测(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录前言一、开发介绍二、详细视频演示三、项目部分实现截图 四、uniapp介绍 五、系统测试 六、代码参考 源码获取 目的 食品安全关乎公众健康,是社会关注的焦点。本系统基于Java Spring Boot框架与Android平台,实现了食品信息管理、…

作者头像 李华
网站建设 2026/2/5 6:50:07

SolidWorks如何实现多人共享

在制造业设计团队中,实现SolidWorks多人共享使用可以显著提升协作效率、降低硬件成本,并确保数据安全。这一方案需从硬件配置、资源管理、软件部署、网络优化、权限管控、安全防护及用户体验优化七个维度进行综合设计。一、硬件配置CPU:选择多…

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

动手学LLM大模型应用开发:大模型简介与环境配置(附教程)

大模型简介 大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。 我将他理解为一种黑盒模型,他可以输入人类语言,输出人类语言,黑…

作者头像 李华
网站建设 2026/2/6 17:31:02

K-means聚类的图像区域分割[有报告】(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

K-means聚类的图像区域分割[有报告】(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码K-means是我们最常用的基于欧式距离的聚类算法,其认为两个目标的距离越近,相似度越大。程序包运行,不会的…

作者头像 李华