cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

acexcep.h (17350B)


      1/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
      2/******************************************************************************
      3 *
      4 * Name: acexcep.h - Exception codes returned by the ACPI subsystem
      5 *
      6 * Copyright (C) 2000 - 2022, Intel Corp.
      7 *
      8 *****************************************************************************/
      9
     10#ifndef __ACEXCEP_H__
     11#define __ACEXCEP_H__
     12
     13/* This module contains all possible exception codes for acpi_status */
     14
     15/*
     16 * Exception code classes
     17 */
     18#define AE_CODE_ENVIRONMENTAL           0x0000	/* General ACPICA environment */
     19#define AE_CODE_PROGRAMMER              0x1000	/* External ACPICA interface caller */
     20#define AE_CODE_ACPI_TABLES             0x2000	/* ACPI tables */
     21#define AE_CODE_AML                     0x3000	/* From executing AML code */
     22#define AE_CODE_CONTROL                 0x4000	/* Internal control codes */
     23
     24#define AE_CODE_MAX                     0x4000
     25#define AE_CODE_MASK                    0xF000
     26
     27/*
     28 * Macros to insert the exception code classes
     29 */
     30#define EXCEP_ENV(code)                 ((acpi_status) (code | AE_CODE_ENVIRONMENTAL))
     31#define EXCEP_PGM(code)                 ((acpi_status) (code | AE_CODE_PROGRAMMER))
     32#define EXCEP_TBL(code)                 ((acpi_status) (code | AE_CODE_ACPI_TABLES))
     33#define EXCEP_AML(code)                 ((acpi_status) (code | AE_CODE_AML))
     34#define EXCEP_CTL(code)                 ((acpi_status) (code | AE_CODE_CONTROL))
     35
     36/*
     37 * Exception info table. The "Description" field is used only by the
     38 * ACPICA help application (acpihelp).
     39 */
     40struct acpi_exception_info {
     41	char *name;
     42
     43#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER)
     44	char *description;
     45#endif
     46};
     47
     48#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER)
     49#define EXCEP_TXT(name,description)     {name, description}
     50#else
     51#define EXCEP_TXT(name,description)     {name}
     52#endif
     53
     54/*
     55 * Success is always zero, failure is non-zero
     56 */
     57#define ACPI_SUCCESS(a)                 (!(a))
     58#define ACPI_FAILURE(a)                 (a)
     59
     60#define AE_OK                           (acpi_status) 0x0000
     61
     62#define ACPI_ENV_EXCEPTION(status)      (((status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL)
     63#define ACPI_AML_EXCEPTION(status)      (((status) & AE_CODE_MASK) == AE_CODE_AML)
     64#define ACPI_PROG_EXCEPTION(status)     (((status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER)
     65#define ACPI_TABLE_EXCEPTION(status)    (((status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES)
     66#define ACPI_CNTL_EXCEPTION(status)     (((status) & AE_CODE_MASK) == AE_CODE_CONTROL)
     67
     68/*
     69 * Environmental exceptions
     70 */
     71#define AE_ERROR                        EXCEP_ENV (0x0001)
     72#define AE_NO_ACPI_TABLES               EXCEP_ENV (0x0002)
     73#define AE_NO_NAMESPACE                 EXCEP_ENV (0x0003)
     74#define AE_NO_MEMORY                    EXCEP_ENV (0x0004)
     75#define AE_NOT_FOUND                    EXCEP_ENV (0x0005)
     76#define AE_NOT_EXIST                    EXCEP_ENV (0x0006)
     77#define AE_ALREADY_EXISTS               EXCEP_ENV (0x0007)
     78#define AE_TYPE                         EXCEP_ENV (0x0008)
     79#define AE_NULL_OBJECT                  EXCEP_ENV (0x0009)
     80#define AE_NULL_ENTRY                   EXCEP_ENV (0x000A)
     81#define AE_BUFFER_OVERFLOW              EXCEP_ENV (0x000B)
     82#define AE_STACK_OVERFLOW               EXCEP_ENV (0x000C)
     83#define AE_STACK_UNDERFLOW              EXCEP_ENV (0x000D)
     84#define AE_NOT_IMPLEMENTED              EXCEP_ENV (0x000E)
     85#define AE_SUPPORT                      EXCEP_ENV (0x000F)
     86#define AE_LIMIT                        EXCEP_ENV (0x0010)
     87#define AE_TIME                         EXCEP_ENV (0x0011)
     88#define AE_ACQUIRE_DEADLOCK             EXCEP_ENV (0x0012)
     89#define AE_RELEASE_DEADLOCK             EXCEP_ENV (0x0013)
     90#define AE_NOT_ACQUIRED                 EXCEP_ENV (0x0014)
     91#define AE_ALREADY_ACQUIRED             EXCEP_ENV (0x0015)
     92#define AE_NO_HARDWARE_RESPONSE         EXCEP_ENV (0x0016)
     93#define AE_NO_GLOBAL_LOCK               EXCEP_ENV (0x0017)
     94#define AE_ABORT_METHOD                 EXCEP_ENV (0x0018)
     95#define AE_SAME_HANDLER                 EXCEP_ENV (0x0019)
     96#define AE_NO_HANDLER                   EXCEP_ENV (0x001A)
     97#define AE_OWNER_ID_LIMIT               EXCEP_ENV (0x001B)
     98#define AE_NOT_CONFIGURED               EXCEP_ENV (0x001C)
     99#define AE_ACCESS                       EXCEP_ENV (0x001D)
    100#define AE_IO_ERROR                     EXCEP_ENV (0x001E)
    101#define AE_NUMERIC_OVERFLOW             EXCEP_ENV (0x001F)
    102#define AE_HEX_OVERFLOW                 EXCEP_ENV (0x0020)
    103#define AE_DECIMAL_OVERFLOW             EXCEP_ENV (0x0021)
    104#define AE_OCTAL_OVERFLOW               EXCEP_ENV (0x0022)
    105#define AE_END_OF_TABLE                 EXCEP_ENV (0x0023)
    106
    107#define AE_CODE_ENV_MAX                 0x0023
    108
    109/*
    110 * Programmer exceptions
    111 */
    112#define AE_BAD_PARAMETER                EXCEP_PGM (0x0001)
    113#define AE_BAD_CHARACTER                EXCEP_PGM (0x0002)
    114#define AE_BAD_PATHNAME                 EXCEP_PGM (0x0003)
    115#define AE_BAD_DATA                     EXCEP_PGM (0x0004)
    116#define AE_BAD_HEX_CONSTANT             EXCEP_PGM (0x0005)
    117#define AE_BAD_OCTAL_CONSTANT           EXCEP_PGM (0x0006)
    118#define AE_BAD_DECIMAL_CONSTANT         EXCEP_PGM (0x0007)
    119#define AE_MISSING_ARGUMENTS            EXCEP_PGM (0x0008)
    120#define AE_BAD_ADDRESS                  EXCEP_PGM (0x0009)
    121
    122#define AE_CODE_PGM_MAX                 0x0009
    123
    124/*
    125 * Acpi table exceptions
    126 */
    127#define AE_BAD_SIGNATURE                EXCEP_TBL (0x0001)
    128#define AE_BAD_HEADER                   EXCEP_TBL (0x0002)
    129#define AE_BAD_CHECKSUM                 EXCEP_TBL (0x0003)
    130#define AE_BAD_VALUE                    EXCEP_TBL (0x0004)
    131#define AE_INVALID_TABLE_LENGTH         EXCEP_TBL (0x0005)
    132
    133#define AE_CODE_TBL_MAX                 0x0005
    134
    135/*
    136 * AML exceptions. These are caused by problems with
    137 * the actual AML byte stream
    138 */
    139#define AE_AML_BAD_OPCODE               EXCEP_AML (0x0001)
    140#define AE_AML_NO_OPERAND               EXCEP_AML (0x0002)
    141#define AE_AML_OPERAND_TYPE             EXCEP_AML (0x0003)
    142#define AE_AML_OPERAND_VALUE            EXCEP_AML (0x0004)
    143#define AE_AML_UNINITIALIZED_LOCAL      EXCEP_AML (0x0005)
    144#define AE_AML_UNINITIALIZED_ARG        EXCEP_AML (0x0006)
    145#define AE_AML_UNINITIALIZED_ELEMENT    EXCEP_AML (0x0007)
    146#define AE_AML_NUMERIC_OVERFLOW         EXCEP_AML (0x0008)
    147#define AE_AML_REGION_LIMIT             EXCEP_AML (0x0009)
    148#define AE_AML_BUFFER_LIMIT             EXCEP_AML (0x000A)
    149#define AE_AML_PACKAGE_LIMIT            EXCEP_AML (0x000B)
    150#define AE_AML_DIVIDE_BY_ZERO           EXCEP_AML (0x000C)
    151#define AE_AML_BAD_NAME                 EXCEP_AML (0x000D)
    152#define AE_AML_NAME_NOT_FOUND           EXCEP_AML (0x000E)
    153#define AE_AML_INTERNAL                 EXCEP_AML (0x000F)
    154#define AE_AML_INVALID_SPACE_ID         EXCEP_AML (0x0010)
    155#define AE_AML_STRING_LIMIT             EXCEP_AML (0x0011)
    156#define AE_AML_NO_RETURN_VALUE          EXCEP_AML (0x0012)
    157#define AE_AML_METHOD_LIMIT             EXCEP_AML (0x0013)
    158#define AE_AML_NOT_OWNER                EXCEP_AML (0x0014)
    159#define AE_AML_MUTEX_ORDER              EXCEP_AML (0x0015)
    160#define AE_AML_MUTEX_NOT_ACQUIRED       EXCEP_AML (0x0016)
    161#define AE_AML_INVALID_RESOURCE_TYPE    EXCEP_AML (0x0017)
    162#define AE_AML_INVALID_INDEX            EXCEP_AML (0x0018)
    163#define AE_AML_REGISTER_LIMIT           EXCEP_AML (0x0019)
    164#define AE_AML_NO_WHILE                 EXCEP_AML (0x001A)
    165#define AE_AML_ALIGNMENT                EXCEP_AML (0x001B)
    166#define AE_AML_NO_RESOURCE_END_TAG      EXCEP_AML (0x001C)
    167#define AE_AML_BAD_RESOURCE_VALUE       EXCEP_AML (0x001D)
    168#define AE_AML_CIRCULAR_REFERENCE       EXCEP_AML (0x001E)
    169#define AE_AML_BAD_RESOURCE_LENGTH      EXCEP_AML (0x001F)
    170#define AE_AML_ILLEGAL_ADDRESS          EXCEP_AML (0x0020)
    171#define AE_AML_LOOP_TIMEOUT             EXCEP_AML (0x0021)
    172#define AE_AML_UNINITIALIZED_NODE       EXCEP_AML (0x0022)
    173#define AE_AML_TARGET_TYPE              EXCEP_AML (0x0023)
    174#define AE_AML_PROTOCOL                 EXCEP_AML (0x0024)
    175#define AE_AML_BUFFER_LENGTH            EXCEP_AML (0x0025)
    176
    177#define AE_CODE_AML_MAX                 0x0025
    178
    179/*
    180 * Internal exceptions used for control
    181 */
    182#define AE_CTRL_RETURN_VALUE            EXCEP_CTL (0x0001)
    183#define AE_CTRL_PENDING                 EXCEP_CTL (0x0002)
    184#define AE_CTRL_TERMINATE               EXCEP_CTL (0x0003)
    185#define AE_CTRL_TRUE                    EXCEP_CTL (0x0004)
    186#define AE_CTRL_FALSE                   EXCEP_CTL (0x0005)
    187#define AE_CTRL_DEPTH                   EXCEP_CTL (0x0006)
    188#define AE_CTRL_END                     EXCEP_CTL (0x0007)
    189#define AE_CTRL_TRANSFER                EXCEP_CTL (0x0008)
    190#define AE_CTRL_BREAK                   EXCEP_CTL (0x0009)
    191#define AE_CTRL_CONTINUE                EXCEP_CTL (0x000A)
    192#define AE_CTRL_PARSE_CONTINUE          EXCEP_CTL (0x000B)
    193#define AE_CTRL_PARSE_PENDING           EXCEP_CTL (0x000C)
    194
    195#define AE_CODE_CTRL_MAX                0x000C
    196
    197/* Exception strings for acpi_format_exception */
    198
    199#ifdef ACPI_DEFINE_EXCEPTION_TABLE
    200
    201/*
    202 * String versions of the exception codes above
    203 * These strings must match the corresponding defines exactly
    204 */
    205static const struct acpi_exception_info acpi_gbl_exception_names_env[] = {
    206	EXCEP_TXT("AE_OK", "No error"),
    207	EXCEP_TXT("AE_ERROR", "Unspecified error"),
    208	EXCEP_TXT("AE_NO_ACPI_TABLES", "ACPI tables could not be found"),
    209	EXCEP_TXT("AE_NO_NAMESPACE", "A namespace has not been loaded"),
    210	EXCEP_TXT("AE_NO_MEMORY", "Insufficient dynamic memory"),
    211	EXCEP_TXT("AE_NOT_FOUND", "A requested entity is not found"),
    212	EXCEP_TXT("AE_NOT_EXIST", "A required entity does not exist"),
    213	EXCEP_TXT("AE_ALREADY_EXISTS", "An entity already exists"),
    214	EXCEP_TXT("AE_TYPE", "The object type is incorrect"),
    215	EXCEP_TXT("AE_NULL_OBJECT", "A required object was missing"),
    216	EXCEP_TXT("AE_NULL_ENTRY", "The requested object does not exist"),
    217	EXCEP_TXT("AE_BUFFER_OVERFLOW", "The buffer provided is too small"),
    218	EXCEP_TXT("AE_STACK_OVERFLOW", "An internal stack overflowed"),
    219	EXCEP_TXT("AE_STACK_UNDERFLOW", "An internal stack underflowed"),
    220	EXCEP_TXT("AE_NOT_IMPLEMENTED", "The feature is not implemented"),
    221	EXCEP_TXT("AE_SUPPORT", "The feature is not supported"),
    222	EXCEP_TXT("AE_LIMIT", "A predefined limit was exceeded"),
    223	EXCEP_TXT("AE_TIME", "A time limit or timeout expired"),
    224	EXCEP_TXT("AE_ACQUIRE_DEADLOCK",
    225		  "Internal error, attempt was made to acquire a mutex in improper order"),
    226	EXCEP_TXT("AE_RELEASE_DEADLOCK",
    227		  "Internal error, attempt was made to release a mutex in improper order"),
    228	EXCEP_TXT("AE_NOT_ACQUIRED",
    229		  "An attempt to release a mutex or Global Lock without a previous acquire"),
    230	EXCEP_TXT("AE_ALREADY_ACQUIRED",
    231		  "Internal error, attempt was made to acquire a mutex twice"),
    232	EXCEP_TXT("AE_NO_HARDWARE_RESPONSE",
    233		  "Hardware did not respond after an I/O operation"),
    234	EXCEP_TXT("AE_NO_GLOBAL_LOCK", "There is no FACS Global Lock"),
    235	EXCEP_TXT("AE_ABORT_METHOD", "A control method was aborted"),
    236	EXCEP_TXT("AE_SAME_HANDLER",
    237		  "Attempt was made to install the same handler that is already installed"),
    238	EXCEP_TXT("AE_NO_HANDLER",
    239		  "A handler for the operation is not installed"),
    240	EXCEP_TXT("AE_OWNER_ID_LIMIT",
    241		  "There are no more Owner IDs available for ACPI tables or control methods"),
    242	EXCEP_TXT("AE_NOT_CONFIGURED",
    243		  "The interface is not part of the current subsystem configuration"),
    244	EXCEP_TXT("AE_ACCESS", "Permission denied for the requested operation"),
    245	EXCEP_TXT("AE_IO_ERROR", "An I/O error occurred"),
    246	EXCEP_TXT("AE_NUMERIC_OVERFLOW",
    247		  "Overflow during string-to-integer conversion"),
    248	EXCEP_TXT("AE_HEX_OVERFLOW",
    249		  "Overflow during ASCII hex-to-binary conversion"),
    250	EXCEP_TXT("AE_DECIMAL_OVERFLOW",
    251		  "Overflow during ASCII decimal-to-binary conversion"),
    252	EXCEP_TXT("AE_OCTAL_OVERFLOW",
    253		  "Overflow during ASCII octal-to-binary conversion"),
    254	EXCEP_TXT("AE_END_OF_TABLE", "Reached the end of table")
    255};
    256
    257static const struct acpi_exception_info acpi_gbl_exception_names_pgm[] = {
    258	EXCEP_TXT(NULL, NULL),
    259	EXCEP_TXT("AE_BAD_PARAMETER", "A parameter is out of range or invalid"),
    260	EXCEP_TXT("AE_BAD_CHARACTER",
    261		  "An invalid character was found in a name"),
    262	EXCEP_TXT("AE_BAD_PATHNAME",
    263		  "An invalid character was found in a pathname"),
    264	EXCEP_TXT("AE_BAD_DATA",
    265		  "A package or buffer contained incorrect data"),
    266	EXCEP_TXT("AE_BAD_HEX_CONSTANT", "Invalid character in a Hex constant"),
    267	EXCEP_TXT("AE_BAD_OCTAL_CONSTANT",
    268		  "Invalid character in an Octal constant"),
    269	EXCEP_TXT("AE_BAD_DECIMAL_CONSTANT",
    270		  "Invalid character in a Decimal constant"),
    271	EXCEP_TXT("AE_MISSING_ARGUMENTS",
    272		  "Too few arguments were passed to a control method"),
    273	EXCEP_TXT("AE_BAD_ADDRESS", "An illegal null I/O address")
    274};
    275
    276static const struct acpi_exception_info acpi_gbl_exception_names_tbl[] = {
    277	EXCEP_TXT(NULL, NULL),
    278	EXCEP_TXT("AE_BAD_SIGNATURE", "An ACPI table has an invalid signature"),
    279	EXCEP_TXT("AE_BAD_HEADER", "Invalid field in an ACPI table header"),
    280	EXCEP_TXT("AE_BAD_CHECKSUM", "An ACPI table checksum is not correct"),
    281	EXCEP_TXT("AE_BAD_VALUE", "An invalid value was found in a table"),
    282	EXCEP_TXT("AE_INVALID_TABLE_LENGTH",
    283		  "The FADT or FACS has improper length")
    284};
    285
    286static const struct acpi_exception_info acpi_gbl_exception_names_aml[] = {
    287	EXCEP_TXT(NULL, NULL),
    288	EXCEP_TXT("AE_AML_BAD_OPCODE", "Invalid AML opcode encountered"),
    289	EXCEP_TXT("AE_AML_NO_OPERAND", "A required operand is missing"),
    290	EXCEP_TXT("AE_AML_OPERAND_TYPE",
    291		  "An operand of an incorrect type was encountered"),
    292	EXCEP_TXT("AE_AML_OPERAND_VALUE",
    293		  "The operand had an inappropriate or invalid value"),
    294	EXCEP_TXT("AE_AML_UNINITIALIZED_LOCAL",
    295		  "Method tried to use an uninitialized local variable"),
    296	EXCEP_TXT("AE_AML_UNINITIALIZED_ARG",
    297		  "Method tried to use an uninitialized argument"),
    298	EXCEP_TXT("AE_AML_UNINITIALIZED_ELEMENT",
    299		  "Method tried to use an empty package element"),
    300	EXCEP_TXT("AE_AML_NUMERIC_OVERFLOW",
    301		  "Overflow during BCD conversion or other"),
    302	EXCEP_TXT("AE_AML_REGION_LIMIT",
    303		  "Tried to access beyond the end of an Operation Region"),
    304	EXCEP_TXT("AE_AML_BUFFER_LIMIT",
    305		  "Tried to access beyond the end of a buffer"),
    306	EXCEP_TXT("AE_AML_PACKAGE_LIMIT",
    307		  "Tried to access beyond the end of a package"),
    308	EXCEP_TXT("AE_AML_DIVIDE_BY_ZERO",
    309		  "During execution of AML Divide operator"),
    310	EXCEP_TXT("AE_AML_BAD_NAME",
    311		  "An ACPI name contains invalid character(s)"),
    312	EXCEP_TXT("AE_AML_NAME_NOT_FOUND",
    313		  "Could not resolve a named reference"),
    314	EXCEP_TXT("AE_AML_INTERNAL",
    315		  "An internal error within the interpreter"),
    316	EXCEP_TXT("AE_AML_INVALID_SPACE_ID",
    317		  "An Operation Region SpaceID is invalid"),
    318	EXCEP_TXT("AE_AML_STRING_LIMIT",
    319		  "String is longer than 200 characters"),
    320	EXCEP_TXT("AE_AML_NO_RETURN_VALUE",
    321		  "A method did not return a required value"),
    322	EXCEP_TXT("AE_AML_METHOD_LIMIT",
    323		  "A control method reached the maximum reentrancy limit of 255"),
    324	EXCEP_TXT("AE_AML_NOT_OWNER",
    325		  "A thread tried to release a mutex that it does not own"),
    326	EXCEP_TXT("AE_AML_MUTEX_ORDER", "Mutex SyncLevel release mismatch"),
    327	EXCEP_TXT("AE_AML_MUTEX_NOT_ACQUIRED",
    328		  "Attempt to release a mutex that was not previously acquired"),
    329	EXCEP_TXT("AE_AML_INVALID_RESOURCE_TYPE",
    330		  "Invalid resource type in resource list"),
    331	EXCEP_TXT("AE_AML_INVALID_INDEX",
    332		  "Invalid Argx or Localx (x too large)"),
    333	EXCEP_TXT("AE_AML_REGISTER_LIMIT",
    334		  "Bank value or Index value beyond range of register"),
    335	EXCEP_TXT("AE_AML_NO_WHILE", "Break or Continue without a While"),
    336	EXCEP_TXT("AE_AML_ALIGNMENT",
    337		  "Non-aligned memory transfer on platform that does not support this"),
    338	EXCEP_TXT("AE_AML_NO_RESOURCE_END_TAG",
    339		  "No End Tag in a resource list"),
    340	EXCEP_TXT("AE_AML_BAD_RESOURCE_VALUE",
    341		  "Invalid value of a resource element"),
    342	EXCEP_TXT("AE_AML_CIRCULAR_REFERENCE",
    343		  "Two references refer to each other"),
    344	EXCEP_TXT("AE_AML_BAD_RESOURCE_LENGTH",
    345		  "The length of a Resource Descriptor in the AML is incorrect"),
    346	EXCEP_TXT("AE_AML_ILLEGAL_ADDRESS",
    347		  "A memory, I/O, or PCI configuration address is invalid"),
    348	EXCEP_TXT("AE_AML_LOOP_TIMEOUT",
    349		  "An AML While loop exceeded the maximum execution time"),
    350	EXCEP_TXT("AE_AML_UNINITIALIZED_NODE",
    351		  "A namespace node is uninitialized or unresolved"),
    352	EXCEP_TXT("AE_AML_TARGET_TYPE",
    353		  "A target operand of an incorrect type was encountered"),
    354	EXCEP_TXT("AE_AML_PROTOCOL", "Violation of a fixed ACPI protocol"),
    355	EXCEP_TXT("AE_AML_BUFFER_LENGTH",
    356		  "The length of the buffer is invalid/incorrect")
    357};
    358
    359static const struct acpi_exception_info acpi_gbl_exception_names_ctrl[] = {
    360	EXCEP_TXT(NULL, NULL),
    361	EXCEP_TXT("AE_CTRL_RETURN_VALUE", "A Method returned a value"),
    362	EXCEP_TXT("AE_CTRL_PENDING", "Method is calling another method"),
    363	EXCEP_TXT("AE_CTRL_TERMINATE", "Terminate the executing method"),
    364	EXCEP_TXT("AE_CTRL_TRUE", "An If or While predicate result"),
    365	EXCEP_TXT("AE_CTRL_FALSE", "An If or While predicate result"),
    366	EXCEP_TXT("AE_CTRL_DEPTH", "Maximum search depth has been reached"),
    367	EXCEP_TXT("AE_CTRL_END", "An If or While predicate is false"),
    368	EXCEP_TXT("AE_CTRL_TRANSFER", "Transfer control to called method"),
    369	EXCEP_TXT("AE_CTRL_BREAK", "A Break has been executed"),
    370	EXCEP_TXT("AE_CTRL_CONTINUE", "A Continue has been executed"),
    371	EXCEP_TXT("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"),
    372	EXCEP_TXT("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops")
    373};
    374
    375#endif				/* EXCEPTION_TABLE */
    376
    377#endif				/* __ACEXCEP_H__ */