€•1AŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ-/translations/zh_CN/firmware-guide/acpi/debug”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/zh_TW/firmware-guide/acpi/debug”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/it_IT/firmware-guide/acpi/debug”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/ja_JP/firmware-guide/acpi/debug”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/ko_KR/firmware-guide/acpi/debug”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/sp_SP/firmware-guide/acpi/debug”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒG/var/lib/git/docbuild/linux/Documentation/firmware-guide/acpi/debug.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒACPI CA Debug Output”h]”hŒACPI CA Debug Output”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hŒYThe ACPI CA can generate debug output. This document describes how to use this facility.”h]”hŒYThe ACPI CA can generate debug output. This document describes how to use this facility.”…””}”(hhËhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒCompile-time configuration”h]”hŒCompile-time configuration”…””}”(hhÜhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhÙhžhhŸh³h K ubhÊ)”}”(hŒœThe ACPI CA debug output is globally enabled by CONFIG_ACPI_DEBUG. If this config option is not set, the debug messages are not even built into the kernel.”h]”hŒœThe ACPI CA debug output is globally enabled by CONFIG_ACPI_DEBUG. If this config option is not set, the debug messages are not even built into the kernel.”…””}”(hhêhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hhÙhžhubeh}”(h]”Œcompile-time-configuration”ah ]”h"]”Œcompile-time configuration”ah$]”h&]”uh1h´hh¶hžhhŸh³h K ubhµ)”}”(hhh]”(hº)”}”(hŒ Boot- and run-time configuration”h]”hŒ Boot- and run-time configuration”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h KubhÊ)”}”(hX:When CONFIG_ACPI_DEBUG=y, you can select the component and level of messages you're interested in. At boot-time, use the acpi.debug_layer and acpi.debug_level kernel command line options. After boot, you can use the debug_layer and debug_level files in /sys/module/acpi/parameters/ to control the debug messages.”h]”hX<When CONFIG_ACPI_DEBUG=y, you can select the component and level of messages you’re interested in. At boot-time, use the acpi.debug_layer and acpi.debug_level kernel command line options. After boot, you can use the debug_layer and debug_level files in /sys/module/acpi/parameters/ to control the debug messages.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khjhžhubeh}”(h]”Œboot-and-run-time-configuration”ah ]”h"]”Œ boot- and run-time configuration”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒdebug_layer (component)”h]”hŒdebug_layer (component)”…””}”(hj*hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj'hžhhŸh³h KubhÊ)”}”(hŒÌThe "debug_layer" is a mask that selects components of interest, e.g., a specific part of the ACPI interpreter. To build the debug_layer bitmask, look for the "#define _COMPONENT" in an ACPI source file.”h]”hŒÔThe “debug_layer†is a mask that selects components of interest, e.g., a specific part of the ACPI interpreter. To build the debug_layer bitmask, look for the “#define _COMPONENT†in an ACPI source file.”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khj'hžhubhÊ)”}”(hŒ¾You can set the debug_layer mask at boot-time using the acpi.debug_layer command line argument, and you can change it after boot by writing values to /sys/module/acpi/parameters/debug_layer.”h]”hŒ¾You can set the debug_layer mask at boot-time using the acpi.debug_layer command line argument, and you can change it after boot by writing values to /sys/module/acpi/parameters/debug_layer.”…””}”(hjFhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hj'hžhubhÊ)”}”(hŒ?The possible components are defined in include/acpi/acoutput.h.”h]”hŒ?The possible components are defined in include/acpi/acoutput.h.”…””}”(hjThžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K$hj'hžhubhÊ)”}”(hŒQReading /sys/module/acpi/parameters/debug_layer shows the supported mask values::”h]”hŒPReading /sys/module/acpi/parameters/debug_layer shows the supported mask values:”…””}”(hjbhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K&hj'hžhubhŒ literal_block”“”)”}”(hXYACPI_UTILITIES 0x00000001 ACPI_HARDWARE 0x00000002 ACPI_EVENTS 0x00000004 ACPI_TABLES 0x00000008 ACPI_NAMESPACE 0x00000010 ACPI_PARSER 0x00000020 ACPI_DISPATCHER 0x00000040 ACPI_EXECUTER 0x00000080 ACPI_RESOURCES 0x00000100 ACPI_CA_DEBUGGER 0x00000200 ACPI_OS_SERVICES 0x00000400 ACPI_CA_DISASSEMBLER 0x00000800 ACPI_COMPILER 0x00001000 ACPI_TOOLS 0x00002000”h]”hXYACPI_UTILITIES 0x00000001 ACPI_HARDWARE 0x00000002 ACPI_EVENTS 0x00000004 ACPI_TABLES 0x00000008 ACPI_NAMESPACE 0x00000010 ACPI_PARSER 0x00000020 ACPI_DISPATCHER 0x00000040 ACPI_EXECUTER 0x00000080 ACPI_RESOURCES 0x00000100 ACPI_CA_DEBUGGER 0x00000200 ACPI_OS_SERVICES 0x00000400 ACPI_CA_DISASSEMBLER 0x00000800 ACPI_COMPILER 0x00001000 ACPI_TOOLS 0x00002000”…””}”hjrsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h K(hj'hžhubeh}”(h]”Œdebug-layer-component”ah ]”h"]”Œdebug_layer (component)”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒ debug_level”h]”hŒ debug_level”…””}”(hj‹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjˆhžhhŸh³h K8ubhÊ)”}”(hŒñThe "debug_level" is a mask that selects different types of messages, e.g., those related to initialization, method execution, informational messages, etc. To build debug_level, look at the level specified in an ACPI_DEBUG_PRINT() statement.”h]”hŒõThe “debug_level†is a mask that selects different types of messages, e.g., those related to initialization, method execution, informational messages, etc. To build debug_level, look at the level specified in an ACPI_DEBUG_PRINT() statement.”…””}”(hj™hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K:hjˆhžhubhÊ)”}”(hŒ}The ACPI interpreter uses several different levels, but the Linux ACPI core and ACPI drivers generally only use ACPI_LV_INFO.”h]”hŒ}The ACPI interpreter uses several different levels, but the Linux ACPI core and ACPI drivers generally only use ACPI_LV_INFO.”…””}”(hj§hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K?hjˆhžhubhÊ)”}”(hŒ¾You can set the debug_level mask at boot-time using the acpi.debug_level command line argument, and you can change it after boot by writing values to /sys/module/acpi/parameters/debug_level.”h]”hŒ¾You can set the debug_level mask at boot-time using the acpi.debug_level command line argument, and you can change it after boot by writing values to /sys/module/acpi/parameters/debug_level.”…””}”(hjµhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KBhjˆhžhubhÊ)”}”(hŒŸThe possible levels are defined in include/acpi/acoutput.h. Reading /sys/module/acpi/parameters/debug_level shows the supported mask values, currently these::”h]”hŒžThe possible levels are defined in include/acpi/acoutput.h. Reading /sys/module/acpi/parameters/debug_level shows the supported mask values, currently these:”…””}”(hjÃhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KFhjˆhžhubjq)”}”(hX³ACPI_LV_INIT 0x00000001 ACPI_LV_DEBUG_OBJECT 0x00000002 ACPI_LV_INFO 0x00000004 ACPI_LV_INIT_NAMES 0x00000020 ACPI_LV_PARSE 0x00000040 ACPI_LV_LOAD 0x00000080 ACPI_LV_DISPATCH 0x00000100 ACPI_LV_EXEC 0x00000200 ACPI_LV_NAMES 0x00000400 ACPI_LV_OPREGION 0x00000800 ACPI_LV_BFIELD 0x00001000 ACPI_LV_TABLES 0x00002000 ACPI_LV_VALUES 0x00004000 ACPI_LV_OBJECTS 0x00008000 ACPI_LV_RESOURCES 0x00010000 ACPI_LV_USER_REQUESTS 0x00020000 ACPI_LV_PACKAGE 0x00040000 ACPI_LV_ALLOCATIONS 0x00100000 ACPI_LV_FUNCTIONS 0x00200000 ACPI_LV_OPTIMIZATIONS 0x00400000 ACPI_LV_MUTEX 0x01000000 ACPI_LV_THREADS 0x02000000 ACPI_LV_IO 0x04000000 ACPI_LV_INTERRUPTS 0x08000000 ACPI_LV_AML_DISASSEMBLE 0x10000000 ACPI_LV_VERBOSE_INFO 0x20000000 ACPI_LV_FULL_TABLES 0x40000000 ACPI_LV_EVENTS 0x80000000”h]”hX³ACPI_LV_INIT 0x00000001 ACPI_LV_DEBUG_OBJECT 0x00000002 ACPI_LV_INFO 0x00000004 ACPI_LV_INIT_NAMES 0x00000020 ACPI_LV_PARSE 0x00000040 ACPI_LV_LOAD 0x00000080 ACPI_LV_DISPATCH 0x00000100 ACPI_LV_EXEC 0x00000200 ACPI_LV_NAMES 0x00000400 ACPI_LV_OPREGION 0x00000800 ACPI_LV_BFIELD 0x00001000 ACPI_LV_TABLES 0x00002000 ACPI_LV_VALUES 0x00004000 ACPI_LV_OBJECTS 0x00008000 ACPI_LV_RESOURCES 0x00010000 ACPI_LV_USER_REQUESTS 0x00020000 ACPI_LV_PACKAGE 0x00040000 ACPI_LV_ALLOCATIONS 0x00100000 ACPI_LV_FUNCTIONS 0x00200000 ACPI_LV_OPTIMIZATIONS 0x00400000 ACPI_LV_MUTEX 0x01000000 ACPI_LV_THREADS 0x02000000 ACPI_LV_IO 0x04000000 ACPI_LV_INTERRUPTS 0x08000000 ACPI_LV_AML_DISASSEMBLE 0x10000000 ACPI_LV_VERBOSE_INFO 0x20000000 ACPI_LV_FULL_TABLES 0x40000000 ACPI_LV_EVENTS 0x80000000”…””}”hjÑsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h KJhjˆhžhubeh}”(h]”Œ debug-level”ah ]”h"]”Œ debug_level”ah$]”h&]”uh1h´hh¶hžhhŸh³h K8ubhµ)”}”(hhh]”(hº)”}”(hŒExamples”h]”hŒExamples”…””}”(hjêhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjçhžhhŸh³h KhubhÊ)”}”(hŒ;For example, drivers/acpi/acpica/evxfevnt.c contains this::”h]”hŒ:For example, drivers/acpi/acpica/evxfevnt.c contains this:”…””}”(hjøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kjhjçhžhubjq)”}”(hŒe#define _COMPONENT ACPI_EVENTS ... ACPI_DEBUG_PRINT((ACPI_DB_INIT, "ACPI mode disabled\n"));”h]”hŒe#define _COMPONENT ACPI_EVENTS ... ACPI_DEBUG_PRINT((ACPI_DB_INIT, "ACPI mode disabled\n"));”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h KlhjçhžhubhÊ)”}”(hŒÞTo turn on this message, set the ACPI_EVENTS bit in acpi.debug_layer and the ACPI_LV_INIT bit in acpi.debug_level. (The ACPI_DEBUG_PRINT statement uses ACPI_DB_INIT, which is a macro based on the ACPI_LV_INIT definition.)”h]”hŒÞTo turn on this message, set the ACPI_EVENTS bit in acpi.debug_layer and the ACPI_LV_INIT bit in acpi.debug_level. (The ACPI_DEBUG_PRINT statement uses ACPI_DB_INIT, which is a macro based on the ACPI_LV_INIT definition.)”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KphjçhžhubhÊ)”}”(hŒ_Enable all AML "Debug" output (stores to the Debug object while interpreting AML) during boot::”h]”hŒbEnable all AML “Debug†output (stores to the Debug object while interpreting AML) during boot:”…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kuhjçhžhubjq)”}”(hŒ0acpi.debug_layer=0xffffffff acpi.debug_level=0x2”h]”hŒ0acpi.debug_layer=0xffffffff acpi.debug_level=0x2”…””}”hj0sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h KxhjçhžhubhÊ)”}”(hŒ+Enable all ACPI hardware-related messages::”h]”hŒ*Enable all ACPI hardware-related messages:”…””}”(hj>hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kzhjçhžhubjq)”}”(hŒ0acpi.debug_layer=0x2 acpi.debug_level=0xffffffff”h]”hŒ0acpi.debug_layer=0x2 acpi.debug_level=0xffffffff”…””}”hjLsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h K|hjçhžhubhÊ)”}”(hŒ-Enable all ACPI_DB_INFO messages after boot::”h]”hŒ,Enable all ACPI_DB_INFO messages after boot:”…””}”(hjZhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K~hjçhžhubjq)”}”(hŒ4# echo 0x4 > /sys/module/acpi/parameters/debug_level”h]”hŒ4# echo 0x4 > /sys/module/acpi/parameters/debug_level”…””}”hjhsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h K€hjçhžhubhÊ)”}”(hŒ!Show all valid component values::”h]”hŒ Show all valid component values:”…””}”(hjvhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K‚hjçhžhubjq)”}”(hŒ-# cat /sys/module/acpi/parameters/debug_layer”h]”hŒ-# cat /sys/module/acpi/parameters/debug_layer”…””}”hj„sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jphŸh³h K„hjçhžhubeh}”(h]”Œexamples”ah ]”h"]”Œexamples”ah$]”h&]”uh1h´hh¶hžhhŸh³h Khubeh}”(h]”Œacpi-ca-debug-output”ah ]”h"]”Œacpi ca debug output”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jÅŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jŸjœhýhúj$j!j…j‚jäjáj—j”uŒ nametypes”}”(jŸ‰hý‰j$‰j…‰jä‰j—‰uh}”(jœh¶húhÙj!jj‚j'jájˆj”jçuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.