2000-09-14 22:48:39 +00:00
|
|
|
.\" ACPI (ACPI Package)
|
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 1999 Doug Rabson <dfr@FreeBSD.org>
|
|
|
|
.\" Copyright (c) 2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>
|
|
|
|
.\" Copyright (c) 2000 Yasuo YOKOYAMA <yokoyama@jp.FreeBSD.org>
|
|
|
|
.\" Copyright (c) 2000 Hiroki Sato <hrs@FreeBSD.org>
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
2001-07-15 08:06:20 +00:00
|
|
|
.\"
|
2000-09-14 22:48:39 +00:00
|
|
|
.\" $FreeBSD$
|
2001-07-15 08:06:20 +00:00
|
|
|
.\"
|
2005-02-14 16:32:32 +00:00
|
|
|
.Dd February 14, 2005
|
2000-09-14 22:48:39 +00:00
|
|
|
.Dt ACPIDUMP 8
|
2001-07-10 15:12:08 +00:00
|
|
|
.Os
|
2000-09-14 22:48:39 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm acpidump
|
2003-08-28 03:33:07 +00:00
|
|
|
.Nd dump ACPI tables and ASL
|
2000-09-14 22:48:39 +00:00
|
|
|
.Sh SYNOPSIS
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm
|
2003-08-28 03:33:07 +00:00
|
|
|
.Op Fl d
|
|
|
|
.Op Fl t
|
|
|
|
.Op Fl h
|
|
|
|
.Op Fl v
|
|
|
|
.Op Fl f Ar dsdt_input
|
|
|
|
.Op Fl o Ar dsdt_output
|
2000-09-14 22:48:39 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
2003-08-28 03:33:07 +00:00
|
|
|
utility analyzes ACPI tables in physical memory and can dump them to a file.
|
2000-09-14 22:48:39 +00:00
|
|
|
In addition,
|
|
|
|
.Nm
|
2003-08-28 03:33:07 +00:00
|
|
|
can call
|
|
|
|
.Xr iasl 8
|
|
|
|
to disassemble AML
|
2001-08-07 15:48:51 +00:00
|
|
|
(ACPI Machine Language)
|
2002-01-02 07:01:34 +00:00
|
|
|
found in these tables and dump them as ASL
|
2003-08-28 03:33:07 +00:00
|
|
|
(ACPI Source Language)
|
|
|
|
to stdout.
|
2000-09-14 22:48:39 +00:00
|
|
|
.Pp
|
2002-01-02 07:01:34 +00:00
|
|
|
ACPI tables have an essential data block (the DSDT,
|
2003-08-28 03:33:07 +00:00
|
|
|
Differentiated System Description Table)
|
2000-09-14 22:48:39 +00:00
|
|
|
that includes information used on the kernel side such as
|
2002-01-02 07:01:34 +00:00
|
|
|
detailed information about PnP hardware, procedures for controlling
|
2003-08-28 03:33:07 +00:00
|
|
|
power management support, and so on.
|
2002-07-14 14:47:15 +00:00
|
|
|
The
|
2000-09-14 22:48:39 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility can extract the DSDT data block from physical memory and store it into
|
2004-10-05 02:19:30 +00:00
|
|
|
an output file and optionally also disassemble it.
|
2004-10-05 20:45:05 +00:00
|
|
|
If any Secondary System Description Table
|
2004-10-05 02:19:30 +00:00
|
|
|
(SSDT)
|
2004-10-05 20:45:05 +00:00
|
|
|
entries exist, they will also be included in the output file and disassembly.
|
2000-09-14 22:48:39 +00:00
|
|
|
.Pp
|
|
|
|
When
|
|
|
|
.Nm
|
2002-01-02 07:01:34 +00:00
|
|
|
is invoked without the
|
|
|
|
.Fl f
|
2003-08-28 03:33:07 +00:00
|
|
|
option, it will read ACPI tables from physical memory via
|
|
|
|
.Pa /dev/mem .
|
2002-01-10 14:36:17 +00:00
|
|
|
First it searches for the RSDP
|
2002-01-02 07:01:34 +00:00
|
|
|
(Root System Description Pointer),
|
|
|
|
which has the signature
|
2000-09-14 22:48:39 +00:00
|
|
|
.Qq RSD PTR\ \& ,
|
2002-01-02 07:01:34 +00:00
|
|
|
and then gets the RSDT
|
2001-08-07 15:48:51 +00:00
|
|
|
(Root System Description Table),
|
2000-09-14 22:48:39 +00:00
|
|
|
which includes a list of pointers to physical memory addresses
|
|
|
|
for other tables.
|
2002-01-02 07:01:34 +00:00
|
|
|
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
|
2000-09-14 22:48:39 +00:00
|
|
|
such as Signature, Length, Revision, Checksum, OEMID, OEM Table ID,
|
|
|
|
OEM Revision, Creator ID and Creator Revision.
|
2003-08-28 03:33:07 +00:00
|
|
|
When invoked with the
|
|
|
|
.Fl t
|
|
|
|
flag, the
|
2000-09-14 22:48:39 +00:00
|
|
|
.Nm
|
2003-08-28 03:33:07 +00:00
|
|
|
utility dumps contents of the following tables:
|
2000-09-14 22:48:39 +00:00
|
|
|
.Pp
|
2003-08-28 03:33:07 +00:00
|
|
|
.Bl -tag -offset indent -width 12345 -compact
|
|
|
|
.It DSDT
|
2004-10-05 02:19:30 +00:00
|
|
|
.It ECDT
|
|
|
|
.It FACS
|
2003-08-28 03:33:07 +00:00
|
|
|
.It FADT
|
|
|
|
.It HPET
|
|
|
|
.It MADT
|
2005-02-14 16:32:32 +00:00
|
|
|
.It MCFG
|
2003-08-28 03:33:07 +00:00
|
|
|
.It RSD PTR
|
|
|
|
.It RSDT
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
The RSDT contains a pointer to the physical memory address of the FACP
|
2001-08-07 15:48:51 +00:00
|
|
|
(Fixed ACPI Description Table).
|
2002-01-02 07:01:34 +00:00
|
|
|
The FACP defines static system information about power management support
|
2001-08-07 15:48:51 +00:00
|
|
|
(ACPI Hardware Register Implementation)
|
2003-08-28 03:33:07 +00:00
|
|
|
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.
|
2000-09-14 22:48:39 +00:00
|
|
|
.Sh OPTIONS
|
|
|
|
The following options are supported by
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm :
|
2000-09-14 22:48:39 +00:00
|
|
|
.Bl -tag -width indent
|
2003-08-28 03:33:07 +00:00
|
|
|
.It Fl d
|
|
|
|
Disassemble the DSDT into ASL using
|
|
|
|
.Xr iasl 8
|
|
|
|
and print the results to stdout.
|
|
|
|
.It Fl t
|
|
|
|
Dump the contents of the various fixed tables listed above.
|
2000-09-14 22:48:39 +00:00
|
|
|
.It Fl h
|
|
|
|
Displays usage and exit.
|
2003-08-28 03:33:07 +00:00
|
|
|
.It Fl v
|
|
|
|
Enable verbose messages.
|
|
|
|
.It Fl f Ar dsdt_input
|
|
|
|
Load the DSDT from the specified file instead of physical memory.
|
|
|
|
Since only the DSDT is stored in the file, the
|
|
|
|
.Fl t
|
|
|
|
flag may not be used with this option.
|
|
|
|
.It Fl o Ar dsdt_output
|
|
|
|
Store the DSDT data block from physical memory into the specified file.
|
2000-09-14 22:48:39 +00:00
|
|
|
.El
|
2005-01-18 20:02:45 +00:00
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width /dev/mem
|
|
|
|
.It Pa /dev/mem
|
|
|
|
.El
|
2000-09-14 22:48:39 +00:00
|
|
|
.Sh EXAMPLES
|
2007-03-14 22:55:30 +00:00
|
|
|
If a developer requests a copy of your ASL, please use the following
|
|
|
|
command to dump all tables and compress the result.
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
# acpidump -dt | gzip -c9 > my_computer.asl.gz
|
|
|
|
.Ed
|
|
|
|
.Pp
|
2003-08-28 03:33:07 +00:00
|
|
|
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.
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
# acpidump -t -d -o foo.dsdt > foo.asl
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
This example reads a DSDT file and disassembles it to stdout.
|
|
|
|
Verbose messages are enabled.
|
2000-09-14 22:48:39 +00:00
|
|
|
.Bd -literal -offset indent
|
2003-08-28 03:33:07 +00:00
|
|
|
# acpidump -v -d -f foo.dsdt
|
2000-09-14 22:48:39 +00:00
|
|
|
.Ed
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr acpi 4 ,
|
2001-07-06 16:46:48 +00:00
|
|
|
.Xr mem 4 ,
|
2000-09-14 22:48:39 +00:00
|
|
|
.Xr acpiconf 8 ,
|
2003-08-28 03:33:07 +00:00
|
|
|
.Xr acpidb 8 ,
|
|
|
|
.Xr iasl 8
|
2005-01-18 20:02:45 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
utility first appeared in
|
|
|
|
.Fx 5.0
|
|
|
|
and was rewritten to use
|
|
|
|
.Xr iasl 8
|
|
|
|
for
|
|
|
|
.Fx 5.2 .
|
2000-09-14 22:48:39 +00:00
|
|
|
.Sh AUTHORS
|
|
|
|
.An Doug Rabson Aq dfr@FreeBSD.org
|
|
|
|
.An Mitsuru IWASAKI Aq iwasaki@FreeBSD.org
|
|
|
|
.An Yasuo YOKOYAMA Aq yokoyama@jp.FreeBSD.org
|
2004-10-05 02:19:30 +00:00
|
|
|
.An Nate Lawson Aq njl@FreeBSD.org
|
2000-09-14 22:48:39 +00:00
|
|
|
.Pp
|
2002-01-10 14:36:17 +00:00
|
|
|
.An -nosplit
|
2000-09-14 22:48:39 +00:00
|
|
|
Some contributions made by
|
|
|
|
.An Chitoshi Ohsawa Aq ohsawa@catv1.ccn-net.ne.jp ,
|
|
|
|
.An Takayasu IWANASHI Aq takayasu@wendy.a.perfect-liberty.or.jp ,
|
|
|
|
.An Yoshihiko SARUMARU Aq mistral@imasy.or.jp ,
|
|
|
|
.An Hiroki Sato Aq hrs@FreeBSD.org ,
|
2002-01-02 07:01:34 +00:00
|
|
|
.An Michael Lucas Aq mwlucas@blackhelicopters.org
|
2000-09-14 22:48:39 +00:00
|
|
|
and
|
2002-01-10 14:36:17 +00:00
|
|
|
.An Michael Smith Aq msmith@FreeBSD.org .
|
2005-01-18 20:02:45 +00:00
|
|
|
.Sh BUGS
|
|
|
|
The current implementation does not dump the BOOT structure or
|
|
|
|
other miscellaneous tables.
|