ACPIDUMP(8)               BSD System Manager's Manual              ACPIDUMP(8)

     acpidump — dump ACPI tables

     acpidump [-r]
     acpidump [-r] [-o dsdt_file_for_output]
     acpidump [-r] [-f dsdt_file_for_input]

     The acpidump utility analyzes ACPI tables in physical memory and dumps
     them to standard output.  In addition, acpidump can disassemble AML (ACPI
     Machine Language) found in these tables and dump them as ASL (ACPI Source

     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
     data file, and also can generate an output in ASL from a given DSDT data

     When acpidump is invoked without the -f option, it will read ACPI tables
     from physical memory via a special file /dev/mem and dump them.  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.  The acpidump utility dumps contents of these SDTs.
     For further information about formats of each table, see chapter 5: “ACPI
     Software Programming Model” from the ACPI specifications referenced

     There is always a pointer to a physical memory address in RSDT for 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 location of ACPI registers.  The FACP also
     has a pointer to a physical memory address for DSDT, which includes
     information used on the kernel side such as PnP, power management support
     and so on.  While the other tables are described in fixed format, the
     DSDT consists of AML data which is compiled from sources written in free
     formated ASL, which is the description language for ACPI.  When acpidump
     outputs DSDT, it disassembles the AML data and formats it as ASL.

     The following options are supported by acpidump:

     -o dsdt_file_for_output
             Stores DSDT data block from physical memory into a file specified
             in dsdt_file_for_output in addition to behavior with no option.

     -f dsdt_file_for_input
             Interprets AML data in DSDT from a file specified in
             dsdt_file_for_input and dumps them in ASL to standard output.

     -r      Additionally outputs commented ResourceTemplate() macros for
             Buffer objects that contain valid resource streams.  These macros
             are defined in the ACPI 2.0 specification section 16.2.4.

     -h      Displays usage and exit.

     This is an example to get a dump of SDTs and a DSDT data file
     simultaneously on a machine that supports ACPI BIOS.

           # acpidump -o foo.dsdt > foo.asl

     In the current implementation, acpidump doesn't dump any information of
     Firmware ACPI Control Structure (FACS) specified by a pointer in FACP.


     acpi(4), mem(4), acpiconf(8), amldb(8)

     “Advanced Configuration and Power Interface Specification”
           Revision 1.0b, 2.0

     Doug Rabson <>
     Mitsuru IWASAKI <>
     Yasuo YOKOYAMA <>

     Some contributions made by Chitoshi Ohsawa <>,
     Takayasu IWANASHI <>, Yoshihiko
     SARUMARU <>, Hiroki Sato <>, Michael
     Lucas <> and Michael Smith

     The acpidump utility appeared in FreeBSD 5.0.

BSD                             August 31, 2000                            BSD