第二十三篇:Windows中的ACPI
2020-12-13 03:31
标签:acpi windows wdm 一直不太清楚ACPI驱动在WINDOWS中的作用. 甚至不了解ACPI协议的作用. 于是, 随便翻了下"格蠹汇编"中的第24章, 如何跟踪ACPI代码, 算是对ACPI有了一个初步性的了解. ACPI向OS报告硬件信息, 而OS通过ACPI控制硬件. ACPI就是OS与硬件/固件之间的一个标准接口协议. ACPI通过ASL(ACPI SOURCE LANGUAGE)来描述系统硬件的属性与方法, ASL最终会被编译为AML(ACPI MACHINE LANGUAGE)的字节码(BYTECODE). 之后, 翻阅了一下WDK中关于ACPI的内容: ACPI设备包括: low-level system devices such as batteries, thermal zones, and other devices defined in a system‘sACPI namespace. ACPI设备在WINDOWS驱动中的表现形式: 即definition block和它其中的一块operation region. An ACPI device is specified by a definition block in the ACPI System Description Tables. A device‘s definition block specifies, among other things, anoperation region, which specifies a contiguous block of device memory that is used to
access device data. ACPI设备的Windows软件构成: 1. ACPI系统驱动ACPI.SYS 2. vendor提供的WDM驱动 3. ACPI BIOS, 就是所谓的固件 这一组合的操作流程是:ACPI.SYS调用vendor提供的WDM驱动中的operation region handler来访问operation region, 以达到对ACPI设备数据/控制的目的. 关于设备堆栈: 分为该APCI设备是主板集成的, 则ACPI驱动建立FDO, 位于WDM驱动建立的FDO之下, 位于ROOT BUS驱动建立的PDO之上 如果不是主板集成的, 则ACPI为该设备建立PDO, 位于WDM建立的FDO之下. ACPI的控制方法: 所谓的ACPI控制方法, 就是由ASL/AML描述的用来查询与配置硬件的软件. 由ACPI驱动负责解释执行. Control methods are written in the ACPI Machine Language (AML), loaded from the system firmware into the ACPI namespace, and interpreted by the ACPI driver. ACPI的命名规则: WINDOWS对ACPI设备的命名由对象来表述(object), 一个对象可以包括子对象, 而对象既可以是子设备(child device), 也可以是控制方法(control method). 第二十三篇:Windows中的ACPI,搜素材,soscw.com 第二十三篇:Windows中的ACPI 标签:acpi windows wdm 原文地址:http://blog.csdn.net/u013140088/article/details/34841727
ABCD parent device (缩进一次)
CHL1 child device of ABCD (缩进二次)
CHL2 child device of ABCD (缩进二次)
CHL3 child device of CHL2 (缩进三次)
_FOO control method (缩进三次)
_FOO control method (缩进一次)