Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Added Kitten
[palacios.git] / kitten / include / acpi / acoutput.h
1 /******************************************************************************
2  *
3  * Name: acoutput.h -- debug output
4  *
5  *****************************************************************************/
6
7 /*
8  * Copyright (C) 2000 - 2006, R. Byron Moore
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions, and the following disclaimer,
16  *    without modification.
17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18  *    substantially similar to the "NO WARRANTY" disclaimer below
19  *    ("Disclaimer") and any redistribution must be conditioned upon
20  *    including a substantially similar Disclaimer requirement for further
21  *    binary redistribution.
22  * 3. Neither the names of the above-listed copyright holders nor the names
23  *    of any contributors may be used to endorse or promote products derived
24  *    from this software without specific prior written permission.
25  *
26  * Alternatively, this software may be distributed under the terms of the
27  * GNU General Public License ("GPL") version 2 as published by the Free
28  * Software Foundation.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43
44 #ifndef __ACOUTPUT_H__
45 #define __ACOUTPUT_H__
46
47 /*
48  * Debug levels and component IDs.  These are used to control the
49  * granularity of the output of the DEBUG_PRINT macro -- on a per-
50  * component basis and a per-exception-type basis.
51  */
52
53 /* Component IDs are used in the global "DebugLayer" */
54
55 #define ACPI_UTILITIES              0x00000001
56 #define ACPI_HARDWARE               0x00000002
57 #define ACPI_EVENTS                 0x00000004
58 #define ACPI_TABLES                 0x00000008
59 #define ACPI_NAMESPACE              0x00000010
60 #define ACPI_PARSER                 0x00000020
61 #define ACPI_DISPATCHER             0x00000040
62 #define ACPI_EXECUTER               0x00000080
63 #define ACPI_RESOURCES              0x00000100
64 #define ACPI_CA_DEBUGGER            0x00000200
65 #define ACPI_OS_SERVICES            0x00000400
66 #define ACPI_CA_DISASSEMBLER        0x00000800
67
68 /* Component IDs for ACPI tools and utilities */
69
70 #define ACPI_COMPILER               0x00001000
71 #define ACPI_TOOLS                  0x00002000
72
73 #define ACPI_ALL_COMPONENTS         0x00003FFF
74 #define ACPI_COMPONENT_DEFAULT      (ACPI_ALL_COMPONENTS)
75
76 /* Component IDs reserved for ACPI drivers */
77
78 #define ACPI_ALL_DRIVERS            0xFFFF0000
79
80 /*
81  * Raw debug output levels, do not use these in the DEBUG_PRINT macros
82  */
83 #define ACPI_LV_ERROR               0x00000001
84 #define ACPI_LV_WARN                0x00000002
85 #define ACPI_LV_INIT                0x00000004
86 #define ACPI_LV_DEBUG_OBJECT        0x00000008
87 #define ACPI_LV_INFO                0x00000010
88 #define ACPI_LV_ALL_EXCEPTIONS      0x0000001F
89
90 /* Trace verbosity level 1 [Standard Trace Level] */
91
92 #define ACPI_LV_INIT_NAMES          0x00000020
93 #define ACPI_LV_PARSE               0x00000040
94 #define ACPI_LV_LOAD                0x00000080
95 #define ACPI_LV_DISPATCH            0x00000100
96 #define ACPI_LV_EXEC                0x00000200
97 #define ACPI_LV_NAMES               0x00000400
98 #define ACPI_LV_OPREGION            0x00000800
99 #define ACPI_LV_BFIELD              0x00001000
100 #define ACPI_LV_TABLES              0x00002000
101 #define ACPI_LV_VALUES              0x00004000
102 #define ACPI_LV_OBJECTS             0x00008000
103 #define ACPI_LV_RESOURCES           0x00010000
104 #define ACPI_LV_USER_REQUESTS       0x00020000
105 #define ACPI_LV_PACKAGE             0x00040000
106 #define ACPI_LV_VERBOSITY1          0x0007FF40 | ACPI_LV_ALL_EXCEPTIONS
107
108 /* Trace verbosity level 2 [Function tracing and memory allocation] */
109
110 #define ACPI_LV_ALLOCATIONS         0x00100000
111 #define ACPI_LV_FUNCTIONS           0x00200000
112 #define ACPI_LV_OPTIMIZATIONS       0x00400000
113 #define ACPI_LV_VERBOSITY2          0x00700000 | ACPI_LV_VERBOSITY1
114 #define ACPI_LV_ALL                 ACPI_LV_VERBOSITY2
115
116 /* Trace verbosity level 3 [Threading, I/O, and Interrupts] */
117
118 #define ACPI_LV_MUTEX               0x01000000
119 #define ACPI_LV_THREADS             0x02000000
120 #define ACPI_LV_IO                  0x04000000
121 #define ACPI_LV_INTERRUPTS          0x08000000
122 #define ACPI_LV_VERBOSITY3          0x0F000000 | ACPI_LV_VERBOSITY2
123
124 /* Exceptionally verbose output -- also used in the global "DebugLevel"  */
125
126 #define ACPI_LV_AML_DISASSEMBLE     0x10000000
127 #define ACPI_LV_VERBOSE_INFO        0x20000000
128 #define ACPI_LV_FULL_TABLES         0x40000000
129 #define ACPI_LV_EVENTS              0x80000000
130
131 #define ACPI_LV_VERBOSE             0xF0000000
132
133 /*
134  * Debug level macros that are used in the DEBUG_PRINT macros
135  */
136 #define ACPI_DEBUG_LEVEL(dl)        (u32) dl,ACPI_DEBUG_PARAMETERS
137
138 /* Exception level -- used in the global "DebugLevel" */
139
140 #define ACPI_DB_INIT                ACPI_DEBUG_LEVEL (ACPI_LV_INIT)
141 #define ACPI_DB_DEBUG_OBJECT        ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT)
142 #define ACPI_DB_INFO                ACPI_DEBUG_LEVEL (ACPI_LV_INFO)
143 #define ACPI_DB_ALL_EXCEPTIONS      ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS)
144
145 /*
146  * These two levels are essentially obsolete, all instances in the
147  * ACPICA core code have been replaced by ACPI_ERROR and ACPI_WARNING
148  * (Kept here because some drivers may still use them)
149  */
150 #define ACPI_DB_ERROR               ACPI_DEBUG_LEVEL (ACPI_LV_ERROR)
151 #define ACPI_DB_WARN                ACPI_DEBUG_LEVEL (ACPI_LV_WARN)
152
153 /* Trace level -- also used in the global "DebugLevel" */
154
155 #define ACPI_DB_INIT_NAMES          ACPI_DEBUG_LEVEL (ACPI_LV_INIT_NAMES)
156 #define ACPI_DB_THREADS             ACPI_DEBUG_LEVEL (ACPI_LV_THREADS)
157 #define ACPI_DB_PARSE               ACPI_DEBUG_LEVEL (ACPI_LV_PARSE)
158 #define ACPI_DB_DISPATCH            ACPI_DEBUG_LEVEL (ACPI_LV_DISPATCH)
159 #define ACPI_DB_LOAD                ACPI_DEBUG_LEVEL (ACPI_LV_LOAD)
160 #define ACPI_DB_EXEC                ACPI_DEBUG_LEVEL (ACPI_LV_EXEC)
161 #define ACPI_DB_NAMES               ACPI_DEBUG_LEVEL (ACPI_LV_NAMES)
162 #define ACPI_DB_OPREGION            ACPI_DEBUG_LEVEL (ACPI_LV_OPREGION)
163 #define ACPI_DB_BFIELD              ACPI_DEBUG_LEVEL (ACPI_LV_BFIELD)
164 #define ACPI_DB_TABLES              ACPI_DEBUG_LEVEL (ACPI_LV_TABLES)
165 #define ACPI_DB_FUNCTIONS           ACPI_DEBUG_LEVEL (ACPI_LV_FUNCTIONS)
166 #define ACPI_DB_OPTIMIZATIONS       ACPI_DEBUG_LEVEL (ACPI_LV_OPTIMIZATIONS)
167 #define ACPI_DB_VALUES              ACPI_DEBUG_LEVEL (ACPI_LV_VALUES)
168 #define ACPI_DB_OBJECTS             ACPI_DEBUG_LEVEL (ACPI_LV_OBJECTS)
169 #define ACPI_DB_ALLOCATIONS         ACPI_DEBUG_LEVEL (ACPI_LV_ALLOCATIONS)
170 #define ACPI_DB_RESOURCES           ACPI_DEBUG_LEVEL (ACPI_LV_RESOURCES)
171 #define ACPI_DB_IO                  ACPI_DEBUG_LEVEL (ACPI_LV_IO)
172 #define ACPI_DB_INTERRUPTS          ACPI_DEBUG_LEVEL (ACPI_LV_INTERRUPTS)
173 #define ACPI_DB_USER_REQUESTS       ACPI_DEBUG_LEVEL (ACPI_LV_USER_REQUESTS)
174 #define ACPI_DB_PACKAGE             ACPI_DEBUG_LEVEL (ACPI_LV_PACKAGE)
175 #define ACPI_DB_MUTEX               ACPI_DEBUG_LEVEL (ACPI_LV_MUTEX)
176
177 #define ACPI_DB_ALL                 ACPI_DEBUG_LEVEL (ACPI_LV_ALL)
178
179 /* Defaults for debug_level, debug and normal */
180
181 #define ACPI_DEBUG_DEFAULT          (ACPI_LV_INIT | ACPI_LV_WARN | ACPI_LV_ERROR | ACPI_LV_DEBUG_OBJECT)
182 #define ACPI_NORMAL_DEFAULT         (ACPI_LV_INIT | ACPI_LV_WARN | ACPI_LV_ERROR | ACPI_LV_DEBUG_OBJECT)
183 #define ACPI_DEBUG_ALL              (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL)
184
185 #endif                          /* __ACOUTPUT_H__ */