* [PATCH] ACPI: update debug parameter documentation
@ 2008-07-29 21:43 Bjorn Helgaas
2008-07-30 10:05 ` Thomas Renninger
0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2008-07-29 21:43 UTC (permalink / raw)
To: Andi Kleen; +Cc: Bjorn Helgaas, linux-acpi
Reformat acpi.debug_layer and acpi.debug_level documentation so it's
readable, add some clues about how to figure out the mask bits that
enable a given ACPI_DEBUG_PRINT statement, and include a couple useful
examples.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
---
Documentation/kernel-parameters.txt | 94 +++++++++++++++++++++++++----------
1 files changed, 67 insertions(+), 27 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 3cba6ed..76b2e97 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -200,37 +200,77 @@ and is between 256 and 4096 characters. It is defined in the file
acpi.debug_layer= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug layer,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
- via /sys/module/acpi/parameters/debug_layer.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable debug output
- for specific parts of the ACPI subsystem:
- 0x01 utilities 0x02 hardware 0x04 events 0x08 tables
- 0x10 namespace 0x20 parser 0x40 dispatcher
- 0x80 executer 0x100 resources 0x200 acpica debugger
- 0x400 os services 0x800 acpica disassembler.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
+ which corresponds to the _COMPONENT definition in
+ ACPI source files. After system has booted, this mask
+ can be set via /sys/module/acpi/parameters/debug_layer.
+
+ CONFIG_ACPI_DEBUG must be enabled for this to produce
+ any output. The number can be in decimal or prefixed
+ with 0x in hex. Some of these options produce so much
+ output that the system is unusable.
+
+ The following are some of the global components
+ defined by the ACPI CA and the Linux OSPM:
+ 0x01 utilities
+ 0x02 hardware
+ 0x04 events
+ 0x08 tables
+ 0x10 namespace
+ 0x20 parser
+ 0x40 dispatcher
+ 0x80 executer
+ 0x100 resources
+ 0x200 ACPI CA debugger
+ 0x400 OS services
+ 0x800 ACPI CA disassembler
+ 0x40000 battery
+ 0x80000 button
+ 0x200000 fan
+ 0x400000 PCI
+ 0x10000000 bay
+
+ Many others, e.g., ACPI_BUS_COMPONENT and
+ ACPI_AC_COMPONENT, are defined by the Linux OSPM and
+ individual drivers.
+
+ For debugging PCI/_PRT issues (PCI, info msgs):
+ acpi.debug_layer=0x400000 acpi.debug_level=0x10
+ For ACPI hardware issues (hardware, all msgs):
+ acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
acpi.debug_level= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug level,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
- via /sys/module/acpi/parameters/debug_level.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable different
- debug output levels of the ACPI subsystem:
- 0x01 error 0x02 warn 0x04 init 0x08 debug object
- 0x10 info 0x20 init names 0x40 parse 0x80 load
- 0x100 dispatch 0x200 execute 0x400 names 0x800 operation region
- 0x1000 bfield 0x2000 tables 0x4000 values 0x8000 objects
- 0x10000 resources 0x20000 user requests 0x40000 package.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
+ which corresponds to the level in an ACPI_DEBUG_PRINT
+ statement. After system has booted up, this mask
+ can be set via /sys/module/acpi/parameters/debug_level.
+
+ CONFIG_ACPI_DEBUG must be enabled for this to produce
+ any output. The number can be in decimal or prefixed
+ with 0x in hex. Some of these options produce so much
+ output that the system is unusable.
+
+ The following global components are defined by the
+ ACPI CA:
+ 0x01 error
+ 0x02 warn
+ 0x04 init
+ 0x08 debug object
+ 0x10 info
+ 0x20 init names
+ 0x40 parse
+ 0x80 load
+ 0x100 dispatch
+ 0x200 execute
+ 0x400 names
+ 0x800 operation region
+ 0x1000 bfield
+ 0x2000 tables
+ 0x4000 values
+ 0x8000 objects
+ 0x10000 resources
+ 0x20000 user requests
+ 0x40000 package
acpi_pm_good [X86-32,X86-64]
Override the pmtimer bug detection: force the kernel
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] ACPI: update debug parameter documentation
2008-07-29 21:43 [PATCH] ACPI: update debug parameter documentation Bjorn Helgaas
@ 2008-07-30 10:05 ` Thomas Renninger
2008-07-30 12:25 ` Andi Kleen
2008-07-30 17:46 ` Moore, Robert
0 siblings, 2 replies; 9+ messages in thread
From: Thomas Renninger @ 2008-07-30 10:05 UTC (permalink / raw)
To: Bjorn Helgaas; +Cc: Andi Kleen, linux-acpi, Moore, Robert
Hi,
the patch should be fine, just a little comment below.
On Tuesday 29 July 2008 23:43:56 Bjorn Helgaas wrote:
> Reformat acpi.debug_layer and acpi.debug_level documentation so it's
> readable, add some clues about how to figure out the mask bits that
> enable a given ACPI_DEBUG_PRINT statement, and include a couple useful
> examples.
>
> Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
> ---
>
> Documentation/kernel-parameters.txt | 94
> +++++++++++++++++++++++++---------- 1 files changed, 67 insertions(+), 27
> deletions(-)
>
>
> diff --git a/Documentation/kernel-parameters.txt
> b/Documentation/kernel-parameters.txt index 3cba6ed..76b2e97 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -200,37 +200,77 @@ and is between 256 and 4096 characters. It is defined
> in the file acpi.debug_layer= [HW,ACPI]
> Format: <int>
> Each bit of the <int> indicates an ACPI debug layer,
> - 1: enable, 0: disable. It is useful for boot time
> - debugging. After system has booted up, it can be set
> - via /sys/module/acpi/parameters/debug_layer.
> - CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
> - Available bits (add the numbers together) to enable debug output
> - for specific parts of the ACPI subsystem:
> - 0x01 utilities 0x02 hardware 0x04 events 0x08 tables
> - 0x10 namespace 0x20 parser 0x40 dispatcher
> - 0x80 executer 0x100 resources 0x200 acpica debugger
> - 0x400 os services 0x800 acpica disassembler.
> - The number can be in decimal or prefixed with 0x in hex.
> - Warning: Many of these options can produce a lot of
> - output and make your system unusable. Be very careful.
> + which corresponds to the _COMPONENT definition in
> + ACPI source files. After system has booted, this mask
> + can be set via /sys/module/acpi/parameters/debug_layer.
> +
> + CONFIG_ACPI_DEBUG must be enabled for this to produce
> + any output. The number can be in decimal or prefixed
> + with 0x in hex. Some of these options produce so much
> + output that the system is unusable.
> +
> + The following are some of the global components
> + defined by the ACPI CA and the Linux OSPM:
> + 0x01 utilities
> + 0x02 hardware
> + 0x04 events
> + 0x08 tables
> + 0x10 namespace
> + 0x20 parser
> + 0x40 dispatcher
> + 0x80 executer
> + 0x100 resources
> + 0x200 ACPI CA debugger
> + 0x400 OS services
> + 0x800 ACPI CA disassembler
> + 0x40000 battery
> + 0x80000 button
> + 0x200000 fan
> + 0x400000 PCI
> + 0x10000000 bay
> +
> + Many others, e.g., ACPI_BUS_COMPONENT and
> + ACPI_AC_COMPONENT, are defined by the Linux OSPM and
> + individual drivers.
> +
> + For debugging PCI/_PRT issues (PCI, info msgs):
> + acpi.debug_layer=0x400000 acpi.debug_level=0x10
> + For ACPI hardware issues (hardware, all msgs):
> + acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
>
> acpi.debug_level= [HW,ACPI]
> Format: <int>
> Each bit of the <int> indicates an ACPI debug level,
> - 1: enable, 0: disable. It is useful for boot time
> - debugging. After system has booted up, it can be set
> - via /sys/module/acpi/parameters/debug_level.
> - CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
> - Available bits (add the numbers together) to enable different
> - debug output levels of the ACPI subsystem:
> - 0x01 error 0x02 warn 0x04 init 0x08 debug object
> - 0x10 info 0x20 init names 0x40 parse 0x80 load
> - 0x100 dispatch 0x200 execute 0x400 names 0x800 operation region
> - 0x1000 bfield 0x2000 tables 0x4000 values 0x8000 objects
> - 0x10000 resources 0x20000 user requests 0x40000 package.
> - The number can be in decimal or prefixed with 0x in hex.
> - Warning: Many of these options can produce a lot of
> - output and make your system unusable. Be very careful.
> + which corresponds to the level in an ACPI_DEBUG_PRINT
> + statement. After system has booted up, this mask
> + can be set via /sys/module/acpi/parameters/debug_level.
> +
> + CONFIG_ACPI_DEBUG must be enabled for this to produce
> + any output. The number can be in decimal or prefixed
> + with 0x in hex. Some of these options produce so much
> + output that the system is unusable.
Maybe a pointer to log_buf_len to increase buffers if there is too much output
could help people to still find early boot messages:
If early boot messages are not available anymore
because of too much ACPI debug output, have a look
at the log_buf_len= boot param to increase the
log buffer.
> +
> + The following global components are defined by the
> + ACPI CA:
> + 0x01 error
> + 0x02 warn
(Unrelated to the patch itself):
warn and error should be eleminated.
Warn/error as debug messages must never be used. ACPI_ERROR and
ACPI_EXCEPTION have to be used instead.
As some of these have slipped into kernel drivers again, those must
be reverted first, then (not sure whether it works that simple, Bob?)
they could get removed from ACPICA code to prevent people from mis-using
those.
IMO a GPE level would make sense, but this is some extra work...
Thomas
> + 0x04 init
> + 0x08 debug object
> + 0x10 info
> + 0x20 init names
> + 0x40 parse
> + 0x80 load
> + 0x100 dispatch
> + 0x200 execute
> + 0x400 names
> + 0x800 operation region
> + 0x1000 bfield
> + 0x2000 tables
> + 0x4000 values
> + 0x8000 objects
> + 0x10000 resources
> + 0x20000 user requests
> + 0x40000 package
>
> acpi_pm_good [X86-32,X86-64]
> Override the pmtimer bug detection: force the kernel
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ACPI: update debug parameter documentation
2008-07-30 10:05 ` Thomas Renninger
@ 2008-07-30 12:25 ` Andi Kleen
2008-07-30 13:42 ` Thomas Renninger
2008-07-30 17:46 ` Moore, Robert
1 sibling, 1 reply; 9+ messages in thread
From: Andi Kleen @ 2008-07-30 12:25 UTC (permalink / raw)
To: Thomas Renninger; +Cc: Bjorn Helgaas, Andi Kleen, linux-acpi, Moore, Robert
On Wed, Jul 30, 2008 at 12:05:23PM +0200, Thomas Renninger wrote:
> Hi,
>
> the patch should be fine, just a little comment below.
Could you please submit a followup patch with the log_buf_len
suggestion?
-Andi
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] ACPI: update debug parameter documentation
2008-07-30 12:25 ` Andi Kleen
@ 2008-07-30 13:42 ` Thomas Renninger
2008-07-30 14:07 ` Andi Kleen
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Renninger @ 2008-07-30 13:42 UTC (permalink / raw)
To: Andi Kleen; +Cc: Bjorn Helgaas, linux-acpi, Moore, Robert
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
Reformat acpi.debug_layer and acpi.debug_level documentation so it's
readable, add some clues about how to figure out the mask bits that
enable a given ACPI_DEBUG_PRINT statement, and include a couple useful
examples.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index c1e397e..5b228d0 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -211,37 +211,82 @@ and is between 256 and 4096 characters. It is defined in the file
acpi.debug_layer= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug layer,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
- via /sys/module/acpi/parameters/debug_layer.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable debug output
- for specific parts of the ACPI subsystem:
- 0x01 utilities 0x02 hardware 0x04 events 0x08 tables
- 0x10 namespace 0x20 parser 0x40 dispatcher
- 0x80 executer 0x100 resources 0x200 acpica debugger
- 0x400 os services 0x800 acpica disassembler.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
+ which corresponds to the _COMPONENT definition in
+ ACPI source files. After system has booted, this mask
+ can be set via /sys/module/acpi/parameters/debug_layer.
+
+ CONFIG_ACPI_DEBUG must be enabled for this to produce
+ any output. The number can be in decimal or prefixed
+ with 0x in hex. Some of these options produce so much
+ output that the system is unusable.
+
+ The following are some of the global components
+ defined by the ACPI CA and the Linux OSPM:
+ 0x01 utilities
+ 0x02 hardware
+ 0x04 events
+ 0x08 tables
+ 0x10 namespace
+ 0x20 parser
+ 0x40 dispatcher
+ 0x80 executer
+ 0x100 resources
+ 0x200 ACPI CA debugger
+ 0x400 OS services
+ 0x800 ACPI CA disassembler
+ 0x40000 battery
+ 0x80000 button
+ 0x200000 fan
+ 0x400000 PCI
+ 0x10000000 bay
+
+ Many others, e.g., ACPI_BUS_COMPONENT and
+ ACPI_AC_COMPONENT, are defined by the Linux OSPM and
+ individual drivers.
+
+ For debugging PCI/_PRT issues (PCI, info msgs):
+ acpi.debug_layer=0x400000 acpi.debug_level=0x10
+ For ACPI hardware issues (hardware, all msgs):
+ acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
acpi.debug_level= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug level,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
- via /sys/module/acpi/parameters/debug_level.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable different
- debug output levels of the ACPI subsystem:
- 0x01 error 0x02 warn 0x04 init 0x08 debug object
- 0x10 info 0x20 init names 0x40 parse 0x80 load
- 0x100 dispatch 0x200 execute 0x400 names 0x800 operation region
- 0x1000 bfield 0x2000 tables 0x4000 values 0x8000 objects
- 0x10000 resources 0x20000 user requests 0x40000 package.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
+ which corresponds to the level in an ACPI_DEBUG_PRINT
+ statement. After system has booted up, this mask
+ can be set via /sys/module/acpi/parameters/debug_level.
+
+ CONFIG_ACPI_DEBUG must be enabled for this to produce
+ any output. The number can be in decimal or prefixed
+ with 0x in hex. Some of these options produce so much
+ output that the system is unusable.
+
+ If early boot messages are not available anymore
+ because of too much ACPI debug output, have a look
+ at the log_buf_len= boot param to increase the
+ log buffer.
+
+ The following global components are defined by the
+ ACPI CA:
+ 0x01 error
+ 0x02 warn
+ 0x04 init
+ 0x08 debug object
+ 0x10 info
+ 0x20 init names
+ 0x40 parse
+ 0x80 load
+ 0x100 dispatch
+ 0x200 execute
+ 0x400 names
+ 0x800 operation region
+ 0x1000 bfield
+ 0x2000 tables
+ 0x4000 values
+ 0x8000 objects
+ 0x10000 resources
+ 0x20000 user requests
+ 0x40000 package
acpi_pm_good [X86-32,X86-64]
Override the pmtimer bug detection: force the kernel
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] ACPI: update debug parameter documentation
2008-07-30 13:42 ` Thomas Renninger
@ 2008-07-30 14:07 ` Andi Kleen
0 siblings, 0 replies; 9+ messages in thread
From: Andi Kleen @ 2008-07-30 14:07 UTC (permalink / raw)
To: Thomas Renninger; +Cc: Andi Kleen, Bjorn Helgaas, linux-acpi, Moore, Robert
On Wed, Jul 30, 2008 at 03:42:20PM +0200, Thomas Renninger wrote:
> From: Bjorn Helgaas <bjorn.helgaas@hp.com>
>
> Reformat acpi.debug_layer and acpi.debug_level documentation so it's
> readable, add some clues about how to figure out the mask bits that
> enable a given ACPI_DEBUG_PRINT statement, and include a couple useful
> examples.
Sorry I meant an incremental patch on top of Bjorns patch. Never mind
I'll fix it up. Thanks.
-Andi
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH] ACPI: update debug parameter documentation
2008-07-30 10:05 ` Thomas Renninger
2008-07-30 12:25 ` Andi Kleen
@ 2008-07-30 17:46 ` Moore, Robert
1 sibling, 0 replies; 9+ messages in thread
From: Moore, Robert @ 2008-07-30 17:46 UTC (permalink / raw)
To: Thomas Renninger, Bjorn Helgaas; +Cc: Andi Kleen, linux-acpi
>(Unrelated to the patch itself):
>warn and error should be eleminated.
>Warn/error as debug messages must never be used. ACPI_ERROR and
>ACPI_EXCEPTION have to be used instead.
>As some of these have slipped into kernel drivers again, those must
>be reverted first, then (not sure whether it works that simple, Bob?)
>they could get removed from ACPICA code to prevent people from
mis-using
>those.
Yes, I believe that these are obsolete and should be removed. I'll put
it on the list to investigate and remove if necessary.
Bob
>-----Original Message-----
>From: Thomas Renninger [mailto:trenn@suse.de]
>Sent: Wednesday, July 30, 2008 3:05 AM
>To: Bjorn Helgaas
>Cc: Andi Kleen; linux-acpi@vger.kernel.org; Moore, Robert
>Subject: Re: [PATCH] ACPI: update debug parameter documentation
>
>Hi,
>
>the patch should be fine, just a little comment below.
>
>On Tuesday 29 July 2008 23:43:56 Bjorn Helgaas wrote:
>> Reformat acpi.debug_layer and acpi.debug_level documentation so it's
>> readable, add some clues about how to figure out the mask bits that
>> enable a given ACPI_DEBUG_PRINT statement, and include a couple
useful
>> examples.
>>
>> Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
>> ---
>>
>> Documentation/kernel-parameters.txt | 94
>> +++++++++++++++++++++++++---------- 1 files changed, 67
insertions(+), 27
>> deletions(-)
>>
>>
>> diff --git a/Documentation/kernel-parameters.txt
>> b/Documentation/kernel-parameters.txt index 3cba6ed..76b2e97 100644
>> --- a/Documentation/kernel-parameters.txt
>> +++ b/Documentation/kernel-parameters.txt
>> @@ -200,37 +200,77 @@ and is between 256 and 4096 characters. It is
>defined
>> in the file acpi.debug_layer= [HW,ACPI]
>> Format: <int>
>> Each bit of the <int> indicates an ACPI debug
layer,
>> - 1: enable, 0: disable. It is useful for boot
time
>> - debugging. After system has booted up, it can be
set
>> - via /sys/module/acpi/parameters/debug_layer.
>> - CONFIG_ACPI_DEBUG must be enabled for this to
produce any
>output.
>> - Available bits (add the numbers together) to
enable debug
>output
>> - for specific parts of the ACPI subsystem:
>> - 0x01 utilities 0x02 hardware 0x04 events 0x08
tables
>> - 0x10 namespace 0x20 parser 0x40 dispatcher
>> - 0x80 executer 0x100 resources 0x200 acpica
debugger
>> - 0x400 os services 0x800 acpica disassembler.
>> - The number can be in decimal or prefixed with 0x
in hex.
>> - Warning: Many of these options can produce a lot
of
>> - output and make your system unusable. Be very
careful.
>> + which corresponds to the _COMPONENT definition
in
>> + ACPI source files. After system has booted,
this mask
>> + can be set via
/sys/module/acpi/parameters/debug_layer.
>> +
>> + CONFIG_ACPI_DEBUG must be enabled for this to
produce
>> + any output. The number can be in decimal or
prefixed
>> + with 0x in hex. Some of these options produce
so much
>> + output that the system is unusable.
>> +
>> + The following are some of the global components
>> + defined by the ACPI CA and the Linux OSPM:
>> + 0x01 utilities
>> + 0x02 hardware
>> + 0x04 events
>> + 0x08 tables
>> + 0x10 namespace
>> + 0x20 parser
>> + 0x40 dispatcher
>> + 0x80 executer
>> + 0x100 resources
>> + 0x200 ACPI CA debugger
>> + 0x400 OS services
>> + 0x800 ACPI CA disassembler
>> + 0x40000 battery
>> + 0x80000 button
>> + 0x200000 fan
>> + 0x400000 PCI
>> + 0x10000000 bay
>> +
>> + Many others, e.g., ACPI_BUS_COMPONENT and
>> + ACPI_AC_COMPONENT, are defined by the Linux OSPM
and
>> + individual drivers.
>> +
>> + For debugging PCI/_PRT issues (PCI, info msgs):
>> + acpi.debug_layer=0x400000
acpi.debug_level=0x10
>> + For ACPI hardware issues (hardware, all msgs):
>> + acpi.debug_layer=0x2
acpi.debug_level=0xffffffff
>>
>> acpi.debug_level= [HW,ACPI]
>> Format: <int>
>> Each bit of the <int> indicates an ACPI debug
level,
>> - 1: enable, 0: disable. It is useful for boot
time
>> - debugging. After system has booted up, it can be
set
>> - via /sys/module/acpi/parameters/debug_level.
>> - CONFIG_ACPI_DEBUG must be enabled for this to
produce any
>output.
>> - Available bits (add the numbers together) to
enable
>different
>> - debug output levels of the ACPI subsystem:
>> - 0x01 error 0x02 warn 0x04 init 0x08 debug object
>> - 0x10 info 0x20 init names 0x40 parse 0x80 load
>> - 0x100 dispatch 0x200 execute 0x400 names 0x800
operation
>region
>> - 0x1000 bfield 0x2000 tables 0x4000 values 0x8000
objects
>> - 0x10000 resources 0x20000 user requests 0x40000
package.
>> - The number can be in decimal or prefixed with 0x
in hex.
>> - Warning: Many of these options can produce a lot
of
>> - output and make your system unusable. Be very
careful.
>> + which corresponds to the level in an
ACPI_DEBUG_PRINT
>> + statement. After system has booted up, this
mask
>> + can be set via
/sys/module/acpi/parameters/debug_level.
>> +
>> + CONFIG_ACPI_DEBUG must be enabled for this to
produce
>> + any output. The number can be in decimal or
prefixed
>> + with 0x in hex. Some of these options produce
so much
>> + output that the system is unusable.
>Maybe a pointer to log_buf_len to increase buffers if there is too much
>output
>could help people to still find early boot messages:
>
> If early boot messages are not available
anymore
> because of too much ACPI debug output, have a
look
> at the log_buf_len= boot param to increase the
> log buffer.
>
>> +
>> + The following global components are defined by
the
>> + ACPI CA:
>> + 0x01 error
>> + 0x02 warn
>(Unrelated to the patch itself):
>warn and error should be eleminated.
>Warn/error as debug messages must never be used. ACPI_ERROR and
>ACPI_EXCEPTION have to be used instead.
>As some of these have slipped into kernel drivers again, those must
>be reverted first, then (not sure whether it works that simple, Bob?)
>they could get removed from ACPICA code to prevent people from
mis-using
>those.
>
>IMO a GPE level would make sense, but this is some extra work...
>
> Thomas
>> + 0x04 init
>> + 0x08 debug object
>> + 0x10 info
>> + 0x20 init names
>> + 0x40 parse
>> + 0x80 load
>> + 0x100 dispatch
>> + 0x200 execute
>> + 0x400 names
>> + 0x800 operation region
>> + 0x1000 bfield
>> + 0x2000 tables
>> + 0x4000 values
>> + 0x8000 objects
>> + 0x10000 resources
>> + 0x20000 user requests
>> + 0x40000 package
>>
>> acpi_pm_good [X86-32,X86-64]
>> Override the pmtimer bug detection: force the
kernel
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-acpi"
in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [patch] ACPI: update debug parameter documentation
@ 2008-10-27 21:40 Bjorn Helgaas
2008-10-28 16:13 ` Bjorn Helgaas
0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2008-10-27 21:40 UTC (permalink / raw)
To: Len Brown; +Cc: linux-acpi, Thomas Renninger
[I posted this earlier: http://marc.info/?l=linux-acpi&m=121736785510685&w=2
but somehow only half of it made it. Here's the rest.]
Reformat acpi.debug_layer and acpi.debug_level documentation so it's
readable, add some clues about how to figure out the mask bits that
enable a given ACPI_DEBUG_PRINT statement, and include a couple useful
examples.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 343e0f0..8d17859 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -201,26 +201,50 @@ and is between 256 and 4096 characters. It is defined in the file
acpi.debug_layer= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug layer,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
- via /sys/module/acpi/parameters/debug_layer.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable debug output
- for specific parts of the ACPI subsystem:
- 0x01 utilities 0x02 hardware 0x04 events 0x08 tables
- 0x10 namespace 0x20 parser 0x40 dispatcher
- 0x80 executer 0x100 resources 0x200 acpica debugger
- 0x400 os services 0x800 acpica disassembler.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
+ which corresponds to the _COMPONENT definition in
+ ACPI source files. After system has booted, this mask
+ can be set via /sys/module/acpi/parameters/debug_layer.
+
+ CONFIG_ACPI_DEBUG must be enabled for this to produce
+ any output. The number can be in decimal or prefixed
+ with 0x in hex. Some of these options produce so much
+ output that the system is unusable.
+
+ The following are some of the global components
+ defined by the ACPI CA and the Linux OSPM:
+ 0x01 utilities
+ 0x02 hardware
+ 0x04 events
+ 0x08 tables
+ 0x10 namespace
+ 0x20 parser
+ 0x40 dispatcher
+ 0x80 executer
+ 0x100 resources
+ 0x200 ACPI CA debugger
+ 0x400 OS services
+ 0x800 ACPI CA disassembler
+ 0x40000 battery
+ 0x80000 button
+ 0x200000 fan
+ 0x400000 PCI
+ 0x10000000 bay
+
+ Many others, e.g., ACPI_BUS_COMPONENT and
+ ACPI_AC_COMPONENT, are defined by the Linux OSPM and
+ individual drivers.
+
+ For debugging PCI/_PRT issues (PCI, info msgs):
+ acpi.debug_layer=0x400000 acpi.debug_level=0x10
+ For ACPI hardware issues (hardware, all msgs):
+ acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
acpi.debug_level= [HW,ACPI]
Format: <int>
Each bit of the <int> indicates an ACPI debug level,
which corresponds to the level in an ACPI_DEBUG_PRINT
- statement. After system has booted up, this mask
- can be set via /sys/module/acpi/parameters/debug_level.
+ statement. After system has booted, this mask can be
+ set via /sys/module/acpi/parameters/debug_level.
CONFIG_ACPI_DEBUG must be enabled for this to produce
any output. The number can be in decimal or prefixed
@@ -248,9 +272,6 @@ and is between 256 and 4096 characters. It is defined in the file
0x10000 resources
0x20000 user requests
0x40000 package
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
acpi.power_nocheck= [HW,ACPI]
Format: 1/0 enable/disable the check of power state.
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [patch] ACPI: update debug parameter documentation
2008-10-27 21:40 [patch] " Bjorn Helgaas
@ 2008-10-28 16:13 ` Bjorn Helgaas
0 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2008-10-28 16:13 UTC (permalink / raw)
To: Len Brown; +Cc: linux-acpi, Thomas Renninger
On Monday 27 October 2008 03:40:45 pm Bjorn Helgaas wrote:
> [I posted this earlier: http://marc.info/?l=linux-acpi&m=121736785510685&w=2
> but somehow only half of it made it. Here's the rest.]
>
> Reformat acpi.debug_layer and acpi.debug_level documentation so it's
> readable, add some clues about how to figure out the mask bits that
> enable a given ACPI_DEBUG_PRINT statement, and include a couple useful
> examples.
Ignore this for now. Myron pointed out that "acpi.debug_layer=" doesn't
work on the kernel command line. And the examples, which I remember
testing once, don't work. Sigh.
I'll fix it so it actually makes sense.
> Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
>
> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> index 343e0f0..8d17859 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -201,26 +201,50 @@ and is between 256 and 4096 characters. It is defined in the file
> acpi.debug_layer= [HW,ACPI]
> Format: <int>
> Each bit of the <int> indicates an ACPI debug layer,
> - 1: enable, 0: disable. It is useful for boot time
> - debugging. After system has booted up, it can be set
> - via /sys/module/acpi/parameters/debug_layer.
> - CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
> - Available bits (add the numbers together) to enable debug output
> - for specific parts of the ACPI subsystem:
> - 0x01 utilities 0x02 hardware 0x04 events 0x08 tables
> - 0x10 namespace 0x20 parser 0x40 dispatcher
> - 0x80 executer 0x100 resources 0x200 acpica debugger
> - 0x400 os services 0x800 acpica disassembler.
> - The number can be in decimal or prefixed with 0x in hex.
> - Warning: Many of these options can produce a lot of
> - output and make your system unusable. Be very careful.
> + which corresponds to the _COMPONENT definition in
> + ACPI source files. After system has booted, this mask
> + can be set via /sys/module/acpi/parameters/debug_layer.
> +
> + CONFIG_ACPI_DEBUG must be enabled for this to produce
> + any output. The number can be in decimal or prefixed
> + with 0x in hex. Some of these options produce so much
> + output that the system is unusable.
> +
> + The following are some of the global components
> + defined by the ACPI CA and the Linux OSPM:
> + 0x01 utilities
> + 0x02 hardware
> + 0x04 events
> + 0x08 tables
> + 0x10 namespace
> + 0x20 parser
> + 0x40 dispatcher
> + 0x80 executer
> + 0x100 resources
> + 0x200 ACPI CA debugger
> + 0x400 OS services
> + 0x800 ACPI CA disassembler
> + 0x40000 battery
> + 0x80000 button
> + 0x200000 fan
> + 0x400000 PCI
> + 0x10000000 bay
> +
> + Many others, e.g., ACPI_BUS_COMPONENT and
> + ACPI_AC_COMPONENT, are defined by the Linux OSPM and
> + individual drivers.
> +
> + For debugging PCI/_PRT issues (PCI, info msgs):
> + acpi.debug_layer=0x400000 acpi.debug_level=0x10
> + For ACPI hardware issues (hardware, all msgs):
> + acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
>
> acpi.debug_level= [HW,ACPI]
> Format: <int>
> Each bit of the <int> indicates an ACPI debug level,
> which corresponds to the level in an ACPI_DEBUG_PRINT
> - statement. After system has booted up, this mask
> - can be set via /sys/module/acpi/parameters/debug_level.
> + statement. After system has booted, this mask can be
> + set via /sys/module/acpi/parameters/debug_level.
>
> CONFIG_ACPI_DEBUG must be enabled for this to produce
> any output. The number can be in decimal or prefixed
> @@ -248,9 +272,6 @@ and is between 256 and 4096 characters. It is defined in the file
> 0x10000 resources
> 0x20000 user requests
> 0x40000 package
> - The number can be in decimal or prefixed with 0x in hex.
> - Warning: Many of these options can produce a lot of
> - output and make your system unusable. Be very careful.
>
> acpi.power_nocheck= [HW,ACPI]
> Format: 1/0 enable/disable the check of power state.
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [patch] ACPI: update debug parameter documentation
@ 2008-10-29 21:28 Bjorn Helgaas
0 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2008-10-29 21:28 UTC (permalink / raw)
To: Len Brown; +Cc: linux-acpi, Thomas Renninger, Myron Stowe, Matthew Wilcox
Fix the init, debug, info level definitions, which changed recently.
Reformat acpi.debug_layer and acpi.debug_level documentation so it's
more readable, add some clues about how to figure out the mask bits that
enable a specific ACPI_DEBUG_PRINT statement, and include some useful
examples.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
---
Documentation/kernel-parameters.txt | 90 +++++++++++++++++++++--------------
drivers/acpi/Kconfig | 12 ++++-
2 files changed, 63 insertions(+), 39 deletions(-)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 343e0f0..2b4ffec 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -198,42 +198,63 @@ and is between 256 and 4096 characters. It is defined in the file
that require a timer override, but don't have
HPET
- acpi.debug_layer= [HW,ACPI]
+ acpi.debug_*= [HW,ACPI,ACPI_DEBUG]
+ CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
+ debug output. The type and amount of output is
+ controlled by debug_layer and debug_level parameters,
+ which can be in decimal or hex (prefixed with "0x").
+ Some values produce so much output that the system is
+ unusable. The "log_buf_len" parameter may be useful
+ if you need to capture more output.
+
+ To see AML "Debug" output (stores to the Debug object
+ while interpreting AML (this is enabled by default)):
+ acpi.debug_layer=0xffffffff acpi.debug_level=0x2
+ For debugging PCI/_PRT issues (PCI, info msgs):
+ acpi.debug_layer=0x400000 acpi.debug_level=0x4
+ For ACPI hardware issues (hardware, all msgs):
+ acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
+
+ acpi.debug_layer= [HW,ACPI,ACPI_DEBUG]
Format: <int>
- Each bit of the <int> indicates an ACPI debug layer,
- 1: enable, 0: disable. It is useful for boot time
- debugging. After system has booted up, it can be set
+ Bits in <int> correspond to _COMPONENT definitions in
+ ACPI source files. After boot, this mask can be set
via /sys/module/acpi/parameters/debug_layer.
- CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
- Available bits (add the numbers together) to enable debug output
- for specific parts of the ACPI subsystem:
- 0x01 utilities 0x02 hardware 0x04 events 0x08 tables
- 0x10 namespace 0x20 parser 0x40 dispatcher
- 0x80 executer 0x100 resources 0x200 acpica debugger
- 0x400 os services 0x800 acpica disassembler.
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
-
- acpi.debug_level= [HW,ACPI]
+
+ The following are some of the global components
+ defined by the ACPI CA and the Linux OSPM:
+ 0x01 utilities
+ 0x02 hardware
+ 0x04 events
+ 0x08 tables
+ 0x10 namespace
+ 0x20 parser
+ 0x40 dispatcher
+ 0x80 executer
+ 0x100 resources
+ 0x200 ACPI CA debugger
+ 0x400 OS services
+ 0x800 ACPI CA disassembler
+ 0x40000 battery
+ 0x80000 button
+ 0x200000 fan
+ 0x400000 PCI
+ 0x10000000 bay
+
+ Many others, e.g., ACPI_BUS_COMPONENT and
+ ACPI_AC_COMPONENT, are defined by the Linux OSPM and
+ individual drivers.
+
+ acpi.debug_level= [HW,ACPI,ACPI_DEBUG]
Format: <int>
- Each bit of the <int> indicates an ACPI debug level,
- which corresponds to the level in an ACPI_DEBUG_PRINT
- statement. After system has booted up, this mask
- can be set via /sys/module/acpi/parameters/debug_level.
-
- CONFIG_ACPI_DEBUG must be enabled for this to produce
- any output. The number can be in decimal or prefixed
- with 0x in hex. Some of these options produce so much
- output that the system is unusable.
-
- The following global components are defined by the
- ACPI CA:
- 0x01 error
- 0x02 warn
- 0x04 init
- 0x08 debug object
- 0x10 info
+ Bits in <int> correspond to levels in ACPI_DEBUG_PRINT
+ statements. After boot, this mask can be set via
+ /sys/module/acpi/parameters/debug_level.
+
+ The following levels are defined by the ACPI CA:
+ 0x01 init
+ 0x02 debug (AML stores to the Debug object)
+ 0x04 info
0x20 init names
0x40 parse
0x80 load
@@ -248,9 +269,6 @@ and is between 256 and 4096 characters. It is defined in the file
0x10000 resources
0x20000 user requests
0x40000 package
- The number can be in decimal or prefixed with 0x in hex.
- Warning: Many of these options can produce a lot of
- output and make your system unusable. Be very careful.
acpi.power_nocheck= [HW,ACPI]
Format: 1/0 enable/disable the check of power state.
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index f4f6329..1c954a7 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -312,9 +312,15 @@ config ACPI_DEBUG
bool "Debug Statements"
default n
help
- The ACPI driver can optionally report errors with a great deal
- of verbosity. Saying Y enables these statements. This will increase
- your kernel size by around 50K.
+ The ACPI subsystem can produce debug output. Saying Y enables this
+ output and increases the kernel size by around 50K.
+
+ Use the acpi.debug_layer and acpi.debug_level kernel command-line
+ parameters documented in Documentation/kernel-parameters.txt to
+ control the type and amount of debug output.
+
+ When no parameters are supplied, the default settings cause AML
+ stores to the "Debug" object to produce console output.
config ACPI_DEBUG_FUNC_TRACE
bool "Additionally enable ACPI function tracing"
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-10-29 21:28 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-29 21:43 [PATCH] ACPI: update debug parameter documentation Bjorn Helgaas
2008-07-30 10:05 ` Thomas Renninger
2008-07-30 12:25 ` Andi Kleen
2008-07-30 13:42 ` Thomas Renninger
2008-07-30 14:07 ` Andi Kleen
2008-07-30 17:46 ` Moore, Robert
-- strict thread matches above, loose matches on Subject: below --
2008-10-27 21:40 [patch] " Bjorn Helgaas
2008-10-28 16:13 ` Bjorn Helgaas
2008-10-29 21:28 Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox