2 /******************************************************************************
4 * Module Name: aslmessages.h - Compiler error/warning messages
6 *****************************************************************************/
9 * Copyright (C) 2000 - 2011, Intel Corp.
10 * All rights reserved.
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions, and the following disclaimer,
17 * without modification.
18 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
19 * substantially similar to the "NO WARRANTY" disclaimer below
20 * ("Disclaimer") and any redistribution must be conditioned upon
21 * including a substantially similar Disclaimer requirement for further
22 * binary redistribution.
23 * 3. Neither the names of the above-listed copyright holders nor the names
24 * of any contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
27 * Alternatively, this software may be distributed under the terms of the
28 * GNU General Public License ("GPL") version 2 as published by the Free
29 * Software Foundation.
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
35 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
36 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
46 #ifndef __ASLMESSAGES_H
47 #define __ASLMESSAGES_H
51 #define ASL_WARNING2 1
52 #define ASL_WARNING3 2
55 #define ASL_OPTIMIZATION 5
56 #define ASL_NUM_REPORT_LEVELS 6
59 /* Values for all compiler messages */
66 ASL_MSG_ALPHANUMERIC_STRING,
67 ASL_MSG_AML_NOT_IMPLEMENTED,
71 ASL_MSG_BACKWARDS_OFFSET,
72 ASL_MSG_BUFFER_LENGTH,
74 ASL_MSG_COMPILER_INTERNAL,
75 ASL_MSG_COMPILER_RESERVED,
76 ASL_MSG_CONNECTION_MISSING,
77 ASL_MSG_CONNECTION_INVALID,
78 ASL_MSG_CONSTANT_EVALUATION,
79 ASL_MSG_CONSTANT_FOLDED,
80 ASL_MSG_CORE_EXCEPTION,
81 ASL_MSG_DEBUG_FILE_OPEN,
82 ASL_MSG_DEBUG_FILENAME,
83 ASL_MSG_DEPENDENT_NESTING,
86 ASL_MSG_DUPLICATE_CASE,
87 ASL_MSG_DUPLICATE_ITEM,
89 ASL_MSG_ENCODING_LENGTH,
90 ASL_MSG_EX_INTERRUPT_LIST,
91 ASL_MSG_EX_INTERRUPT_LIST_MIN,
92 ASL_MSG_EX_INTERRUPT_NUMBER,
93 ASL_MSG_FIELD_ACCESS_WIDTH,
94 ASL_MSG_FIELD_UNIT_ACCESS_WIDTH,
95 ASL_MSG_FIELD_UNIT_OFFSET,
96 ASL_MSG_GPE_NAME_CONFLICT,
100 ASL_MSG_INCLUDE_FILE_OPEN,
101 ASL_MSG_INPUT_FILE_OPEN,
102 ASL_MSG_INTEGER_LENGTH,
103 ASL_MSG_INTEGER_OPTIMIZATION,
104 ASL_MSG_INTERRUPT_LIST,
105 ASL_MSG_INTERRUPT_NUMBER,
106 ASL_MSG_INVALID_ACCESS_SIZE,
107 ASL_MSG_INVALID_ADDR_FLAGS,
108 ASL_MSG_INVALID_CONSTANT_OP,
109 ASL_MSG_INVALID_EISAID,
110 ASL_MSG_INVALID_ESCAPE,
111 ASL_MSG_INVALID_GRAN_FIXED,
112 ASL_MSG_INVALID_GRANULARITY,
113 ASL_MSG_INVALID_LENGTH,
114 ASL_MSG_INVALID_LENGTH_FIXED,
115 ASL_MSG_INVALID_MIN_MAX,
116 ASL_MSG_INVALID_OPERAND,
117 ASL_MSG_INVALID_PERFORMANCE,
118 ASL_MSG_INVALID_PRIORITY,
119 ASL_MSG_INVALID_STRING,
120 ASL_MSG_INVALID_TARGET,
121 ASL_MSG_INVALID_TIME,
122 ASL_MSG_INVALID_TYPE,
123 ASL_MSG_INVALID_UUID,
125 ASL_MSG_LEADING_ASTERISK,
126 ASL_MSG_LIST_LENGTH_LONG,
127 ASL_MSG_LIST_LENGTH_SHORT,
128 ASL_MSG_LISTING_FILE_OPEN,
129 ASL_MSG_LISTING_FILENAME,
131 ASL_MSG_LOCAL_OUTSIDE_METHOD,
133 ASL_MSG_MEMORY_ALLOCATION,
134 ASL_MSG_MISSING_ENDDEPENDENT,
135 ASL_MSG_MISSING_STARTDEPENDENT,
136 ASL_MSG_MULTIPLE_DEFAULT,
137 ASL_MSG_MULTIPLE_TYPES,
139 ASL_MSG_NAME_OPTIMIZATION,
140 ASL_MSG_NAMED_OBJECT_IN_WHILE,
141 ASL_MSG_NESTED_COMMENT,
151 ASL_MSG_NOT_PARAMETER,
152 ASL_MSG_NOT_REACHABLE,
153 ASL_MSG_NOT_REFERENCED,
154 ASL_MSG_NULL_DESCRIPTOR,
157 ASL_MSG_OUTPUT_FILE_OPEN,
158 ASL_MSG_OUTPUT_FILENAME,
159 ASL_MSG_PACKAGE_LENGTH,
162 ASL_MSG_REGION_BUFFER_ACCESS,
163 ASL_MSG_REGION_BYTE_ACCESS,
164 ASL_MSG_RESERVED_ARG_COUNT_HI,
165 ASL_MSG_RESERVED_ARG_COUNT_LO,
166 ASL_MSG_RESERVED_METHOD,
167 ASL_MSG_RESERVED_NO_RETURN_VAL,
168 ASL_MSG_RESERVED_OPERAND_TYPE,
169 ASL_MSG_RESERVED_RETURN_VALUE,
170 ASL_MSG_RESERVED_USE,
171 ASL_MSG_RESERVED_WORD,
172 ASL_MSG_RESOURCE_FIELD,
173 ASL_MSG_RESOURCE_INDEX,
174 ASL_MSG_RESOURCE_LIST,
175 ASL_MSG_RESOURCE_SOURCE,
176 ASL_MSG_RESULT_NOT_USED,
177 ASL_MSG_RETURN_TYPES,
178 ASL_MSG_SCOPE_FWD_REF,
182 ASL_MSG_SINGLE_NAME_OPTIMIZATION,
183 ASL_MSG_SOME_NO_RETVAL,
184 ASL_MSG_STRING_LENGTH,
188 ASL_MSG_TABLE_SIGNATURE,
192 ASL_MSG_TOO_MANY_TEMPS,
193 ASL_MSG_UNKNOWN_RESERVED_NAME,
194 ASL_MSG_UNREACHABLE_CODE,
200 /* These messages are used by the data table compiler only */
202 ASL_MSG_BUFFER_ELEMENT,
203 ASL_MSG_DIVIDE_BY_ZERO,
205 ASL_MSG_INTEGER_SIZE,
206 ASL_MSG_INVALID_EXPRESSION,
207 ASL_MSG_INVALID_FIELD_NAME,
208 ASL_MSG_INVALID_HEX_INTEGER,
210 ASL_MSG_RESERVED_VALUE,
211 ASL_MSG_UNKNOWN_LABEL,
212 ASL_MSG_UNKNOWN_SUBTABLE,
213 ASL_MSG_UNKNOWN_TABLE,
219 #ifdef ASL_EXCEPTIONS
221 /* Actual message strings for each compiler message */
223 char *AslMessages [] = {
224 /* The zeroth message is reserved */ "",
225 /* ASL_MSG_ALIGNMENT */ "Must be a multiple of alignment/granularity value",
226 /* ASL_MSG_ALPHANUMERIC_STRING */ "String must be entirely alphanumeric",
227 /* ASL_MSG_AML_NOT_IMPLEMENTED */ "Opcode is not implemented in compiler AML code generator",
228 /* ASL_MSG_ARG_COUNT_HI */ "Too many arguments",
229 /* ASL_MSG_ARG_COUNT_LO */ "Too few arguments",
230 /* ASL_MSG_ARG_INIT */ "Method argument is not initialized",
231 /* ASL_MSG_BACKWARDS_OFFSET */ "Invalid backwards offset",
232 /* ASL_MSG_BUFFER_LENGTH */ "Effective AML buffer length is zero",
233 /* ASL_MSG_CLOSE */ "Could not close file",
234 /* ASL_MSG_COMPILER_INTERNAL */ "Internal compiler error",
235 /* ASL_MSG_COMPILER_RESERVED */ "Use of compiler reserved name",
236 /* ASL_MSG_CONNECTION_MISSING */ "A Connection operator is required for this field SpaceId",
237 /* ASL_MSG_CONNECTION_INVALID */ "Invalid OpRegion SpaceId for use of Connection operator",
238 /* ASL_MSG_CONSTANT_EVALUATION */ "Could not evaluate constant expression",
239 /* ASL_MSG_CONSTANT_FOLDED */ "Constant expression evaluated and reduced",
240 /* ASL_MSG_CORE_EXCEPTION */ "From ACPI CA Subsystem",
241 /* ASL_MSG_DEBUG_FILE_OPEN */ "Could not open debug file",
242 /* ASL_MSG_DEBUG_FILENAME */ "Could not create debug filename",
243 /* ASL_MSG_DEPENDENT_NESTING */ "Dependent function macros cannot be nested",\
244 /* ASL_MSG_DMA_CHANNEL */ "Invalid DMA channel (must be 0-7)",
245 /* ASL_MSG_DMA_LIST */ "Too many DMA channels (8 max)",
246 /* ASL_MSG_DUPLICATE_CASE */ "Case value already specified",
247 /* ASL_MSG_DUPLICATE_ITEM */ "Duplicate value in list",
248 /* ASL_MSG_EARLY_EOF */ "Premature end-of-file reached",
249 /* ASL_MSG_ENCODING_LENGTH */ "Package length too long to encode",
250 /* ASL_MSG_EX_INTERRUPT_LIST */ "Too many interrupts (255 max)",
251 /* ASL_MSG_EX_INTERRUPT_LIST_MIN */ "Too few interrupts (1 minimum required)",
252 /* ASL_MSG_EX_INTERRUPT_NUMBER */ "Invalid interrupt number (must be 32 bits)",
253 /* ASL_MSG_FIELD_ACCESS_WIDTH */ "Access width is greater than region size",
254 /* ASL_MSG_FIELD_UNIT_ACCESS_WIDTH */ "Access width of Field Unit extends beyond region limit",
255 /* ASL_MSG_FIELD_UNIT_OFFSET */ "Field Unit extends beyond region limit",
256 /* ASL_MSG_GPE_NAME_CONFLICT */ "Name conflicts with a previous GPE method",
257 /* ASL_MSG_HID_LENGTH */ "_HID string must be exactly 7 or 8 characters",
258 /* ASL_MSG_HID_PREFIX */ "_HID prefix must be all uppercase or decimal digits",
259 /* ASL_MSG_HID_SUFFIX */ "_HID suffix must be all hex digits",
260 /* ASL_MSG_INCLUDE_FILE_OPEN */ "Could not open include file",
261 /* ASL_MSG_INPUT_FILE_OPEN */ "Could not open input file",
262 /* ASL_MSG_INTEGER_LENGTH */ "64-bit integer in 32-bit table, truncating",
263 /* ASL_MSG_INTEGER_OPTIMIZATION */ "Integer optimized to single-byte AML opcode",
264 /* ASL_MSG_INTERRUPT_LIST */ "Too many interrupts (16 max)",
265 /* ASL_MSG_INTERRUPT_NUMBER */ "Invalid interrupt number (must be 0-15)",
266 /* ASL_MSG_INVALID_ACCESS_SIZE */ "Invalid AccessSize (Maximum is 4 - QWord access)",
267 /* ASL_MSG_INVALID_ADDR_FLAGS */ "Invalid combination of Length and Min/Max fixed flags",
268 /* ASL_MSG_INVALID_CONSTANT_OP */ "Invalid operator in constant expression (not type 3/4/5)",
269 /* ASL_MSG_INVALID_EISAID */ "EISAID string must be of the form \"UUUXXXX\" (3 uppercase, 4 hex digits)",
270 /* ASL_MSG_INVALID_ESCAPE */ "Invalid or unknown escape sequence",
271 /* ASL_MSG_INVALID_GRAN_FIXED */ "Granularity must be zero for fixed Min/Max",
272 /* ASL_MSG_INVALID_GRANULARITY */ "Granularity must be zero or a power of two minus one",
273 /* ASL_MSG_INVALID_LENGTH */ "Length is larger than Min/Max window",
274 /* ASL_MSG_INVALID_LENGTH_FIXED */ "Length is not equal to fixed Min/Max window",
275 /* ASL_MSG_INVALID_MIN_MAX */ "Address Min is greater than Address Max",
276 /* ASL_MSG_INVALID_OPERAND */ "Invalid operand",
277 /* ASL_MSG_INVALID_PERFORMANCE */ "Invalid performance/robustness value",
278 /* ASL_MSG_INVALID_PRIORITY */ "Invalid priority value",
279 /* ASL_MSG_INVALID_STRING */ "Invalid Hex/Octal Escape - Non-ASCII or NULL",
280 /* ASL_MSG_INVALID_TARGET */ "Target operand not allowed in constant expression",
281 /* ASL_MSG_INVALID_TIME */ "Time parameter too long (255 max)",
282 /* ASL_MSG_INVALID_TYPE */ "Invalid type",
283 /* ASL_MSG_INVALID_UUID */ "UUID string must be of the form \"aabbccdd-eeff-gghh-iijj-kkllmmnnoopp\"",
284 /* ASL_MSG_ISA_ADDRESS */ "Maximum 10-bit ISA address (0x3FF)",
285 /* ASL_MSG_LEADING_ASTERISK */ "Invalid leading asterisk",
286 /* ASL_MSG_LIST_LENGTH_LONG */ "Initializer list longer than declared package length",
287 /* ASL_MSG_LIST_LENGTH_SHORT */ "Initializer list shorter than declared package length",
288 /* ASL_MSG_LISTING_FILE_OPEN */ "Could not open listing file",
289 /* ASL_MSG_LISTING_FILENAME */ "Could not create listing filename",
290 /* ASL_MSG_LOCAL_INIT */ "Method local variable is not initialized",
291 /* ASL_MSG_LOCAL_OUTSIDE_METHOD */ "Local or Arg used outside a control method",
292 /* ASL_MSG_LONG_LINE */ "Splitting long input line",
293 /* ASL_MSG_MEMORY_ALLOCATION */ "Memory allocation failure",
294 /* ASL_MSG_MISSING_ENDDEPENDENT */ "Missing EndDependentFn() macro in dependent resource list",
295 /* ASL_MSG_MISSING_STARTDEPENDENT */ "Missing StartDependentFn() macro in dependent resource list",
296 /* ASL_MSG_MULTIPLE_DEFAULT */ "More than one Default statement within Switch construct",
297 /* ASL_MSG_MULTIPLE_TYPES */ "Multiple types",
298 /* ASL_MSG_NAME_EXISTS */ "Name already exists in scope",
299 /* ASL_MSG_NAME_OPTIMIZATION */ "NamePath optimized",
300 /* ASL_MSG_NAMED_OBJECT_IN_WHILE */ "Creating a named object in a While loop",
301 /* ASL_MSG_NESTED_COMMENT */ "Nested comment found",
302 /* ASL_MSG_NO_CASES */ "No Case statements under Switch",
303 /* ASL_MSG_NO_REGION */ "_REG has no corresponding Operation Region",
304 /* ASL_MSG_NO_RETVAL */ "Called method returns no value",
305 /* ASL_MSG_NO_WHILE */ "No enclosing While statement",
306 /* ASL_MSG_NON_ASCII */ "Invalid characters found in file",
307 /* ASL_MSG_NON_ZERO */ "Operand evaluates to zero",
308 /* ASL_MSG_NOT_EXIST */ "Object does not exist",
309 /* ASL_MSG_NOT_FOUND */ "Object not found or not accessible from scope",
310 /* ASL_MSG_NOT_METHOD */ "Not a control method, cannot invoke",
311 /* ASL_MSG_NOT_PARAMETER */ "Not a parameter, used as local only",
312 /* ASL_MSG_NOT_REACHABLE */ "Object is not accessible from this scope",
313 /* ASL_MSG_NOT_REFERENCED */ "Namespace object is not referenced",
314 /* ASL_MSG_NULL_DESCRIPTOR */ "Min/Max/Length/Gran are all zero, but no resource tag",
315 /* ASL_MSG_NULL_STRING */ "Invalid zero-length (null) string",
316 /* ASL_MSG_OPEN */ "Could not open file",
317 /* ASL_MSG_OUTPUT_FILE_OPEN */ "Could not open output AML file",
318 /* ASL_MSG_OUTPUT_FILENAME */ "Could not create output filename",
319 /* ASL_MSG_PACKAGE_LENGTH */ "Effective AML package length is zero",
320 /* ASL_MSG_READ */ "Could not read file",
321 /* ASL_MSG_RECURSION */ "Recursive method call",
322 /* ASL_MSG_REGION_BUFFER_ACCESS */ "Host Operation Region requires BufferAcc access",
323 /* ASL_MSG_REGION_BYTE_ACCESS */ "Host Operation Region requires ByteAcc access",
324 /* ASL_MSG_RESERVED_ARG_COUNT_HI */ "Reserved method has too many arguments",
325 /* ASL_MSG_RESERVED_ARG_COUNT_LO */ "Reserved method has too few arguments",
326 /* ASL_MSG_RESERVED_METHOD */ "Reserved name must be a control method",
327 /* ASL_MSG_RESERVED_NO_RETURN_VAL */ "Reserved method should not return a value",
328 /* ASL_MSG_RESERVED_OPERAND_TYPE */ "Invalid object type for reserved name",
329 /* ASL_MSG_RESERVED_RETURN_VALUE */ "Reserved method must return a value",
330 /* ASL_MSG_RESERVED_USE */ "Invalid use of reserved name",
331 /* ASL_MSG_RESERVED_WORD */ "Use of reserved name",
332 /* ASL_MSG_RESOURCE_FIELD */ "Resource field name cannot be used as a target",
333 /* ASL_MSG_RESOURCE_INDEX */ "Missing ResourceSourceIndex (required)",
334 /* ASL_MSG_RESOURCE_LIST */ "Too many resource items (internal error)",
335 /* ASL_MSG_RESOURCE_SOURCE */ "Missing ResourceSource string (required)",
336 /* ASL_MSG_RESULT_NOT_USED */ "Result is not used, operator has no effect",
337 /* ASL_MSG_RETURN_TYPES */ "Not all control paths return a value",
338 /* ASL_MSG_SCOPE_FWD_REF */ "Forward references from Scope operator not allowed",
339 /* ASL_MSG_SCOPE_TYPE */ "Existing object has invalid type for Scope operator",
340 /* ASL_MSG_SEEK */ "Could not seek file",
341 /* ASL_MSG_SERIALIZED */ "Control Method marked Serialized",
342 /* ASL_MSG_SINGLE_NAME_OPTIMIZATION */ "NamePath optimized to NameSeg (uses run-time search path)",
343 /* ASL_MSG_SOME_NO_RETVAL */ "Called method may not always return a value",
344 /* ASL_MSG_STRING_LENGTH */ "String literal too long",
345 /* ASL_MSG_SWITCH_TYPE */ "Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer",
346 /* ASL_MSG_SYNC_LEVEL */ "SyncLevel must be in the range 0-15",
347 /* ASL_MSG_SYNTAX */ "",
348 /* ASL_MSG_TABLE_SIGNATURE */ "Invalid Table Signature",
349 /* ASL_MSG_TAG_LARGER */ "ResourceTag larger than Field",
350 /* ASL_MSG_TAG_SMALLER */ "ResourceTag smaller than Field",
351 /* ASL_MSG_TIMEOUT */ "Result is not used, possible operator timeout will be missed",
352 /* ASL_MSG_TOO_MANY_TEMPS */ "Method requires too many temporary variables (_T_x)",
353 /* ASL_MSG_UNKNOWN_RESERVED_NAME */ "Unknown reserved name",
354 /* ASL_MSG_UNREACHABLE_CODE */ "Statement is unreachable",
355 /* ASL_MSG_UNSUPPORTED */ "Unsupported feature",
356 /* ASL_MSG_UPPER_CASE */ "Non-hex letters must be upper case",
357 /* ASL_MSG_VENDOR_LIST */ "Too many vendor data bytes (7 max)",
358 /* ASL_MSG_WRITE */ "Could not write file",
360 /* These messages are used by the data table compiler only */
362 /* ASL_MSG_BUFFER_ELEMENT */ "Invalid element in buffer initializer list",
363 /* ASL_MSG_DIVIDE_BY_ZERO */ "Expression contains divide-by-zero",
364 /* ASL_MSG_FLAG_VALUE */ "Flag value is too large",
365 /* ASL_MSG_INTEGER_SIZE */ "Integer too large for target",
366 /* ASL_MSG_INVALID_EXPRESSION */ "Invalid expression",
367 /* ASL_MSG_INVALID_FIELD_NAME */ "Invalid Field Name",
368 /* ASL_MSG_INVALID_HEX_INTEGER */ "Invalid hex integer constant",
369 /* ASL_MSG_OEM_TABLE */ "OEM table - unknown contents",
370 /* ASL_MSG_RESERVED_VALUE */ "Reserved field must be zero",
371 /* ASL_MSG_UNKNOWN_LABEL */ "Label is undefined",
372 /* ASL_MSG_UNKNOWN_SUBTABLE */ "Unknown subtable type",
373 /* ASL_MSG_UNKNOWN_TABLE */ "Unknown ACPI table signature",
374 /* ASL_MSG_ZERO_VALUE */ "Value must be non-zero"
378 char *AslErrorLevel [ASL_NUM_REPORT_LEVELS] = {
387 #define ASL_ERROR_LEVEL_LENGTH 8 /* Length of strings above */
389 #endif /* ASL_EXCEPTIONS */
391 #endif /* __ASLMESSAGES_H */