acpidump -- dump ACPI tables and ASL
acpidump [-d] [-t] [-h] [-v] [-f dsdt_input] [-o dsdt_output]
The acpidump utility analyzes ACPI tables in physical memory and can dump
them to a file. In addition, acpidump can call iasl(8) to disassemble
AML (ACPI Machine Language) found in these tables and dump them as ASL
(ACPI Source Language) to stdout.
ACPI tables have an essential data block (the DSDT, Differentiated System
Description Table) that includes information used on the kernel side such
as detailed information about PnP hardware, procedures for controlling
power management support, and so on. The acpidump utility can extract
the DSDT data block from physical memory and store it into a DSDT output
file and optionally also disassemble it.
When acpidump is invoked without the -f option, it will read ACPI tables
from physical memory via /dev/mem. First it searches for the RSDP (Root
System Description Pointer), which has the signature "RSD PTR ", and then
gets the RSDT (Root System Description Table), which includes a list of
pointers to physical memory addresses for other tables. The RSDT itself
and all other tables linked from RSDT are generically called SDTs (System
Description Tables) and their header has a common format which consists
of items such as Signature, Length, Revision, Checksum, OEMID, OEM Table
ID, OEM Revision, Creator ID and Creator Revision. When invoked with the
-t flag, the acpidump utility dumps contents of the following tables:
DSDT
FADT
HPET
MADT
RSD PTR
RSDT
The RSDT contains a pointer to the physical memory address of the FACP
(Fixed ACPI Description Table). The FACP defines static system information
about power management support (ACPI Hardware Register Implementation)
such as interrupt mode (INT_MODEL), SCI interrupt number, SMI command
port (SMI_CMD) and the location of ACPI registers. The FACP also
has a pointer to a physical memory address for the DSDT. While the other
tables are fixed format, the DSDT consists of free-formatted AML data.
The following options are supported by acpidump:
-d Disassemble the DSDT into ASL using iasl(8) and print the results
to stdout.
-t Dump the contents of the various fixed tables listed above.
-h Displays usage and exit.
-v Enable verbose messages.
-f dsdt_input
Load the DSDT from the specified file instead of physical memory.
Since only the DSDT is stored in the file, the -t flag may not be
used with this option.
-o dsdt_output
Store the DSDT data block from physical memory into the specified
file.
This example dumps the DSDT from physical memory to foo.dsdt. It also
prints the contents of various system tables and disassembles the AML
contained in the DSDT to stdout, redirecting the output to foo.asl.
# acpidump -t -d -o foo.dsdt > foo.asl
This example reads a DSDT file and disassembles it to stdout. Verbose
messages are enabled.
# acpidump -v -d -f foo.dsdt
In the current implementation, acpidump doesn't dump the Secondary System
Descriptor Table (SSDT), Embedded Controller Descriptor Table (ECDT), or
BOOT structures.
/dev/mem
acpi(4), mem(4), acpiconf(8), acpidb(8), iasl(8)
Doug Rabson <[email protected]>
Mitsuru IWASAKI <[email protected]>
Yasuo YOKOYAMA <[email protected]>
Some contributions made by Chitoshi Ohsawa <[email protected]>,
Takayasu IWANASHI <[email protected]>, Yoshihiko
SARUMARU <[email protected]>, Hiroki Sato <[email protected]>, Michael
Lucas <[email protected]> and Michael Smith
<[email protected]>.
The acpidump utility first appeared in FreeBSD 5.0 and was rewritten to
use iasl(8) for FreeBSD 5.2.
FreeBSD 5.2.1 August 31, 2000 FreeBSD 5.2.1 [ Back ] |