svn commit: r44561 - head/en_US.ISO8859-1/books/handbook/config
Dru Lavigne
dru at FreeBSD.org
Tue Apr 15 16:12:59 UTC 2014
Author: dru
Date: Tue Apr 15 16:12:59 2014
New Revision: 44561
URL: http://svnweb.freebsd.org/changeset/doc/44561
Log:
Finish editorial review of ACPI chapter.
Some shuffling of ASL/AML stuff to improve flow.
Remove Japanese and Russian references. These resources could stay in their
respective translations.
Sponsored by: iXsystems
Modified:
head/en_US.ISO8859-1/books/handbook/config/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/config/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/config/chapter.xml Tue Apr 15 12:42:29 2014 (r44560)
+++ head/en_US.ISO8859-1/books/handbook/config/chapter.xml Tue Apr 15 16:12:59 2014 (r44561)
@@ -3183,11 +3183,9 @@ hw.acpi.s4bios: 0</screen>
This usually fixes the problem of a system powering up
spontaneously after a suspend or poweroff.</para>
</sect3>
- </sect2>
-
- <sect2 xml:id="ACPI-aslanddump">
- <title><acronym>ASL</acronym>, &man.acpidump.8;, and
- <acronym>IASL</acronym></title>
+
+ <sect3 xml:id="ACPI-aslanddump">
+ <title>BIOS Contains Buggy Bytecode</title>
<indexterm>
<primary><acronym>ACPI</acronym></primary>
@@ -3203,39 +3201,30 @@ hw.acpi.s4bios: 0</screen>
<para>Often, these problems may be resolved by updating the
<acronym>BIOS</acronym> to the latest revision. Most console
- messages are harmless, but if there are other problems like
+ messages are harmless, but if there are other problems, like
the battery status is not working, these messages are a good
- place to start looking for problems. The bytecode, known as
- <acronym>AML</acronym>, is compiled from a source language
- called <acronym>ASL</acronym>. The <acronym>AML</acronym> is
- found in the table known as the <acronym>DSDT</acronym>. To
- get a copy of the system's <acronym>ASL</acronym>, use
- &man.acpidump.8;. Include both <option>-t</option>, to show
- the contents of the fixed tables, and <option>-d</option>, to
- disassemble the <acronym>AML</acronym>. Refer to <xref
- linkend="ACPI-submitdebug"/> for an example syntax.</para>
-
- <para>The simplest first check is to recompile the
- <acronym>ASL</acronym> to check for errors. Warnings can
- usually be ignored, but errors are bugs that will usually
- prevent <acronym>ACPI</acronym> from working correctly. To
- recompile the <acronym>ASL</acronym>, issue the following
- command:</para>
-
- <screen>&prompt.root; <userinput>iasl your.asl</userinput></screen>
+ place to start looking for problems.</para>
+ </sect3>
</sect2>
- <sect2 xml:id="ACPI-fixasl">
- <title>Fixing the <acronym>ASL</acronym></title>
+ <sect2>
+ <title>Overriding the Default <acronym>AML</acronym></title>
- <indexterm>
+ <para>The <acronym>BIOS</acronym> bytecode, known as
+ <acronym>ACPI</acronym> Machine Language
+ (<acronym>AML</acronym>), is compiled from a source language
+ called <acronym>ACPI</acronym> Source Language
+ (<acronym>ASL</acronym>). The <acronym>AML</acronym> is
+ found in the table known as the Differentiated System
+ Description Table (<acronym>DSDT</acronym>).</para>
+ <indexterm>
<primary><acronym>ACPI</acronym></primary>
<secondary><acronym>ASL</acronym></secondary>
</indexterm>
<para>The goal of &os; is for everyone to have working
- <acronym>ACPI</acronym> without any user intervention. At
- this point, workarounds are still being developed for common
+ <acronym>ACPI</acronym> without any user intervention.
+ Workarounds are still being developed for common
mistakes made by <acronym>BIOS</acronym> vendors. The
µsoft; interpreter (<filename>acpi.sys</filename> and
<filename>acpiec.sys</filename>) does not strictly check for
@@ -3245,60 +3234,40 @@ hw.acpi.s4bios: 0</screen>
<acronym>ASL</acronym>. &os; developers continue to identify
and document which non-standard behavior is allowed by
µsoft;'s interpreter and replicate it so that &os; can
- work without forcing users to fix the <acronym>ASL</acronym>.
- As a workaround, and to help identify behavior, fix the
- <acronym>ASL</acronym> manually. If this works, send a
- &man.diff.1; of the old and new <acronym>ASL</acronym> so
- developers can possibly work around the buggy behavior in
- <acronym>ACPI-CA</acronym>.</para>
+ work without forcing users to fix the <acronym>ASL</acronym>.</para>
- <indexterm>
- <primary><acronym>ACPI</acronym></primary>
- <secondary>error messages</secondary>
- </indexterm>
-
- <para>Here is a list of common error messages, their cause, and
- how to fix them:</para>
+ <para>To help identify buggy behavior and possibly fix it manually, a copy can be
+ made of the system's
+ <acronym>ASL</acronym>. To copy the system's
+ <acronym>ASL</acronym> to a specified file name, use
+ <command>acpidump</command> with <option>-t</option>, to show
+ the contents of the fixed tables, and <option>-d</option>, to
+ disassemble the <acronym>AML</acronym>:</para>
- <sect3>
- <title>Operating System Dependencies</title>
+ <screen>&prompt.root; <userinput>acpidump -td > <replaceable>my.asl</replaceable></userinput></screen>
<para>Some <acronym>AML</acronym> versions assume the user is
running &windows;. To override this, set
<literal>hw.acpi.osname=<replaceable>"Windows
- 2001"</replaceable></literal> in
- <filename>/boot/loader.conf</filename>, using the strings
- in the <acronym>ASL</acronym>.</para>
- </sect3>
-
- <sect3>
- <title>Missing Return Statements</title>
-
- <para>Some methods do not explicitly return a value as the
- standard requires. While <acronym>ACPI-CA</acronym>
- does not handle this, &os; has a workaround that allows it
- to return the value implicitly. Explicit return statements
- can be added where required if the value which should be
- returned is known. To force &man.iasl.8; to compile the
- <acronym>ASL</acronym>, use the <option>-f</option>
- flag.</para>
- </sect3>
-
- <sect3>
- <title>Overriding the Default <acronym>AML</acronym></title>
-
- <para>After customizing <filename>your.asl</filename>, compile
- it with this command:</para>
+ 2009"</replaceable></literal> in
+ <filename>/boot/loader.conf</filename>, using the most recent &windows;
+ version listed in the <acronym>ASL</acronym>.</para>
+
+ <para>Other workarounds may require
+ <filename>my.asl</filename> to be customized. If this file is edited, compile the new
+ <acronym>ASL</acronym> using the following command. Warnings can
+ usually be ignored, but errors are bugs that will usually
+ prevent <acronym>ACPI</acronym> from working correctly.</para>
- <screen>&prompt.root; <userinput>iasl your.asl</userinput></screen>
+ <screen>&prompt.root; <userinput>iasl -f <replaceable>my.asl</replaceable></userinput></screen>
- <para>Adding the <option>-f</option> flag forces creation of
+ <para>Including <option>-f</option> forces creation of
the <acronym>AML</acronym>, even if there are errors during
compilation. Some errors, such as missing return
- statements, are automatically worked around by the
+ statements, are automatically worked around by the &os;
interpreter.</para>
- <para>The default output filename for &man.iasl.8; is
+ <para>The default output filename for <command>iasl</command> is
<filename>DSDT.aml</filename>. Load this file instead of
the <acronym>BIOS</acronym>'s buggy copy, which is still
present in flash memory, by editing
@@ -3308,13 +3277,44 @@ hw.acpi.s4bios: 0</screen>
acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
<para>Be sure to copy <filename>DSDT.aml</filename> to
- <filename>/boot</filename>.</para>
- </sect3>
+ <filename>/boot</filename>, then reboot the system. If this fixes the problem, send a
+ &man.diff.1; of the old and new <acronym>ASL</acronym> to
+ &a.acpi.name; so that
+ developers can work around the buggy behavior in
+ <filename>acpica</filename>.</para>
</sect2>
- <sect2 xml:id="ACPI-debugoutput">
- <title>Getting Debugging Output from
- <acronym>ACPI</acronym></title>
+ <sect2 xml:id="ACPI-submitdebug">
+ <info>
+ <title>Getting and Submitting Debugging Info</title>
+
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Nate</firstname>
+ <surname>Lawson</surname>
+ </personname>
+ <contrib>Written by </contrib>
+ </author>
+ </authorgroup>
+
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Peter</firstname>
+ <surname>Schultz</surname>
+ </personname>
+ <contrib>With contributions from </contrib>
+ </author>
+
+ <author>
+ <personname>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ </personname>
+ </author>
+ </authorgroup>
+ </info>
<indexterm>
<primary>ACPI</primary>
@@ -3329,13 +3329,14 @@ acpi_dsdt_name="/boot/DSDT.aml"</program
<para>The <acronym>ACPI</acronym> driver has a flexible
debugging facility. A set of subsystems and the level of
verbosity can be specified. The subsystems to debug are
- specified as <quote>layers</quote> and are broken down into
- <acronym>ACPI-CA</acronym> components (ACPI_ALL_COMPONENTS)
+ specified as layers and are broken down into
+ components (<literal>ACPI_ALL_COMPONENTS</literal>)
and <acronym>ACPI</acronym> hardware support
- (ACPI_ALL_DRIVERS). The verbosity of debugging output is
- specified as the <quote>level</quote> and ranges from
- ACPI_LV_ERROR (just report errors) to ACPI_LV_VERBOSE
- (everything). The <quote>level</quote> is a bitmask so
+ (<literal>ACPI_ALL_DRIVERS</literal>). The verbosity of debugging output is
+ specified as the level and ranges from just report errors
+ (<literal>ACPI_LV_ERROR</literal>) to everything
+ (<literal>ACPI_LV_VERBOSE</literal>).
+ The level is a bitmask so
multiple options can be set at once, separated by spaces. In
practice, a serial console should be used to log the output
so it is not lost as the console message buffer flushes. A
@@ -3343,160 +3344,72 @@ acpi_dsdt_name="/boot/DSDT.aml"</program
&man.acpi.4;.</para>
<para>Debugging output is not enabled by default. To enable it,
- add <literal>options ACPI_DEBUG</literal> to the kernel
+ add <literal>options ACPI_DEBUG</literal> to the custom kernel
configuration file if <acronym>ACPI</acronym> is compiled into
the kernel. Add <literal>ACPI_DEBUG=1</literal> to
<filename>/etc/make.conf</filename> to enable it globally.
- If it is a module, recompile just the
+ If a module is used instead of a custom kernel, recompile just the
<filename>acpi.ko</filename> module as follows:</para>
- <screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi
-&& make clean &&
-make ACPI_DEBUG=1</userinput></screen>
+ <screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1</userinput></screen>
- <para>Install <filename>acpi.ko</filename> in
+ <para>Copy the compiled <filename>acpi.ko</filename> to
<filename>/boot/kernel</filename> and add the desired level
- and layer to <filename>/boot/loader.conf</filename>. This
- example enables debug messages for all
- <acronym>ACPI-CA</acronym> components and all
- <acronym>ACPI</acronym> hardware drivers such as
- (<acronym>CPU</acronym> and <acronym>LID</acronym>. It only
- outputs error messages at the least verbose level.</para>
+ and layer to <filename>/boot/loader.conf</filename>. The entries in this
+ example enable debug messages for all <acronym>ACPI</acronym>
+ components and
+ hardware drivers and
+ output error messages at the least verbose level:</para>
<programlisting>debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<para>If the required information is triggered by a specific
- event, such as a suspend and then resume, leave out changes to
- <filename>/boot/loader.conf</filename> and instead use
- &man.sysctl.8; to specify the layer and level after booting
+ event, such as a suspend and then resume, do not modify
+ <filename>/boot/loader.conf</filename>. Instead, use
+ <command>sysctl</command> to specify the layer and level after booting
and preparing the system for the specific event. The
- variables which can be set using &man.sysctl.8; are named
+ variables which can be set using <command>sysctl</command> are named
the same as the tunables in
<filename>/boot/loader.conf</filename>.</para>
- </sect2>
-
- <sect2 xml:id="ACPI-References">
- <title>References</title>
-
- <para>More information about <acronym>ACPI</acronym> may be
- found in the following locations:</para>
-
- <itemizedlist>
- <listitem>
- <para>The &a.acpi;</para>
- </listitem>
-
- <listitem>
- <para>The <acronym>ACPI</acronym> Mailing List Archives <uri
- xlink:href="http://lists.freebsd.org/pipermail/freebsd-acpi/">http://lists.freebsd.org/pipermail/freebsd-acpi/</uri></para>
- </listitem>
-
- <listitem>
- <para>The old <acronym>ACPI</acronym> Mailing List Archives
- <uri
- xlink:href="http://home.jp.FreeBSD.org/mail-list/acpi-jp/">http://home.jp.FreeBSD.org/mail-list/acpi-jp/</uri></para>
- </listitem>
-
- <listitem>
- <para>The <acronym>ACPI</acronym> 2.0 Specification <uri
- xlink:href="http://acpi.info/spec.htm">http://acpi.info/spec.htm</uri></para>
- </listitem>
-
- <listitem>
- <para>&man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;,
- &man.iasl.8;, and &man.acpidb.8;</para>
- </listitem>
-
- <listitem>
- <para><link
- xlink:href="http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt"><acronym>DSDT</acronym>
- debugging resource</link>.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 xml:id="ACPI-submitdebug">
- <info>
- <title>Debugging &os; <acronym>ACPI</acronym></title>
-
- <authorgroup>
- <author>
- <personname>
- <firstname>Nate</firstname>
- <surname>Lawson</surname>
- </personname>
- <contrib>Written by </contrib>
- </author>
- </authorgroup>
-
- <authorgroup>
- <author>
- <personname>
- <firstname>Peter</firstname>
- <surname>Schultz</surname>
- </personname>
- <contrib>With contributions from </contrib>
- </author>
-
- <author>
- <personname>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- </personname>
- </author>
- </authorgroup>
- </info>
<indexterm>
<primary>ACPI</primary>
<secondary>problems</secondary>
</indexterm>
- <para><acronym>ACPI</acronym> provides a method for
- discovering devices, managing power usage, and providing
- standardized access to various hardware previously managed by
- the <acronym>BIOS</acronym>. Progress is being made toward
- <acronym>ACPI</acronym> working on all systems, but bugs in
- some motherboards' <acronym>ACPI</acronym> Machine Language
- (<acronym>AML</acronym>) bytecode, incompleteness in &os;'s
- kernel subsystems, and bugs in the &intel;
- <acronym>ACPI-CA</acronym> interpreter continue to
- appear.</para>
-
- <para>This section is intended to help users assist the &os;
- <acronym>ACPI</acronym> maintainers in identifying the root
- cause of problems and in debugging and developing a
- solution.</para>
+ <para>Once the debugging information is gathered, it can be
+ sent to &a.acpi.name; so that it can be used by the &os;
+ <acronym>ACPI</acronym> maintainers to identify the root cause
+ of the problem and to develop a solution.</para>
<note>
- <para>Before submitting a problem, ensure the latest
+ <para>Before submitting debugging information to this mailing list, ensure the latest
<acronym>BIOS</acronym> version is installed and, if
available, the embedded controller firmware version.</para>
</note>
- <para>When submitting a problem, send the following information
- to <link xlink:href="mailto:freebsd-acpi at FreeBSD.org">
- freebsd-acpi at FreeBSD.org</link>:</para>
+ <para>When submitting a problem report, include the following
+ information:</para>
<itemizedlist>
<listitem>
<para>Description of the buggy behavior, including system
- type and model and anything that causes the bug to appear.
+ type, model, and anything that causes the bug to appear.
Note as accurately as possible when the bug began
occurring if it is new.</para>
</listitem>
<listitem>
- <para>The output of &man.dmesg.8; after running
+ <para>The output of <command>dmesg</command> after running
<command>boot -v</command>, including any error messages
generated by the bug.</para>
</listitem>
<listitem>
- <para>The &man.dmesg.8; output from <command>boot
+ <para>The <command>dmesg</command> output from <command>boot
-v</command> with <acronym>ACPI</acronym> disabled,
- if disabling it helps to fix the problem.</para>
+ if disabling <acronym>ACPI</acronym> helps to fix the problem.</para>
</listitem>
<listitem>
@@ -3506,8 +3419,8 @@ debug.acpi.level="ACPI_LV_ERROR"</progra
<listitem>
<para>The <acronym>URL</acronym> to a pasted version of the
- <firstterm><acronym>ACPI</acronym> Source
- Language</firstterm> (<acronym>ASL</acronym>). Do
+ system's
+ <acronym>ASL</acronym>. Do
<emphasis>not</emphasis> send the <acronym>ASL</acronym>
directly to the list as it can be very large. Generate a
copy of the <acronym>ASL</acronym> by running this
@@ -3522,7 +3435,7 @@ debug.acpi.level="ACPI_LV_ERROR"</progra
</listitem>
</itemizedlist>
- <para>Most &os; developers watch &a.current;, but one should
+ <para>Most &os; developers watch the &a.current;, but one should
submit problems to &a.acpi.name; to be sure it is seen. Be
patient when waiting for a response. If the bug is not
immediately apparent, submit a <acronym>PR</acronym> using
@@ -3532,5 +3445,29 @@ debug.acpi.level="ACPI_LV_ERROR"</progra
<acronym>PR</acronym> without emailing &a.acpi.name; first as
it is likely that the problem has been reported before.</para>
</sect2>
+
+ <sect2 xml:id="ACPI-References">
+ <title>References</title>
+
+ <para>More information about <acronym>ACPI</acronym> may be
+ found in the following locations:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The &os; <acronym>ACPI</acronym> Mailing List Archives (<uri
+ xlink:href="http://lists.freebsd.org/pipermail/freebsd-acpi/">http://lists.freebsd.org/pipermail/freebsd-acpi/</uri>)</para>
+ </listitem>
+
+ <listitem>
+ <para>The <acronym>ACPI</acronym> 2.0 Specification (<uri
+ xlink:href="http://acpi.info/spec.htm">http://acpi.info/spec.htm</uri>)</para>
+ </listitem>
+
+ <listitem>
+ <para>&man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;,
+ &man.iasl.8;, and &man.acpidb.8;</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
</sect1>
</chapter>
More information about the svn-doc-head
mailing list