查看ACPI的表
本节介绍如何在Linux上查看ACPI的表。首先安装用于将ACPI的信息输出到文件的名为pmtools工具包,该包是RPM格式,用于反汇编(disassemble)AML的工具包iasl,该包为RPM格式。在Fedora 13的情况下可以使用yum命令来安装。
yum install pmtools
yum install iasl
如果是不包含pmtools和iasl的发布版,pmtools可以从http://www.lesswatts.org/projects/acpi/utilities.php下载。iasl可以从http://www.acpica.org/下载。
首先,使用pmtools中的acpidump命令输出ACPI的表。想要输出DSDT表时的操作如下。
acpidump-b-t DSDT-o dsdt.dat
然后使用iasl将这些数据反汇编。
iasl-d dsdt.dat
Intel ACPI Component Architecture
AML Disassembler version 20090123[Feb 25 2009]
Copyright(C)2000-2009 Intel Corporation
Supports ACPI Specification Revision 3.0a
Loading Acpi table from file dsdt.dat
Acpi table[DSDT]successfully installed and loaded
Pass 1 parse of[DSDT]
Pass 2 parse of[DSDT]
Parsing Deferred Opcodes(Methods/Buffers/Packages/Regions)
……
……
Parsing completed
Disassembly completed, written to"dsdt.dsl"
这样就生成了名为dsdt.dsl的文件。从其中可以看到DSDT的ACPI表头文件和使用ASL写的定义块。查看DSDT等ACPI的表,就可以看到系统支持的功能。
Name(_HID, EisaId("PNP0A03"))
Name(_ADR, Zero)
Name(_UID, One)
Name(_PRT, Package(0x80)
{
……