ACPIDUMP(8) | FreeBSD System Manager's Manual | ACPIDUMP(8) |
名称
acpidump — ACPI テーブルと ASL をダンプする書式
acpidump | [ -d][ -t][ -h][ -v][ -f dsdt_input][ -o dsdt_output] |
解説
acpidump ユーティリティは、物理メモリで ACPI テーブルを分析して、それらをファイルにダンプすることができます。さらに、 acpidump は、これらのテーブルで見つけられた AML (ACPI Machine Language) を逆アセンブルするために、 iasl(8) を呼び出し、ASL (ACPI Source Language) としてそれらを標準出力にダンプすることができます。ACPI テーブルには、PnP ハードウェア、電源管理サポートを制御するための手続き、などに関する詳細な情報などのカーネル側で使用される情報を含んでいる本質的なデータブロック (DSDT、Differentiated System Description Table (区別されたシステム記述テーブル)) があります。 acpidump ユーティリティは、物理メモリから DSDT データブロックを抽出して、出力ファイルにそれを格納し、オプションでそれを逆アセンブルすることもできます。任意の Secondary System Description Table (セカンダリシステム記述テーブル) (SSDT) エントリが存在しているなら、それらは、出力ファイルと逆アセンブルにも含まれます。
acpidump が -f オプションなしで呼び出されるとき、それは、 /dev/mem を通して物理メモリから ACPI テーブルを読み込みます。まず最初に、署名“RSD PTR ”がある RSDP (Root System Description Pointer (ルートシステム記述ポインタ)) を捜し求めて、次に、他のテーブルのための物理メモリアドレスへのポインタのリストを含んでいる、RSDT (Root System Description Table (ルートシステム記述テーブル)) を取得します。 RSDT 自体と RSDT からリンクされた他のすべてのテーブルは、一般的に SDT (System Description Tables) と呼ばれます、そして、それらのヘッダには、Signature, Length, Revision, Checksum, OEMID, OEM Table ID, OEM Revision, Creator ID と Creator Revision などの項目から成る共通の形式があります。 -t フラグで呼び出されるとき、 acpidump ユーティリティは、次のテーブルの内容をダンプします:
- DMAR
- DSDT
- ECDT
- FACS
- FADT
- HPET
- MADT
- MCFG
- RSD PTR
- RSDT
RSDT は、FACP (Fixed ACPI Description Table (固定 ACPI 記述テーブル)) の物理メモリアドレスへのポインタを含んでいます。 FACP は、割り込みモード (INT_MODEL), SCI 割り込み番号, SMI コマンドポート (SMI_CMD) と ACPI レジスタの位置などの電源管理サポート (ACPI Hardware Register Implementation (ACPI ハードウェアレジスタ実装)) に関する静的システム情報を定義します。 FACP は、DSDT のための物理メモリアドレスへのポインタもあります。他のテーブルが固定形式ですが、DSDT は、自由に形式化された AML データから成ります。
オプション
次のオプションが acpidump によってサポートされています:- -d
- iasl(8) を使用して、DSDT を ASL に逆アセンブルし、標準出力に結果を印刷 (表示) します。
- -t
- 上にリストされた様々な固定テーブルの内容をダンプします。
- -h
- 使用法を表示して、終了します。
- -v
- 冗長なメッセージを有効にします。
- -f dsdt_input
- 物理メモリの代わりに指定されたファイルから DSDT をロードします。 DSDT だけがファイルに格納されるので、 -t フラグは、このオプションと共に使用することはできません。
- -o dsdt_output
- 指定されたファイルに物理メモリからの DSDT データブロックを格納します。
関連ファイル
- /dev/mem
使用例
開発者が利用者の ASL のコピーを要求するなら、次のコマンドを使用して、すべてのテーブルをダンプして、結果を圧縮してください。
# acpidump -dt | gzip -c9 > my_computer.asl.gz
この例は、物理メモリから DSDT を foo.dsdt にダンプします。それは、また、様々なシステムテーブルの内容を印刷 (表示) して、DSDT に含まれた AML を標準出力に逆アセンブルし、出力を foo.asl に向け直します。
# acpidump -t -d -o foo.dsdt > foo.asl
この例は、DSDT ファイルを読み込んで、それを標準出力に逆アセンブルします。冗長なメッセージは、有効にされます。
# acpidump -v -d -f foo.dsdt
作者
<dfr@FreeBSD.org> <iwasaki@FreeBSD.org> <yokoyama@jp.FreeBSD.org> <njl@FreeBSD.org>いくつかの貢献は、
<ohsawa@catv1.ccn-net.ne.jp>, <takayasu@wendy.a.perfect-liberty.or.jp>, <mistral@imasy.or.jp>, <hrs@FreeBSD.org>, <mwlucas@blackhelicopters.org>と <msmith@FreeBSD.org>によって行われました。バグ
現在の実装は、BOOT 構造体や他の種々雑多なテーブルをダンプしません。February 14, 2005 | FreeBSD |