Path: blob/main/sys/contrib/edk2/Include/IndustryStandard/AcpiAml.h
107830 views
/** @file1This file contains AML code definition in the latest ACPI spec.23Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>4Copyright (c) 2019 - 2021, Arm Limited. All rights reserved.<BR>5SPDX-License-Identifier: BSD-2-Clause-Patent67**/89#ifndef _ACPI_AML_H_10#define _ACPI_AML_H_1112//13// ACPI AML definition14//1516//17// Primary OpCode18//19#define AML_ZERO_OP 0x0020#define AML_ONE_OP 0x0121#define AML_ALIAS_OP 0x0622#define AML_NAME_OP 0x0823#define AML_BYTE_PREFIX 0x0a24#define AML_WORD_PREFIX 0x0b25#define AML_DWORD_PREFIX 0x0c26#define AML_STRING_PREFIX 0x0d27#define AML_QWORD_PREFIX 0x0e28#define AML_SCOPE_OP 0x1029#define AML_BUFFER_OP 0x1130#define AML_PACKAGE_OP 0x1231#define AML_VAR_PACKAGE_OP 0x1332#define AML_METHOD_OP 0x1433#define AML_EXTERNAL_OP 0x1534#define AML_DUAL_NAME_PREFIX 0x2e35#define AML_MULTI_NAME_PREFIX 0x2f36#define AML_NAME_CHAR_A 0x4137#define AML_NAME_CHAR_B 0x4238#define AML_NAME_CHAR_C 0x4339#define AML_NAME_CHAR_D 0x4440#define AML_NAME_CHAR_E 0x4541#define AML_NAME_CHAR_F 0x4642#define AML_NAME_CHAR_G 0x4743#define AML_NAME_CHAR_H 0x4844#define AML_NAME_CHAR_I 0x4945#define AML_NAME_CHAR_J 0x4a46#define AML_NAME_CHAR_K 0x4b47#define AML_NAME_CHAR_L 0x4c48#define AML_NAME_CHAR_M 0x4d49#define AML_NAME_CHAR_N 0x4e50#define AML_NAME_CHAR_O 0x4f51#define AML_NAME_CHAR_P 0x5052#define AML_NAME_CHAR_Q 0x5153#define AML_NAME_CHAR_R 0x5254#define AML_NAME_CHAR_S 0x5355#define AML_NAME_CHAR_T 0x5456#define AML_NAME_CHAR_U 0x5557#define AML_NAME_CHAR_V 0x5658#define AML_NAME_CHAR_W 0x5759#define AML_NAME_CHAR_X 0x5860#define AML_NAME_CHAR_Y 0x5961#define AML_NAME_CHAR_Z 0x5a62#define AML_ROOT_CHAR 0x5c63#define AML_PARENT_PREFIX_CHAR 0x5e64#define AML_NAME_CHAR__ 0x5f65#define AML_LOCAL0 0x6066#define AML_LOCAL1 0x6167#define AML_LOCAL2 0x6268#define AML_LOCAL3 0x6369#define AML_LOCAL4 0x6470#define AML_LOCAL5 0x6571#define AML_LOCAL6 0x6672#define AML_LOCAL7 0x6773#define AML_ARG0 0x6874#define AML_ARG1 0x6975#define AML_ARG2 0x6a76#define AML_ARG3 0x6b77#define AML_ARG4 0x6c78#define AML_ARG5 0x6d79#define AML_ARG6 0x6e80#define AML_STORE_OP 0x7081#define AML_REF_OF_OP 0x7182#define AML_ADD_OP 0x7283#define AML_CONCAT_OP 0x7384#define AML_SUBTRACT_OP 0x7485#define AML_INCREMENT_OP 0x7586#define AML_DECREMENT_OP 0x7687#define AML_MULTIPLY_OP 0x7788#define AML_DIVIDE_OP 0x7889#define AML_SHIFT_LEFT_OP 0x7990#define AML_SHIFT_RIGHT_OP 0x7a91#define AML_AND_OP 0x7b92#define AML_NAND_OP 0x7c93#define AML_OR_OP 0x7d94#define AML_NOR_OP 0x7e95#define AML_XOR_OP 0x7f96#define AML_NOT_OP 0x8097#define AML_FIND_SET_LEFT_BIT_OP 0x8198#define AML_FIND_SET_RIGHT_BIT_OP 0x8299#define AML_DEREF_OF_OP 0x83100#define AML_CONCAT_RES_OP 0x84101#define AML_MOD_OP 0x85102#define AML_NOTIFY_OP 0x86103#define AML_SIZE_OF_OP 0x87104#define AML_INDEX_OP 0x88105#define AML_MATCH_OP 0x89106#define AML_CREATE_DWORD_FIELD_OP 0x8a107#define AML_CREATE_WORD_FIELD_OP 0x8b108#define AML_CREATE_BYTE_FIELD_OP 0x8c109#define AML_CREATE_BIT_FIELD_OP 0x8d110#define AML_OBJECT_TYPE_OP 0x8e111#define AML_CREATE_QWORD_FIELD_OP 0x8f112#define AML_LAND_OP 0x90113#define AML_LOR_OP 0x91114#define AML_LNOT_OP 0x92115#define AML_LEQUAL_OP 0x93116#define AML_LGREATER_OP 0x94117#define AML_LLESS_OP 0x95118#define AML_TO_BUFFER_OP 0x96119#define AML_TO_DEC_STRING_OP 0x97120#define AML_TO_HEX_STRING_OP 0x98121#define AML_TO_INTEGER_OP 0x99122#define AML_TO_STRING_OP 0x9c123#define AML_COPY_OBJECT_OP 0x9d124#define AML_MID_OP 0x9e125#define AML_CONTINUE_OP 0x9f126#define AML_IF_OP 0xa0127#define AML_ELSE_OP 0xa1128#define AML_WHILE_OP 0xa2129#define AML_NOOP_OP 0xa3130#define AML_RETURN_OP 0xa4131#define AML_BREAK_OP 0xa5132#define AML_BREAK_POINT_OP 0xcc133#define AML_ONES_OP 0xff134135//136// Extended OpCode137//138#define AML_EXT_OP 0x5b139140#define AML_EXT_MUTEX_OP 0x01141#define AML_EXT_EVENT_OP 0x02142#define AML_EXT_COND_REF_OF_OP 0x12143#define AML_EXT_CREATE_FIELD_OP 0x13144#define AML_EXT_LOAD_TABLE_OP 0x1f145#define AML_EXT_LOAD_OP 0x20146#define AML_EXT_STALL_OP 0x21147#define AML_EXT_SLEEP_OP 0x22148#define AML_EXT_ACQUIRE_OP 0x23149#define AML_EXT_SIGNAL_OP 0x24150#define AML_EXT_WAIT_OP 0x25151#define AML_EXT_RESET_OP 0x26152#define AML_EXT_RELEASE_OP 0x27153#define AML_EXT_FROM_BCD_OP 0x28154#define AML_EXT_TO_BCD_OP 0x29155#define AML_EXT_UNLOAD_OP 0x2a156#define AML_EXT_REVISION_OP 0x30157#define AML_EXT_DEBUG_OP 0x31158#define AML_EXT_FATAL_OP 0x32159#define AML_EXT_TIMER_OP 0x33160#define AML_EXT_REGION_OP 0x80161#define AML_EXT_FIELD_OP 0x81162#define AML_EXT_DEVICE_OP 0x82163#define AML_EXT_PROCESSOR_OP 0x83164#define AML_EXT_POWER_RES_OP 0x84165#define AML_EXT_THERMAL_ZONE_OP 0x85166#define AML_EXT_INDEX_FIELD_OP 0x86167#define AML_EXT_BANK_FIELD_OP 0x87168#define AML_EXT_DATA_REGION_OP 0x88169170//171// FieldElement OpCode172//173#define AML_FIELD_RESERVED_OP 0x00174#define AML_FIELD_ACCESS_OP 0x01175#define AML_FIELD_CONNECTION_OP 0x02176#define AML_FIELD_EXT_ACCESS_OP 0x03177178//179// AML Name segment definitions180//181#define AML_NAME_SEG_SIZE 4182183#endif184185186