1433d6423SLionel Sambuc /****************************************************************************** 2433d6423SLionel Sambuc * 3433d6423SLionel Sambuc * Name: acexcep.h - Exception codes returned by the ACPI subsystem 4433d6423SLionel Sambuc * 5433d6423SLionel Sambuc *****************************************************************************/ 6433d6423SLionel Sambuc 7*29492bb7SDavid van Moolenbroek /* 8*29492bb7SDavid van Moolenbroek * Copyright (C) 2000 - 2014, Intel Corp. 9433d6423SLionel Sambuc * All rights reserved. 10433d6423SLionel Sambuc * 11*29492bb7SDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 12*29492bb7SDavid van Moolenbroek * modification, are permitted provided that the following conditions 13*29492bb7SDavid van Moolenbroek * are met: 14*29492bb7SDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 15*29492bb7SDavid van Moolenbroek * notice, this list of conditions, and the following disclaimer, 16*29492bb7SDavid van Moolenbroek * without modification. 17*29492bb7SDavid van Moolenbroek * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*29492bb7SDavid van Moolenbroek * substantially similar to the "NO WARRANTY" disclaimer below 19*29492bb7SDavid van Moolenbroek * ("Disclaimer") and any redistribution must be conditioned upon 20*29492bb7SDavid van Moolenbroek * including a substantially similar Disclaimer requirement for further 21*29492bb7SDavid van Moolenbroek * binary redistribution. 22*29492bb7SDavid van Moolenbroek * 3. Neither the names of the above-listed copyright holders nor the names 23*29492bb7SDavid van Moolenbroek * of any contributors may be used to endorse or promote products derived 24*29492bb7SDavid van Moolenbroek * from this software without specific prior written permission. 25433d6423SLionel Sambuc * 26*29492bb7SDavid van Moolenbroek * Alternatively, this software may be distributed under the terms of the 27*29492bb7SDavid van Moolenbroek * GNU General Public License ("GPL") version 2 as published by the Free 28*29492bb7SDavid van Moolenbroek * Software Foundation. 29433d6423SLionel Sambuc * 30*29492bb7SDavid van Moolenbroek * NO WARRANTY 31*29492bb7SDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*29492bb7SDavid van Moolenbroek * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*29492bb7SDavid van Moolenbroek * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*29492bb7SDavid van Moolenbroek * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*29492bb7SDavid van Moolenbroek * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*29492bb7SDavid van Moolenbroek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*29492bb7SDavid van Moolenbroek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*29492bb7SDavid van Moolenbroek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*29492bb7SDavid van Moolenbroek * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*29492bb7SDavid van Moolenbroek * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*29492bb7SDavid van Moolenbroek * POSSIBILITY OF SUCH DAMAGES. 42*29492bb7SDavid van Moolenbroek */ 43433d6423SLionel Sambuc 44433d6423SLionel Sambuc #ifndef __ACEXCEP_H__ 45433d6423SLionel Sambuc #define __ACEXCEP_H__ 46433d6423SLionel Sambuc 47433d6423SLionel Sambuc 48*29492bb7SDavid van Moolenbroek /* This module contains all possible exception codes for ACPI_STATUS */ 49*29492bb7SDavid van Moolenbroek 50433d6423SLionel Sambuc /* 51*29492bb7SDavid van Moolenbroek * Exception code classes 52433d6423SLionel Sambuc */ 53*29492bb7SDavid van Moolenbroek #define AE_CODE_ENVIRONMENTAL 0x0000 /* General ACPICA environment */ 54*29492bb7SDavid van Moolenbroek #define AE_CODE_PROGRAMMER 0x1000 /* External ACPICA interface caller */ 55*29492bb7SDavid van Moolenbroek #define AE_CODE_ACPI_TABLES 0x2000 /* ACPI tables */ 56*29492bb7SDavid van Moolenbroek #define AE_CODE_AML 0x3000 /* From executing AML code */ 57*29492bb7SDavid van Moolenbroek #define AE_CODE_CONTROL 0x4000 /* Internal control codes */ 58*29492bb7SDavid van Moolenbroek 59*29492bb7SDavid van Moolenbroek #define AE_CODE_MAX 0x4000 60433d6423SLionel Sambuc #define AE_CODE_MASK 0xF000 61433d6423SLionel Sambuc 62*29492bb7SDavid van Moolenbroek /* 63*29492bb7SDavid van Moolenbroek * Macros to insert the exception code classes 64*29492bb7SDavid van Moolenbroek */ 65*29492bb7SDavid van Moolenbroek #define EXCEP_ENV(code) ((ACPI_STATUS) (code | AE_CODE_ENVIRONMENTAL)) 66*29492bb7SDavid van Moolenbroek #define EXCEP_PGM(code) ((ACPI_STATUS) (code | AE_CODE_PROGRAMMER)) 67*29492bb7SDavid van Moolenbroek #define EXCEP_TBL(code) ((ACPI_STATUS) (code | AE_CODE_ACPI_TABLES)) 68*29492bb7SDavid van Moolenbroek #define EXCEP_AML(code) ((ACPI_STATUS) (code | AE_CODE_AML)) 69*29492bb7SDavid van Moolenbroek #define EXCEP_CTL(code) ((ACPI_STATUS) (code | AE_CODE_CONTROL)) 70433d6423SLionel Sambuc 71*29492bb7SDavid van Moolenbroek /* 72*29492bb7SDavid van Moolenbroek * Exception info table. The "Description" field is used only by the 73*29492bb7SDavid van Moolenbroek * ACPICA help application (acpihelp). 74*29492bb7SDavid van Moolenbroek */ 75*29492bb7SDavid van Moolenbroek typedef struct acpi_exception_info 76*29492bb7SDavid van Moolenbroek { 77*29492bb7SDavid van Moolenbroek char *Name; 78*29492bb7SDavid van Moolenbroek 79*29492bb7SDavid van Moolenbroek #ifdef ACPI_HELP_APP 80*29492bb7SDavid van Moolenbroek char *Description; 81*29492bb7SDavid van Moolenbroek #endif 82*29492bb7SDavid van Moolenbroek } ACPI_EXCEPTION_INFO; 83*29492bb7SDavid van Moolenbroek 84*29492bb7SDavid van Moolenbroek #ifdef ACPI_HELP_APP 85*29492bb7SDavid van Moolenbroek #define EXCEP_TXT(Name,Description) {Name, Description} 86*29492bb7SDavid van Moolenbroek #else 87*29492bb7SDavid van Moolenbroek #define EXCEP_TXT(Name,Description) {Name} 88*29492bb7SDavid van Moolenbroek #endif 89*29492bb7SDavid van Moolenbroek 90*29492bb7SDavid van Moolenbroek 91*29492bb7SDavid van Moolenbroek /* 92*29492bb7SDavid van Moolenbroek * Success is always zero, failure is non-zero 93*29492bb7SDavid van Moolenbroek */ 94433d6423SLionel Sambuc #define ACPI_SUCCESS(a) (!(a)) 95433d6423SLionel Sambuc #define ACPI_FAILURE(a) (a) 96433d6423SLionel Sambuc 97433d6423SLionel Sambuc #define AE_OK (ACPI_STATUS) 0x0000 98433d6423SLionel Sambuc 99433d6423SLionel Sambuc /* 100433d6423SLionel Sambuc * Environmental exceptions 101433d6423SLionel Sambuc */ 102*29492bb7SDavid van Moolenbroek #define AE_ERROR EXCEP_ENV (0x0001) 103*29492bb7SDavid van Moolenbroek #define AE_NO_ACPI_TABLES EXCEP_ENV (0x0002) 104*29492bb7SDavid van Moolenbroek #define AE_NO_NAMESPACE EXCEP_ENV (0x0003) 105*29492bb7SDavid van Moolenbroek #define AE_NO_MEMORY EXCEP_ENV (0x0004) 106*29492bb7SDavid van Moolenbroek #define AE_NOT_FOUND EXCEP_ENV (0x0005) 107*29492bb7SDavid van Moolenbroek #define AE_NOT_EXIST EXCEP_ENV (0x0006) 108*29492bb7SDavid van Moolenbroek #define AE_ALREADY_EXISTS EXCEP_ENV (0x0007) 109*29492bb7SDavid van Moolenbroek #define AE_TYPE EXCEP_ENV (0x0008) 110*29492bb7SDavid van Moolenbroek #define AE_NULL_OBJECT EXCEP_ENV (0x0009) 111*29492bb7SDavid van Moolenbroek #define AE_NULL_ENTRY EXCEP_ENV (0x000A) 112*29492bb7SDavid van Moolenbroek #define AE_BUFFER_OVERFLOW EXCEP_ENV (0x000B) 113*29492bb7SDavid van Moolenbroek #define AE_STACK_OVERFLOW EXCEP_ENV (0x000C) 114*29492bb7SDavid van Moolenbroek #define AE_STACK_UNDERFLOW EXCEP_ENV (0x000D) 115*29492bb7SDavid van Moolenbroek #define AE_NOT_IMPLEMENTED EXCEP_ENV (0x000E) 116*29492bb7SDavid van Moolenbroek #define AE_SUPPORT EXCEP_ENV (0x000F) 117*29492bb7SDavid van Moolenbroek #define AE_LIMIT EXCEP_ENV (0x0010) 118*29492bb7SDavid van Moolenbroek #define AE_TIME EXCEP_ENV (0x0011) 119*29492bb7SDavid van Moolenbroek #define AE_ACQUIRE_DEADLOCK EXCEP_ENV (0x0012) 120*29492bb7SDavid van Moolenbroek #define AE_RELEASE_DEADLOCK EXCEP_ENV (0x0013) 121*29492bb7SDavid van Moolenbroek #define AE_NOT_ACQUIRED EXCEP_ENV (0x0014) 122*29492bb7SDavid van Moolenbroek #define AE_ALREADY_ACQUIRED EXCEP_ENV (0x0015) 123*29492bb7SDavid van Moolenbroek #define AE_NO_HARDWARE_RESPONSE EXCEP_ENV (0x0016) 124*29492bb7SDavid van Moolenbroek #define AE_NO_GLOBAL_LOCK EXCEP_ENV (0x0017) 125*29492bb7SDavid van Moolenbroek #define AE_ABORT_METHOD EXCEP_ENV (0x0018) 126*29492bb7SDavid van Moolenbroek #define AE_SAME_HANDLER EXCEP_ENV (0x0019) 127*29492bb7SDavid van Moolenbroek #define AE_NO_HANDLER EXCEP_ENV (0x001A) 128*29492bb7SDavid van Moolenbroek #define AE_OWNER_ID_LIMIT EXCEP_ENV (0x001B) 129*29492bb7SDavid van Moolenbroek #define AE_NOT_CONFIGURED EXCEP_ENV (0x001C) 130*29492bb7SDavid van Moolenbroek #define AE_ACCESS EXCEP_ENV (0x001D) 131433d6423SLionel Sambuc 132*29492bb7SDavid van Moolenbroek #define AE_CODE_ENV_MAX 0x001D 133433d6423SLionel Sambuc 134433d6423SLionel Sambuc 135433d6423SLionel Sambuc /* 136433d6423SLionel Sambuc * Programmer exceptions 137433d6423SLionel Sambuc */ 138*29492bb7SDavid van Moolenbroek #define AE_BAD_PARAMETER EXCEP_PGM (0x0001) 139*29492bb7SDavid van Moolenbroek #define AE_BAD_CHARACTER EXCEP_PGM (0x0002) 140*29492bb7SDavid van Moolenbroek #define AE_BAD_PATHNAME EXCEP_PGM (0x0003) 141*29492bb7SDavid van Moolenbroek #define AE_BAD_DATA EXCEP_PGM (0x0004) 142*29492bb7SDavid van Moolenbroek #define AE_BAD_HEX_CONSTANT EXCEP_PGM (0x0005) 143*29492bb7SDavid van Moolenbroek #define AE_BAD_OCTAL_CONSTANT EXCEP_PGM (0x0006) 144*29492bb7SDavid van Moolenbroek #define AE_BAD_DECIMAL_CONSTANT EXCEP_PGM (0x0007) 145*29492bb7SDavid van Moolenbroek #define AE_MISSING_ARGUMENTS EXCEP_PGM (0x0008) 146*29492bb7SDavid van Moolenbroek #define AE_BAD_ADDRESS EXCEP_PGM (0x0009) 147433d6423SLionel Sambuc 148433d6423SLionel Sambuc #define AE_CODE_PGM_MAX 0x0009 149433d6423SLionel Sambuc 150433d6423SLionel Sambuc 151433d6423SLionel Sambuc /* 152433d6423SLionel Sambuc * Acpi table exceptions 153433d6423SLionel Sambuc */ 154*29492bb7SDavid van Moolenbroek #define AE_BAD_SIGNATURE EXCEP_TBL (0x0001) 155*29492bb7SDavid van Moolenbroek #define AE_BAD_HEADER EXCEP_TBL (0x0002) 156*29492bb7SDavid van Moolenbroek #define AE_BAD_CHECKSUM EXCEP_TBL (0x0003) 157*29492bb7SDavid van Moolenbroek #define AE_BAD_VALUE EXCEP_TBL (0x0004) 158*29492bb7SDavid van Moolenbroek #define AE_INVALID_TABLE_LENGTH EXCEP_TBL (0x0005) 159433d6423SLionel Sambuc 160433d6423SLionel Sambuc #define AE_CODE_TBL_MAX 0x0005 161433d6423SLionel Sambuc 162433d6423SLionel Sambuc 163433d6423SLionel Sambuc /* 164433d6423SLionel Sambuc * AML exceptions. These are caused by problems with 165433d6423SLionel Sambuc * the actual AML byte stream 166433d6423SLionel Sambuc */ 167*29492bb7SDavid van Moolenbroek #define AE_AML_BAD_OPCODE EXCEP_AML (0x0001) 168*29492bb7SDavid van Moolenbroek #define AE_AML_NO_OPERAND EXCEP_AML (0x0002) 169*29492bb7SDavid van Moolenbroek #define AE_AML_OPERAND_TYPE EXCEP_AML (0x0003) 170*29492bb7SDavid van Moolenbroek #define AE_AML_OPERAND_VALUE EXCEP_AML (0x0004) 171*29492bb7SDavid van Moolenbroek #define AE_AML_UNINITIALIZED_LOCAL EXCEP_AML (0x0005) 172*29492bb7SDavid van Moolenbroek #define AE_AML_UNINITIALIZED_ARG EXCEP_AML (0x0006) 173*29492bb7SDavid van Moolenbroek #define AE_AML_UNINITIALIZED_ELEMENT EXCEP_AML (0x0007) 174*29492bb7SDavid van Moolenbroek #define AE_AML_NUMERIC_OVERFLOW EXCEP_AML (0x0008) 175*29492bb7SDavid van Moolenbroek #define AE_AML_REGION_LIMIT EXCEP_AML (0x0009) 176*29492bb7SDavid van Moolenbroek #define AE_AML_BUFFER_LIMIT EXCEP_AML (0x000A) 177*29492bb7SDavid van Moolenbroek #define AE_AML_PACKAGE_LIMIT EXCEP_AML (0x000B) 178*29492bb7SDavid van Moolenbroek #define AE_AML_DIVIDE_BY_ZERO EXCEP_AML (0x000C) 179*29492bb7SDavid van Moolenbroek #define AE_AML_BAD_NAME EXCEP_AML (0x000D) 180*29492bb7SDavid van Moolenbroek #define AE_AML_NAME_NOT_FOUND EXCEP_AML (0x000E) 181*29492bb7SDavid van Moolenbroek #define AE_AML_INTERNAL EXCEP_AML (0x000F) 182*29492bb7SDavid van Moolenbroek #define AE_AML_INVALID_SPACE_ID EXCEP_AML (0x0010) 183*29492bb7SDavid van Moolenbroek #define AE_AML_STRING_LIMIT EXCEP_AML (0x0011) 184*29492bb7SDavid van Moolenbroek #define AE_AML_NO_RETURN_VALUE EXCEP_AML (0x0012) 185*29492bb7SDavid van Moolenbroek #define AE_AML_METHOD_LIMIT EXCEP_AML (0x0013) 186*29492bb7SDavid van Moolenbroek #define AE_AML_NOT_OWNER EXCEP_AML (0x0014) 187*29492bb7SDavid van Moolenbroek #define AE_AML_MUTEX_ORDER EXCEP_AML (0x0015) 188*29492bb7SDavid van Moolenbroek #define AE_AML_MUTEX_NOT_ACQUIRED EXCEP_AML (0x0016) 189*29492bb7SDavid van Moolenbroek #define AE_AML_INVALID_RESOURCE_TYPE EXCEP_AML (0x0017) 190*29492bb7SDavid van Moolenbroek #define AE_AML_INVALID_INDEX EXCEP_AML (0x0018) 191*29492bb7SDavid van Moolenbroek #define AE_AML_REGISTER_LIMIT EXCEP_AML (0x0019) 192*29492bb7SDavid van Moolenbroek #define AE_AML_NO_WHILE EXCEP_AML (0x001A) 193*29492bb7SDavid van Moolenbroek #define AE_AML_ALIGNMENT EXCEP_AML (0x001B) 194*29492bb7SDavid van Moolenbroek #define AE_AML_NO_RESOURCE_END_TAG EXCEP_AML (0x001C) 195*29492bb7SDavid van Moolenbroek #define AE_AML_BAD_RESOURCE_VALUE EXCEP_AML (0x001D) 196*29492bb7SDavid van Moolenbroek #define AE_AML_CIRCULAR_REFERENCE EXCEP_AML (0x001E) 197*29492bb7SDavid van Moolenbroek #define AE_AML_BAD_RESOURCE_LENGTH EXCEP_AML (0x001F) 198*29492bb7SDavid van Moolenbroek #define AE_AML_ILLEGAL_ADDRESS EXCEP_AML (0x0020) 199*29492bb7SDavid van Moolenbroek #define AE_AML_INFINITE_LOOP EXCEP_AML (0x0021) 200433d6423SLionel Sambuc 201433d6423SLionel Sambuc #define AE_CODE_AML_MAX 0x0021 202433d6423SLionel Sambuc 203433d6423SLionel Sambuc 204433d6423SLionel Sambuc /* 205433d6423SLionel Sambuc * Internal exceptions used for control 206433d6423SLionel Sambuc */ 207*29492bb7SDavid van Moolenbroek #define AE_CTRL_RETURN_VALUE EXCEP_CTL (0x0001) 208*29492bb7SDavid van Moolenbroek #define AE_CTRL_PENDING EXCEP_CTL (0x0002) 209*29492bb7SDavid van Moolenbroek #define AE_CTRL_TERMINATE EXCEP_CTL (0x0003) 210*29492bb7SDavid van Moolenbroek #define AE_CTRL_TRUE EXCEP_CTL (0x0004) 211*29492bb7SDavid van Moolenbroek #define AE_CTRL_FALSE EXCEP_CTL (0x0005) 212*29492bb7SDavid van Moolenbroek #define AE_CTRL_DEPTH EXCEP_CTL (0x0006) 213*29492bb7SDavid van Moolenbroek #define AE_CTRL_END EXCEP_CTL (0x0007) 214*29492bb7SDavid van Moolenbroek #define AE_CTRL_TRANSFER EXCEP_CTL (0x0008) 215*29492bb7SDavid van Moolenbroek #define AE_CTRL_BREAK EXCEP_CTL (0x0009) 216*29492bb7SDavid van Moolenbroek #define AE_CTRL_CONTINUE EXCEP_CTL (0x000A) 217*29492bb7SDavid van Moolenbroek #define AE_CTRL_SKIP EXCEP_CTL (0x000B) 218*29492bb7SDavid van Moolenbroek #define AE_CTRL_PARSE_CONTINUE EXCEP_CTL (0x000C) 219*29492bb7SDavid van Moolenbroek #define AE_CTRL_PARSE_PENDING EXCEP_CTL (0x000D) 220433d6423SLionel Sambuc 221433d6423SLionel Sambuc #define AE_CODE_CTRL_MAX 0x000D 222433d6423SLionel Sambuc 223433d6423SLionel Sambuc 224433d6423SLionel Sambuc /* Exception strings for AcpiFormatException */ 225433d6423SLionel Sambuc 226*29492bb7SDavid van Moolenbroek #ifdef ACPI_DEFINE_EXCEPTION_TABLE 227433d6423SLionel Sambuc 228433d6423SLionel Sambuc /* 229433d6423SLionel Sambuc * String versions of the exception codes above 230433d6423SLionel Sambuc * These strings must match the corresponding defines exactly 231433d6423SLionel Sambuc */ 232*29492bb7SDavid van Moolenbroek static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Env[] = 233433d6423SLionel Sambuc { 234*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_OK", "No error"), 235*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_ERROR", "Unspecified error"), 236*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NO_ACPI_TABLES", "ACPI tables could not be found"), 237*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NO_NAMESPACE", "A namespace has not been loaded"), 238*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NO_MEMORY", "Insufficient dynamic memory"), 239*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NOT_FOUND", "A requested entity is not found"), 240*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NOT_EXIST", "A required entity does not exist"), 241*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_ALREADY_EXISTS", "An entity already exists"), 242*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_TYPE", "The object type is incorrect"), 243*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NULL_OBJECT", "A required object was missing"), 244*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NULL_ENTRY", "The requested object does not exist"), 245*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BUFFER_OVERFLOW", "The buffer provided is too small"), 246*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_STACK_OVERFLOW", "An internal stack overflowed"), 247*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_STACK_UNDERFLOW", "An internal stack underflowed"), 248*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NOT_IMPLEMENTED", "The feature is not implemented"), 249*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_SUPPORT", "The feature is not supported"), 250*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_LIMIT", "A predefined limit was exceeded"), 251*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_TIME", "A time limit or timeout expired"), 252*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_ACQUIRE_DEADLOCK", "Internal error, attempt was made to acquire a mutex in improper order"), 253*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_RELEASE_DEADLOCK", "Internal error, attempt was made to release a mutex in improper order"), 254*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NOT_ACQUIRED", "An attempt to release a mutex or Global Lock without a previous acquire"), 255*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_ALREADY_ACQUIRED", "Internal error, attempt was made to acquire a mutex twice"), 256*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NO_HARDWARE_RESPONSE", "Hardware did not respond after an I/O operation"), 257*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NO_GLOBAL_LOCK", "There is no FACS Global Lock"), 258*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_ABORT_METHOD", "A control method was aborted"), 259*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_SAME_HANDLER", "Attempt was made to install the same handler that is already installed"), 260*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NO_HANDLER", "A handler for the operation is not installed"), 261*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_OWNER_ID_LIMIT", "There are no more Owner IDs available for ACPI tables or control methods"), 262*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_NOT_CONFIGURED", "The interface is not part of the current subsystem configuration"), 263*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_ACCESS", "Permission denied for the requested operation") 264433d6423SLionel Sambuc }; 265433d6423SLionel Sambuc 266*29492bb7SDavid van Moolenbroek static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Pgm[] = 267433d6423SLionel Sambuc { 268*29492bb7SDavid van Moolenbroek EXCEP_TXT (NULL, NULL), 269*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_PARAMETER", "A parameter is out of range or invalid"), 270*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_CHARACTER", "An invalid character was found in a name"), 271*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_PATHNAME", "An invalid character was found in a pathname"), 272*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_DATA", "A package or buffer contained incorrect data"), 273*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_HEX_CONSTANT", "Invalid character in a Hex constant"), 274*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_OCTAL_CONSTANT", "Invalid character in an Octal constant"), 275*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_DECIMAL_CONSTANT", "Invalid character in a Decimal constant"), 276*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_MISSING_ARGUMENTS", "Too few arguments were passed to a control method"), 277*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_ADDRESS", "An illegal null I/O address") 278433d6423SLionel Sambuc }; 279433d6423SLionel Sambuc 280*29492bb7SDavid van Moolenbroek static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Tbl[] = 281433d6423SLionel Sambuc { 282*29492bb7SDavid van Moolenbroek EXCEP_TXT (NULL, NULL), 283*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_SIGNATURE", "An ACPI table has an invalid signature"), 284*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_HEADER", "Invalid field in an ACPI table header"), 285*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_CHECKSUM", "An ACPI table checksum is not correct"), 286*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_BAD_VALUE", "An invalid value was found in a table"), 287*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_INVALID_TABLE_LENGTH", "The FADT or FACS has improper length") 288433d6423SLionel Sambuc }; 289433d6423SLionel Sambuc 290*29492bb7SDavid van Moolenbroek static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Aml[] = 291433d6423SLionel Sambuc { 292*29492bb7SDavid van Moolenbroek EXCEP_TXT (NULL, NULL), 293*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_BAD_OPCODE", "Invalid AML opcode encountered"), 294*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NO_OPERAND", "A required operand is missing"), 295*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_OPERAND_TYPE", "An operand of an incorrect type was encountered"), 296*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_OPERAND_VALUE", "The operand had an inappropriate or invalid value"), 297*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_UNINITIALIZED_LOCAL", "Method tried to use an uninitialized local variable"), 298*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_UNINITIALIZED_ARG", "Method tried to use an uninitialized argument"), 299*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_UNINITIALIZED_ELEMENT", "Method tried to use an empty package element"), 300*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NUMERIC_OVERFLOW", "Overflow during BCD conversion or other"), 301*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_REGION_LIMIT", "Tried to access beyond the end of an Operation Region"), 302*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_BUFFER_LIMIT", "Tried to access beyond the end of a buffer"), 303*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_PACKAGE_LIMIT", "Tried to access beyond the end of a package"), 304*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_DIVIDE_BY_ZERO", "During execution of AML Divide operator"), 305*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_BAD_NAME", "An ACPI name contains invalid character(s)"), 306*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NAME_NOT_FOUND", "Could not resolve a named reference"), 307*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_INTERNAL", "An internal error within the interprete"), 308*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_INVALID_SPACE_ID", "An Operation Region SpaceID is invalid"), 309*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_STRING_LIMIT", "String is longer than 200 characters"), 310*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NO_RETURN_VALUE", "A method did not return a required value"), 311*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_METHOD_LIMIT", "A control method reached the maximum reentrancy limit of 255"), 312*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NOT_OWNER", "A thread tried to release a mutex that it does not own"), 313*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_MUTEX_ORDER", "Mutex SyncLevel release mismatch"), 314*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_MUTEX_NOT_ACQUIRED", "Attempt to release a mutex that was not previously acquired"), 315*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_INVALID_RESOURCE_TYPE", "Invalid resource type in resource list"), 316*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_INVALID_INDEX", "Invalid Argx or Localx (x too large)"), 317*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_REGISTER_LIMIT", "Bank value or Index value beyond range of register"), 318*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NO_WHILE", "Break or Continue without a While"), 319*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_ALIGNMENT", "Non-aligned memory transfer on platform that does not support this"), 320*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_NO_RESOURCE_END_TAG", "No End Tag in a resource list"), 321*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_BAD_RESOURCE_VALUE", "Invalid value of a resource element"), 322*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_CIRCULAR_REFERENCE", "Two references refer to each other"), 323*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_BAD_RESOURCE_LENGTH", "The length of a Resource Descriptor in the AML is incorrect"), 324*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_ILLEGAL_ADDRESS", "A memory, I/O, or PCI configuration address is invalid"), 325*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_AML_INFINITE_LOOP", "An apparent infinite AML While loop, method was aborted") 326433d6423SLionel Sambuc }; 327433d6423SLionel Sambuc 328*29492bb7SDavid van Moolenbroek static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Ctrl[] = 329433d6423SLionel Sambuc { 330*29492bb7SDavid van Moolenbroek EXCEP_TXT (NULL, NULL), 331*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_RETURN_VALUE", "A Method returned a value"), 332*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_PENDING", "Method is calling another method"), 333*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_TERMINATE", "Terminate the executing method"), 334*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_TRUE", "An If or While predicate result"), 335*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_FALSE", "An If or While predicate result"), 336*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_DEPTH", "Maximum search depth has been reached"), 337*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_END", "An If or While predicate is false"), 338*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_TRANSFER", "Transfer control to called method"), 339*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_BREAK", "A Break has been executed"), 340*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_CONTINUE", "A Continue has been executed"), 341*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_SKIP", "Not currently used"), 342*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"), 343*29492bb7SDavid van Moolenbroek EXCEP_TXT ("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops") 344433d6423SLionel Sambuc }; 345433d6423SLionel Sambuc 346*29492bb7SDavid van Moolenbroek #endif /* EXCEPTION_TABLE */ 347433d6423SLionel Sambuc 348433d6423SLionel Sambuc #endif /* __ACEXCEP_H__ */ 349