White space fix only. Translators can ignore.

Sponsored by:	iXsystems
This commit is contained in:
Dru Lavigne 2014-04-15 16:40:29 +00:00
parent 627207c403
commit 61bcce53e9
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44562

View file

@ -3183,50 +3183,51 @@ hw.acpi.s4bios: 0</screen>
This usually fixes the problem of a system powering up
spontaneously after a suspend or poweroff.</para>
</sect3>
<sect3 xml:id="ACPI-aslanddump">
<title>BIOS Contains Buggy Bytecode</title>
<indexterm>
<primary><acronym>ACPI</acronym></primary>
<secondary><acronym>ASL</acronym></secondary>
</indexterm>
<indexterm>
<primary><acronym>ACPI</acronym></primary>
<secondary><acronym>ASL</acronym></secondary>
</indexterm>
<para>Some <acronym>BIOS</acronym> vendors provide incorrect or
buggy bytecode. This is usually manifested by kernel console
messages like this:</para>
<para>Some <acronym>BIOS</acronym> vendors provide incorrect
or buggy bytecode. This is usually manifested by kernel
console messages like this:</para>
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUND</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
the battery status is not working, these messages are a good
place to start looking for problems.</para>
<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 the battery status is not working, these
messages are a good place to start looking for
problems.</para>
</sect3>
</sect2>
<sect2>
<sect2>
<title>Overriding the Default <acronym>AML</acronym></title>
<para>The <acronym>BIOS</acronym> bytecode, known as
<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>
<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.
Workarounds are still being developed for common
mistakes made by <acronym>BIOS</acronym> vendors. The
&microsoft; interpreter (<filename>acpi.sys</filename> and
Workarounds are still being developed for common mistakes made
by <acronym>BIOS</acronym> vendors. The &microsoft;
interpreter (<filename>acpi.sys</filename> and
<filename>acpiec.sys</filename>) does not strictly check for
adherence to the standard, and thus many
<acronym>BIOS</acronym> vendors who only test
@ -3234,53 +3235,54 @@ hw.acpi.s4bios: 0</screen>
<acronym>ASL</acronym>. &os; developers continue to identify
and document which non-standard behavior is allowed by
&microsoft;'s interpreter and replicate it so that &os; can
work without forcing users to fix the <acronym>ASL</acronym>.</para>
work without forcing users to fix the
<acronym>ASL</acronym>.</para>
<para>To help identify buggy behavior and possibly fix it manually, a copy can be
made of the system's
<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>
<screen>&prompt.root; <userinput>acpidump -td > <replaceable>my.asl</replaceable></userinput></screen>
<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
2009"</replaceable></literal> in
<filename>/boot/loader.conf</filename>, using the most recent &windows;
version listed in the <acronym>ASL</acronym>.</para>
<para>Some <acronym>AML</acronym> versions assume the user is
running &windows;. To override this, set
<literal>hw.acpi.osname=<replaceable>"Windows
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
<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 -f <replaceable>my.asl</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>iasl -f <replaceable>my.asl</replaceable></userinput></screen>
<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 &os;
interpreter.</para>
<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 &os;
interpreter.</para>
<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
<filename>/boot/loader.conf</filename> as follows:</para>
<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
<filename>/boot/loader.conf</filename> as follows:</para>
<programlisting>acpi_dsdt_load="YES"
<programlisting>acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
<para>Be sure to copy <filename>DSDT.aml</filename> to
<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
<para>Be sure to copy <filename>DSDT.aml</filename> to
<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>
@ -3329,36 +3331,34 @@ acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
<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 layers and are broken down into
components (<literal>ACPI_ALL_COMPONENTS</literal>)
and <acronym>ACPI</acronym> hardware support
(<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
full list of the individual layers and levels is found in
&man.acpi.4;.</para>
specified as layers and are broken down into components
(<literal>ACPI_ALL_COMPONENTS</literal>) and
<acronym>ACPI</acronym> hardware support
(<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 full list of the individual layers and levels is
found in &man.acpi.4;.</para>
<para>Debugging output is not enabled by default. To enable it,
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 a module is used instead of a custom kernel, recompile just the
<filename>acpi.ko</filename> module as follows:</para>
<filename>/etc/make.conf</filename> to enable it globally. 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 &amp;&amp; make clean &amp;&amp; make ACPI_DEBUG=1</userinput></screen>
<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>. The entries in this
example enable debug messages for all <acronym>ACPI</acronym>
components and
hardware drivers and
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"
@ -3367,10 +3367,10 @@ 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, 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 <command>sysctl</command> are named
the same as the tunables in
<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 <command>sysctl</command> are
named the same as the tunables in
<filename>/boot/loader.conf</filename>.</para>
<indexterm>
@ -3378,15 +3378,16 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<secondary>problems</secondary>
</indexterm>
<para>Once the debugging information is gathered, it can be
sent to &a.acpi.name; so that it can be used by the &os;
<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 debugging information to this mailing list, ensure the latest
<acronym>BIOS</acronym> version is installed and, if
available, the embedded controller firmware version.</para>
<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 report, include the following
@ -3409,7 +3410,8 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<listitem>
<para>The <command>dmesg</command> output from <command>boot
-v</command> with <acronym>ACPI</acronym> disabled,
if disabling <acronym>ACPI</acronym> helps to fix the problem.</para>
if disabling <acronym>ACPI</acronym> helps to fix the
problem.</para>
</listitem>
<listitem>
@ -3419,8 +3421,7 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<listitem>
<para>The <acronym>URL</acronym> to a pasted version of the
system's
<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
@ -3454,7 +3455,8 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<itemizedlist>
<listitem>
<para>The &os; <acronym>ACPI</acronym> Mailing List Archives (<uri
<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>