はじめに
1,2 年に一回くらい ACPI 関係の調査で AML を逆アセンブルして見る機会があるのですが、毎回方法を忘れるので書いておこうと思いました。
方法
例えば以下のコマンドで DSDT を逆アセンブルして出力できる。
sudo acpidump > dump_acpi.dat
acpixtract dump_acpi.dat
iasl -d dsdt.dat
それぞれのコマンドは
- 1 つ目のコマンドで ACPI テーブルをダンプ
- 2 つ目のコマンドで ACPI テーブルのダンプから DSDT と SSDT テーブルを抽出し別々のバイナリファイルとして出力
-
-a
オプションを付けると DSDT と SSDT 以外のテーブルも抽出する
-
- 3 つ目のコマンドで逆アセンブル
という感じ。
おわりに
次に自分が AML を逆アセンブルするのはいつになるのかわかりませんが、その時にこの記事をみて思い出せればいいな。 (書く前からわかっていたが、また内容が薄い記事になってしまった…)