1.\" ACPI (ACPI Package) 2.\" 3.\" Copyright (c) 1999 Doug Rabson <dfr@FreeBSD.org> 4.\" Copyright (c) 2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org> 5.\" Copyright (c) 2000 Yasuo YOKOYAMA <yokoyama@jp.FreeBSD.org> 6.\" Copyright (c) 2000 Hiroki Sato <hrs@FreeBSD.org> 7.\" All rights reserved. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" 30.\" $FreeBSD$ 31.\" 32.Dd August 31, 2000 33.Dt ACPIDUMP 8 34.Os 35.Sh NAME 36.Nm acpidump 37.Nd dump ACPI tables 38.Sh SYNOPSIS 39.Nm 40.Nm 41.Op Fl o Ar dsdt_file_for_output 42.Nm 43.Op Fl f Ar dsdt_file_for_input 44.Sh DESCRIPTION 45The 46.Nm 47command analyzes ACPI tables in physical memory and dumps them to standard output. 48In addition, 49.Nm 50can disassemble some contents of the tables in AML 51(ACPI Machine Language) 52and dump them in ASL 53(ACPI Source Language). 54.Pp 55ACPI tables have an notably essential data block called DSDT 56(Differentiated System Description Table), 57that includes information used on the kernel side such as 58detail information about PnP hardware, procedures for controlling 59a power management support and so on. 60.Nm 61can extract a DSDT data block from physical memory and store it into 62a DSDT data file, and also can generate an output in ASL 63from a given DSDT data file. 64.Pp 65When 66.Nm 67is invoked with no option, it will search ACPI tables from physical 68memory via a special file 69.Pa /dev/mem 70and dump them. First, it searches Root System Description Pointer, 71that has a signature 72.Qq RSD PTR\ \& , 73and then gets RSDT 74(Root System Description Table), 75which includes a list of pointers to physical memory addresses 76for other tables. 77RSDT itself and all other tables linked from RSDT are generically 78called SDT 79(System Description Table) 80and their header has the common format which consists of items 81such as Signature, Length, Revision, Checksum, OEMID, OEM Table ID, 82OEM Revision, Creator ID and Creator Revision. 83.Nm 84dumps contents of these SDTs. 85For further information about formats of each table, 86see chapter 5: ACPI Software Programming Model, 87.Dq Advanced Configuration and Power Interface Specification Revision 1.0b 88from Intel/Microsoft/Toshiba. 89.Pp 90There is always a pointer to a physical memory address in RSDT for FACP 91(Fixed ACPI Description Table). 92FACP defines static system information about power management support 93(ACPI Hardware Register Implementation) 94such as interrupt mode 95(INT_MODEL), 96SCI interrupt number, SMI command port 97(SMI_CMD) 98and location of ACPI registers. 99FACP also has a pointer to a physical memory address for DSDT, 100which includes information used on the kernel side such as 101PnP, power management support and so on. 102While the other tables are described in fixed format, 103DSDT consists of AML data which compiled from sources 104written in free formated ASL, description language for ACPI. 105When 106.Nm 107outputs DSDT, it disassembles the AML data and 108translates them into ASL. 109.Sh OPTIONS 110The following options are supported by 111.Nm : 112.Bl -tag -width indent 113.It Fl o Ar dsdt_file_for_output 114Stores DSDT data block from physical memory into a file specified in 115.Ar dsdt_file_for_output 116in addition to behavior with no option. 117.It Fl f Ar dsdt_file_for_input 118Interprets AML data in DSDT from a file specified in 119.Ar dsdt_file_for_input 120and dumps them in ASL to standard output. 121.It Fl h 122Displays usage and exit. 123.El 124.Sh EXAMPLES 125This is an example to get a dump of SDTs and a DSDT data file 126simultaneously on a machine that supports ACPI BIOS. 127.Bd -literal -offset indent 128# acpidump -o foo.dsdt > foo.asl 129.Ed 130.Sh BUGS 131In the current implementation, 132.Nm 133doesn't dump any information of Firmware ACPI Control Structure 134(FACS) 135specified by a pointer in FACP. 136.Sh FILES 137.Bl -tag -width /dev/mem 138.It Pa /dev/mem 139.El 140.Sh SEE ALSO 141.Xr acpi 4 , 142.Xr mem 4 , 143.Xr acpiconf 8 , 144.Xr amldb 8 145.Pp 146.Dq Advanced Configuration and Power Interface Specification 147.Bd -literal -offset indent -compact 148Intel 149Microsoft 150Toshiba 151Revision 1.0b 152.Ed 153<URL:http://www.teleport.com/~acpi/> 154.Sh AUTHORS 155.An Doug Rabson Aq dfr@FreeBSD.org 156.An Mitsuru IWASAKI Aq iwasaki@FreeBSD.org 157.An Yasuo YOKOYAMA Aq yokoyama@jp.FreeBSD.org 158.Pp 159Some contributions made by 160.An Chitoshi Ohsawa Aq ohsawa@catv1.ccn-net.ne.jp , 161.An Takayasu IWANASHI Aq takayasu@wendy.a.perfect-liberty.or.jp , 162.An Yoshihiko SARUMARU Aq mistral@imasy.or.jp , 163.An Hiroki Sato Aq hrs@FreeBSD.org , 164and 165.An Michael Lucas Aq mwlucas@blackhelicopters.org . 166.Sh HISTORY 167The 168.Nm 169command appeared in 170.Fx 5.0 . 171