]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/AcpiAml.h
Add ACPI5.0 header file.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / AcpiAml.h
diff --git a/MdePkg/Include/IndustryStandard/AcpiAml.h b/MdePkg/Include/IndustryStandard/AcpiAml.h
new file mode 100644 (file)
index 0000000..297e135
--- /dev/null
@@ -0,0 +1,175 @@
+/** @file\r
+  This file contains AML code definition in the latest ACPI spec.\r
+\r
+  Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef _ACPI_AML_H_\r
+#define _ACPI_AML_H_\r
+\r
+//\r
+// ACPI AML definition\r
+//\r
+\r
+//\r
+// Primary OpCode\r
+//\r
+#define AML_ZERO_OP                  0x00\r
+#define AML_ONE_OP                   0x01\r
+#define AML_ALIAS_OP                 0x06\r
+#define AML_NAME_OP                  0x08\r
+#define AML_BYTE_PREFIX              0x0a\r
+#define AML_WORD_PREFIX              0x0b\r
+#define AML_DWORD_PREFIX             0x0c\r
+#define AML_STRING_PREFIX            0x0d\r
+#define AML_QWORD_PREFIX             0x0e\r
+#define AML_SCOPE_OP                 0x10\r
+#define AML_BUFFER_OP                0x11\r
+#define AML_PACKAGE_OP               0x12\r
+#define AML_VAR_PACKAGE_OP           0x13\r
+#define AML_METHOD_OP                0x14\r
+#define AML_DUAL_NAME_PREFIX         0x2e\r
+#define AML_MULTI_NAME_PREFIX        0x2f\r
+#define AML_NAME_CHAR_A              0x41\r
+#define AML_NAME_CHAR_B              0x42\r
+#define AML_NAME_CHAR_C              0x43\r
+#define AML_NAME_CHAR_D              0x44\r
+#define AML_NAME_CHAR_E              0x45\r
+#define AML_NAME_CHAR_F              0x46\r
+#define AML_NAME_CHAR_G              0x47\r
+#define AML_NAME_CHAR_H              0x48\r
+#define AML_NAME_CHAR_I              0x49\r
+#define AML_NAME_CHAR_J              0x4a\r
+#define AML_NAME_CHAR_K              0x4b\r
+#define AML_NAME_CHAR_L              0x4c\r
+#define AML_NAME_CHAR_M              0x4d\r
+#define AML_NAME_CHAR_N              0x4e\r
+#define AML_NAME_CHAR_O              0x4f\r
+#define AML_NAME_CHAR_P              0x50\r
+#define AML_NAME_CHAR_Q              0x51\r
+#define AML_NAME_CHAR_R              0x52\r
+#define AML_NAME_CHAR_S              0x53\r
+#define AML_NAME_CHAR_T              0x54\r
+#define AML_NAME_CHAR_U              0x55\r
+#define AML_NAME_CHAR_V              0x56\r
+#define AML_NAME_CHAR_W              0x57\r
+#define AML_NAME_CHAR_X              0x58\r
+#define AML_NAME_CHAR_Y              0x59\r
+#define AML_NAME_CHAR_Z              0x5a\r
+#define AML_ROOT_CHAR                0x5c\r
+#define AML_PARENT_PREFIX_CHAR       0x5e\r
+#define AML_NAME_CHAR__              0x5f\r
+#define AML_LOCAL0                   0x60\r
+#define AML_LOCAL1                   0x61\r
+#define AML_LOCAL2                   0x62\r
+#define AML_LOCAL3                   0x63\r
+#define AML_LOCAL4                   0x64\r
+#define AML_LOCAL5                   0x65\r
+#define AML_LOCAL6                   0x66\r
+#define AML_LOCAL7                   0x67\r
+#define AML_ARG0                     0x68\r
+#define AML_ARG1                     0x69\r
+#define AML_ARG2                     0x6a\r
+#define AML_ARG3                     0x6b\r
+#define AML_ARG4                     0x6c\r
+#define AML_ARG5                     0x6d\r
+#define AML_ARG6                     0x6e\r
+#define AML_STORE_OP                 0x70\r
+#define AML_REF_OF_OP                0x71\r
+#define AML_ADD_OP                   0x72\r
+#define AML_CONCAT_OP                0x73\r
+#define AML_SUBTRACT_OP              0x74\r
+#define AML_INCREMENT_OP             0x75\r
+#define AML_DECREMENT_OP             0x76\r
+#define AML_MULTIPLY_OP              0x77\r
+#define AML_DIVIDE_OP                0x78\r
+#define AML_SHIFT_LEFT_OP            0x79\r
+#define AML_SHIFT_RIGHT_OP           0x7a\r
+#define AML_AND_OP                   0x7b\r
+#define AML_NAND_OP                  0x7c\r
+#define AML_OR_OP                    0x7d\r
+#define AML_NOR_OP                   0x7e\r
+#define AML_XOR_OP                   0x7f\r
+#define AML_NOT_OP                   0x80\r
+#define AML_FIND_SET_LEFT_BIT_OP     0x81\r
+#define AML_FIND_SET_RIGHT_BIT_OP    0x82\r
+#define AML_DEREF_OF_OP              0x83\r
+#define AML_CONCAT_RES_OP            0x84\r
+#define AML_MOD_OP                   0x85\r
+#define AML_NOTIFY_OP                0x86\r
+#define AML_SIZE_OF_OP               0x87\r
+#define AML_INDEX_OP                 0x88\r
+#define AML_MATCH_OP                 0x89\r
+#define AML_CREATE_DWORD_FIELD_OP    0x8a\r
+#define AML_CREATE_WORD_FIELD_OP     0x8b\r
+#define AML_CREATE_BYTE_FIELD_OP     0x8c\r
+#define AML_CREATE_BIT_FIELD_OP      0x8d\r
+#define AML_OBJECT_TYPE_OP           0x8e\r
+#define AML_CREATE_QWORD_FIELD_OP    0x8f\r
+#define AML_LAND_OP                  0x90\r
+#define AML_LOR_OP                   0x91\r
+#define AML_LNOT_OP                  0x92\r
+#define AML_LEQUAL_OP                0x93\r
+#define AML_LGREATER_OP              0x94\r
+#define AML_LLESS_OP                 0x95\r
+#define AML_TO_BUFFER_OP             0x96\r
+#define AML_TO_DEC_STRING_OP         0x97\r
+#define AML_TO_HEX_STRING_OP         0x98\r
+#define AML_TO_INTEGER_OP            0x99\r
+#define AML_TO_STRING_OP             0x9c\r
+#define AML_COPY_OBJECT_OP           0x9d\r
+#define AML_MID_OP                   0x9e\r
+#define AML_CONTINUE_OP              0x9f\r
+#define AML_IF_OP                    0xa0\r
+#define AML_ELSE_OP                  0xa1\r
+#define AML_WHILE_OP                 0xa2\r
+#define AML_NOOP_OP                  0xa3\r
+#define AML_RETURN_OP                0xa4\r
+#define AML_BREAK_OP                 0xa5\r
+#define AML_BREAK_POINT_OP           0xcc\r
+#define AML_ONES_OP                  0xff\r
+\r
+//\r
+// Extended OpCode\r
+//\r
+#define AML_EXT_OP                   0x5b\r
+\r
+#define AML_EXT_MUTEX_OP             0x01\r
+#define AML_EXT_EVENT_OP             0x02\r
+#define AML_EXT_COND_REF_OF_OP       0x12\r
+#define AML_EXT_CREATE_FIELD_OP      0x13\r
+#define AML_EXT_LOAD_TABLE_OP        0x1f\r
+#define AML_EXT_LOAD_OP              0x20\r
+#define AML_EXT_STALL_OP             0x21\r
+#define AML_EXT_SLEEP_OP             0x22\r
+#define AML_EXT_ACQUIRE_OP           0x23\r
+#define AML_EXT_SIGNAL_OP            0x24\r
+#define AML_EXT_WAIT_OP              0x25\r
+#define AML_EXT_RESET_OP             0x26\r
+#define AML_EXT_RELEASE_OP           0x27\r
+#define AML_EXT_FROM_BCD_OP          0x28\r
+#define AML_EXT_TO_BCD_OP            0x29\r
+#define AML_EXT_UNLOAD_OP            0x2a\r
+#define AML_EXT_REVISION_OP          0x30\r
+#define AML_EXT_DEBUG_OP             0x31\r
+#define AML_EXT_FATAL_OP             0x32\r
+#define AML_EXT_TIMER_OP             0x33\r
+#define AML_EXT_REGION_OP            0x80\r
+#define AML_EXT_FIELD_OP             0x81\r
+#define AML_EXT_DEVICE_OP            0x82\r
+#define AML_EXT_PROCESSOR_OP         0x83\r
+#define AML_EXT_POWER_RES_OP         0x84\r
+#define AML_EXT_THERMAL_ZONE_OP      0x85\r
+#define AML_EXT_INDEX_FIELD_OP       0x86\r
+#define AML_EXT_BANK_FIELD_OP        0x87\r
+#define AML_EXT_DATA_REGION_OP       0x88\r
+\r
+#endif\r