1 /** 2 Based on IndustryStandard/AcpiAml.h, original notice: 3 4 This file contains AML code definition in the latest ACPI spec. 5 6 Copyright (c) 2011, Intel Corporation. All rights reserved. 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 **/ 16 module uefi.acpiaml; 17 import uefi.base; 18 import uefi.base_type; 19 20 public: 21 extern (C): 22 enum AML_ZERO_OP = 0x00; 23 enum AML_ONE_OP = 0x01; 24 enum AML_ALIAS_OP = 0x06; 25 enum AML_NAME_OP = 0x08; 26 enum AML_BYTE_PREFIX = 0x0a; 27 enum AML_WORD_PREFIX = 0x0b; 28 enum AML_DWORD_PREFIX = 0x0c; 29 enum AML_STRING_PREFIX = 0x0d; 30 enum AML_QWORD_PREFIX = 0x0e; 31 enum AML_SCOPE_OP = 0x10; 32 enum AML_BUFFER_OP = 0x11; 33 enum AML_PACKAGE_OP = 0x12; 34 enum AML_VAR_PACKAGE_OP = 0x13; 35 enum AML_METHOD_OP = 0x14; 36 enum AML_DUAL_NAME_PREFIX = 0x2e; 37 enum AML_MULTI_NAME_PREFIX = 0x2f; 38 enum AML_NAME_CHAR_A = 0x41; 39 enum AML_NAME_CHAR_B = 0x42; 40 enum AML_NAME_CHAR_C = 0x43; 41 enum AML_NAME_CHAR_D = 0x44; 42 enum AML_NAME_CHAR_E = 0x45; 43 enum AML_NAME_CHAR_F = 0x46; 44 enum AML_NAME_CHAR_G = 0x47; 45 enum AML_NAME_CHAR_H = 0x48; 46 enum AML_NAME_CHAR_I = 0x49; 47 enum AML_NAME_CHAR_J = 0x4a; 48 enum AML_NAME_CHAR_K = 0x4b; 49 enum AML_NAME_CHAR_L = 0x4c; 50 enum AML_NAME_CHAR_M = 0x4d; 51 enum AML_NAME_CHAR_N = 0x4e; 52 enum AML_NAME_CHAR_O = 0x4f; 53 enum AML_NAME_CHAR_P = 0x50; 54 enum AML_NAME_CHAR_Q = 0x51; 55 enum AML_NAME_CHAR_R = 0x52; 56 enum AML_NAME_CHAR_S = 0x53; 57 enum AML_NAME_CHAR_T = 0x54; 58 enum AML_NAME_CHAR_U = 0x55; 59 enum AML_NAME_CHAR_V = 0x56; 60 enum AML_NAME_CHAR_W = 0x57; 61 enum AML_NAME_CHAR_X = 0x58; 62 enum AML_NAME_CHAR_Y = 0x59; 63 enum AML_NAME_CHAR_Z = 0x5a; 64 enum AML_ROOT_CHAR = 0x5c; 65 enum AML_PARENT_PREFIX_CHAR = 0x5e; 66 enum AML_NAME_CHAR__ = 0x5f; 67 enum AML_LOCAL0 = 0x60; 68 enum AML_LOCAL1 = 0x61; 69 enum AML_LOCAL2 = 0x62; 70 enum AML_LOCAL3 = 0x63; 71 enum AML_LOCAL4 = 0x64; 72 enum AML_LOCAL5 = 0x65; 73 enum AML_LOCAL6 = 0x66; 74 enum AML_LOCAL7 = 0x67; 75 enum AML_ARG0 = 0x68; 76 enum AML_ARG1 = 0x69; 77 enum AML_ARG2 = 0x6a; 78 enum AML_ARG3 = 0x6b; 79 enum AML_ARG4 = 0x6c; 80 enum AML_ARG5 = 0x6d; 81 enum AML_ARG6 = 0x6e; 82 enum AML_STORE_OP = 0x70; 83 enum AML_REF_OF_OP = 0x71; 84 enum AML_ADD_OP = 0x72; 85 enum AML_CONCAT_OP = 0x73; 86 enum AML_SUBTRACT_OP = 0x74; 87 enum AML_INCREMENT_OP = 0x75; 88 enum AML_DECREMENT_OP = 0x76; 89 enum AML_MULTIPLY_OP = 0x77; 90 enum AML_DIVIDE_OP = 0x78; 91 enum AML_SHIFT_LEFT_OP = 0x79; 92 enum AML_SHIFT_RIGHT_OP = 0x7a; 93 enum AML_AND_OP = 0x7b; 94 enum AML_NAND_OP = 0x7c; 95 enum AML_OR_OP = 0x7d; 96 enum AML_NOR_OP = 0x7e; 97 enum AML_XOR_OP = 0x7f; 98 enum AML_NOT_OP = 0x80; 99 enum AML_FIND_SET_LEFT_BIT_OP = 0x81; 100 enum AML_FIND_SET_RIGHT_BIT_OP = 0x82; 101 enum AML_DEREF_OF_OP = 0x83; 102 enum AML_CONCAT_RES_OP = 0x84; 103 enum AML_MOD_OP = 0x85; 104 enum AML_NOTIFY_OP = 0x86; 105 enum AML_SIZE_OF_OP = 0x87; 106 enum AML_INDEX_OP = 0x88; 107 enum AML_MATCH_OP = 0x89; 108 enum AML_CREATE_DWORD_FIELD_OP = 0x8a; 109 enum AML_CREATE_WORD_FIELD_OP = 0x8b; 110 enum AML_CREATE_BYTE_FIELD_OP = 0x8c; 111 enum AML_CREATE_BIT_FIELD_OP = 0x8d; 112 enum AML_OBJECT_TYPE_OP = 0x8e; 113 enum AML_CREATE_QWORD_FIELD_OP = 0x8f; 114 enum AML_LAND_OP = 0x90; 115 enum AML_LOR_OP = 0x91; 116 enum AML_LNOT_OP = 0x92; 117 enum AML_LEQUAL_OP = 0x93; 118 enum AML_LGREATER_OP = 0x94; 119 enum AML_LLESS_OP = 0x95; 120 enum AML_TO_BUFFER_OP = 0x96; 121 enum AML_TO_DEC_STRING_OP = 0x97; 122 enum AML_TO_HEX_STRING_OP = 0x98; 123 enum AML_TO_INTEGER_OP = 0x99; 124 enum AML_TO_STRING_OP = 0x9c; 125 enum AML_COPY_OBJECT_OP = 0x9d; 126 enum AML_MID_OP = 0x9e; 127 enum AML_CONTINUE_OP = 0x9f; 128 enum AML_IF_OP = 0xa0; 129 enum AML_ELSE_OP = 0xa1; 130 enum AML_WHILE_OP = 0xa2; 131 enum AML_NOOP_OP = 0xa3; 132 enum AML_RETURN_OP = 0xa4; 133 enum AML_BREAK_OP = 0xa5; 134 enum AML_BREAK_POINT_OP = 0xcc; 135 enum AML_ONES_OP = 0xff; 136 enum AML_EXT_OP = 0x5b; 137 enum AML_EXT_MUTEX_OP = 0x01; 138 enum AML_EXT_EVENT_OP = 0x02; 139 enum AML_EXT_COND_REF_OF_OP = 0x12; 140 enum AML_EXT_CREATE_FIELD_OP = 0x13; 141 enum AML_EXT_LOAD_TABLE_OP = 0x1f; 142 enum AML_EXT_LOAD_OP = 0x20; 143 enum AML_EXT_STALL_OP = 0x21; 144 enum AML_EXT_SLEEP_OP = 0x22; 145 enum AML_EXT_ACQUIRE_OP = 0x23; 146 enum AML_EXT_SIGNAL_OP = 0x24; 147 enum AML_EXT_WAIT_OP = 0x25; 148 enum AML_EXT_RESET_OP = 0x26; 149 enum AML_EXT_RELEASE_OP = 0x27; 150 enum AML_EXT_FROM_BCD_OP = 0x28; 151 enum AML_EXT_TO_BCD_OP = 0x29; 152 enum AML_EXT_UNLOAD_OP = 0x2a; 153 enum AML_EXT_REVISION_OP = 0x30; 154 enum AML_EXT_DEBUG_OP = 0x31; 155 enum AML_EXT_FATAL_OP = 0x32; 156 enum AML_EXT_TIMER_OP = 0x33; 157 enum AML_EXT_REGION_OP = 0x80; 158 enum AML_EXT_FIELD_OP = 0x81; 159 enum AML_EXT_DEVICE_OP = 0x82; 160 enum AML_EXT_PROCESSOR_OP = 0x83; 161 enum AML_EXT_POWER_RES_OP = 0x84; 162 enum AML_EXT_THERMAL_ZONE_OP = 0x85; 163 enum AML_EXT_INDEX_FIELD_OP = 0x86; 164 enum AML_EXT_BANK_FIELD_OP = 0x87; 165 enum AML_EXT_DATA_REGION_OP = 0x88;