1 /****************************************************************************** 2 * 3 * Module Name: aslmessages.h - Compiler error/warning messages 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2022, Intel Corp. 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 MERCHANTABILITY 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 __ASLMESSAGES_H 45 #define __ASLMESSAGES_H 46 47 /* These values must match error type string tables in aslmessages.c */ 48 49 typedef enum 50 { 51 ASL_OPTIMIZATION = 0, 52 ASL_REMARK, 53 ASL_WARNING, 54 ASL_WARNING2, 55 ASL_WARNING3, 56 ASL_ERROR, 57 ASL_NUM_REPORT_LEVELS 58 59 } ASL_MESSAGE_TYPES; 60 61 #define ASL_ERROR_LEVEL_LENGTH 8 /* Length of strings for types above */ 62 63 void 64 AhDecodeAslException ( 65 char *HexString); 66 67 /* 68 * Exception code blocks, 0 - 999 69 * Available for new exception blocks: 600 - 999 70 */ 71 #define ASL_MSG_MAIN_COMPILER 0 /* 0 - 299 */ 72 #define ASL_MSG_MAIN_COMPILER_END 299 73 74 #define ASL_MSG_TABLE_COMPILER 300 /* 300 - 499 */ 75 #define ASL_MSG_TABLE_COMPILER_END 499 76 77 #define ASL_MSG_PREPROCESSOR 500 /* 500 - 599 */ 78 #define ASL_MSG_PREPROCESSOR_END 599 79 80 81 /* 82 * Values (message IDs) for all compiler messages. There are currently 83 * three distinct blocks of error messages (so that they can be expanded 84 * individually): 85 * Main ASL compiler 86 * Data Table compiler 87 * Preprocessor 88 * 89 * NOTE1: This list must match the tables of message strings in the file 90 * aslmessages.c exactly. 91 * 92 * NOTE2: With the introduction of the -vw option to disable specific 93 * messages, new messages should only be added to the end of these 94 * lists, so that values for existing messages are not disturbed. 95 */ 96 typedef enum 97 { 98 ASL_MSG_RESERVED = ASL_MSG_MAIN_COMPILER, 99 100 ASL_MSG_ALIGNMENT, 101 ASL_MSG_ALPHANUMERIC_STRING, 102 ASL_MSG_AML_NOT_IMPLEMENTED, 103 ASL_MSG_ARG_COUNT_HI, 104 ASL_MSG_ARG_COUNT_LO, 105 ASL_MSG_ARG_INIT, 106 ASL_MSG_BACKWARDS_OFFSET, 107 ASL_MSG_BUFFER_LENGTH, 108 ASL_MSG_CLOSE, 109 ASL_MSG_COMPILER_INTERNAL, 110 ASL_MSG_COMPILER_RESERVED, 111 ASL_MSG_CONNECTION_MISSING, 112 ASL_MSG_CONNECTION_INVALID, 113 ASL_MSG_CONSTANT_EVALUATION, 114 ASL_MSG_CONSTANT_FOLDED, 115 ASL_MSG_CORE_EXCEPTION, 116 ASL_MSG_DEBUG_FILE_OPEN, 117 ASL_MSG_DEBUG_FILENAME, 118 ASL_MSG_DEPENDENT_NESTING, 119 ASL_MSG_DMA_CHANNEL, 120 ASL_MSG_DMA_LIST, 121 ASL_MSG_DUPLICATE_CASE, 122 ASL_MSG_DUPLICATE_ITEM, 123 ASL_MSG_EARLY_EOF, 124 ASL_MSG_ENCODING_LENGTH, 125 ASL_MSG_EX_INTERRUPT_LIST, 126 ASL_MSG_EX_INTERRUPT_LIST_MIN, 127 ASL_MSG_EX_INTERRUPT_NUMBER, 128 ASL_MSG_FIELD_ACCESS_WIDTH, 129 ASL_MSG_FIELD_UNIT_ACCESS_WIDTH, 130 ASL_MSG_FIELD_UNIT_OFFSET, 131 ASL_MSG_GPE_NAME_CONFLICT, 132 ASL_MSG_HID_LENGTH, 133 ASL_MSG_HID_PREFIX, 134 ASL_MSG_HID_SUFFIX, 135 ASL_MSG_INCLUDE_FILE_OPEN, 136 ASL_MSG_INPUT_FILE_OPEN, 137 ASL_MSG_INTEGER_LENGTH, 138 ASL_MSG_INTEGER_OPTIMIZATION, 139 ASL_MSG_INTERRUPT_LIST, 140 ASL_MSG_INTERRUPT_NUMBER, 141 ASL_MSG_INVALID_ACCESS_SIZE, 142 ASL_MSG_INVALID_ADDR_FLAGS, 143 ASL_MSG_INVALID_CONSTANT_OP, 144 ASL_MSG_INVALID_EISAID, 145 ASL_MSG_INVALID_ESCAPE, 146 ASL_MSG_INVALID_GRAN_FIXED, 147 ASL_MSG_INVALID_GRANULARITY, 148 ASL_MSG_INVALID_LENGTH, 149 ASL_MSG_INVALID_LENGTH_FIXED, 150 ASL_MSG_INVALID_MIN_MAX, 151 ASL_MSG_INVALID_OPERAND, 152 ASL_MSG_INVALID_PERFORMANCE, 153 ASL_MSG_INVALID_PRIORITY, 154 ASL_MSG_INVALID_STRING, 155 ASL_MSG_INVALID_TARGET, 156 ASL_MSG_INVALID_TIME, 157 ASL_MSG_INVALID_TYPE, 158 ASL_MSG_INVALID_UUID, 159 ASL_MSG_ISA_ADDRESS, 160 ASL_MSG_LEADING_ASTERISK, 161 ASL_MSG_LIST_LENGTH_LONG, 162 ASL_MSG_LIST_LENGTH_SHORT, 163 ASL_MSG_LISTING_FILE_OPEN, 164 ASL_MSG_LISTING_FILENAME, 165 ASL_MSG_LOCAL_INIT, 166 ASL_MSG_LOCAL_OUTSIDE_METHOD, 167 ASL_MSG_LONG_LINE, 168 ASL_MSG_MEMORY_ALLOCATION, 169 ASL_MSG_MISSING_ENDDEPENDENT, 170 ASL_MSG_MISSING_STARTDEPENDENT, 171 ASL_MSG_MULTIPLE_DEFAULT, 172 ASL_MSG_MULTIPLE_TYPES, 173 ASL_MSG_NAME_EXISTS, 174 ASL_MSG_NAME_OPTIMIZATION, 175 ASL_MSG_NAMED_OBJECT_IN_WHILE, 176 ASL_MSG_NESTED_COMMENT, 177 ASL_MSG_NO_CASES, 178 ASL_MSG_NO_REGION, 179 ASL_MSG_NO_RETVAL, 180 ASL_MSG_NO_WHILE, 181 ASL_MSG_NON_ASCII, 182 ASL_MSG_BUFFER_FIELD_LENGTH, 183 ASL_MSG_NOT_EXIST, 184 ASL_MSG_NOT_FOUND, 185 ASL_MSG_NOT_METHOD, 186 ASL_MSG_NOT_PARAMETER, 187 ASL_MSG_NOT_REACHABLE, 188 ASL_MSG_NOT_REFERENCED, 189 ASL_MSG_NULL_DESCRIPTOR, 190 ASL_MSG_NULL_STRING, 191 ASL_MSG_OPEN, 192 ASL_MSG_OUTPUT_FILE_OPEN, 193 ASL_MSG_OUTPUT_FILENAME, 194 ASL_MSG_PACKAGE_LENGTH, 195 ASL_MSG_PREPROCESSOR_FILENAME, 196 ASL_MSG_READ, 197 ASL_MSG_RECURSION, 198 ASL_MSG_REGION_BUFFER_ACCESS, 199 ASL_MSG_REGION_BYTE_ACCESS, 200 ASL_MSG_RESERVED_ARG_COUNT_HI, 201 ASL_MSG_RESERVED_ARG_COUNT_LO, 202 ASL_MSG_RESERVED_METHOD, 203 ASL_MSG_RESERVED_NO_RETURN_VAL, 204 ASL_MSG_RESERVED_OPERAND_TYPE, 205 ASL_MSG_RESERVED_PACKAGE_LENGTH, 206 ASL_MSG_RESERVED_RETURN_VALUE, 207 ASL_MSG_RESERVED_USE, 208 ASL_MSG_RESERVED_WORD, 209 ASL_MSG_RESOURCE_FIELD, 210 ASL_MSG_RESOURCE_INDEX, 211 ASL_MSG_RESOURCE_LIST, 212 ASL_MSG_RESOURCE_SOURCE, 213 ASL_MSG_RESULT_NOT_USED, 214 ASL_MSG_RETURN_TYPES, 215 ASL_MSG_SCOPE_FWD_REF, 216 ASL_MSG_SCOPE_TYPE, 217 ASL_MSG_SEEK, 218 ASL_MSG_SERIALIZED, 219 ASL_MSG_SERIALIZED_REQUIRED, 220 ASL_MSG_SINGLE_NAME_OPTIMIZATION, 221 ASL_MSG_SOME_NO_RETVAL, 222 ASL_MSG_STRING_LENGTH, 223 ASL_MSG_SWITCH_TYPE, 224 ASL_MSG_SYNC_LEVEL, 225 ASL_MSG_SYNTAX, 226 ASL_MSG_TABLE_SIGNATURE, 227 ASL_MSG_TAG_LARGER, 228 ASL_MSG_TAG_SMALLER, 229 ASL_MSG_TIMEOUT, 230 ASL_MSG_TOO_MANY_TEMPS, 231 ASL_MSG_TRUNCATION, 232 ASL_MSG_UNKNOWN_RESERVED_NAME, 233 ASL_MSG_UNREACHABLE_CODE, 234 ASL_MSG_UNSUPPORTED, 235 ASL_MSG_UPPER_CASE, 236 ASL_MSG_VENDOR_LIST, 237 ASL_MSG_WRITE, 238 ASL_MSG_RANGE, 239 ASL_MSG_BUFFER_ALLOCATION, 240 ASL_MSG_MISSING_DEPENDENCY, 241 ASL_MSG_ILLEGAL_FORWARD_REF, 242 ASL_MSG_ILLEGAL_METHOD_REF, 243 ASL_MSG_LOCAL_NOT_USED, 244 ASL_MSG_ARG_AS_LOCAL_NOT_USED, 245 ASL_MSG_ARG_NOT_USED, 246 ASL_MSG_CONSTANT_REQUIRED, 247 ASL_MSG_CROSS_TABLE_SCOPE, 248 ASL_MSG_EXCEPTION_NOT_RECEIVED, 249 ASL_MSG_NULL_RESOURCE_TEMPLATE, 250 ASL_MSG_FOUND_HERE, 251 ASL_MSG_ILLEGAL_RECURSION, 252 ASL_MSG_DUPLICATE_INPUT_FILE, 253 ASL_MSG_WARNING_AS_ERROR, 254 ASL_MSG_OEM_TABLE_ID, 255 ASL_MSG_OEM_ID, 256 ASL_MSG_UNLOAD, 257 ASL_MSG_OFFSET, 258 ASL_MSG_LONG_SLEEP, 259 ASL_MSG_PREFIX_NOT_EXIST, 260 ASL_MSG_NAMEPATH_NOT_EXIST, 261 ASL_MSG_REGION_LENGTH, 262 ASL_MSG_TEMPORARY_OBJECT, 263 ASL_MSG_UNDEFINED_EXTERNAL, 264 ASL_MSG_BUFFER_FIELD_OVERFLOW, 265 ASL_MSG_INVALID_SPECIAL_NAME, 266 ASL_MSG_INVALID_PROCESSOR_UID, 267 ASL_MSG_LEGACY_PROCESSOR_OP, 268 ASL_MSG_NAMESTRING_LENGTH, 269 ASL_MSG_CASE_FOUND_HERE, 270 ASL_MSG_EXTERN_INVALID_RET_TYPE, 271 ASL_MSG_EXTERN_INVALID_PARAM_TYPE, 272 ASL_MSG_NAMED_OBJECT_CREATION, 273 ASL_MSG_ARG_COUNT_MISMATCH, 274 ASL_MSG_STATIC_OPREGION_IN_METHOD, 275 ASL_MSG_DECLARATION_TYPE_MISMATCH, 276 ASL_MSG_TYPE_MISMATCH_FOUND_HERE, 277 ASL_MSG_DUPLICATE_EXTERN_MISMATCH, 278 ASL_MSG_DUPLICATE_EXTERN_FOUND_HERE, 279 ASL_MSG_CONDREF_NEEDS_EXTERNAL_DECL, 280 ASL_MSG_EXTERNAL_FOUND_HERE, 281 ASL_MSG_LOWER_CASE_NAMESEG, 282 ASL_MSG_LOWER_CASE_NAMEPATH, 283 ASL_MSG_UUID_NOT_FOUND, 284 ASL_MSG_LEGACY_DDB_TYPE, 285 286 287 /* These messages are used by the Data Table compiler only */ 288 289 ASL_MSG_BUFFER_ELEMENT = ASL_MSG_TABLE_COMPILER, 290 ASL_MSG_DIVIDE_BY_ZERO, 291 ASL_MSG_FLAG_VALUE, 292 ASL_MSG_INTEGER_SIZE, 293 ASL_MSG_INVALID_EXPRESSION, 294 ASL_MSG_INVALID_FIELD_NAME, 295 ASL_MSG_INVALID_HEX_INTEGER, 296 ASL_MSG_OEM_TABLE, 297 ASL_MSG_RESERVED_FIELD, 298 ASL_MSG_UNKNOWN_LABEL, 299 ASL_MSG_UNKNOWN_SUBTABLE, 300 ASL_MSG_UNKNOWN_TABLE, 301 ASL_MSG_ZERO_VALUE, 302 ASL_MSG_INVALID_LABEL, 303 ASL_MSG_BUFFER_LIST, 304 ASL_MSG_ENTRY_LIST, 305 ASL_MSG_UNKNOWN_FORMAT, 306 ASL_MSG_RESERVED_VALUE, 307 ASL_MSG_TWO_ZERO_VALUES, 308 ASL_MSG_BAD_PARSE_TREE, 309 310 /* These messages are used by the Preprocessor only */ 311 312 ASL_MSG_DIRECTIVE_SYNTAX = ASL_MSG_PREPROCESSOR, 313 ASL_MSG_ENDIF_MISMATCH, 314 ASL_MSG_ERROR_DIRECTIVE, 315 ASL_MSG_EXISTING_NAME, 316 ASL_MSG_INVALID_INVOCATION, 317 ASL_MSG_MACRO_SYNTAX, 318 ASL_MSG_TOO_MANY_ARGUMENTS, 319 ASL_MSG_UNKNOWN_DIRECTIVE, 320 ASL_MSG_UNKNOWN_PRAGMA, 321 ASL_MSG_WARNING_DIRECTIVE, 322 ASL_MSG_INCLUDE_FILE 323 324 } ASL_MESSAGE_IDS; 325 326 327 #endif /* __ASLMESSAGES_H */ 328