| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /******************************************************************************
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Name: acoutput.h -- debug output | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2011-01-17 11:05:40 +08:00
										 |  |  |  * Copyright (C) 2000 - 2011, Intel Corp. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * All rights reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Redistribution and use in source and binary forms, with or without | 
					
						
							|  |  |  |  * modification, are permitted provided that the following conditions | 
					
						
							|  |  |  |  * are met: | 
					
						
							|  |  |  |  * 1. Redistributions of source code must retain the above copyright | 
					
						
							|  |  |  |  *    notice, this list of conditions, and the following disclaimer, | 
					
						
							|  |  |  |  *    without modification. | 
					
						
							|  |  |  |  * 2. Redistributions in binary form must reproduce at minimum a disclaimer | 
					
						
							|  |  |  |  *    substantially similar to the "NO WARRANTY" disclaimer below | 
					
						
							|  |  |  |  *    ("Disclaimer") and any redistribution must be conditioned upon | 
					
						
							|  |  |  |  *    including a substantially similar Disclaimer requirement for further | 
					
						
							|  |  |  |  *    binary redistribution. | 
					
						
							|  |  |  |  * 3. Neither the names of the above-listed copyright holders nor the names | 
					
						
							|  |  |  |  *    of any contributors may be used to endorse or promote products derived | 
					
						
							|  |  |  |  *    from this software without specific prior written permission. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Alternatively, this software may be distributed under the terms of the | 
					
						
							|  |  |  |  * GNU General Public License ("GPL") version 2 as published by the Free | 
					
						
							|  |  |  |  * Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * NO WARRANTY | 
					
						
							|  |  |  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
					
						
							|  |  |  |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
					
						
							|  |  |  |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR | 
					
						
							|  |  |  |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
					
						
							|  |  |  |  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
					
						
							|  |  |  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 
					
						
							|  |  |  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 
					
						
							|  |  |  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | 
					
						
							|  |  |  |  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | 
					
						
							|  |  |  |  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 
					
						
							|  |  |  |  * POSSIBILITY OF SUCH DAMAGES. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __ACOUTPUT_H__
 | 
					
						
							|  |  |  | #define __ACOUTPUT_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  |  * Debug levels and component IDs. These are used to control the | 
					
						
							|  |  |  |  * granularity of the output of the ACPI_DEBUG_PRINT macro -- on a | 
					
						
							|  |  |  |  * per-component basis and a per-exception-type basis. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
											  
											
												ACPI: ACPICA 20060421
Removed a device initialization optimization introduced in
20051216 where the _STA method was not run unless an _INI
was also present for the same device. This optimization
could cause problems because it could allow _INI methods
to be run within a not-present device subtree (If a
not-present device had no _INI, _STA would not be run,
the not-present status would not be discovered, and the
children of the device would be incorrectly traversed.)
Implemented a new _STA optimization where namespace
subtrees that do not contain _INI are identified and
ignored during device initialization. Selectively running
_STA can significantly improve boot time on large machines
(with assistance from Len Brown.)
Implemented support for the device initialization case
where the returned _STA flags indicate a device not-present
but functioning. In this case, _INI is not run, but the
device children are examined for presence, as per the
ACPI specification.
Implemented an additional change to the IndexField support
in order to conform to MS behavior. The value written to
the Index Register is not simply a byte offset, it is a
byte offset in units of the access width of the parent
Index Field. (Fiodor Suietov)
Defined and deployed a new OSL interface,
acpi_os_validate_address().  This interface is called during
the creation of all AML operation regions, and allows
the host OS to exert control over what addresses it will
allow the AML code to access. Operation Regions whose
addresses are disallowed will cause a runtime exception
when they are actually accessed (will not affect or abort
table loading.)
Defined and deployed a new OSL interface,
acpi_os_validate_interface().  This interface allows the host OS
to match the various "optional" interface/behavior strings
for the _OSI predefined control method as appropriate
(with assistance from Bjorn Helgaas.)
Restructured and corrected various problems in the
exception handling code paths within DsCallControlMethod
and DsTerminateControlMethod in dsmethod (with assistance
from Takayoshi Kochi.)
Modified the Linux source converter to ignore quoted string
literals while converting identifiers from mixed to lower
case. This will correct problems with the disassembler
and other areas where such strings must not be modified.
The ACPI_FUNCTION_* macros no longer require quotes around
the function name. This allows the Linux source converter
to convert the names, now that the converter ignores
quoted strings.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
											
										 
											2006-04-21 17:15:00 -04:00
										 |  |  | /* Component IDs are used in the global "DebugLayer" */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_UTILITIES              0x00000001
 | 
					
						
							|  |  |  | #define ACPI_HARDWARE               0x00000002
 | 
					
						
							|  |  |  | #define ACPI_EVENTS                 0x00000004
 | 
					
						
							|  |  |  | #define ACPI_TABLES                 0x00000008
 | 
					
						
							|  |  |  | #define ACPI_NAMESPACE              0x00000010
 | 
					
						
							|  |  |  | #define ACPI_PARSER                 0x00000020
 | 
					
						
							|  |  |  | #define ACPI_DISPATCHER             0x00000040
 | 
					
						
							|  |  |  | #define ACPI_EXECUTER               0x00000080
 | 
					
						
							|  |  |  | #define ACPI_RESOURCES              0x00000100
 | 
					
						
							|  |  |  | #define ACPI_CA_DEBUGGER            0x00000200
 | 
					
						
							|  |  |  | #define ACPI_OS_SERVICES            0x00000400
 | 
					
						
							|  |  |  | #define ACPI_CA_DISASSEMBLER        0x00000800
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Component IDs for ACPI tools and utilities */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_COMPILER               0x00001000
 | 
					
						
							|  |  |  | #define ACPI_TOOLS                  0x00002000
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  | #define ACPI_EXAMPLE                0x00004000
 | 
					
						
							|  |  |  | #define ACPI_DRIVER                 0x00008000
 | 
					
						
							| 
									
										
										
										
											2010-07-06 10:02:16 +08:00
										 |  |  | #define DT_COMPILER                 0x00010000
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-06 10:02:16 +08:00
										 |  |  | #define ACPI_ALL_COMPONENTS         0x0001FFFF
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #define ACPI_COMPONENT_DEFAULT      (ACPI_ALL_COMPONENTS)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Component IDs reserved for ACPI drivers */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_ALL_DRIVERS            0xFFFF0000
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  |  * Raw debug output levels, do not use these in the ACPI_DEBUG_PRINT macros | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2008-09-28 15:00:47 +08:00
										 |  |  | #define ACPI_LV_INIT                0x00000001
 | 
					
						
							|  |  |  | #define ACPI_LV_DEBUG_OBJECT        0x00000002
 | 
					
						
							|  |  |  | #define ACPI_LV_INFO                0x00000004
 | 
					
						
							| 
									
										
										
										
											2009-12-11 15:23:22 +08:00
										 |  |  | #define ACPI_LV_REPAIR              0x00000008
 | 
					
						
							|  |  |  | #define ACPI_LV_ALL_EXCEPTIONS      0x0000000F
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Trace verbosity level 1 [Standard Trace Level] */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_LV_INIT_NAMES          0x00000020
 | 
					
						
							|  |  |  | #define ACPI_LV_PARSE               0x00000040
 | 
					
						
							|  |  |  | #define ACPI_LV_LOAD                0x00000080
 | 
					
						
							|  |  |  | #define ACPI_LV_DISPATCH            0x00000100
 | 
					
						
							|  |  |  | #define ACPI_LV_EXEC                0x00000200
 | 
					
						
							|  |  |  | #define ACPI_LV_NAMES               0x00000400
 | 
					
						
							|  |  |  | #define ACPI_LV_OPREGION            0x00000800
 | 
					
						
							|  |  |  | #define ACPI_LV_BFIELD              0x00001000
 | 
					
						
							|  |  |  | #define ACPI_LV_TABLES              0x00002000
 | 
					
						
							|  |  |  | #define ACPI_LV_VALUES              0x00004000
 | 
					
						
							|  |  |  | #define ACPI_LV_OBJECTS             0x00008000
 | 
					
						
							|  |  |  | #define ACPI_LV_RESOURCES           0x00010000
 | 
					
						
							|  |  |  | #define ACPI_LV_USER_REQUESTS       0x00020000
 | 
					
						
							|  |  |  | #define ACPI_LV_PACKAGE             0x00040000
 | 
					
						
							|  |  |  | #define ACPI_LV_VERBOSITY1          0x0007FF40 | ACPI_LV_ALL_EXCEPTIONS
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Trace verbosity level 2 [Function tracing and memory allocation] */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_LV_ALLOCATIONS         0x00100000
 | 
					
						
							|  |  |  | #define ACPI_LV_FUNCTIONS           0x00200000
 | 
					
						
							|  |  |  | #define ACPI_LV_OPTIMIZATIONS       0x00400000
 | 
					
						
							|  |  |  | #define ACPI_LV_VERBOSITY2          0x00700000 | ACPI_LV_VERBOSITY1
 | 
					
						
							|  |  |  | #define ACPI_LV_ALL                 ACPI_LV_VERBOSITY2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Trace verbosity level 3 [Threading, I/O, and Interrupts] */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_LV_MUTEX               0x01000000
 | 
					
						
							|  |  |  | #define ACPI_LV_THREADS             0x02000000
 | 
					
						
							|  |  |  | #define ACPI_LV_IO                  0x04000000
 | 
					
						
							|  |  |  | #define ACPI_LV_INTERRUPTS          0x08000000
 | 
					
						
							|  |  |  | #define ACPI_LV_VERBOSITY3          0x0F000000 | ACPI_LV_VERBOSITY2
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
											  
											
												ACPI: ACPICA 20060421
Removed a device initialization optimization introduced in
20051216 where the _STA method was not run unless an _INI
was also present for the same device. This optimization
could cause problems because it could allow _INI methods
to be run within a not-present device subtree (If a
not-present device had no _INI, _STA would not be run,
the not-present status would not be discovered, and the
children of the device would be incorrectly traversed.)
Implemented a new _STA optimization where namespace
subtrees that do not contain _INI are identified and
ignored during device initialization. Selectively running
_STA can significantly improve boot time on large machines
(with assistance from Len Brown.)
Implemented support for the device initialization case
where the returned _STA flags indicate a device not-present
but functioning. In this case, _INI is not run, but the
device children are examined for presence, as per the
ACPI specification.
Implemented an additional change to the IndexField support
in order to conform to MS behavior. The value written to
the Index Register is not simply a byte offset, it is a
byte offset in units of the access width of the parent
Index Field. (Fiodor Suietov)
Defined and deployed a new OSL interface,
acpi_os_validate_address().  This interface is called during
the creation of all AML operation regions, and allows
the host OS to exert control over what addresses it will
allow the AML code to access. Operation Regions whose
addresses are disallowed will cause a runtime exception
when they are actually accessed (will not affect or abort
table loading.)
Defined and deployed a new OSL interface,
acpi_os_validate_interface().  This interface allows the host OS
to match the various "optional" interface/behavior strings
for the _OSI predefined control method as appropriate
(with assistance from Bjorn Helgaas.)
Restructured and corrected various problems in the
exception handling code paths within DsCallControlMethod
and DsTerminateControlMethod in dsmethod (with assistance
from Takayoshi Kochi.)
Modified the Linux source converter to ignore quoted string
literals while converting identifiers from mixed to lower
case. This will correct problems with the disassembler
and other areas where such strings must not be modified.
The ACPI_FUNCTION_* macros no longer require quotes around
the function name. This allows the Linux source converter
to convert the names, now that the converter ignores
quoted strings.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
											
										 
											2006-04-21 17:15:00 -04:00
										 |  |  | /* Exceptionally verbose output -- also used in the global "DebugLevel"  */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_LV_AML_DISASSEMBLE     0x10000000
 | 
					
						
							|  |  |  | #define ACPI_LV_VERBOSE_INFO        0x20000000
 | 
					
						
							|  |  |  | #define ACPI_LV_FULL_TABLES         0x40000000
 | 
					
						
							|  |  |  | #define ACPI_LV_EVENTS              0x80000000
 | 
					
						
							|  |  |  | #define ACPI_LV_VERBOSE             0xF0000000
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Debug level macros that are used in the DEBUG_PRINT macros | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2005-07-08 00:00:00 -04:00
										 |  |  | #define ACPI_DEBUG_LEVEL(dl)        (u32) dl,ACPI_DEBUG_PARAMETERS
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-28 15:00:47 +08:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Exception level -- used in the global "DebugLevel" | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Note: For errors, use the ACPI_ERROR or ACPI_EXCEPTION interfaces. | 
					
						
							|  |  |  |  * For warnings, use ACPI_WARNING. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #define ACPI_DB_INIT                ACPI_DEBUG_LEVEL (ACPI_LV_INIT)
 | 
					
						
							|  |  |  | #define ACPI_DB_DEBUG_OBJECT        ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT)
 | 
					
						
							|  |  |  | #define ACPI_DB_INFO                ACPI_DEBUG_LEVEL (ACPI_LV_INFO)
 | 
					
						
							| 
									
										
										
										
											2009-12-11 15:23:22 +08:00
										 |  |  | #define ACPI_DB_REPAIR              ACPI_DEBUG_LEVEL (ACPI_LV_REPAIR)
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #define ACPI_DB_ALL_EXCEPTIONS      ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
											  
											
												ACPI: ACPICA 20060421
Removed a device initialization optimization introduced in
20051216 where the _STA method was not run unless an _INI
was also present for the same device. This optimization
could cause problems because it could allow _INI methods
to be run within a not-present device subtree (If a
not-present device had no _INI, _STA would not be run,
the not-present status would not be discovered, and the
children of the device would be incorrectly traversed.)
Implemented a new _STA optimization where namespace
subtrees that do not contain _INI are identified and
ignored during device initialization. Selectively running
_STA can significantly improve boot time on large machines
(with assistance from Len Brown.)
Implemented support for the device initialization case
where the returned _STA flags indicate a device not-present
but functioning. In this case, _INI is not run, but the
device children are examined for presence, as per the
ACPI specification.
Implemented an additional change to the IndexField support
in order to conform to MS behavior. The value written to
the Index Register is not simply a byte offset, it is a
byte offset in units of the access width of the parent
Index Field. (Fiodor Suietov)
Defined and deployed a new OSL interface,
acpi_os_validate_address().  This interface is called during
the creation of all AML operation regions, and allows
the host OS to exert control over what addresses it will
allow the AML code to access. Operation Regions whose
addresses are disallowed will cause a runtime exception
when they are actually accessed (will not affect or abort
table loading.)
Defined and deployed a new OSL interface,
acpi_os_validate_interface().  This interface allows the host OS
to match the various "optional" interface/behavior strings
for the _OSI predefined control method as appropriate
(with assistance from Bjorn Helgaas.)
Restructured and corrected various problems in the
exception handling code paths within DsCallControlMethod
and DsTerminateControlMethod in dsmethod (with assistance
from Takayoshi Kochi.)
Modified the Linux source converter to ignore quoted string
literals while converting identifiers from mixed to lower
case. This will correct problems with the disassembler
and other areas where such strings must not be modified.
The ACPI_FUNCTION_* macros no longer require quotes around
the function name. This allows the Linux source converter
to convert the names, now that the converter ignores
quoted strings.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
											
										 
											2006-04-21 17:15:00 -04:00
										 |  |  | /* Trace level -- also used in the global "DebugLevel" */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_DB_INIT_NAMES          ACPI_DEBUG_LEVEL (ACPI_LV_INIT_NAMES)
 | 
					
						
							|  |  |  | #define ACPI_DB_THREADS             ACPI_DEBUG_LEVEL (ACPI_LV_THREADS)
 | 
					
						
							|  |  |  | #define ACPI_DB_PARSE               ACPI_DEBUG_LEVEL (ACPI_LV_PARSE)
 | 
					
						
							|  |  |  | #define ACPI_DB_DISPATCH            ACPI_DEBUG_LEVEL (ACPI_LV_DISPATCH)
 | 
					
						
							|  |  |  | #define ACPI_DB_LOAD                ACPI_DEBUG_LEVEL (ACPI_LV_LOAD)
 | 
					
						
							|  |  |  | #define ACPI_DB_EXEC                ACPI_DEBUG_LEVEL (ACPI_LV_EXEC)
 | 
					
						
							|  |  |  | #define ACPI_DB_NAMES               ACPI_DEBUG_LEVEL (ACPI_LV_NAMES)
 | 
					
						
							|  |  |  | #define ACPI_DB_OPREGION            ACPI_DEBUG_LEVEL (ACPI_LV_OPREGION)
 | 
					
						
							|  |  |  | #define ACPI_DB_BFIELD              ACPI_DEBUG_LEVEL (ACPI_LV_BFIELD)
 | 
					
						
							|  |  |  | #define ACPI_DB_TABLES              ACPI_DEBUG_LEVEL (ACPI_LV_TABLES)
 | 
					
						
							|  |  |  | #define ACPI_DB_FUNCTIONS           ACPI_DEBUG_LEVEL (ACPI_LV_FUNCTIONS)
 | 
					
						
							|  |  |  | #define ACPI_DB_OPTIMIZATIONS       ACPI_DEBUG_LEVEL (ACPI_LV_OPTIMIZATIONS)
 | 
					
						
							|  |  |  | #define ACPI_DB_VALUES              ACPI_DEBUG_LEVEL (ACPI_LV_VALUES)
 | 
					
						
							|  |  |  | #define ACPI_DB_OBJECTS             ACPI_DEBUG_LEVEL (ACPI_LV_OBJECTS)
 | 
					
						
							|  |  |  | #define ACPI_DB_ALLOCATIONS         ACPI_DEBUG_LEVEL (ACPI_LV_ALLOCATIONS)
 | 
					
						
							|  |  |  | #define ACPI_DB_RESOURCES           ACPI_DEBUG_LEVEL (ACPI_LV_RESOURCES)
 | 
					
						
							|  |  |  | #define ACPI_DB_IO                  ACPI_DEBUG_LEVEL (ACPI_LV_IO)
 | 
					
						
							|  |  |  | #define ACPI_DB_INTERRUPTS          ACPI_DEBUG_LEVEL (ACPI_LV_INTERRUPTS)
 | 
					
						
							|  |  |  | #define ACPI_DB_USER_REQUESTS       ACPI_DEBUG_LEVEL (ACPI_LV_USER_REQUESTS)
 | 
					
						
							|  |  |  | #define ACPI_DB_PACKAGE             ACPI_DEBUG_LEVEL (ACPI_LV_PACKAGE)
 | 
					
						
							|  |  |  | #define ACPI_DB_MUTEX               ACPI_DEBUG_LEVEL (ACPI_LV_MUTEX)
 | 
					
						
							| 
									
										
										
										
											2008-09-28 15:00:47 +08:00
										 |  |  | #define ACPI_DB_EVENTS              ACPI_DEBUG_LEVEL (ACPI_LV_EVENTS)
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_DB_ALL                 ACPI_DEBUG_LEVEL (ACPI_LV_ALL)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Defaults for debug_level, debug and normal */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-11 15:23:22 +08:00
										 |  |  | #define ACPI_DEBUG_DEFAULT          (ACPI_LV_INFO | ACPI_LV_REPAIR)
 | 
					
						
							|  |  |  | #define ACPI_NORMAL_DEFAULT         (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_REPAIR)
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #define ACPI_DEBUG_ALL              (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES)
 | 
					
						
							|  |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2011-02-14 16:02:36 +08:00
										 |  |  |  * The module name is used primarily for error and debug messages. | 
					
						
							|  |  |  |  * The __FILE__ macro is not very useful for this, because it | 
					
						
							|  |  |  |  * usually includes the entire pathname to the module making the | 
					
						
							|  |  |  |  * debug output difficult to read. | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  |  */ | 
					
						
							|  |  |  | #define ACPI_MODULE_NAME(name)          static const char ACPI_UNUSED_VAR _acpi_module_name[] = name;
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2011-02-14 16:02:36 +08:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * For the no-debug and no-error-msg cases, we must at least define | 
					
						
							|  |  |  |  * a null module name. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  | #define ACPI_MODULE_NAME(name)
 | 
					
						
							| 
									
										
										
										
											2011-02-14 16:02:36 +08:00
										 |  |  | #define _acpi_module_name ""
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Ascii error messages can be configured out | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef ACPI_NO_ERROR_MESSAGES
 | 
					
						
							|  |  |  | #define AE_INFO                         _acpi_module_name, __LINE__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Error reporting. Callers module and line number are inserted by AE_INFO, | 
					
						
							|  |  |  |  * the plist contains a set of parens to allow variable-length lists. | 
					
						
							|  |  |  |  * These macros are used for both the debug and non-debug versions of the code. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define ACPI_INFO(plist)                acpi_info plist
 | 
					
						
							|  |  |  | #define ACPI_WARNING(plist)             acpi_warning plist
 | 
					
						
							|  |  |  | #define ACPI_EXCEPTION(plist)           acpi_exception plist
 | 
					
						
							|  |  |  | #define ACPI_ERROR(plist)               acpi_error plist
 | 
					
						
							| 
									
										
										
										
											2010-03-03 16:28:28 +08:00
										 |  |  | #define ACPI_DEBUG_OBJECT(obj,l,i)      acpi_ex_do_debug_object(obj,l,i)
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* No error messages */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_INFO(plist)
 | 
					
						
							|  |  |  | #define ACPI_WARNING(plist)
 | 
					
						
							|  |  |  | #define ACPI_EXCEPTION(plist)
 | 
					
						
							|  |  |  | #define ACPI_ERROR(plist)
 | 
					
						
							| 
									
										
										
										
											2010-03-03 16:28:28 +08:00
										 |  |  | #define ACPI_DEBUG_OBJECT(obj,l,i)
 | 
					
						
							| 
									
										
										
										
											2008-12-31 03:01:23 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif				/* ACPI_NO_ERROR_MESSAGES */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Debug macros that are conditionally compiled | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifdef ACPI_DEBUG_OUTPUT
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * If ACPI_GET_FUNCTION_NAME was not defined in the compiler-dependent header, | 
					
						
							|  |  |  |  * define it now. This is the case where there the compiler does not support | 
					
						
							|  |  |  |  * a __FUNCTION__ macro or equivalent. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef ACPI_GET_FUNCTION_NAME
 | 
					
						
							|  |  |  | #define ACPI_GET_FUNCTION_NAME          _acpi_function_name
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * The Name parameter should be the procedure name as a quoted string. | 
					
						
							|  |  |  |  * The function name is also used by the function exit macros below. | 
					
						
							|  |  |  |  * Note: (const char) is used to be compatible with the debug interfaces | 
					
						
							|  |  |  |  * and macros such as __FUNCTION__. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define ACPI_FUNCTION_NAME(name)        static const char _acpi_function_name[] = #name;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | /* Compiler supports __FUNCTION__ (or equivalent) -- Ignore this macro */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define ACPI_FUNCTION_NAME(name)
 | 
					
						
							|  |  |  | #endif				/* ACPI_GET_FUNCTION_NAME */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Common parameters used for debug output functions: | 
					
						
							|  |  |  |  * line number, function name, module(file) name, component ID | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define ACPI_DEBUG_PARAMETERS           __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Master debug print macros | 
					
						
							|  |  |  |  * Print message if and only if: | 
					
						
							|  |  |  |  *    1) Debug print for the current component is enabled | 
					
						
							|  |  |  |  *    2) Debug error level or trace level for the print statement is enabled | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define ACPI_DEBUG_PRINT(plist)         acpi_debug_print plist
 | 
					
						
							|  |  |  | #define ACPI_DEBUG_PRINT_RAW(plist)     acpi_debug_print_raw plist
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * This is the non-debug case -- make everything go away, | 
					
						
							|  |  |  |  * leaving no executable debug code! | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define ACPI_FUNCTION_NAME(a)
 | 
					
						
							|  |  |  | #define ACPI_DEBUG_PRINT(pl)
 | 
					
						
							|  |  |  | #define ACPI_DEBUG_PRINT_RAW(pl)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif				/* ACPI_DEBUG_OUTPUT */
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-08-05 00:44:28 -04:00
										 |  |  | #endif				/* __ACOUTPUT_H__ */
 |