用acpidump提取ACPI表 包括DSDT SSDT等

26次阅读
没有评论

文章前言

ACPI 由很多表组成,包括:RSDP,SDTH,RSDT,FADT,FACS,DSDT,SSDT,MADT,SBST,XSDT,ECDT,SLIT,SRAT。(略写了,不用太详细介绍)其中 DSDT 就是它的一个重要的描述表。

DSDT 使用的编程语言是 ASL(ACPI Source Language),具体的可以百度一下官方网站,并且网站提供了工具一些平台的编译器,可能 Unix 平台需要自己下载编译后才能用,我现在用的 KALI linux,顺利编译成功,会提供下载。

编译后的文件除了 IASL 外还提供了很多工具,我只略研究了一下 IASL 和 APCIDUMP 这两个工具,ACPIDUMP 用来提取 ACPI 表的工具,iasl 是编译程序。

好了,一知半解吓唧唧了半天,进入正题提取 DSDT,有英文好的可以翻译一下帮助文件。

iasl 选项

iasl -h // 获取更多帮助

acpidump 选项

acpidump -h // 获取更多帮助

实现方法

sudo cp acpidump iasl /usr/bin  复制 acpidump 和 iasl 到 /usr/bin 目录

mkdir acpi  // 新建一个 acpi 文件夹

cd acpi  // 进入 acpi 文件夹

acpidump -b  // 提取 acpi 所有表

iasl *.dat  // 编译 dat 文件为 dsl

打开 acpi 目录你会看到 DSDT 和 SSDT 等文件了。如果需要 dsdt 或者 ssdt 的可以拷贝出来用 MACIASL 等软件进行修复错误并编译吧,目前我就研究到这里,又能力的朋友也可以好好研究一下,比如说如何只提取 DSDT 或者 SSDT 文件吧。

文件下载

百度云盘
提取密码:*** [隐藏信息,登陆并发表评论后刷新可见!]
发表评论
正文完
 0
liveob
版权声明:本站原创文章,由 liveob 于2024-09-15发表,共计701字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码