/root/src/xen/xen/include/acpi/acexcep.h
Line | Count | Source (jump to first uncovered line) |
1 | | /****************************************************************************** |
2 | | * |
3 | | * Name: acexcep.h - Exception codes returned by the ACPI subsystem |
4 | | * |
5 | | *****************************************************************************/ |
6 | | |
7 | | /* |
8 | | * Copyright (C) 2000 - 2007, 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 __ACEXCEP_H__ |
45 | | #define __ACEXCEP_H__ |
46 | | |
47 | | /* |
48 | | * Exceptions returned by external ACPI interfaces |
49 | | */ |
50 | 3 | #define AE_CODE_ENVIRONMENTAL 0x0000 |
51 | 0 | #define AE_CODE_PROGRAMMER 0x1000 |
52 | 0 | #define AE_CODE_ACPI_TABLES 0x2000 |
53 | | #define AE_CODE_AML 0x3000 |
54 | | #define AE_CODE_CONTROL 0x4000 |
55 | | #define AE_CODE_MASK 0xF000 |
56 | | |
57 | 1 | #define ACPI_SUCCESS(a) (!(a)) |
58 | 3 | #define ACPI_FAILURE(a) (a) |
59 | | |
60 | 24 | #define AE_OK (acpi_status) 0x0000 |
61 | | |
62 | | /* |
63 | | * Environmental exceptions |
64 | | */ |
65 | 0 | #define AE_ERROR (acpi_status) (0x0001 | AE_CODE_ENVIRONMENTAL) |
66 | | #define AE_NO_ACPI_TABLES (acpi_status) (0x0002 | AE_CODE_ENVIRONMENTAL) |
67 | | #define AE_NO_NAMESPACE (acpi_status) (0x0003 | AE_CODE_ENVIRONMENTAL) |
68 | 0 | #define AE_NO_MEMORY (acpi_status) (0x0004 | AE_CODE_ENVIRONMENTAL) |
69 | 2 | #define AE_NOT_FOUND (acpi_status) (0x0005 | AE_CODE_ENVIRONMENTAL) |
70 | | #define AE_NOT_EXIST (acpi_status) (0x0006 | AE_CODE_ENVIRONMENTAL) |
71 | | #define AE_ALREADY_EXISTS (acpi_status) (0x0007 | AE_CODE_ENVIRONMENTAL) |
72 | | #define AE_TYPE (acpi_status) (0x0008 | AE_CODE_ENVIRONMENTAL) |
73 | | #define AE_NULL_OBJECT (acpi_status) (0x0009 | AE_CODE_ENVIRONMENTAL) |
74 | 1 | #define AE_NULL_ENTRY (acpi_status) (0x000A | AE_CODE_ENVIRONMENTAL) |
75 | | #define AE_BUFFER_OVERFLOW (acpi_status) (0x000B | AE_CODE_ENVIRONMENTAL) |
76 | | #define AE_STACK_OVERFLOW (acpi_status) (0x000C | AE_CODE_ENVIRONMENTAL) |
77 | | #define AE_STACK_UNDERFLOW (acpi_status) (0x000D | AE_CODE_ENVIRONMENTAL) |
78 | | #define AE_NOT_IMPLEMENTED (acpi_status) (0x000E | AE_CODE_ENVIRONMENTAL) |
79 | | #define AE_VERSION_MISMATCH (acpi_status) (0x000F | AE_CODE_ENVIRONMENTAL) |
80 | | #define AE_SUPPORT (acpi_status) (0x0010 | AE_CODE_ENVIRONMENTAL) |
81 | | #define AE_SHARE (acpi_status) (0x0011 | AE_CODE_ENVIRONMENTAL) |
82 | | #define AE_LIMIT (acpi_status) (0x0012 | AE_CODE_ENVIRONMENTAL) |
83 | | #define AE_TIME (acpi_status) (0x0013 | AE_CODE_ENVIRONMENTAL) |
84 | | #define AE_UNKNOWN_STATUS (acpi_status) (0x0014 | AE_CODE_ENVIRONMENTAL) |
85 | | #define AE_ACQUIRE_DEADLOCK (acpi_status) (0x0015 | AE_CODE_ENVIRONMENTAL) |
86 | | #define AE_RELEASE_DEADLOCK (acpi_status) (0x0016 | AE_CODE_ENVIRONMENTAL) |
87 | | #define AE_NOT_ACQUIRED (acpi_status) (0x0017 | AE_CODE_ENVIRONMENTAL) |
88 | | #define AE_ALREADY_ACQUIRED (acpi_status) (0x0018 | AE_CODE_ENVIRONMENTAL) |
89 | | #define AE_NO_HARDWARE_RESPONSE (acpi_status) (0x0019 | AE_CODE_ENVIRONMENTAL) |
90 | | #define AE_NO_GLOBAL_LOCK (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL) |
91 | | #define AE_LOGICAL_ADDRESS (acpi_status) (0x001B | AE_CODE_ENVIRONMENTAL) |
92 | | #define AE_ABORT_METHOD (acpi_status) (0x001C | AE_CODE_ENVIRONMENTAL) |
93 | | #define AE_SAME_HANDLER (acpi_status) (0x001D | AE_CODE_ENVIRONMENTAL) |
94 | | #define AE_WAKE_ONLY_GPE (acpi_status) (0x001E | AE_CODE_ENVIRONMENTAL) |
95 | | #define AE_OWNER_ID_LIMIT (acpi_status) (0x001F | AE_CODE_ENVIRONMENTAL) |
96 | | |
97 | | #define AE_CODE_ENV_MAX 0x001F |
98 | | |
99 | | /* |
100 | | * Programmer exceptions |
101 | | */ |
102 | 0 | #define AE_BAD_PARAMETER (acpi_status) (0x0001 | AE_CODE_PROGRAMMER) |
103 | | #define AE_BAD_CHARACTER (acpi_status) (0x0002 | AE_CODE_PROGRAMMER) |
104 | | #define AE_BAD_PATHNAME (acpi_status) (0x0003 | AE_CODE_PROGRAMMER) |
105 | | #define AE_BAD_DATA (acpi_status) (0x0004 | AE_CODE_PROGRAMMER) |
106 | | #define AE_BAD_ADDRESS (acpi_status) (0x0005 | AE_CODE_PROGRAMMER) |
107 | | #define AE_ALIGNMENT (acpi_status) (0x0006 | AE_CODE_PROGRAMMER) |
108 | | #define AE_BAD_HEX_CONSTANT (acpi_status) (0x0007 | AE_CODE_PROGRAMMER) |
109 | | #define AE_BAD_OCTAL_CONSTANT (acpi_status) (0x0008 | AE_CODE_PROGRAMMER) |
110 | | #define AE_BAD_DECIMAL_CONSTANT (acpi_status) (0x0009 | AE_CODE_PROGRAMMER) |
111 | | |
112 | | #define AE_CODE_PGM_MAX 0x0009 |
113 | | |
114 | | /* |
115 | | * Acpi table exceptions |
116 | | */ |
117 | | #define AE_BAD_SIGNATURE (acpi_status) (0x0001 | AE_CODE_ACPI_TABLES) |
118 | | #define AE_BAD_HEADER (acpi_status) (0x0002 | AE_CODE_ACPI_TABLES) |
119 | | #define AE_BAD_CHECKSUM (acpi_status) (0x0003 | AE_CODE_ACPI_TABLES) |
120 | | #define AE_BAD_VALUE (acpi_status) (0x0004 | AE_CODE_ACPI_TABLES) |
121 | | #define AE_TABLE_NOT_SUPPORTED (acpi_status) (0x0005 | AE_CODE_ACPI_TABLES) |
122 | 0 | #define AE_INVALID_TABLE_LENGTH (acpi_status) (0x0006 | AE_CODE_ACPI_TABLES) |
123 | | |
124 | | #define AE_CODE_TBL_MAX 0x0006 |
125 | | |
126 | | /* |
127 | | * AML exceptions. These are caused by problems with |
128 | | * the actual AML byte stream |
129 | | */ |
130 | | #define AE_AML_ERROR (acpi_status) (0x0001 | AE_CODE_AML) |
131 | | #define AE_AML_PARSE (acpi_status) (0x0002 | AE_CODE_AML) |
132 | | #define AE_AML_BAD_OPCODE (acpi_status) (0x0003 | AE_CODE_AML) |
133 | | #define AE_AML_NO_OPERAND (acpi_status) (0x0004 | AE_CODE_AML) |
134 | | #define AE_AML_OPERAND_TYPE (acpi_status) (0x0005 | AE_CODE_AML) |
135 | | #define AE_AML_OPERAND_VALUE (acpi_status) (0x0006 | AE_CODE_AML) |
136 | | #define AE_AML_UNINITIALIZED_LOCAL (acpi_status) (0x0007 | AE_CODE_AML) |
137 | | #define AE_AML_UNINITIALIZED_ARG (acpi_status) (0x0008 | AE_CODE_AML) |
138 | | #define AE_AML_UNINITIALIZED_ELEMENT (acpi_status) (0x0009 | AE_CODE_AML) |
139 | | #define AE_AML_NUMERIC_OVERFLOW (acpi_status) (0x000A | AE_CODE_AML) |
140 | | #define AE_AML_REGION_LIMIT (acpi_status) (0x000B | AE_CODE_AML) |
141 | | #define AE_AML_BUFFER_LIMIT (acpi_status) (0x000C | AE_CODE_AML) |
142 | | #define AE_AML_PACKAGE_LIMIT (acpi_status) (0x000D | AE_CODE_AML) |
143 | | #define AE_AML_DIVIDE_BY_ZERO (acpi_status) (0x000E | AE_CODE_AML) |
144 | | #define AE_AML_BAD_NAME (acpi_status) (0x000F | AE_CODE_AML) |
145 | | #define AE_AML_NAME_NOT_FOUND (acpi_status) (0x0010 | AE_CODE_AML) |
146 | | #define AE_AML_INTERNAL (acpi_status) (0x0011 | AE_CODE_AML) |
147 | | #define AE_AML_INVALID_SPACE_ID (acpi_status) (0x0012 | AE_CODE_AML) |
148 | | #define AE_AML_STRING_LIMIT (acpi_status) (0x0013 | AE_CODE_AML) |
149 | | #define AE_AML_NO_RETURN_VALUE (acpi_status) (0x0014 | AE_CODE_AML) |
150 | | #define AE_AML_METHOD_LIMIT (acpi_status) (0x0015 | AE_CODE_AML) |
151 | | #define AE_AML_NOT_OWNER (acpi_status) (0x0016 | AE_CODE_AML) |
152 | | #define AE_AML_MUTEX_ORDER (acpi_status) (0x0017 | AE_CODE_AML) |
153 | | #define AE_AML_MUTEX_NOT_ACQUIRED (acpi_status) (0x0018 | AE_CODE_AML) |
154 | | #define AE_AML_INVALID_RESOURCE_TYPE (acpi_status) (0x0019 | AE_CODE_AML) |
155 | | #define AE_AML_INVALID_INDEX (acpi_status) (0x001A | AE_CODE_AML) |
156 | | #define AE_AML_REGISTER_LIMIT (acpi_status) (0x001B | AE_CODE_AML) |
157 | | #define AE_AML_NO_WHILE (acpi_status) (0x001C | AE_CODE_AML) |
158 | | #define AE_AML_ALIGNMENT (acpi_status) (0x001D | AE_CODE_AML) |
159 | | #define AE_AML_NO_RESOURCE_END_TAG (acpi_status) (0x001E | AE_CODE_AML) |
160 | | #define AE_AML_BAD_RESOURCE_VALUE (acpi_status) (0x001F | AE_CODE_AML) |
161 | | #define AE_AML_CIRCULAR_REFERENCE (acpi_status) (0x0020 | AE_CODE_AML) |
162 | | #define AE_AML_BAD_RESOURCE_LENGTH (acpi_status) (0x0021 | AE_CODE_AML) |
163 | | #define AE_AML_ILLEGAL_ADDRESS (acpi_status) (0x0022 | AE_CODE_AML) |
164 | | |
165 | | #define AE_CODE_AML_MAX 0x0022 |
166 | | |
167 | | /* |
168 | | * Internal exceptions used for control |
169 | | */ |
170 | | #define AE_CTRL_RETURN_VALUE (acpi_status) (0x0001 | AE_CODE_CONTROL) |
171 | | #define AE_CTRL_PENDING (acpi_status) (0x0002 | AE_CODE_CONTROL) |
172 | | #define AE_CTRL_TERMINATE (acpi_status) (0x0003 | AE_CODE_CONTROL) |
173 | | #define AE_CTRL_TRUE (acpi_status) (0x0004 | AE_CODE_CONTROL) |
174 | | #define AE_CTRL_FALSE (acpi_status) (0x0005 | AE_CODE_CONTROL) |
175 | | #define AE_CTRL_DEPTH (acpi_status) (0x0006 | AE_CODE_CONTROL) |
176 | | #define AE_CTRL_END (acpi_status) (0x0007 | AE_CODE_CONTROL) |
177 | | #define AE_CTRL_TRANSFER (acpi_status) (0x0008 | AE_CODE_CONTROL) |
178 | | #define AE_CTRL_BREAK (acpi_status) (0x0009 | AE_CODE_CONTROL) |
179 | | #define AE_CTRL_CONTINUE (acpi_status) (0x000A | AE_CODE_CONTROL) |
180 | | #define AE_CTRL_SKIP (acpi_status) (0x000B | AE_CODE_CONTROL) |
181 | | #define AE_CTRL_PARSE_CONTINUE (acpi_status) (0x000C | AE_CODE_CONTROL) |
182 | | #define AE_CTRL_PARSE_PENDING (acpi_status) (0x000D | AE_CODE_CONTROL) |
183 | | |
184 | | #define AE_CODE_CTRL_MAX 0x000D |
185 | | |
186 | | #ifdef DEFINE_ACPI_GLOBALS |
187 | | |
188 | | /* |
189 | | * String versions of the exception codes above |
190 | | * These strings must match the corresponding defines exactly |
191 | | */ |
192 | | char const *__initdata acpi_gbl_exception_names_env[] = { |
193 | | "AE_OK", |
194 | | "AE_ERROR", |
195 | | "AE_NO_ACPI_TABLES", |
196 | | "AE_NO_NAMESPACE", |
197 | | "AE_NO_MEMORY", |
198 | | "AE_NOT_FOUND", |
199 | | "AE_NOT_EXIST", |
200 | | "AE_ALREADY_EXISTS", |
201 | | "AE_TYPE", |
202 | | "AE_NULL_OBJECT", |
203 | | "AE_NULL_ENTRY", |
204 | | "AE_BUFFER_OVERFLOW", |
205 | | "AE_STACK_OVERFLOW", |
206 | | "AE_STACK_UNDERFLOW", |
207 | | "AE_NOT_IMPLEMENTED", |
208 | | "AE_VERSION_MISMATCH", |
209 | | "AE_SUPPORT", |
210 | | "AE_SHARE", |
211 | | "AE_LIMIT", |
212 | | "AE_TIME", |
213 | | "AE_UNKNOWN_STATUS", |
214 | | "AE_ACQUIRE_DEADLOCK", |
215 | | "AE_RELEASE_DEADLOCK", |
216 | | "AE_NOT_ACQUIRED", |
217 | | "AE_ALREADY_ACQUIRED", |
218 | | "AE_NO_HARDWARE_RESPONSE", |
219 | | "AE_NO_GLOBAL_LOCK", |
220 | | "AE_LOGICAL_ADDRESS", |
221 | | "AE_ABORT_METHOD", |
222 | | "AE_SAME_HANDLER", |
223 | | "AE_WAKE_ONLY_GPE", |
224 | | "AE_OWNER_ID_LIMIT" |
225 | | }; |
226 | | |
227 | | char const *__initdata acpi_gbl_exception_names_pgm[] = { |
228 | | "AE_BAD_PARAMETER", |
229 | | "AE_BAD_CHARACTER", |
230 | | "AE_BAD_PATHNAME", |
231 | | "AE_BAD_DATA", |
232 | | "AE_BAD_ADDRESS", |
233 | | "AE_ALIGNMENT", |
234 | | "AE_BAD_HEX_CONSTANT", |
235 | | "AE_BAD_OCTAL_CONSTANT", |
236 | | "AE_BAD_DECIMAL_CONSTANT" |
237 | | }; |
238 | | |
239 | | char const *__initdata acpi_gbl_exception_names_tbl[] = { |
240 | | "AE_BAD_SIGNATURE", |
241 | | "AE_BAD_HEADER", |
242 | | "AE_BAD_CHECKSUM", |
243 | | "AE_BAD_VALUE", |
244 | | "AE_TABLE_NOT_SUPPORTED", |
245 | | "AE_INVALID_TABLE_LENGTH" |
246 | | }; |
247 | | |
248 | | char const *__initdata acpi_gbl_exception_names_aml[] = { |
249 | | "AE_AML_ERROR", |
250 | | "AE_AML_PARSE", |
251 | | "AE_AML_BAD_OPCODE", |
252 | | "AE_AML_NO_OPERAND", |
253 | | "AE_AML_OPERAND_TYPE", |
254 | | "AE_AML_OPERAND_VALUE", |
255 | | "AE_AML_UNINITIALIZED_LOCAL", |
256 | | "AE_AML_UNINITIALIZED_ARG", |
257 | | "AE_AML_UNINITIALIZED_ELEMENT", |
258 | | "AE_AML_NUMERIC_OVERFLOW", |
259 | | "AE_AML_REGION_LIMIT", |
260 | | "AE_AML_BUFFER_LIMIT", |
261 | | "AE_AML_PACKAGE_LIMIT", |
262 | | "AE_AML_DIVIDE_BY_ZERO", |
263 | | "AE_AML_BAD_NAME", |
264 | | "AE_AML_NAME_NOT_FOUND", |
265 | | "AE_AML_INTERNAL", |
266 | | "AE_AML_INVALID_SPACE_ID", |
267 | | "AE_AML_STRING_LIMIT", |
268 | | "AE_AML_NO_RETURN_VALUE", |
269 | | "AE_AML_METHOD_LIMIT", |
270 | | "AE_AML_NOT_OWNER", |
271 | | "AE_AML_MUTEX_ORDER", |
272 | | "AE_AML_MUTEX_NOT_ACQUIRED", |
273 | | "AE_AML_INVALID_RESOURCE_TYPE", |
274 | | "AE_AML_INVALID_INDEX", |
275 | | "AE_AML_REGISTER_LIMIT", |
276 | | "AE_AML_NO_WHILE", |
277 | | "AE_AML_ALIGNMENT", |
278 | | "AE_AML_NO_RESOURCE_END_TAG", |
279 | | "AE_AML_BAD_RESOURCE_VALUE", |
280 | | "AE_AML_CIRCULAR_REFERENCE", |
281 | | "AE_AML_BAD_RESOURCE_LENGTH", |
282 | | "AE_AML_ILLEGAL_ADDRESS" |
283 | | }; |
284 | | |
285 | | char const *__initdata acpi_gbl_exception_names_ctrl[] = { |
286 | | "AE_CTRL_RETURN_VALUE", |
287 | | "AE_CTRL_PENDING", |
288 | | "AE_CTRL_TERMINATE", |
289 | | "AE_CTRL_TRUE", |
290 | | "AE_CTRL_FALSE", |
291 | | "AE_CTRL_DEPTH", |
292 | | "AE_CTRL_END", |
293 | | "AE_CTRL_TRANSFER", |
294 | | "AE_CTRL_BREAK", |
295 | | "AE_CTRL_CONTINUE", |
296 | | "AE_CTRL_SKIP", |
297 | | "AE_CTRL_PARSE_CONTINUE", |
298 | | "AE_CTRL_PARSE_PENDING" |
299 | | }; |
300 | | |
301 | | #endif /* ACPI GLOBALS */ |
302 | | |
303 | | #endif /* __ACEXCEP_H__ */ |