Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Document "how-to override the DSDT" in the manual page inste...



details:   https://anonhg.NetBSD.org/src/rev/c655edaa48d2
branches:  trunk
changeset: 753823:c655edaa48d2
user:      jruoho <jruoho%NetBSD.org@localhost>
date:      Sun Apr 11 08:58:43 2010 +0000

description:
Document "how-to override the DSDT" in the manual page instead of code.

diffstat:

 share/man/man4/acpi.4         |  94 +++++++++++++++++++++++++++++++++++++-----
 sys/dev/acpi/acpica/OsdMisc.c |  25 +----------
 2 files changed, 85 insertions(+), 34 deletions(-)

diffs (197 lines):

diff -r e118f25b2e9f -r c655edaa48d2 share/man/man4/acpi.4
--- a/share/man/man4/acpi.4     Sun Apr 11 08:30:17 2010 +0000
+++ b/share/man/man4/acpi.4     Sun Apr 11 08:58:43 2010 +0000
@@ -1,6 +1,6 @@
-.\" $NetBSD: acpi.4,v 1.46 2010/04/10 05:21:41 jruoho Exp $
+.\" $NetBSD: acpi.4,v 1.47 2010/04/11 08:58:43 jruoho Exp $
 .\"
-.\" Copyright (c) 2002, 2004 The NetBSD Foundation, Inc.
+.\" Copyright (c) 2002, 2004, 2010 The NetBSD Foundation, Inc.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -24,7 +24,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 10, 2010
+.Dd April 11, 2010
 .Dt ACPI 4
 .Os
 .Sh NAME
@@ -81,7 +81,8 @@
 .It Dv ACPI_DSDT_OVERRIDE
 Force a given Differentiated System Description Table
 .Pq Tn DSDT
-instead of the BIOS-supplied version.
+instead of the version supplied by the
+.Tn BIOS .
 Use
 .Dv ACPI_DSDT_FILE
 to specify a
@@ -237,19 +238,87 @@
 Toshiba Libretto device.
 .El
 .Sh DEBUGGING
-The
+Although the situation has become better over the years,
+.Tn ACPI
+is typically prone to various errors,
+ranging from blatant flaws in the firmware to bugs in the implementation.
+Before anything else, it is a good practice to upgrade the
+.Tn BIOS
+to the latest version available from the vendor.
+.Pp
+To ease the task of diagnosing and fixing different problems, the
 .Tn ACPICA
 reference implementation provides a rich
 facility of different debugging methods.
-To ease the use of these,
+In
+.Nx
+these are generally only available if the kernel has been compiled with the
+.Tn ACPI_DEBUG
+option.
+.Ss CUSTOM DSDT
+.Tn ACPI
+interprets bytecode known as
+.Tn ACPI
+Machine Language
+.Pq Tn AML ,
+provided by the
+.Tn BIOS
+as a memory image during the system bootstrap.
+Most of the
+.Tn AML
+relevant to
+.Nm
+is implemented in the so-called
+Differentiated System Descriptor Table
+.Pq Tn DSDT .
+.Nx
+provides support for overriding the default
+.Tn DSDT
+supplied by the
+.Tn BIOS .
+.Pp
+The following steps can be used to override the
+.Tn DSDT :
+.Bl -enum -offset indent
+.It
+Dump the raw
+.Tn DSDT
+with
+.Xr acpidump 8 .
+.It
+Disassemble the table with
+.Xr iasl 8 .
+.It
+Modify the disassembled table.
+.It
+Compile the table with
+.Xr iasl 8
+using the option
+.Ar \-tc .
+.It
+Either copy the
+.Pq Pa *.hex
+file to
+.Bd -literal -offset indent
+src/sys/dev/acpi/acpica/Osd/custom_dsdt.hex
+.Ed
+.Pp
+or use the option
+.Bd -literal -offset indent
+ACPI_DSDT_FILE="/some/directory/custom_dsdt.hex"
+.Ed
+.Pp
+in the kernel configuration file.
+.It
+Define
+.Tn ACPI_DSDT_OVERRIDE
+in the kernel configuration file and rebuild.
+.El
+.Ss DEBUG OUTPUT
 .Nx
 provides two
 .Xr sysctl 8
 variables that control the debug output at runtime.
-These are only available if the running kernel has been compiled with the
-.Tn ACPI_DEBUG
-option.
-.Pp
 The
 .Ic hw.acpi.debug_layer
 limits the output to a specific
@@ -260,6 +329,7 @@
 Both
 .Xr sysctl 8
 variables are string literals.
+.Pp
 The possible values are:
 .Bl -column -offset indent \
 "ACPI_RESOURCE_COMPONENT     " "ACPI_RESOURCE_COMPONENT     "
@@ -382,6 +452,7 @@
 .Xr acpilid 4 ,
 .Xr acpismbus 4 ,
 .Xr acpitz 4 ,
+.Xr acpiwmi 4 ,
 .Xr aibs 4 ,
 .Xr apm 4 ,
 .Xr attimer 4 ,
@@ -404,7 +475,8 @@
 .Xr wss 4 ,
 .Xr ym 4 ,
 .Xr acpidump 8 ,
-.Xr amldb 8
+.Xr amldb 8 ,
+.Xr iasl 8
 .Rs
 .%A Hewlett-Packard Corporation
 .%A Intel Corporation
diff -r e118f25b2e9f -r c655edaa48d2 sys/dev/acpi/acpica/OsdMisc.c
--- a/sys/dev/acpi/acpica/OsdMisc.c     Sun Apr 11 08:30:17 2010 +0000
+++ b/sys/dev/acpi/acpica/OsdMisc.c     Sun Apr 11 08:58:43 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: OsdMisc.c,v 1.8 2010/04/10 06:56:30 jruoho Exp $       */
+/*     $NetBSD: OsdMisc.c,v 1.9 2010/04/11 08:58:43 jruoho Exp $       */
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: OsdMisc.c,v 1.8 2010/04/10 06:56:30 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: OsdMisc.c,v 1.9 2010/04/11 08:58:43 jruoho Exp $");
 
 #include "opt_acpi.h"
 #include "opt_ddb.h"
@@ -61,27 +61,6 @@
 #include <external/intel-public/acpica/dist/include/accommon.h>
 #include <external/intel-public/acpica/dist/include/acdebug.h>
 
-/*
- * For debugging or fixing a DSDT (try this at your own risk!):
- *
- *     1. Dump the raw DSDT with acpidump(8).
- *
- *     2. Disassemble with iasl(8) using the option -d.
- *
- *     3. Modify the ASL file.
- *
- *     4. Compile it with iasl(8), -tc
- *
- *     5. Copy the *.hex to src/sys/dev/acpi/acpica/Osd/dsdt.hex
- *
- *             - or -
- *
- *        Use the option ACPI_DSDT_FILE="\"/dir/yourdsdt.hex\"" in
- *        the kernel config file.
- *
- *     6. Define ACPI_DSDT_OVERRIDE in the kernel config file and rebuild.
- */
-
 #ifdef ACPI_DSDT_OVERRIDE
 #ifndef ACPI_DSDT_FILE
 #define ACPI_DSDT_FILE "dsdt.hex"



Home | Main Index | Thread Index | Old Index