162306a36Sopenharmony_ci/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 262306a36Sopenharmony_ci/****************************************************************************** 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Name: acexcep.h - Exception codes returned by the ACPI subsystem 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 2000 - 2023, Intel Corp. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci *****************************************************************************/ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef __ACEXCEP_H__ 1162306a36Sopenharmony_ci#define __ACEXCEP_H__ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* This module contains all possible exception codes for acpi_status */ 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/* 1662306a36Sopenharmony_ci * Exception code classes 1762306a36Sopenharmony_ci */ 1862306a36Sopenharmony_ci#define AE_CODE_ENVIRONMENTAL 0x0000 /* General ACPICA environment */ 1962306a36Sopenharmony_ci#define AE_CODE_PROGRAMMER 0x1000 /* External ACPICA interface caller */ 2062306a36Sopenharmony_ci#define AE_CODE_ACPI_TABLES 0x2000 /* ACPI tables */ 2162306a36Sopenharmony_ci#define AE_CODE_AML 0x3000 /* From executing AML code */ 2262306a36Sopenharmony_ci#define AE_CODE_CONTROL 0x4000 /* Internal control codes */ 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#define AE_CODE_MAX 0x4000 2562306a36Sopenharmony_ci#define AE_CODE_MASK 0xF000 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci/* 2862306a36Sopenharmony_ci * Macros to insert the exception code classes 2962306a36Sopenharmony_ci */ 3062306a36Sopenharmony_ci#define EXCEP_ENV(code) ((acpi_status) (code | AE_CODE_ENVIRONMENTAL)) 3162306a36Sopenharmony_ci#define EXCEP_PGM(code) ((acpi_status) (code | AE_CODE_PROGRAMMER)) 3262306a36Sopenharmony_ci#define EXCEP_TBL(code) ((acpi_status) (code | AE_CODE_ACPI_TABLES)) 3362306a36Sopenharmony_ci#define EXCEP_AML(code) ((acpi_status) (code | AE_CODE_AML)) 3462306a36Sopenharmony_ci#define EXCEP_CTL(code) ((acpi_status) (code | AE_CODE_CONTROL)) 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci/* 3762306a36Sopenharmony_ci * Exception info table. The "Description" field is used only by the 3862306a36Sopenharmony_ci * ACPICA help application (acpihelp). 3962306a36Sopenharmony_ci */ 4062306a36Sopenharmony_cistruct acpi_exception_info { 4162306a36Sopenharmony_ci char *name; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER) 4462306a36Sopenharmony_ci char *description; 4562306a36Sopenharmony_ci#endif 4662306a36Sopenharmony_ci}; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER) 4962306a36Sopenharmony_ci#define EXCEP_TXT(name,description) {name, description} 5062306a36Sopenharmony_ci#else 5162306a36Sopenharmony_ci#define EXCEP_TXT(name,description) {name} 5262306a36Sopenharmony_ci#endif 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci/* 5562306a36Sopenharmony_ci * Success is always zero, failure is non-zero 5662306a36Sopenharmony_ci */ 5762306a36Sopenharmony_ci#define ACPI_SUCCESS(a) (!(a)) 5862306a36Sopenharmony_ci#define ACPI_FAILURE(a) (a) 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci#define AE_OK (acpi_status) 0x0000 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci#define ACPI_ENV_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL) 6362306a36Sopenharmony_ci#define ACPI_AML_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_AML) 6462306a36Sopenharmony_ci#define ACPI_PROG_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER) 6562306a36Sopenharmony_ci#define ACPI_TABLE_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES) 6662306a36Sopenharmony_ci#define ACPI_CNTL_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_CONTROL) 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci/* 6962306a36Sopenharmony_ci * Environmental exceptions 7062306a36Sopenharmony_ci */ 7162306a36Sopenharmony_ci#define AE_ERROR EXCEP_ENV (0x0001) 7262306a36Sopenharmony_ci#define AE_NO_ACPI_TABLES EXCEP_ENV (0x0002) 7362306a36Sopenharmony_ci#define AE_NO_NAMESPACE EXCEP_ENV (0x0003) 7462306a36Sopenharmony_ci#define AE_NO_MEMORY EXCEP_ENV (0x0004) 7562306a36Sopenharmony_ci#define AE_NOT_FOUND EXCEP_ENV (0x0005) 7662306a36Sopenharmony_ci#define AE_NOT_EXIST EXCEP_ENV (0x0006) 7762306a36Sopenharmony_ci#define AE_ALREADY_EXISTS EXCEP_ENV (0x0007) 7862306a36Sopenharmony_ci#define AE_TYPE EXCEP_ENV (0x0008) 7962306a36Sopenharmony_ci#define AE_NULL_OBJECT EXCEP_ENV (0x0009) 8062306a36Sopenharmony_ci#define AE_NULL_ENTRY EXCEP_ENV (0x000A) 8162306a36Sopenharmony_ci#define AE_BUFFER_OVERFLOW EXCEP_ENV (0x000B) 8262306a36Sopenharmony_ci#define AE_STACK_OVERFLOW EXCEP_ENV (0x000C) 8362306a36Sopenharmony_ci#define AE_STACK_UNDERFLOW EXCEP_ENV (0x000D) 8462306a36Sopenharmony_ci#define AE_NOT_IMPLEMENTED EXCEP_ENV (0x000E) 8562306a36Sopenharmony_ci#define AE_SUPPORT EXCEP_ENV (0x000F) 8662306a36Sopenharmony_ci#define AE_LIMIT EXCEP_ENV (0x0010) 8762306a36Sopenharmony_ci#define AE_TIME EXCEP_ENV (0x0011) 8862306a36Sopenharmony_ci#define AE_ACQUIRE_DEADLOCK EXCEP_ENV (0x0012) 8962306a36Sopenharmony_ci#define AE_RELEASE_DEADLOCK EXCEP_ENV (0x0013) 9062306a36Sopenharmony_ci#define AE_NOT_ACQUIRED EXCEP_ENV (0x0014) 9162306a36Sopenharmony_ci#define AE_ALREADY_ACQUIRED EXCEP_ENV (0x0015) 9262306a36Sopenharmony_ci#define AE_NO_HARDWARE_RESPONSE EXCEP_ENV (0x0016) 9362306a36Sopenharmony_ci#define AE_NO_GLOBAL_LOCK EXCEP_ENV (0x0017) 9462306a36Sopenharmony_ci#define AE_ABORT_METHOD EXCEP_ENV (0x0018) 9562306a36Sopenharmony_ci#define AE_SAME_HANDLER EXCEP_ENV (0x0019) 9662306a36Sopenharmony_ci#define AE_NO_HANDLER EXCEP_ENV (0x001A) 9762306a36Sopenharmony_ci#define AE_OWNER_ID_LIMIT EXCEP_ENV (0x001B) 9862306a36Sopenharmony_ci#define AE_NOT_CONFIGURED EXCEP_ENV (0x001C) 9962306a36Sopenharmony_ci#define AE_ACCESS EXCEP_ENV (0x001D) 10062306a36Sopenharmony_ci#define AE_IO_ERROR EXCEP_ENV (0x001E) 10162306a36Sopenharmony_ci#define AE_NUMERIC_OVERFLOW EXCEP_ENV (0x001F) 10262306a36Sopenharmony_ci#define AE_HEX_OVERFLOW EXCEP_ENV (0x0020) 10362306a36Sopenharmony_ci#define AE_DECIMAL_OVERFLOW EXCEP_ENV (0x0021) 10462306a36Sopenharmony_ci#define AE_OCTAL_OVERFLOW EXCEP_ENV (0x0022) 10562306a36Sopenharmony_ci#define AE_END_OF_TABLE EXCEP_ENV (0x0023) 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci#define AE_CODE_ENV_MAX 0x0023 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci/* 11062306a36Sopenharmony_ci * Programmer exceptions 11162306a36Sopenharmony_ci */ 11262306a36Sopenharmony_ci#define AE_BAD_PARAMETER EXCEP_PGM (0x0001) 11362306a36Sopenharmony_ci#define AE_BAD_CHARACTER EXCEP_PGM (0x0002) 11462306a36Sopenharmony_ci#define AE_BAD_PATHNAME EXCEP_PGM (0x0003) 11562306a36Sopenharmony_ci#define AE_BAD_DATA EXCEP_PGM (0x0004) 11662306a36Sopenharmony_ci#define AE_BAD_HEX_CONSTANT EXCEP_PGM (0x0005) 11762306a36Sopenharmony_ci#define AE_BAD_OCTAL_CONSTANT EXCEP_PGM (0x0006) 11862306a36Sopenharmony_ci#define AE_BAD_DECIMAL_CONSTANT EXCEP_PGM (0x0007) 11962306a36Sopenharmony_ci#define AE_MISSING_ARGUMENTS EXCEP_PGM (0x0008) 12062306a36Sopenharmony_ci#define AE_BAD_ADDRESS EXCEP_PGM (0x0009) 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci#define AE_CODE_PGM_MAX 0x0009 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci/* 12562306a36Sopenharmony_ci * Acpi table exceptions 12662306a36Sopenharmony_ci */ 12762306a36Sopenharmony_ci#define AE_BAD_SIGNATURE EXCEP_TBL (0x0001) 12862306a36Sopenharmony_ci#define AE_BAD_HEADER EXCEP_TBL (0x0002) 12962306a36Sopenharmony_ci#define AE_BAD_CHECKSUM EXCEP_TBL (0x0003) 13062306a36Sopenharmony_ci#define AE_BAD_VALUE EXCEP_TBL (0x0004) 13162306a36Sopenharmony_ci#define AE_INVALID_TABLE_LENGTH EXCEP_TBL (0x0005) 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci#define AE_CODE_TBL_MAX 0x0005 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci/* 13662306a36Sopenharmony_ci * AML exceptions. These are caused by problems with 13762306a36Sopenharmony_ci * the actual AML byte stream 13862306a36Sopenharmony_ci */ 13962306a36Sopenharmony_ci#define AE_AML_BAD_OPCODE EXCEP_AML (0x0001) 14062306a36Sopenharmony_ci#define AE_AML_NO_OPERAND EXCEP_AML (0x0002) 14162306a36Sopenharmony_ci#define AE_AML_OPERAND_TYPE EXCEP_AML (0x0003) 14262306a36Sopenharmony_ci#define AE_AML_OPERAND_VALUE EXCEP_AML (0x0004) 14362306a36Sopenharmony_ci#define AE_AML_UNINITIALIZED_LOCAL EXCEP_AML (0x0005) 14462306a36Sopenharmony_ci#define AE_AML_UNINITIALIZED_ARG EXCEP_AML (0x0006) 14562306a36Sopenharmony_ci#define AE_AML_UNINITIALIZED_ELEMENT EXCEP_AML (0x0007) 14662306a36Sopenharmony_ci#define AE_AML_NUMERIC_OVERFLOW EXCEP_AML (0x0008) 14762306a36Sopenharmony_ci#define AE_AML_REGION_LIMIT EXCEP_AML (0x0009) 14862306a36Sopenharmony_ci#define AE_AML_BUFFER_LIMIT EXCEP_AML (0x000A) 14962306a36Sopenharmony_ci#define AE_AML_PACKAGE_LIMIT EXCEP_AML (0x000B) 15062306a36Sopenharmony_ci#define AE_AML_DIVIDE_BY_ZERO EXCEP_AML (0x000C) 15162306a36Sopenharmony_ci#define AE_AML_BAD_NAME EXCEP_AML (0x000D) 15262306a36Sopenharmony_ci#define AE_AML_NAME_NOT_FOUND EXCEP_AML (0x000E) 15362306a36Sopenharmony_ci#define AE_AML_INTERNAL EXCEP_AML (0x000F) 15462306a36Sopenharmony_ci#define AE_AML_INVALID_SPACE_ID EXCEP_AML (0x0010) 15562306a36Sopenharmony_ci#define AE_AML_STRING_LIMIT EXCEP_AML (0x0011) 15662306a36Sopenharmony_ci#define AE_AML_NO_RETURN_VALUE EXCEP_AML (0x0012) 15762306a36Sopenharmony_ci#define AE_AML_METHOD_LIMIT EXCEP_AML (0x0013) 15862306a36Sopenharmony_ci#define AE_AML_NOT_OWNER EXCEP_AML (0x0014) 15962306a36Sopenharmony_ci#define AE_AML_MUTEX_ORDER EXCEP_AML (0x0015) 16062306a36Sopenharmony_ci#define AE_AML_MUTEX_NOT_ACQUIRED EXCEP_AML (0x0016) 16162306a36Sopenharmony_ci#define AE_AML_INVALID_RESOURCE_TYPE EXCEP_AML (0x0017) 16262306a36Sopenharmony_ci#define AE_AML_INVALID_INDEX EXCEP_AML (0x0018) 16362306a36Sopenharmony_ci#define AE_AML_REGISTER_LIMIT EXCEP_AML (0x0019) 16462306a36Sopenharmony_ci#define AE_AML_NO_WHILE EXCEP_AML (0x001A) 16562306a36Sopenharmony_ci#define AE_AML_ALIGNMENT EXCEP_AML (0x001B) 16662306a36Sopenharmony_ci#define AE_AML_NO_RESOURCE_END_TAG EXCEP_AML (0x001C) 16762306a36Sopenharmony_ci#define AE_AML_BAD_RESOURCE_VALUE EXCEP_AML (0x001D) 16862306a36Sopenharmony_ci#define AE_AML_CIRCULAR_REFERENCE EXCEP_AML (0x001E) 16962306a36Sopenharmony_ci#define AE_AML_BAD_RESOURCE_LENGTH EXCEP_AML (0x001F) 17062306a36Sopenharmony_ci#define AE_AML_ILLEGAL_ADDRESS EXCEP_AML (0x0020) 17162306a36Sopenharmony_ci#define AE_AML_LOOP_TIMEOUT EXCEP_AML (0x0021) 17262306a36Sopenharmony_ci#define AE_AML_UNINITIALIZED_NODE EXCEP_AML (0x0022) 17362306a36Sopenharmony_ci#define AE_AML_TARGET_TYPE EXCEP_AML (0x0023) 17462306a36Sopenharmony_ci#define AE_AML_PROTOCOL EXCEP_AML (0x0024) 17562306a36Sopenharmony_ci#define AE_AML_BUFFER_LENGTH EXCEP_AML (0x0025) 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci#define AE_CODE_AML_MAX 0x0025 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci/* 18062306a36Sopenharmony_ci * Internal exceptions used for control 18162306a36Sopenharmony_ci */ 18262306a36Sopenharmony_ci#define AE_CTRL_RETURN_VALUE EXCEP_CTL (0x0001) 18362306a36Sopenharmony_ci#define AE_CTRL_PENDING EXCEP_CTL (0x0002) 18462306a36Sopenharmony_ci#define AE_CTRL_TERMINATE EXCEP_CTL (0x0003) 18562306a36Sopenharmony_ci#define AE_CTRL_TRUE EXCEP_CTL (0x0004) 18662306a36Sopenharmony_ci#define AE_CTRL_FALSE EXCEP_CTL (0x0005) 18762306a36Sopenharmony_ci#define AE_CTRL_DEPTH EXCEP_CTL (0x0006) 18862306a36Sopenharmony_ci#define AE_CTRL_END EXCEP_CTL (0x0007) 18962306a36Sopenharmony_ci#define AE_CTRL_TRANSFER EXCEP_CTL (0x0008) 19062306a36Sopenharmony_ci#define AE_CTRL_BREAK EXCEP_CTL (0x0009) 19162306a36Sopenharmony_ci#define AE_CTRL_CONTINUE EXCEP_CTL (0x000A) 19262306a36Sopenharmony_ci#define AE_CTRL_PARSE_CONTINUE EXCEP_CTL (0x000B) 19362306a36Sopenharmony_ci#define AE_CTRL_PARSE_PENDING EXCEP_CTL (0x000C) 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci#define AE_CODE_CTRL_MAX 0x000C 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci/* Exception strings for acpi_format_exception */ 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci#ifdef ACPI_DEFINE_EXCEPTION_TABLE 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci/* 20262306a36Sopenharmony_ci * String versions of the exception codes above 20362306a36Sopenharmony_ci * These strings must match the corresponding defines exactly 20462306a36Sopenharmony_ci */ 20562306a36Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_env[] = { 20662306a36Sopenharmony_ci EXCEP_TXT("AE_OK", "No error"), 20762306a36Sopenharmony_ci EXCEP_TXT("AE_ERROR", "Unspecified error"), 20862306a36Sopenharmony_ci EXCEP_TXT("AE_NO_ACPI_TABLES", "ACPI tables could not be found"), 20962306a36Sopenharmony_ci EXCEP_TXT("AE_NO_NAMESPACE", "A namespace has not been loaded"), 21062306a36Sopenharmony_ci EXCEP_TXT("AE_NO_MEMORY", "Insufficient dynamic memory"), 21162306a36Sopenharmony_ci EXCEP_TXT("AE_NOT_FOUND", "A requested entity is not found"), 21262306a36Sopenharmony_ci EXCEP_TXT("AE_NOT_EXIST", "A required entity does not exist"), 21362306a36Sopenharmony_ci EXCEP_TXT("AE_ALREADY_EXISTS", "An entity already exists"), 21462306a36Sopenharmony_ci EXCEP_TXT("AE_TYPE", "The object type is incorrect"), 21562306a36Sopenharmony_ci EXCEP_TXT("AE_NULL_OBJECT", "A required object was missing"), 21662306a36Sopenharmony_ci EXCEP_TXT("AE_NULL_ENTRY", "The requested object does not exist"), 21762306a36Sopenharmony_ci EXCEP_TXT("AE_BUFFER_OVERFLOW", "The buffer provided is too small"), 21862306a36Sopenharmony_ci EXCEP_TXT("AE_STACK_OVERFLOW", "An internal stack overflowed"), 21962306a36Sopenharmony_ci EXCEP_TXT("AE_STACK_UNDERFLOW", "An internal stack underflowed"), 22062306a36Sopenharmony_ci EXCEP_TXT("AE_NOT_IMPLEMENTED", "The feature is not implemented"), 22162306a36Sopenharmony_ci EXCEP_TXT("AE_SUPPORT", "The feature is not supported"), 22262306a36Sopenharmony_ci EXCEP_TXT("AE_LIMIT", "A predefined limit was exceeded"), 22362306a36Sopenharmony_ci EXCEP_TXT("AE_TIME", "A time limit or timeout expired"), 22462306a36Sopenharmony_ci EXCEP_TXT("AE_ACQUIRE_DEADLOCK", 22562306a36Sopenharmony_ci "Internal error, attempt was made to acquire a mutex in improper order"), 22662306a36Sopenharmony_ci EXCEP_TXT("AE_RELEASE_DEADLOCK", 22762306a36Sopenharmony_ci "Internal error, attempt was made to release a mutex in improper order"), 22862306a36Sopenharmony_ci EXCEP_TXT("AE_NOT_ACQUIRED", 22962306a36Sopenharmony_ci "An attempt to release a mutex or Global Lock without a previous acquire"), 23062306a36Sopenharmony_ci EXCEP_TXT("AE_ALREADY_ACQUIRED", 23162306a36Sopenharmony_ci "Internal error, attempt was made to acquire a mutex twice"), 23262306a36Sopenharmony_ci EXCEP_TXT("AE_NO_HARDWARE_RESPONSE", 23362306a36Sopenharmony_ci "Hardware did not respond after an I/O operation"), 23462306a36Sopenharmony_ci EXCEP_TXT("AE_NO_GLOBAL_LOCK", "There is no FACS Global Lock"), 23562306a36Sopenharmony_ci EXCEP_TXT("AE_ABORT_METHOD", "A control method was aborted"), 23662306a36Sopenharmony_ci EXCEP_TXT("AE_SAME_HANDLER", 23762306a36Sopenharmony_ci "Attempt was made to install the same handler that is already installed"), 23862306a36Sopenharmony_ci EXCEP_TXT("AE_NO_HANDLER", 23962306a36Sopenharmony_ci "A handler for the operation is not installed"), 24062306a36Sopenharmony_ci EXCEP_TXT("AE_OWNER_ID_LIMIT", 24162306a36Sopenharmony_ci "There are no more Owner IDs available for ACPI tables or control methods"), 24262306a36Sopenharmony_ci EXCEP_TXT("AE_NOT_CONFIGURED", 24362306a36Sopenharmony_ci "The interface is not part of the current subsystem configuration"), 24462306a36Sopenharmony_ci EXCEP_TXT("AE_ACCESS", "Permission denied for the requested operation"), 24562306a36Sopenharmony_ci EXCEP_TXT("AE_IO_ERROR", "An I/O error occurred"), 24662306a36Sopenharmony_ci EXCEP_TXT("AE_NUMERIC_OVERFLOW", 24762306a36Sopenharmony_ci "Overflow during string-to-integer conversion"), 24862306a36Sopenharmony_ci EXCEP_TXT("AE_HEX_OVERFLOW", 24962306a36Sopenharmony_ci "Overflow during ASCII hex-to-binary conversion"), 25062306a36Sopenharmony_ci EXCEP_TXT("AE_DECIMAL_OVERFLOW", 25162306a36Sopenharmony_ci "Overflow during ASCII decimal-to-binary conversion"), 25262306a36Sopenharmony_ci EXCEP_TXT("AE_OCTAL_OVERFLOW", 25362306a36Sopenharmony_ci "Overflow during ASCII octal-to-binary conversion"), 25462306a36Sopenharmony_ci EXCEP_TXT("AE_END_OF_TABLE", "Reached the end of table") 25562306a36Sopenharmony_ci}; 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_pgm[] = { 25862306a36Sopenharmony_ci EXCEP_TXT(NULL, NULL), 25962306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_PARAMETER", "A parameter is out of range or invalid"), 26062306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_CHARACTER", 26162306a36Sopenharmony_ci "An invalid character was found in a name"), 26262306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_PATHNAME", 26362306a36Sopenharmony_ci "An invalid character was found in a pathname"), 26462306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_DATA", 26562306a36Sopenharmony_ci "A package or buffer contained incorrect data"), 26662306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_HEX_CONSTANT", "Invalid character in a Hex constant"), 26762306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_OCTAL_CONSTANT", 26862306a36Sopenharmony_ci "Invalid character in an Octal constant"), 26962306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_DECIMAL_CONSTANT", 27062306a36Sopenharmony_ci "Invalid character in a Decimal constant"), 27162306a36Sopenharmony_ci EXCEP_TXT("AE_MISSING_ARGUMENTS", 27262306a36Sopenharmony_ci "Too few arguments were passed to a control method"), 27362306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_ADDRESS", "An illegal null I/O address") 27462306a36Sopenharmony_ci}; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_tbl[] = { 27762306a36Sopenharmony_ci EXCEP_TXT(NULL, NULL), 27862306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_SIGNATURE", "An ACPI table has an invalid signature"), 27962306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_HEADER", "Invalid field in an ACPI table header"), 28062306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_CHECKSUM", "An ACPI table checksum is not correct"), 28162306a36Sopenharmony_ci EXCEP_TXT("AE_BAD_VALUE", "An invalid value was found in a table"), 28262306a36Sopenharmony_ci EXCEP_TXT("AE_INVALID_TABLE_LENGTH", 28362306a36Sopenharmony_ci "The FADT or FACS has improper length") 28462306a36Sopenharmony_ci}; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_aml[] = { 28762306a36Sopenharmony_ci EXCEP_TXT(NULL, NULL), 28862306a36Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_OPCODE", "Invalid AML opcode encountered"), 28962306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NO_OPERAND", "A required operand is missing"), 29062306a36Sopenharmony_ci EXCEP_TXT("AE_AML_OPERAND_TYPE", 29162306a36Sopenharmony_ci "An operand of an incorrect type was encountered"), 29262306a36Sopenharmony_ci EXCEP_TXT("AE_AML_OPERAND_VALUE", 29362306a36Sopenharmony_ci "The operand had an inappropriate or invalid value"), 29462306a36Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_LOCAL", 29562306a36Sopenharmony_ci "Method tried to use an uninitialized local variable"), 29662306a36Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_ARG", 29762306a36Sopenharmony_ci "Method tried to use an uninitialized argument"), 29862306a36Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_ELEMENT", 29962306a36Sopenharmony_ci "Method tried to use an empty package element"), 30062306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NUMERIC_OVERFLOW", 30162306a36Sopenharmony_ci "Overflow during BCD conversion or other"), 30262306a36Sopenharmony_ci EXCEP_TXT("AE_AML_REGION_LIMIT", 30362306a36Sopenharmony_ci "Tried to access beyond the end of an Operation Region"), 30462306a36Sopenharmony_ci EXCEP_TXT("AE_AML_BUFFER_LIMIT", 30562306a36Sopenharmony_ci "Tried to access beyond the end of a buffer"), 30662306a36Sopenharmony_ci EXCEP_TXT("AE_AML_PACKAGE_LIMIT", 30762306a36Sopenharmony_ci "Tried to access beyond the end of a package"), 30862306a36Sopenharmony_ci EXCEP_TXT("AE_AML_DIVIDE_BY_ZERO", 30962306a36Sopenharmony_ci "During execution of AML Divide operator"), 31062306a36Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_NAME", 31162306a36Sopenharmony_ci "An ACPI name contains invalid character(s)"), 31262306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NAME_NOT_FOUND", 31362306a36Sopenharmony_ci "Could not resolve a named reference"), 31462306a36Sopenharmony_ci EXCEP_TXT("AE_AML_INTERNAL", 31562306a36Sopenharmony_ci "An internal error within the interpreter"), 31662306a36Sopenharmony_ci EXCEP_TXT("AE_AML_INVALID_SPACE_ID", 31762306a36Sopenharmony_ci "An Operation Region SpaceID is invalid"), 31862306a36Sopenharmony_ci EXCEP_TXT("AE_AML_STRING_LIMIT", 31962306a36Sopenharmony_ci "String is longer than 200 characters"), 32062306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NO_RETURN_VALUE", 32162306a36Sopenharmony_ci "A method did not return a required value"), 32262306a36Sopenharmony_ci EXCEP_TXT("AE_AML_METHOD_LIMIT", 32362306a36Sopenharmony_ci "A control method reached the maximum reentrancy limit of 255"), 32462306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NOT_OWNER", 32562306a36Sopenharmony_ci "A thread tried to release a mutex that it does not own"), 32662306a36Sopenharmony_ci EXCEP_TXT("AE_AML_MUTEX_ORDER", "Mutex SyncLevel release mismatch"), 32762306a36Sopenharmony_ci EXCEP_TXT("AE_AML_MUTEX_NOT_ACQUIRED", 32862306a36Sopenharmony_ci "Attempt to release a mutex that was not previously acquired"), 32962306a36Sopenharmony_ci EXCEP_TXT("AE_AML_INVALID_RESOURCE_TYPE", 33062306a36Sopenharmony_ci "Invalid resource type in resource list"), 33162306a36Sopenharmony_ci EXCEP_TXT("AE_AML_INVALID_INDEX", 33262306a36Sopenharmony_ci "Invalid Argx or Localx (x too large)"), 33362306a36Sopenharmony_ci EXCEP_TXT("AE_AML_REGISTER_LIMIT", 33462306a36Sopenharmony_ci "Bank value or Index value beyond range of register"), 33562306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NO_WHILE", "Break or Continue without a While"), 33662306a36Sopenharmony_ci EXCEP_TXT("AE_AML_ALIGNMENT", 33762306a36Sopenharmony_ci "Non-aligned memory transfer on platform that does not support this"), 33862306a36Sopenharmony_ci EXCEP_TXT("AE_AML_NO_RESOURCE_END_TAG", 33962306a36Sopenharmony_ci "No End Tag in a resource list"), 34062306a36Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_RESOURCE_VALUE", 34162306a36Sopenharmony_ci "Invalid value of a resource element"), 34262306a36Sopenharmony_ci EXCEP_TXT("AE_AML_CIRCULAR_REFERENCE", 34362306a36Sopenharmony_ci "Two references refer to each other"), 34462306a36Sopenharmony_ci EXCEP_TXT("AE_AML_BAD_RESOURCE_LENGTH", 34562306a36Sopenharmony_ci "The length of a Resource Descriptor in the AML is incorrect"), 34662306a36Sopenharmony_ci EXCEP_TXT("AE_AML_ILLEGAL_ADDRESS", 34762306a36Sopenharmony_ci "A memory, I/O, or PCI configuration address is invalid"), 34862306a36Sopenharmony_ci EXCEP_TXT("AE_AML_LOOP_TIMEOUT", 34962306a36Sopenharmony_ci "An AML While loop exceeded the maximum execution time"), 35062306a36Sopenharmony_ci EXCEP_TXT("AE_AML_UNINITIALIZED_NODE", 35162306a36Sopenharmony_ci "A namespace node is uninitialized or unresolved"), 35262306a36Sopenharmony_ci EXCEP_TXT("AE_AML_TARGET_TYPE", 35362306a36Sopenharmony_ci "A target operand of an incorrect type was encountered"), 35462306a36Sopenharmony_ci EXCEP_TXT("AE_AML_PROTOCOL", "Violation of a fixed ACPI protocol"), 35562306a36Sopenharmony_ci EXCEP_TXT("AE_AML_BUFFER_LENGTH", 35662306a36Sopenharmony_ci "The length of the buffer is invalid/incorrect") 35762306a36Sopenharmony_ci}; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_cistatic const struct acpi_exception_info acpi_gbl_exception_names_ctrl[] = { 36062306a36Sopenharmony_ci EXCEP_TXT(NULL, NULL), 36162306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_RETURN_VALUE", "A Method returned a value"), 36262306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_PENDING", "Method is calling another method"), 36362306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_TERMINATE", "Terminate the executing method"), 36462306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_TRUE", "An If or While predicate result"), 36562306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_FALSE", "An If or While predicate result"), 36662306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_DEPTH", "Maximum search depth has been reached"), 36762306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_END", "An If or While predicate is false"), 36862306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_TRANSFER", "Transfer control to called method"), 36962306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_BREAK", "A Break has been executed"), 37062306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_CONTINUE", "A Continue has been executed"), 37162306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"), 37262306a36Sopenharmony_ci EXCEP_TXT("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops") 37362306a36Sopenharmony_ci}; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci#endif /* EXCEPTION_TABLE */ 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci#endif /* __ACEXCEP_H__ */ 378