18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 28c2ecf20Sopenharmony_ci/****************************************************************************** 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Name: acexcep.h - Exception codes returned by the ACPI subsystem 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Copyright (C) 2000 - 2020, Intel Corp. 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci *****************************************************************************/ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#ifndef __ACEXCEP_H__ 118c2ecf20Sopenharmony_ci#define __ACEXCEP_H__ 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/* This module contains all possible exception codes for acpi_status */ 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/* 168c2ecf20Sopenharmony_ci * Exception code classes 178c2ecf20Sopenharmony_ci */ 188c2ecf20Sopenharmony_ci#define AE_CODE_ENVIRONMENTAL 0x0000 /* General ACPICA environment */ 198c2ecf20Sopenharmony_ci#define AE_CODE_PROGRAMMER 0x1000 /* External ACPICA interface caller */ 208c2ecf20Sopenharmony_ci#define AE_CODE_ACPI_TABLES 0x2000 /* ACPI tables */ 218c2ecf20Sopenharmony_ci#define AE_CODE_AML 0x3000 /* From executing AML code */ 228c2ecf20Sopenharmony_ci#define AE_CODE_CONTROL 0x4000 /* Internal control codes */ 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#define AE_CODE_MAX 0x4000 258c2ecf20Sopenharmony_ci#define AE_CODE_MASK 0xF000 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci/* 288c2ecf20Sopenharmony_ci * Macros to insert the exception code classes 298c2ecf20Sopenharmony_ci */ 308c2ecf20Sopenharmony_ci#define EXCEP_ENV(code) ((acpi_status) (code | AE_CODE_ENVIRONMENTAL)) 318c2ecf20Sopenharmony_ci#define EXCEP_PGM(code) ((acpi_status) (code | AE_CODE_PROGRAMMER)) 328c2ecf20Sopenharmony_ci#define EXCEP_TBL(code) ((acpi_status) (code | AE_CODE_ACPI_TABLES)) 338c2ecf20Sopenharmony_ci#define EXCEP_AML(code) ((acpi_status) (code | AE_CODE_AML)) 348c2ecf20Sopenharmony_ci#define EXCEP_CTL(code) ((acpi_status) (code | AE_CODE_CONTROL)) 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci/* 378c2ecf20Sopenharmony_ci * Exception info table. The "Description" field is used only by the 388c2ecf20Sopenharmony_ci * ACPICA help application (acpihelp). 398c2ecf20Sopenharmony_ci */ 408c2ecf20Sopenharmony_cistruct acpi_exception_info { 418c2ecf20Sopenharmony_ci char *name; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER) 448c2ecf20Sopenharmony_ci char *description; 458c2ecf20Sopenharmony_ci#endif 468c2ecf20Sopenharmony_ci}; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER) 498c2ecf20Sopenharmony_ci#define EXCEP_TXT(name,description) {name, description} 508c2ecf20Sopenharmony_ci#else 518c2ecf20Sopenharmony_ci#define EXCEP_TXT(name,description) {name} 528c2ecf20Sopenharmony_ci#endif 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci/* 558c2ecf20Sopenharmony_ci * Success is always zero, failure is non-zero 568c2ecf20Sopenharmony_ci */ 578c2ecf20Sopenharmony_ci#define ACPI_SUCCESS(a) (!(a)) 588c2ecf20Sopenharmony_ci#define ACPI_FAILURE(a) (a) 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci#define AE_OK (acpi_status) 0x0000 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci#define ACPI_ENV_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL) 638c2ecf20Sopenharmony_ci#define ACPI_AML_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_AML) 648c2ecf20Sopenharmony_ci#define ACPI_PROG_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER) 658c2ecf20Sopenharmony_ci#define ACPI_TABLE_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES) 668c2ecf20Sopenharmony_ci#define ACPI_CNTL_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_CONTROL) 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci/* 698c2ecf20Sopenharmony_ci * Environmental exceptions 708c2ecf20Sopenharmony_ci */ 718c2ecf20Sopenharmony_ci#define AE_ERROR EXCEP_ENV (0x0001) 728c2ecf20Sopenharmony_ci#define AE_NO_ACPI_TABLES EXCEP_ENV (0x0002) 738c2ecf20Sopenharmony_ci#define AE_NO_NAMESPACE EXCEP_ENV (0x0003) 748c2ecf20Sopenharmony_ci#define AE_NO_MEMORY EXCEP_ENV (0x0004) 758c2ecf20Sopenharmony_ci#define AE_NOT_FOUND EXCEP_ENV (0x0005) 768c2ecf20Sopenharmony_ci#define AE_NOT_EXIST EXCEP_ENV (0x0006) 778c2ecf20Sopenharmony_ci#define AE_ALREADY_EXISTS EXCEP_ENV (0x0007) 788c2ecf20Sopenharmony_ci#define AE_TYPE EXCEP_ENV (0x0008) 798c2ecf20Sopenharmony_ci#define AE_NULL_OBJECT EXCEP_ENV (0x0009) 808c2ecf20Sopenharmony_ci#define AE_NULL_ENTRY EXCEP_ENV (0x000A) 818c2ecf20Sopenharmony_ci#define AE_BUFFER_OVERFLOW EXCEP_ENV (0x000B) 828c2ecf20Sopenharmony_ci#define AE_STACK_OVERFLOW EXCEP_ENV (0x000C) 838c2ecf20Sopenharmony_ci#define AE_STACK_UNDERFLOW EXCEP_ENV (0x000D) 848c2ecf20Sopenharmony_ci#define AE_NOT_IMPLEMENTED EXCEP_ENV (0x000E) 858c2ecf20Sopenharmony_ci#define AE_SUPPORT EXCEP_ENV (0x000F) 868c2ecf20Sopenharmony_ci#define AE_LIMIT EXCEP_ENV (0x0010) 878c2ecf20Sopenharmony_ci#define AE_TIME EXCEP_ENV (0x0011) 888c2ecf20Sopenharmony_ci#define AE_ACQUIRE_DEADLOCK EXCEP_ENV (0x0012) 898c2ecf20Sopenharmony_ci#define AE_RELEASE_DEADLOCK EXCEP_ENV (0x0013) 908c2ecf20Sopenharmony_ci#define AE_NOT_ACQUIRED EXCEP_ENV (0x0014) 918c2ecf20Sopenharmony_ci#define AE_ALREADY_ACQUIRED EXCEP_ENV (0x0015) 928c2ecf20Sopenharmony_ci#define AE_NO_HARDWARE_RESPONSE EXCEP_ENV (0x0016) 938c2ecf20Sopenharmony_ci#define AE_NO_GLOBAL_LOCK EXCEP_ENV (0x0017) 948c2ecf20Sopenharmony_ci#define AE_ABORT_METHOD EXCEP_ENV (0x0018) 958c2ecf20Sopenharmony_ci#define AE_SAME_HANDLER EXCEP_ENV (0x0019) 968c2ecf20Sopenharmony_ci#define AE_NO_HANDLER EXCEP_ENV (0x001A) 978c2ecf20Sopenharmony_ci#define AE_OWNER_ID_LIMIT EXCEP_ENV (0x001B) 988c2ecf20Sopenharmony_ci#define AE_NOT_CONFIGURED EXCEP_ENV (0x001C) 998c2ecf20Sopenharmony_ci#define AE_ACCESS EXCEP_ENV (0x001D) 1008c2ecf20Sopenharmony_ci#define AE_IO_ERROR EXCEP_ENV (0x001E) 1018c2ecf20Sopenharmony_ci#define AE_NUMERIC_OVERFLOW EXCEP_ENV (0x001F) 1028c2ecf20Sopenharmony_ci#define AE_HEX_OVERFLOW EXCEP_ENV (0x0020) 1038c2ecf20Sopenharmony_ci#define AE_DECIMAL_OVERFLOW EXCEP_ENV (0x0021) 1048c2ecf20Sopenharmony_ci#define AE_OCTAL_OVERFLOW EXCEP_ENV (0x0022) 1058c2ecf20Sopenharmony_ci#define AE_END_OF_TABLE EXCEP_ENV (0x0023) 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci#define AE_CODE_ENV_MAX 0x0023 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci/* 1108c2ecf20Sopenharmony_ci * Programmer exceptions 1118c2ecf20Sopenharmony_ci */ 1128c2ecf20Sopenharmony_ci#define AE_BAD_PARAMETER EXCEP_PGM (0x0001) 1138c2ecf20Sopenharmony_ci#define AE_BAD_CHARACTER EXCEP_PGM (0x0002) 1148c2ecf20Sopenharmony_ci#define AE_BAD_PATHNAME EXCEP_PGM (0x0003) 1158c2ecf20Sopenharmony_ci#define AE_BAD_DATA EXCEP_PGM (0x0004) 1168c2ecf20Sopenharmony_ci#define AE_BAD_HEX_CONSTANT EXCEP_PGM (0x0005) 1178c2ecf20Sopenharmony_ci#define AE_BAD_OCTAL_CONSTANT EXCEP_PGM (0x0006) 1188c2ecf20Sopenharmony_ci#define AE_BAD_DECIMAL_CONSTANT EXCEP_PGM (0x0007) 1198c2ecf20Sopenharmony_ci#define AE_MISSING_ARGUMENTS EXCEP_PGM (0x0008) 1208c2ecf20Sopenharmony_ci#define AE_BAD_ADDRESS EXCEP_PGM (0x0009) 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci#define AE_CODE_PGM_MAX 0x0009 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci/* 1258c2ecf20Sopenharmony_ci * Acpi table exceptions 1268c2ecf20Sopenharmony_ci */ 1278c2ecf20Sopenharmony_ci#define AE_BAD_SIGNATURE EXCEP_TBL (0x0001) 1288c2ecf20Sopenharmony_ci#define AE_BAD_HEADER EXCEP_TBL (0x0002) 1298c2ecf20Sopenharmony_ci#define AE_BAD_CHECKSUM EXCEP_TBL (0x0003) 1308c2ecf20Sopenharmony_ci#define AE_BAD_VALUE EXCEP_TBL (0x0004) 1318c2ecf20Sopenharmony_ci#define AE_INVALID_TABLE_LENGTH EXCEP_TBL (0x0005) 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci#define AE_CODE_TBL_MAX 0x0005 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci/* 1368c2ecf20Sopenharmony_ci * AML exceptions. These are caused by problems with 1378c2ecf20Sopenharmony_ci * the actual AML byte stream 1388c2ecf20Sopenharmony_ci */ 1398c2ecf20Sopenharmony_ci#define AE_AML_BAD_OPCODE EXCEP_AML (0x0001) 1408c2ecf20Sopenharmony_ci#define AE_AML_NO_OPERAND EXCEP_AML (0x0002) 1418c2ecf20Sopenharmony_ci#define AE_AML_OPERAND_TYPE EXCEP_AML (0x0003) 1428c2ecf20Sopenharmony_ci#define AE_AML_OPERAND_VALUE EXCEP_AML (0x0004) 1438c2ecf20Sopenharmony_ci#define AE_AML_UNINITIALIZED_LOCAL EXCEP_AML (0x0005) 1448c2ecf20Sopenharmony_ci#define AE_AML_UNINITIALIZED_ARG EXCEP_AML (0x0006) 1458c2ecf20Sopenharmony_ci#define AE_AML_UNINITIALIZED_ELEMENT EXCEP_AML (0x0007) 1468c2ecf20Sopenharmony_ci#define AE_AML_NUMERIC_OVERFLOW EXCEP_AML (0x0008) 1478c2ecf20Sopenharmony_ci#define AE_AML_REGION_LIMIT EXCEP_AML (0x0009) 1488c2ecf20Sopenharmony_ci#define AE_AML_BUFFER_LIMIT EXCEP_AML (0x000A) 1498c2ecf20Sopenharmony_ci#define AE_AML_PACKAGE_LIMIT EXCEP_AML (0x000B) 1508c2ecf20Sopenharmony_ci#define AE_AML_DIVIDE_BY_ZERO EXCEP_AML (0x000C) 1518c2ecf20Sopenharmony_ci#define AE_AML_BAD_NAME EXCEP_AML (0x000D) 1528c2ecf20Sopenharmony_ci#define AE_AML_NAME_NOT_FOUND EXCEP_AML (0x000E) 1538c2ecf20Sopenharmony_ci#define AE_AML_INTERNAL EXCEP_AML (0x000F) 1548c2ecf20Sopenharmony_ci#define AE_AML_INVALID_SPACE_ID EXCEP_AML (0x0010) 1558c2ecf20Sopenharmony_ci#define AE_AML_STRING_LIMIT EXCEP_AML (0x0011) 1568c2ecf20Sopenharmony_ci#define AE_AML_NO_RETURN_VALUE EXCEP_AML (0x0012) 1578c2ecf20Sopenharmony_ci#define AE_AML_METHOD_LIMIT EXCEP_AML (0x0013) 1588c2ecf20Sopenharmony_ci#define AE_AML_NOT_OWNER EXCEP_AML (0x0014) 1598c2ecf20Sopenharmony_ci#define AE_AML_MUTEX_ORDER EXCEP_AML (0x0015) 1608c2ecf20Sopenharmony_ci#define AE_AML_MUTEX_NOT_ACQUIRED EXCEP_AML (0x0016) 1618c2ecf20Sopenharmony_ci#define AE_AML_INVALID_RESOURCE_TYPE EXCEP_AML (0x0017) 1628c2ecf20Sopenharmony_ci#define AE_AML_INVALID_INDEX EXCEP_AML (0x0018) 1638c2ecf20Sopenharmony_ci#define AE_AML_REGISTER_LIMIT EXCEP_AML (0x0019) 1648c2ecf20Sopenharmony_ci#define AE_AML_NO_WHILE EXCEP_AML (0x001A) 1658c2ecf20Sopenharmony_ci#define AE_AML_ALIGNMENT EXCEP_AML (0x001B) 1668c2ecf20Sopenharmony_ci#define AE_AML_NO_RESOURCE_END_TAG EXCEP_AML (0x001C) 1678c2ecf20Sopenharmony_ci#define AE_AML_BAD_RESOURCE_VALUE EXCEP_AML (0x001D) 1688c2ecf20Sopenharmony_ci#define AE_AML_CIRCULAR_REFERENCE EXCEP_AML (0x001E) 1698c2ecf20Sopenharmony_ci#define AE_AML_BAD_RESOURCE_LENGTH EXCEP_AML (0x001F) 1708c2ecf20Sopenharmony_ci#define AE_AML_ILLEGAL_ADDRESS EXCEP_AML (0x0020) 1718c2ecf20Sopenharmony_ci#define AE_AML_LOOP_TIMEOUT EXCEP_AML (0x0021) 1728c2ecf20Sopenharmony_ci#define AE_AML_UNINITIALIZED_NODE EXCEP_AML (0x0022) 1738c2ecf20Sopenharmony_ci#define AE_AML_TARGET_TYPE EXCEP_AML (0x0023) 1748c2ecf20Sopenharmony_ci#define AE_AML_PROTOCOL EXCEP_AML (0x0024) 1758c2ecf20Sopenharmony_ci#define AE_AML_BUFFER_LENGTH EXCEP_AML (0x0025) 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci#define AE_CODE_AML_MAX 0x0025 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci/* 1808c2ecf20Sopenharmony_ci * Internal exceptions used for control 1818c2ecf20Sopenharmony_ci */ 1828c2ecf20Sopenharmony_ci#define AE_CTRL_RETURN_VALUE EXCEP_CTL (0x0001) 1838c2ecf20Sopenharmony_ci#define AE_CTRL_PENDING EXCEP_CTL (0x0002) 1848c2ecf20Sopenharmony_ci#define AE_CTRL_TERMINATE EXCEP_CTL (0x0003) 1858c2ecf20Sopenharmony_ci#define AE_CTRL_TRUE EXCEP_CTL (0x0004) 1868c2ecf20Sopenharmony_ci#define AE_CTRL_FALSE EXCEP_CTL (0x0005) 1878c2ecf20Sopenharmony_ci#define AE_CTRL_DEPTH EXCEP_CTL (0x0006) 1888c2ecf20Sopenharmony_ci#define AE_CTRL_END EXCEP_CTL (0x0007) 1898c2ecf20Sopenharmony_ci#define AE_CTRL_TRANSFER EXCEP_CTL (0x0008) 1908c2ecf20Sopenharmony_ci#define AE_CTRL_BREAK EXCEP_CTL (0x0009) 1918c2ecf20Sopenharmony_ci#define AE_CTRL_CONTINUE EXCEP_CTL (0x000A) 1928c2ecf20Sopenharmony_ci#define AE_CTRL_PARSE_CONTINUE EXCEP_CTL (0x000B) 1938c2ecf20Sopenharmony_ci#define AE_CTRL_PARSE_PENDING EXCEP_CTL (0x000C) 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci#define AE_CODE_CTRL_MAX 0x000C 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci/* Exception strings for acpi_format_exception */ 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci#ifdef ACPI_DEFINE_EXCEPTION_TABLE 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci/* 2028c2ecf20Sopenharmony_ci * String versions of the exception codes above 2038c2ecf20Sopenharmony_ci * These strings must match the corresponding defines exactly 2048c2ecf20Sopenharmony_ci */ 2058c2ecf20Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_env[] = { 2068c2ecf20Sopenharmony_ci EXCEP_TXT("AE_OK", "No error"), 2078c2ecf20Sopenharmony_ci EXCEP_TXT("AE_ERROR", "Unspecified error"), 2088c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NO_ACPI_TABLES", "ACPI tables could not be found"), 2098c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NO_NAMESPACE", "A namespace has not been loaded"), 2108c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NO_MEMORY", "Insufficient dynamic memory"), 2118c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NOT_FOUND", "A requested entity is not found"), 2128c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NOT_EXIST", "A required entity does not exist"), 2138c2ecf20Sopenharmony_ci EXCEP_TXT("AE_ALREADY_EXISTS", "An entity already exists"), 2148c2ecf20Sopenharmony_ci EXCEP_TXT("AE_TYPE", "The object type is incorrect"), 2158c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NULL_OBJECT", "A required object was missing"), 2168c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NULL_ENTRY", "The requested object does not exist"), 2178c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BUFFER_OVERFLOW", "The buffer provided is too small"), 2188c2ecf20Sopenharmony_ci EXCEP_TXT("AE_STACK_OVERFLOW", "An internal stack overflowed"), 2198c2ecf20Sopenharmony_ci EXCEP_TXT("AE_STACK_UNDERFLOW", "An internal stack underflowed"), 2208c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NOT_IMPLEMENTED", "The feature is not implemented"), 2218c2ecf20Sopenharmony_ci EXCEP_TXT("AE_SUPPORT", "The feature is not supported"), 2228c2ecf20Sopenharmony_ci EXCEP_TXT("AE_LIMIT", "A predefined limit was exceeded"), 2238c2ecf20Sopenharmony_ci EXCEP_TXT("AE_TIME", "A time limit or timeout expired"), 2248c2ecf20Sopenharmony_ci EXCEP_TXT("AE_ACQUIRE_DEADLOCK", 2258c2ecf20Sopenharmony_ci "Internal error, attempt was made to acquire a mutex in improper order"), 2268c2ecf20Sopenharmony_ci EXCEP_TXT("AE_RELEASE_DEADLOCK", 2278c2ecf20Sopenharmony_ci "Internal error, attempt was made to release a mutex in improper order"), 2288c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NOT_ACQUIRED", 2298c2ecf20Sopenharmony_ci "An attempt to release a mutex or Global Lock without a previous acquire"), 2308c2ecf20Sopenharmony_ci EXCEP_TXT("AE_ALREADY_ACQUIRED", 2318c2ecf20Sopenharmony_ci "Internal error, attempt was made to acquire a mutex twice"), 2328c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NO_HARDWARE_RESPONSE", 2338c2ecf20Sopenharmony_ci "Hardware did not respond after an I/O operation"), 2348c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NO_GLOBAL_LOCK", "There is no FACS Global Lock"), 2358c2ecf20Sopenharmony_ci EXCEP_TXT("AE_ABORT_METHOD", "A control method was aborted"), 2368c2ecf20Sopenharmony_ci EXCEP_TXT("AE_SAME_HANDLER", 2378c2ecf20Sopenharmony_ci "Attempt was made to install the same handler that is already installed"), 2388c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NO_HANDLER", 2398c2ecf20Sopenharmony_ci "A handler for the operation is not installed"), 2408c2ecf20Sopenharmony_ci EXCEP_TXT("AE_OWNER_ID_LIMIT", 2418c2ecf20Sopenharmony_ci "There are no more Owner IDs available for ACPI tables or control methods"), 2428c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NOT_CONFIGURED", 2438c2ecf20Sopenharmony_ci "The interface is not part of the current subsystem configuration"), 2448c2ecf20Sopenharmony_ci EXCEP_TXT("AE_ACCESS", "Permission denied for the requested operation"), 2458c2ecf20Sopenharmony_ci EXCEP_TXT("AE_IO_ERROR", "An I/O error occurred"), 2468c2ecf20Sopenharmony_ci EXCEP_TXT("AE_NUMERIC_OVERFLOW", 2478c2ecf20Sopenharmony_ci "Overflow during string-to-integer conversion"), 2488c2ecf20Sopenharmony_ci EXCEP_TXT("AE_HEX_OVERFLOW", 2498c2ecf20Sopenharmony_ci "Overflow during ASCII hex-to-binary conversion"), 2508c2ecf20Sopenharmony_ci EXCEP_TXT("AE_DECIMAL_OVERFLOW", 2518c2ecf20Sopenharmony_ci "Overflow during ASCII decimal-to-binary conversion"), 2528c2ecf20Sopenharmony_ci EXCEP_TXT("AE_OCTAL_OVERFLOW", 2538c2ecf20Sopenharmony_ci "Overflow during ASCII octal-to-binary conversion"), 2548c2ecf20Sopenharmony_ci EXCEP_TXT("AE_END_OF_TABLE", "Reached the end of table") 2558c2ecf20Sopenharmony_ci}; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_pgm[] = { 2588c2ecf20Sopenharmony_ci EXCEP_TXT(NULL, NULL), 2598c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_PARAMETER", "A parameter is out of range or invalid"), 2608c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_CHARACTER", 2618c2ecf20Sopenharmony_ci "An invalid character was found in a name"), 2628c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_PATHNAME", 2638c2ecf20Sopenharmony_ci "An invalid character was found in a pathname"), 2648c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_DATA", 2658c2ecf20Sopenharmony_ci "A package or buffer contained incorrect data"), 2668c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_HEX_CONSTANT", "Invalid character in a Hex constant"), 2678c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_OCTAL_CONSTANT", 2688c2ecf20Sopenharmony_ci "Invalid character in an Octal constant"), 2698c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_DECIMAL_CONSTANT", 2708c2ecf20Sopenharmony_ci "Invalid character in a Decimal constant"), 2718c2ecf20Sopenharmony_ci EXCEP_TXT("AE_MISSING_ARGUMENTS", 2728c2ecf20Sopenharmony_ci "Too few arguments were passed to a control method"), 2738c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_ADDRESS", "An illegal null I/O address") 2748c2ecf20Sopenharmony_ci}; 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_tbl[] = { 2778c2ecf20Sopenharmony_ci EXCEP_TXT(NULL, NULL), 2788c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_SIGNATURE", "An ACPI table has an invalid signature"), 2798c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_HEADER", "Invalid field in an ACPI table header"), 2808c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_CHECKSUM", "An ACPI table checksum is not correct"), 2818c2ecf20Sopenharmony_ci EXCEP_TXT("AE_BAD_VALUE", "An invalid value was found in a table"), 2828c2ecf20Sopenharmony_ci EXCEP_TXT("AE_INVALID_TABLE_LENGTH", 2838c2ecf20Sopenharmony_ci "The FADT or FACS has improper length") 2848c2ecf20Sopenharmony_ci}; 2858c2ecf20Sopenharmony_ci 2868c2ecf20Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_aml[] = { 2878c2ecf20Sopenharmony_ci EXCEP_TXT(NULL, NULL), 2888c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_OPCODE", "Invalid AML opcode encountered"), 2898c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NO_OPERAND", "A required operand is missing"), 2908c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_OPERAND_TYPE", 2918c2ecf20Sopenharmony_ci "An operand of an incorrect type was encountered"), 2928c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_OPERAND_VALUE", 2938c2ecf20Sopenharmony_ci "The operand had an inappropriate or invalid value"), 2948c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_LOCAL", 2958c2ecf20Sopenharmony_ci "Method tried to use an uninitialized local variable"), 2968c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_ARG", 2978c2ecf20Sopenharmony_ci "Method tried to use an uninitialized argument"), 2988c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_ELEMENT", 2998c2ecf20Sopenharmony_ci "Method tried to use an empty package element"), 3008c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NUMERIC_OVERFLOW", 3018c2ecf20Sopenharmony_ci "Overflow during BCD conversion or other"), 3028c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_REGION_LIMIT", 3038c2ecf20Sopenharmony_ci "Tried to access beyond the end of an Operation Region"), 3048c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_BUFFER_LIMIT", 3058c2ecf20Sopenharmony_ci "Tried to access beyond the end of a buffer"), 3068c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_PACKAGE_LIMIT", 3078c2ecf20Sopenharmony_ci "Tried to access beyond the end of a package"), 3088c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_DIVIDE_BY_ZERO", 3098c2ecf20Sopenharmony_ci "During execution of AML Divide operator"), 3108c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_NAME", 3118c2ecf20Sopenharmony_ci "An ACPI name contains invalid character(s)"), 3128c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NAME_NOT_FOUND", 3138c2ecf20Sopenharmony_ci "Could not resolve a named reference"), 3148c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_INTERNAL", 3158c2ecf20Sopenharmony_ci "An internal error within the interpreter"), 3168c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_INVALID_SPACE_ID", 3178c2ecf20Sopenharmony_ci "An Operation Region SpaceID is invalid"), 3188c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_STRING_LIMIT", 3198c2ecf20Sopenharmony_ci "String is longer than 200 characters"), 3208c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NO_RETURN_VALUE", 3218c2ecf20Sopenharmony_ci "A method did not return a required value"), 3228c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_METHOD_LIMIT", 3238c2ecf20Sopenharmony_ci "A control method reached the maximum reentrancy limit of 255"), 3248c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NOT_OWNER", 3258c2ecf20Sopenharmony_ci "A thread tried to release a mutex that it does not own"), 3268c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_MUTEX_ORDER", "Mutex SyncLevel release mismatch"), 3278c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_MUTEX_NOT_ACQUIRED", 3288c2ecf20Sopenharmony_ci "Attempt to release a mutex that was not previously acquired"), 3298c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_INVALID_RESOURCE_TYPE", 3308c2ecf20Sopenharmony_ci "Invalid resource type in resource list"), 3318c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_INVALID_INDEX", 3328c2ecf20Sopenharmony_ci "Invalid Argx or Localx (x too large)"), 3338c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_REGISTER_LIMIT", 3348c2ecf20Sopenharmony_ci "Bank value or Index value beyond range of register"), 3358c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NO_WHILE", "Break or Continue without a While"), 3368c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_ALIGNMENT", 3378c2ecf20Sopenharmony_ci "Non-aligned memory transfer on platform that does not support this"), 3388c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_NO_RESOURCE_END_TAG", 3398c2ecf20Sopenharmony_ci "No End Tag in a resource list"), 3408c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_RESOURCE_VALUE", 3418c2ecf20Sopenharmony_ci "Invalid value of a resource element"), 3428c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_CIRCULAR_REFERENCE", 3438c2ecf20Sopenharmony_ci "Two references refer to each other"), 3448c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_RESOURCE_LENGTH", 3458c2ecf20Sopenharmony_ci "The length of a Resource Descriptor in the AML is incorrect"), 3468c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_ILLEGAL_ADDRESS", 3478c2ecf20Sopenharmony_ci "A memory, I/O, or PCI configuration address is invalid"), 3488c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_LOOP_TIMEOUT", 3498c2ecf20Sopenharmony_ci "An AML While loop exceeded the maximum execution time"), 3508c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_NODE", 3518c2ecf20Sopenharmony_ci "A namespace node is uninitialized or unresolved"), 3528c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_TARGET_TYPE", 3538c2ecf20Sopenharmony_ci "A target operand of an incorrect type was encountered"), 3548c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_PROTOCOL", "Violation of a fixed ACPI protocol"), 3558c2ecf20Sopenharmony_ci EXCEP_TXT("AE_AML_BUFFER_LENGTH", 3568c2ecf20Sopenharmony_ci "The length of the buffer is invalid/incorrect") 3578c2ecf20Sopenharmony_ci}; 3588c2ecf20Sopenharmony_ci 3598c2ecf20Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_ctrl[] = { 3608c2ecf20Sopenharmony_ci EXCEP_TXT(NULL, NULL), 3618c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_RETURN_VALUE", "A Method returned a value"), 3628c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_PENDING", "Method is calling another method"), 3638c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_TERMINATE", "Terminate the executing method"), 3648c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_TRUE", "An If or While predicate result"), 3658c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_FALSE", "An If or While predicate result"), 3668c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_DEPTH", "Maximum search depth has been reached"), 3678c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_END", "An If or While predicate is false"), 3688c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_TRANSFER", "Transfer control to called method"), 3698c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_BREAK", "A Break has been executed"), 3708c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_CONTINUE", "A Continue has been executed"), 3718c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"), 3728c2ecf20Sopenharmony_ci EXCEP_TXT("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops") 3738c2ecf20Sopenharmony_ci}; 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ci#endif /* EXCEPTION_TABLE */ 3768c2ecf20Sopenharmony_ci 3778c2ecf20Sopenharmony_ci#endif /* __ACEXCEP_H__ */ 378