aslmap.c revision 193529
1216114Slstewart 2216114Slstewart/****************************************************************************** 3216114Slstewart * 4216114Slstewart * Module Name: aslmap - parser to AML opcode mapping table 5216114Slstewart * 6216114Slstewart *****************************************************************************/ 7220560Slstewart 8220560Slstewart/****************************************************************************** 9220560Slstewart * 10216114Slstewart * 1. Copyright Notice 11216114Slstewart * 12216114Slstewart * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. 13216114Slstewart * All rights reserved. 14216114Slstewart * 15216114Slstewart * 2. License 16216114Slstewart * 17216114Slstewart * 2.1. This is your license from Intel Corp. under its intellectual property 18216114Slstewart * rights. You may have additional license terms from the party that provided 19216114Slstewart * you this software, covering your right to use that party's intellectual 20216114Slstewart * property rights. 21216114Slstewart * 22216114Slstewart * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 23216114Slstewart * copy of the source code appearing in this file ("Covered Code") an 24216114Slstewart * irrevocable, perpetual, worldwide license under Intel's copyrights in the 25216114Slstewart * base code distributed originally by Intel ("Original Intel Code") to copy, 26216114Slstewart * make derivatives, distribute, use and display any portion of the Covered 27216114Slstewart * Code in any form, with the right to sublicense such rights; and 28216114Slstewart * 29216114Slstewart * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 30216114Slstewart * license (with the right to sublicense), under only those claims of Intel 31216114Slstewart * patents that are infringed by the Original Intel Code, to make, use, sell, 32216114Slstewart * offer to sell, and import the Covered Code and derivative works thereof 33216114Slstewart * solely to the minimum extent necessary to exercise the above copyright 34216114Slstewart * license, and in no event shall the patent license extend to any additions 35216114Slstewart * to or modifications of the Original Intel Code. No other license or right 36216114Slstewart * is granted directly or by implication, estoppel or otherwise; 37216114Slstewart * 38216114Slstewart * The above copyright and patent license is granted only if the following 39216114Slstewart * conditions are met: 40216114Slstewart * 41216114Slstewart * 3. Conditions 42216114Slstewart * 43216114Slstewart * 3.1. Redistribution of Source with Rights to Further Distribute Source. 44216114Slstewart * Redistribution of source code of any substantial portion of the Covered 45216114Slstewart * Code or modification with rights to further distribute source must include 46216114Slstewart * the above Copyright Notice, the above License, this list of Conditions, 47216114Slstewart * and the following Disclaimer and Export Compliance provision. In addition, 48216114Slstewart * Licensee must cause all Covered Code to which Licensee contributes to 49216114Slstewart * contain a file documenting the changes Licensee made to create that Covered 50216114Slstewart * Code and the date of any change. Licensee must include in that file the 51216114Slstewart * documentation of any changes made by any predecessor Licensee. Licensee 52216114Slstewart * must include a prominent statement that the modification is derived, 53216114Slstewart * directly or indirectly, from Original Intel Code. 54216114Slstewart * 55216114Slstewart * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 56216114Slstewart * Redistribution of source code of any substantial portion of the Covered 57216114Slstewart * Code or modification without rights to further distribute source must 58216114Slstewart * include the following Disclaimer and Export Compliance provision in the 59216114Slstewart * documentation and/or other materials provided with distribution. In 60216114Slstewart * addition, Licensee may not authorize further sublicense of source of any 61216114Slstewart * portion of the Covered Code, and must include terms to the effect that the 62216114Slstewart * license from Licensee to its licensee is limited to the intellectual 63216114Slstewart * property embodied in the software Licensee provides to its licensee, and 64216114Slstewart * not to intellectual property embodied in modifications its licensee may 65216114Slstewart * make. 66216114Slstewart * 67216114Slstewart * 3.3. Redistribution of Executable. Redistribution in executable form of any 68216114Slstewart * substantial portion of the Covered Code or modification must reproduce the 69216114Slstewart * above Copyright Notice, and the following Disclaimer and Export Compliance 70216114Slstewart * provision in the documentation and/or other materials provided with the 71216114Slstewart * distribution. 72216114Slstewart * 73216114Slstewart * 3.4. Intel retains all right, title, and interest in and to the Original 74216114Slstewart * Intel Code. 75216114Slstewart * 76216114Slstewart * 3.5. Neither the name Intel nor any other trademark owned or controlled by 77216114Slstewart * Intel shall be used in advertising or otherwise to promote the sale, use or 78216114Slstewart * other dealings in products derived from or relating to the Covered Code 79216114Slstewart * without prior written authorization from Intel. 80216114Slstewart * 81216114Slstewart * 4. Disclaimer and Export Compliance 82216114Slstewart * 83216114Slstewart * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 84216114Slstewart * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 85216114Slstewart * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 86216114Slstewart * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 87216114Slstewart * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 88216114Slstewart * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 89216114Slstewart * PARTICULAR PURPOSE. 90216114Slstewart * 91216114Slstewart * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 92216114Slstewart * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 93216114Slstewart * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 94216114Slstewart * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 95216114Slstewart * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 96216114Slstewart * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 97216114Slstewart * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 98216114Slstewart * LIMITED REMEDY. 99216114Slstewart * 100216114Slstewart * 4.3. Licensee shall not export, either directly or indirectly, any of this 101216114Slstewart * software or system incorporating such software without first obtaining any 102216114Slstewart * required license or other approval from the U. S. Department of Commerce or 103216114Slstewart * any other agency or department of the United States Government. In the 104216114Slstewart * event Licensee exports any such software from the United States or 105216114Slstewart * re-exports any such software from a foreign destination, Licensee shall 106216114Slstewart * ensure that the distribution and export/re-export of the software is in 107216114Slstewart * compliance with all laws, regulations, orders, or other restrictions of the 108216114Slstewart * U.S. Export Administration Regulations. Licensee agrees that neither it nor 109216114Slstewart * any of its subsidiaries will export/re-export any technical data, process, 110216114Slstewart * software, or service, directly or indirectly, to any country for which the 111216114Slstewart * United States government or any agency thereof requires an export license, 112216114Slstewart * other governmental approval, or letter of assurance, without first obtaining 113216114Slstewart * such license, approval or letter. 114216114Slstewart * 115216114Slstewart *****************************************************************************/ 116216114Slstewart 117216114Slstewart 118216114Slstewart#include <contrib/dev/acpica/compiler/aslcompiler.h> 119216114Slstewart#include <contrib/dev/acpica/include/amlcode.h> 120216114Slstewart#include <contrib/dev/acpica/include/acparser.h> 121216114Slstewart 122216114Slstewart 123216114Slstewart#define _COMPONENT ACPI_COMPILER 124216114Slstewart ACPI_MODULE_NAME ("aslmap") 125216114Slstewart 126216114Slstewart 127216114Slstewart/******************************************************************************* 128216114Slstewart * 129216114Slstewart * FUNCTION: AslMapNamedOpcodeToDataType 130216114Slstewart * 131216114Slstewart * PARAMETERS: Opcode - The Named AML opcode to map 132216114Slstewart * 133216114Slstewart * RETURN: The ACPI type associated with the named opcode 134216114Slstewart * 135216114Slstewart * DESCRIPTION: Convert a raw Named AML opcode to the associated data type. 136216114Slstewart * Named opcodes are a subset of the AML opcodes. 137216114Slstewart * 138216114Slstewart ******************************************************************************/ 139216114Slstewart 140216114SlstewartACPI_OBJECT_TYPE 141216114SlstewartAslMapNamedOpcodeToDataType ( 142216114Slstewart UINT16 Opcode) 143216114Slstewart{ 144216114Slstewart const ACPI_OPCODE_INFO *OpInfo; 145216114Slstewart 146216114Slstewart 147216114Slstewart /* 148216114Slstewart * There are some differences from the opcode table types, we 149216114Slstewart * catch them here. 150216114Slstewart */ 151216114Slstewart OpInfo = AcpiPsGetOpcodeInfo (Opcode); 152216114Slstewart 153216114Slstewart if (Opcode == AML_INT_NAMEPATH_OP) 154216114Slstewart { 155216114Slstewart return (ACPI_TYPE_ANY); 156216114Slstewart } 157216114Slstewart 158216114Slstewart if (Opcode == AML_INT_METHODCALL_OP) 159216114Slstewart { 160216114Slstewart return (ACPI_TYPE_ANY); 161216114Slstewart } 162216114Slstewart 163216114Slstewart if (OpInfo->Flags & AML_NSOBJECT) 164216114Slstewart { 165216114Slstewart return (OpInfo->ObjectType); 166216114Slstewart } 167216114Slstewart 168216114Slstewart return (ACPI_TYPE_ANY); 169216114Slstewart} 170216114Slstewart 171216114Slstewart 172216114Slstewart/******************************************************************************* 173216114Slstewart * 174216114Slstewart * FUNCTION: MpDisplayReservedNames 175216114Slstewart * 176216114Slstewart * PARAMETERS: None 177216114Slstewart * 178216114Slstewart * RETURN: None 179216114Slstewart * 180216114Slstewart * DESCRIPTION: Print the table above 181216114Slstewart * 182216114Slstewart ******************************************************************************/ 183216114Slstewart 184216114Slstewartvoid 185216114SlstewartMpDisplayReservedNames ( 186216114Slstewart void) 187216114Slstewart{ 188216114Slstewart UINT32 i; 189216114Slstewart 190216114Slstewart printf ("Reserved name information\n\n"); 191216114Slstewart 192216114Slstewart for (i = 0; ReservedMethods[i].Name; i++) 193216114Slstewart { 194216114Slstewart printf ("%s ", ReservedMethods[i].Name); 195216114Slstewart 196216114Slstewart if (ReservedMethods[i].Flags & ASL_RSVD_SCOPE) 197216114Slstewart { 198216114Slstewart printf ("Reserved scope name\n"); 199216114Slstewart } 200216114Slstewart else if (ReservedMethods[i].Flags & ASL_RSVD_RESOURCE_NAME) 201216114Slstewart { 202216114Slstewart printf ("Resource data type reserved field name\n"); 203216114Slstewart } 204216114Slstewart else 205216114Slstewart { 206216114Slstewart printf ("Method with %d arguments, ", 207216114Slstewart ReservedMethods[i].NumArguments & 0x0F); 208216114Slstewart 209216114Slstewart if (ReservedMethods[i].Flags & ASL_RSVD_RETURN_VALUE) 210216114Slstewart { 211216114Slstewart printf ("must return a value\n"); 212216114Slstewart } 213216114Slstewart else 214216114Slstewart { 215216114Slstewart printf ("no return value\n"); 216216114Slstewart } 217216114Slstewart } 218216114Slstewart } 219216114Slstewart} 220216114Slstewart 221216114Slstewart 222216114Slstewart/******************************************************************************* 223216114Slstewart * 224216114Slstewart * DATA STRUCTURE: ReservedMethods 225216114Slstewart * 226216114Slstewart * DESCRIPTION: Contains all reserved methods and names as defined in the 227216114Slstewart * ACPI specification. Used during the analysis phase to 228216114Slstewart * ensure that reserved methods have the required number of 229216114Slstewart * arguments and the proper return type. 230 * 231 * Each entry in the table contains the following items: 232 * 233 * Name - The ACPI reserved name 234 * Args - Number of arguments to the method 235 * Flags - Whether this method must return a value or not 236 * 237 ******************************************************************************/ 238 239const ASL_RESERVED_INFO ReservedMethods[] = { 240 {"_AC0", 0, ASL_RSVD_RETURN_VALUE}, 241 {"_AC1", 0, ASL_RSVD_RETURN_VALUE}, 242 {"_AC2", 0, ASL_RSVD_RETURN_VALUE}, 243 {"_AC3", 0, ASL_RSVD_RETURN_VALUE}, 244 {"_AC4", 0, ASL_RSVD_RETURN_VALUE}, 245 {"_AC5", 0, ASL_RSVD_RETURN_VALUE}, 246 {"_AC6", 0, ASL_RSVD_RETURN_VALUE}, 247 {"_AC7", 0, ASL_RSVD_RETURN_VALUE}, 248 {"_AC8", 0, ASL_RSVD_RETURN_VALUE}, 249 {"_AC9", 0, ASL_RSVD_RETURN_VALUE}, 250 {"_ADR", 0, ASL_RSVD_RETURN_VALUE}, 251 {"_AL0", 0, ASL_RSVD_RETURN_VALUE}, 252 {"_AL1", 0, ASL_RSVD_RETURN_VALUE}, 253 {"_AL2", 0, ASL_RSVD_RETURN_VALUE}, 254 {"_AL3", 0, ASL_RSVD_RETURN_VALUE}, 255 {"_AL4", 0, ASL_RSVD_RETURN_VALUE}, 256 {"_AL5", 0, ASL_RSVD_RETURN_VALUE}, 257 {"_AL6", 0, ASL_RSVD_RETURN_VALUE}, 258 {"_AL7", 0, ASL_RSVD_RETURN_VALUE}, 259 {"_AL8", 0, ASL_RSVD_RETURN_VALUE}, 260 {"_AL9", 0, ASL_RSVD_RETURN_VALUE}, 261 {"_ALC", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 262 {"_ALI", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 263 {"_ALN", 0, ASL_RSVD_RESOURCE_NAME}, 264 {"_ALP", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 265 {"_ALR", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 266 {"_ALT", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 267 {"_ASI", 0, ASL_RSVD_RESOURCE_NAME}, 268 {"_ASZ", 0, ASL_RSVD_RESOURCE_NAME}, 269 {"_BAS", 0, ASL_RSVD_RESOURCE_NAME}, 270 {"_BBN", 0, ASL_RSVD_RETURN_VALUE}, 271 {"_BCL", 0, ASL_RSVD_RETURN_VALUE}, 272 {"_BCM", 1, 0}, 273 {"_BDN", 0, ASL_RSVD_RETURN_VALUE}, 274 {"_BFS", 1, 0}, 275 {"_BIF", 0, ASL_RSVD_RETURN_VALUE}, 276 {"_BLT", 3, 0}, /* Acpi 3.0 */ 277 {"_BM_", 0, ASL_RSVD_RESOURCE_NAME}, 278 {"_BMC", 1, 0}, /* Acpi 3.0 */ 279 {"_BMD", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 280 {"_BQC", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 281 {"_BST", 0, ASL_RSVD_RETURN_VALUE}, 282 {"_BTM", 1, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 283 {"_BTP", 1, 0}, 284 {"_CBA", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 285 {"_CID", 0, ASL_RSVD_RETURN_VALUE}, 286 {"_CRS", 0, ASL_RSVD_RETURN_VALUE}, 287 {"_CRT", 0, ASL_RSVD_RETURN_VALUE}, 288 {"_CSD", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 289 {"_CST", 0, ASL_RSVD_RETURN_VALUE}, 290 {"_DCK", 1, ASL_RSVD_RETURN_VALUE}, 291 {"_DCS", 0, ASL_RSVD_RETURN_VALUE}, 292 {"_DDC", 1, ASL_RSVD_RETURN_VALUE}, 293 {"_DDN", 0, 0}, 294 {"_DEC", 0, ASL_RSVD_RESOURCE_NAME}, 295 {"_DGS", 0, ASL_RSVD_RETURN_VALUE}, 296 {"_DIS", 0, 0}, 297 {"_DMA", 0, ASL_RSVD_RETURN_VALUE}, 298 {"_DOD", 0, ASL_RSVD_RETURN_VALUE}, 299 {"_DOS", 1, 0}, 300 {"_DSM", 4, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 301 {"_DSS", 1, 0}, 302 {"_DSW", 3, 0}, /* Acpi 3.0 */ 303 {"_EC_", 0, ASL_RSVD_RETURN_VALUE}, 304 {"_EDL", 0, ASL_RSVD_RETURN_VALUE}, 305 {"_EJ0", 1, 0}, 306 {"_EJ1", 1, 0}, 307 {"_EJ2", 1, 0}, 308 {"_EJ3", 1, 0}, 309 {"_EJ4", 1, 0}, 310 {"_EJD", 0, ASL_RSVD_RETURN_VALUE}, 311 {"_ERR", 3, ASL_RSVD_RETURN_VALUE}, 312 {"_FDE", 0, ASL_RSVD_RETURN_VALUE}, 313 {"_FDI", 0, ASL_RSVD_RETURN_VALUE}, 314 {"_FDM", 1, 0}, 315 {"_FIX", 0, ASL_RSVD_RETURN_VALUE}, 316 {"_GL_", 0, ASL_RSVD_RETURN_VALUE}, 317 {"_GLK", 0, ASL_RSVD_RETURN_VALUE}, 318 {"_GPD", 0, ASL_RSVD_RETURN_VALUE}, 319 {"_GPE", 0, ASL_RSVD_RETURN_VALUE}, 320 {"_GRA", 0, ASL_RSVD_RESOURCE_NAME}, 321 {"_GSB", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 322 {"_GTF", 0, ASL_RSVD_RETURN_VALUE}, 323 {"_GTM", 0, ASL_RSVD_RETURN_VALUE}, 324 {"_GTS", 1, 0}, 325 {"_HE_", 0, ASL_RSVD_RESOURCE_NAME}, 326 {"_HID", 0, ASL_RSVD_RETURN_VALUE}, 327 {"_HOT", 0, ASL_RSVD_RETURN_VALUE}, 328 {"_HPP", 0, ASL_RSVD_RETURN_VALUE}, 329 {"_HPX", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 330 {"_IFT", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 331 {"_INI", 0, 0}, 332 {"_INT", 0, ASL_RSVD_RESOURCE_NAME}, 333 {"_IRC", 0, 0}, 334 {"_LCK", 1, 0}, 335 {"_LEN", 0, ASL_RSVD_RESOURCE_NAME}, 336 {"_LID", 0, ASL_RSVD_RETURN_VALUE}, 337 {"_LL_", 0, ASL_RSVD_RESOURCE_NAME}, 338 {"_MAF", 0, ASL_RSVD_RESOURCE_NAME}, 339 {"_MAT", 0, ASL_RSVD_RETURN_VALUE}, 340 {"_MAX", 0, ASL_RSVD_RESOURCE_NAME}, 341 {"_MEM", 0, ASL_RSVD_RESOURCE_NAME}, 342 {"_MIF", 0, ASL_RSVD_RESOURCE_NAME}, 343 {"_MIN", 0, ASL_RSVD_RESOURCE_NAME}, 344 {"_MLS", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 345 {"_MSG", 1, 0}, 346 {"_MTP", 0, ASL_RSVD_RESOURCE_NAME}, 347 {"_OFF", 0, 0}, 348 {"_ON_", 0, 0}, 349 {"_OS_", 0, ASL_RSVD_RETURN_VALUE}, 350 {"_OSC", 4, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 351 {"_OSI", 1, ASL_RSVD_RETURN_VALUE}, 352 {"_OST", 3, 0}, /* Acpi 3.0 */ 353 {"_PCL", 0, ASL_RSVD_RETURN_VALUE}, 354 {"_PCT", 0, ASL_RSVD_RETURN_VALUE}, 355 {"_PDC", 1, 0}, 356 {"_PIC", 1, 0}, 357 {"_PLD", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 358 {"_PPC", 0, ASL_RSVD_RETURN_VALUE}, 359 {"_PPE", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 360 {"_PR0", 0, ASL_RSVD_RETURN_VALUE}, 361 {"_PR1", 0, ASL_RSVD_RETURN_VALUE}, 362 {"_PR2", 0, ASL_RSVD_RETURN_VALUE}, 363 {"_PRS", 0, ASL_RSVD_RETURN_VALUE}, 364 {"_PRT", 0, ASL_RSVD_RETURN_VALUE}, 365 {"_PRW", 0, ASL_RSVD_RETURN_VALUE}, 366 {"_PS0", 0, 0}, 367 {"_PS1", 0, 0}, 368 {"_PS2", 0, 0}, 369 {"_PS3", 0, 0}, 370 {"_PSC", 0, ASL_RSVD_RETURN_VALUE}, 371 {"_PSD", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 372 {"_PSL", 0, ASL_RSVD_RETURN_VALUE}, 373 {"_PSR", 0, ASL_RSVD_RETURN_VALUE}, 374 {"_PSS", 0, ASL_RSVD_RETURN_VALUE}, 375 {"_PSV", 0, ASL_RSVD_RETURN_VALUE}, 376 {"_PSW", 1, 0}, 377 {"_PTC", 0, ASL_RSVD_RETURN_VALUE}, 378 {"_PTS", 1, 0}, 379 {"_PXM", 0, ASL_RSVD_RETURN_VALUE}, 380 {"_RBO", 0, ASL_RSVD_RESOURCE_NAME}, 381 {"_RBW", 0, ASL_RSVD_RESOURCE_NAME}, 382 {"_REG", 2, 0}, 383 {"_REV", 0, ASL_RSVD_RETURN_VALUE}, 384 {"_RMV", 0, ASL_RSVD_RETURN_VALUE}, 385 {"_RNG", 0, ASL_RSVD_RESOURCE_NAME}, 386 {"_ROM", 2, ASL_RSVD_RETURN_VALUE}, 387 {"_RT_", 0, ASL_RSVD_RESOURCE_NAME}, /* Acpi 3.0 */ 388 {"_RTV", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 389 {"_RW_", 0, ASL_RSVD_RESOURCE_NAME}, 390 {"_S0_", 0, ASL_RSVD_RETURN_VALUE}, 391 {"_S1_", 0, ASL_RSVD_RETURN_VALUE}, 392 {"_S2_", 0, ASL_RSVD_RETURN_VALUE}, 393 {"_S3_", 0, ASL_RSVD_RETURN_VALUE}, 394 {"_S4_", 0, ASL_RSVD_RETURN_VALUE}, 395 {"_S5_", 0, ASL_RSVD_RETURN_VALUE}, 396 {"_S1D", 0, ASL_RSVD_RETURN_VALUE}, 397 {"_S2D", 0, ASL_RSVD_RETURN_VALUE}, 398 {"_S3D", 0, ASL_RSVD_RETURN_VALUE}, 399 {"_S4D", 0, ASL_RSVD_RETURN_VALUE}, 400 {"_S0W", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 401 {"_S1W", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 402 {"_S2W", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 403 {"_S3W", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 404 {"_S4W", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 405 {"_SB_", 0, ASL_RSVD_SCOPE}, 406 {"_SBS", 0, ASL_RSVD_RETURN_VALUE}, 407 {"_SCP", 0x13, 0}, /* Acpi 1.0 - one arg; Acpi 3.0 - three args */ 408 {"_SDD", 1, 0}, /* Acpi 3.0 */ 409 {"_SEG", 0, ASL_RSVD_RETURN_VALUE}, 410 {"_SHR", 0, ASL_RSVD_RESOURCE_NAME}, 411 {"_SI_", 0, ASL_RSVD_SCOPE}, 412 {"_SIZ", 0, ASL_RSVD_RESOURCE_NAME}, 413 {"_SLI", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 414 {"_SPD", 1, ASL_RSVD_RETURN_VALUE}, 415 {"_SRS", 1, 0}, 416 {"_SRV", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 417 {"_SST", 1, 0}, 418 {"_STA", 0, ASL_RSVD_RETURN_VALUE}, 419 {"_STM", 3, 0}, 420 {"_STR", 0, ASL_RSVD_RETURN_VALUE}, 421 {"_SUN", 0, ASL_RSVD_RETURN_VALUE}, 422 {"_SWS", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 423 {"_TC1", 0, ASL_RSVD_RETURN_VALUE}, 424 {"_TC2", 0, ASL_RSVD_RETURN_VALUE}, 425 {"_TDL", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0b */ 426 {"_TMP", 0, ASL_RSVD_RETURN_VALUE}, 427 {"_TPC", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 428 {"_TPT", 1, 0}, /* Acpi 3.0 */ 429 {"_TRA", 0, ASL_RSVD_RESOURCE_NAME}, 430 {"_TRS", 0, ASL_RSVD_RESOURCE_NAME}, 431 {"_TRT", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 432 {"_TSD", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 433 {"_TSF", 0, ASL_RSVD_RESOURCE_NAME}, /* Acpi 3.0 */ 434 {"_TSP", 0, ASL_RSVD_RETURN_VALUE}, 435 {"_TSS", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 436 {"_TST", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 437 {"_TTP", 0, ASL_RSVD_RESOURCE_NAME}, 438 {"_TTS", 1, 0}, /* Acpi 3.0 */ 439 {"_TYP", 0, ASL_RSVD_RESOURCE_NAME}, 440 {"_TZ_", 0, ASL_RSVD_SCOPE}, 441 {"_TZD", 0, ASL_RSVD_RETURN_VALUE}, 442 {"_TZM", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 443 {"_TZP", 0, ASL_RSVD_RETURN_VALUE}, 444 {"_UID", 0, ASL_RSVD_RETURN_VALUE}, 445 {"_UPC", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 446 {"_UPD", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 447 {"_UPP", 0, ASL_RSVD_RETURN_VALUE}, /* Acpi 3.0 */ 448 {"_VPO", 0, ASL_RSVD_RETURN_VALUE}, 449 {"_WAK", 1, ASL_RSVD_RETURN_VALUE}, 450 {"_WDG", 0, ASL_RSVD_RETURN_VALUE}, /* MS Extension */ 451 {"_WED", 1, ASL_RSVD_RETURN_VALUE}, /* MS Extension */ 452 {NULL, 0, 0}, 453}; 454 455 456/******************************************************************************* 457 * 458 * DATA STRUCTURE: AslKeywordMapping 459 * 460 * DESCRIPTION: Maps the ParseOpcode to the actual AML opcode. The parse 461 * opcodes are generated from Bison, and this table must 462 * track any additions to them. 463 * 464 * Each entry in the table contains the following items: 465 * 466 * AML opcode - Opcode that is written to the AML file 467 * Value - Value of the object to be written (if applicable) 468 * Flags - 1) Whether this opcode opens an AML "package". 469 * 470 ******************************************************************************/ 471/* 472 * TBD: 473 * AccessAttrib 474 * AccessType 475 * AMlop for DMA? 476 * ObjectType keywords 477 * Register 478 */ 479 480const ASL_MAPPING_ENTRY AslKeywordMapping [] = 481{ 482/*! [Begin] no source code translation (keep the table structure) */ 483 484 485/* ACCESSAS */ OP_TABLE_ENTRY (AML_INT_ACCESSFIELD_OP, 0, 0, 0), 486/* ACCESSATTRIB_BLOCK */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_BLOCK, 0, 0), 487/* ACCESSATTRIB_BLOCK_CALL */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_BLOCK_CALL,0, 0), 488/* ACCESSATTRIB_BYTE */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_BYTE, 0, 0), 489/* ACCESSATTRIB_WORD_CALL */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_WORD_CALL, 0, 0), 490/* ACCESSATTRIB_QUICK */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_QUICK, 0, 0), 491/* ACCESSATTRIB_SND_RCV */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_SEND_RCV, 0, 0), 492/* ACCESSATTRIB_WORD */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ATTRIB_SMB_WORD, 0, 0), 493/* ACCESSTYPE_ANY */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ACCESS_ANY, 0, 0), 494/* ACCESSTYPE_BUF */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ACCESS_BUFFER, 0, 0), 495/* ACCESSTYPE_BYTE */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ACCESS_BYTE, 0, 0), 496/* ACCESSTYPE_DWORD */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ACCESS_DWORD, 0, 0), 497/* ACCESSTYPE_QWORD */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ACCESS_QWORD, 0, 0), 498/* ACCESSTYPE_WORD */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_ACCESS_WORD, 0, 0), 499/* ACQUIRE */ OP_TABLE_ENTRY (AML_ACQUIRE_OP, 0, 0, ACPI_BTYPE_INTEGER), 500/* ADD */ OP_TABLE_ENTRY (AML_ADD_OP, 0, 0, ACPI_BTYPE_INTEGER), 501/* ADDRESSSPACE_FFIXEDHW */ OP_TABLE_ENTRY (AML_BYTE_OP, REGION_FIXED_HW, 0, 0), 502/* ADDRESSTYPE_ACPI */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), 503/* ADDRESSTYPE_MEMORY */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 504/* ADDRESSTYPE_NVS */ OP_TABLE_ENTRY (AML_BYTE_OP, 3, 0, 0), 505/* ADDRESSTYPE_RESERVED */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 506/* ALIAS */ OP_TABLE_ENTRY (AML_ALIAS_OP, 0, 0, 0), 507/* AND */ OP_TABLE_ENTRY (AML_BIT_AND_OP, 0, 0, ACPI_BTYPE_INTEGER), 508/* ARG0 */ OP_TABLE_ENTRY (AML_ARG0, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 509/* ARG1 */ OP_TABLE_ENTRY (AML_ARG1, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 510/* ARG2 */ OP_TABLE_ENTRY (AML_ARG2, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 511/* ARG3 */ OP_TABLE_ENTRY (AML_ARG3, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 512/* ARG4 */ OP_TABLE_ENTRY (AML_ARG4, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 513/* ARG5 */ OP_TABLE_ENTRY (AML_ARG5, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 514/* ARG6 */ OP_TABLE_ENTRY (AML_ARG6, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 515/* BANKFIELD */ OP_TABLE_ENTRY (AML_BANK_FIELD_OP, 0, NODE_AML_PACKAGE, 0), 516/* BREAK */ OP_TABLE_ENTRY (AML_BREAK_OP, 0, 0, 0), 517/* BREAKPOINT */ OP_TABLE_ENTRY (AML_BREAK_POINT_OP, 0, 0, 0), 518/* BUFFER */ OP_TABLE_ENTRY (AML_BUFFER_OP, 0, NODE_AML_PACKAGE, ACPI_BTYPE_BUFFER), 519/* BUSMASTERTYPE_MASTER */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 520/* BUSMASTERTYPE_NOTMASTER */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 521/* BYTECONST */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, 0, 0, ACPI_BTYPE_INTEGER), 522/* CASE */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 523/* CONCATENATE */ OP_TABLE_ENTRY (AML_CONCAT_OP, 0, 0, ACPI_BTYPE_COMPUTE_DATA), 524/* CONCATENATERESTEMPLATE */ OP_TABLE_ENTRY (AML_CONCAT_RES_OP, 0, 0, ACPI_BTYPE_BUFFER), 525/* CONDREFOF */ OP_TABLE_ENTRY (AML_COND_REF_OF_OP, 0, 0, ACPI_BTYPE_INTEGER), 526/* CONTINUE */ OP_TABLE_ENTRY (AML_CONTINUE_OP, 0, 0, 0), 527/* COPY */ OP_TABLE_ENTRY (AML_COPY_OP, 0, 0, ACPI_BTYPE_DATA_REFERENCE), 528/* CREATEBITFIELD */ OP_TABLE_ENTRY (AML_CREATE_BIT_FIELD_OP, 0, 0, 0), 529/* CREATEBYTEFIELD */ OP_TABLE_ENTRY (AML_CREATE_BYTE_FIELD_OP, 0, 0, 0), 530/* CREATEDWORDFIELD */ OP_TABLE_ENTRY (AML_CREATE_DWORD_FIELD_OP, 0, 0, 0), 531/* CREATEFIELD */ OP_TABLE_ENTRY (AML_CREATE_FIELD_OP, 0, 0, 0), 532/* CREATEQWORDFIELD */ OP_TABLE_ENTRY (AML_CREATE_QWORD_FIELD_OP, 0, 0, 0), 533/* CREATEWORDFIELD */ OP_TABLE_ENTRY (AML_CREATE_WORD_FIELD_OP, 0, 0, 0), 534/* DATATABLEREGION */ OP_TABLE_ENTRY (AML_DATA_REGION_OP, 0, 0, 0), 535/* DEBUG */ OP_TABLE_ENTRY (AML_DEBUG_OP, 0, 0, ACPI_BTYPE_DEBUG_OBJECT), 536/* DECODETYPE_POS */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 537/* DECODETYPE_SUB */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 538/* DECREMENT */ OP_TABLE_ENTRY (AML_DECREMENT_OP, 0, 0, ACPI_BTYPE_INTEGER), 539/* DEFAULT */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 540/* DEFAULT_ARG */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 541/* DEFINITIONBLOCK */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 542/* DEREFOF */ OP_TABLE_ENTRY (AML_DEREF_OF_OP, 0, 0, ACPI_BTYPE_DATA_REFERENCE | ACPI_BTYPE_STRING), 543/* DEVICE */ OP_TABLE_ENTRY (AML_DEVICE_OP, 0, NODE_AML_PACKAGE, 0), 544/* DIVIDE */ OP_TABLE_ENTRY (AML_DIVIDE_OP, 0, 0, ACPI_BTYPE_INTEGER), 545/* DMA */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 546/* DMATYPE_A */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 547/* DMATYPE_COMPATIBILITY */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 548/* DMATYPE_B */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), 549/* DMATYPE_F */ OP_TABLE_ENTRY (AML_BYTE_OP, 3, 0, 0), 550/* DWORDCONST */ OP_TABLE_ENTRY (AML_RAW_DATA_DWORD, 0, 0, ACPI_BTYPE_INTEGER), 551/* DWORDIO */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 552/* DWORDMEMORY */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 553/* DWORDSPACE */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 554/* EISAID */ OP_TABLE_ENTRY (AML_DWORD_OP, 0, 0, ACPI_BTYPE_INTEGER), 555/* ELSE */ OP_TABLE_ENTRY (AML_ELSE_OP, 0, NODE_AML_PACKAGE, 0), 556/* ELSEIF */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, NODE_AML_PACKAGE, 0), 557/* ENDDEPENDENTFN */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 558/* ENDTAG */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 559/* ERRORNODE */ OP_TABLE_ENTRY (AML_NOOP_OP, 0, 0, 0), 560/* EVENT */ OP_TABLE_ENTRY (AML_EVENT_OP, 0, 0, 0), 561/* EXTENDEDIO */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 562/* EXTENDEDMEMORY */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 563/* EXTENDEDSPACE */ OP_TABLE_ENTRY (AML_RAW_DATA_QWORD, 0, 0, ACPI_BTYPE_INTEGER), 564/* EXTERNAL */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 565/* FATAL */ OP_TABLE_ENTRY (AML_FATAL_OP, 0, 0, 0), 566/* FIELD */ OP_TABLE_ENTRY (AML_FIELD_OP, 0, NODE_AML_PACKAGE, 0), 567/* FINDSETLEFTBIT */ OP_TABLE_ENTRY (AML_FIND_SET_LEFT_BIT_OP, 0, 0, ACPI_BTYPE_INTEGER), 568/* FINDSETRIGHTBIT */ OP_TABLE_ENTRY (AML_FIND_SET_RIGHT_BIT_OP, 0, 0, ACPI_BTYPE_INTEGER), 569/* FIXEDIO */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 570/* FROMBCD */ OP_TABLE_ENTRY (AML_FROM_BCD_OP, 0, 0, ACPI_BTYPE_INTEGER), 571/* FUNCTION */ OP_TABLE_ENTRY (AML_METHOD_OP, 0, NODE_AML_PACKAGE, 0), 572/* IF */ OP_TABLE_ENTRY (AML_IF_OP, 0, NODE_AML_PACKAGE, 0), 573/* INCLUDE */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 574/* INCLUDE_CSTYLE */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 575/* INCLUDE_END */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 576/* INCREMENT */ OP_TABLE_ENTRY (AML_INCREMENT_OP, 0, 0, ACPI_BTYPE_INTEGER), 577/* INDEX */ OP_TABLE_ENTRY (AML_INDEX_OP, 0, 0, ACPI_BTYPE_REFERENCE), 578/* INDEXFIELD */ OP_TABLE_ENTRY (AML_INDEX_FIELD_OP, 0, NODE_AML_PACKAGE, 0), 579/* INTEGER */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, ACPI_BTYPE_INTEGER), 580/* INTERRUPT */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 581/* INTLEVEL_ACTIVEHIGH */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 582/* INTLEVEL_ACTIVELOW */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 583/* INTTYPE_EDGE */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 584/* INTTYPE_LEVEL */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 585/* IO */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 586/* IODECODETYPE_10 */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 587/* IODECODETYPE_16 */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 588/* IRQ */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 589/* IRQNOFLAGS */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 590/* LAND */ OP_TABLE_ENTRY (AML_LAND_OP, 0, 0, ACPI_BTYPE_INTEGER), 591/* LEQUAL */ OP_TABLE_ENTRY (AML_LEQUAL_OP, 0, 0, ACPI_BTYPE_INTEGER), 592/* LGREATER */ OP_TABLE_ENTRY (AML_LGREATER_OP, 0, 0, ACPI_BTYPE_INTEGER), 593/* LGREATEREQUAL */ OP_TABLE_ENTRY (AML_LGREATEREQUAL_OP, 0, 0, ACPI_BTYPE_INTEGER), 594/* LINE */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 595/* LLESS */ OP_TABLE_ENTRY (AML_LLESS_OP, 0, 0, ACPI_BTYPE_INTEGER), 596/* LLESSEQUAL */ OP_TABLE_ENTRY (AML_LLESSEQUAL_OP, 0, 0, ACPI_BTYPE_INTEGER), 597/* LNOT */ OP_TABLE_ENTRY (AML_LNOT_OP, 0, 0, ACPI_BTYPE_INTEGER), 598/* LNOTEQUAL */ OP_TABLE_ENTRY (AML_LNOTEQUAL_OP, 0, 0, ACPI_BTYPE_INTEGER), 599/* LOAD */ OP_TABLE_ENTRY (AML_LOAD_OP, 0, 0, 0), 600/* LOADTABLE */ OP_TABLE_ENTRY (AML_LOAD_TABLE_OP, 0, 0, ACPI_BTYPE_DDB_HANDLE), 601/* LOCAL0 */ OP_TABLE_ENTRY (AML_LOCAL0, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 602/* LOCAL1 */ OP_TABLE_ENTRY (AML_LOCAL1, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 603/* LOCAL2 */ OP_TABLE_ENTRY (AML_LOCAL2, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 604/* LOCAL3 */ OP_TABLE_ENTRY (AML_LOCAL3, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 605/* LOCAL4 */ OP_TABLE_ENTRY (AML_LOCAL4, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 606/* LOCAL5 */ OP_TABLE_ENTRY (AML_LOCAL5, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 607/* LOCAL6 */ OP_TABLE_ENTRY (AML_LOCAL6, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 608/* LOCAL7 */ OP_TABLE_ENTRY (AML_LOCAL7, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 609/* LOCKRULE_LOCK */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_LOCK_ALWAYS, 0, 0), 610/* LOCKRULE_NOLOCK */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_LOCK_NEVER, 0, 0), 611/* LOR */ OP_TABLE_ENTRY (AML_LOR_OP, 0, 0, ACPI_BTYPE_INTEGER), 612/* MATCH */ OP_TABLE_ENTRY (AML_MATCH_OP, 0, 0, ACPI_BTYPE_INTEGER), 613/* MATCHTYPE_MEQ */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, MATCH_MEQ, 0, ACPI_BTYPE_INTEGER), 614/* MATCHTYPE_MGE */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, MATCH_MGE, 0, ACPI_BTYPE_INTEGER), 615/* MATCHTYPE_MGT */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, MATCH_MGT, 0, ACPI_BTYPE_INTEGER), 616/* MATCHTYPE_MLE */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, MATCH_MLE, 0, ACPI_BTYPE_INTEGER), 617/* MATCHTYPE_MLT */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, MATCH_MLT, 0, ACPI_BTYPE_INTEGER), 618/* MATCHTYPE_MTR */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, MATCH_MTR, 0, ACPI_BTYPE_INTEGER), 619/* MAXTYPE_FIXED */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 620/* MAXTYPE_NOTFIXED */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 621/* MEMORY24 */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 622/* MEMORY32 */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 623/* MEMORY32FIXED */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 624/* MEMTYPE_CACHEABLE */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 625/* MEMTYPE_NONCACHEABLE */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 626/* MEMTYPE_PREFETCHABLE */ OP_TABLE_ENTRY (AML_BYTE_OP, 3, 0, 0), 627/* MEMTYPE_WRITECOMBINING */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), 628/* METHOD */ OP_TABLE_ENTRY (AML_METHOD_OP, 0, NODE_AML_PACKAGE, 0), 629/* METHODCALL */ OP_TABLE_ENTRY (AML_INT_METHODCALL_OP, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS), 630/* MID */ OP_TABLE_ENTRY (AML_MID_OP, 0, 0, ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER), 631/* MINTYPE_FIXED */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 632/* MINTYPE_NOTFIXED */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 633/* MOD */ OP_TABLE_ENTRY (AML_MOD_OP, 0, 0, ACPI_BTYPE_INTEGER), 634/* MULTIPLY */ OP_TABLE_ENTRY (AML_MULTIPLY_OP, 0, 0, ACPI_BTYPE_INTEGER), 635/* MUTEX */ OP_TABLE_ENTRY (AML_MUTEX_OP, 0, 0, 0), 636/* NAME */ OP_TABLE_ENTRY (AML_NAME_OP, 0, 0, 0), 637/* NAMESEG */ OP_TABLE_ENTRY (AML_INT_NAMEPATH_OP, 0, 0, 0), 638/* NAMESTRING */ OP_TABLE_ENTRY (AML_INT_NAMEPATH_OP, 0, 0, 0), 639/* NAND */ OP_TABLE_ENTRY (AML_BIT_NAND_OP, 0, 0, ACPI_BTYPE_INTEGER), 640/* NOOP */ OP_TABLE_ENTRY (AML_NOOP_OP, 0, 0, 0), 641/* NOR */ OP_TABLE_ENTRY (AML_BIT_NOR_OP, 0, 0, ACPI_BTYPE_INTEGER), 642/* NOT */ OP_TABLE_ENTRY (AML_BIT_NOT_OP, 0, 0, ACPI_BTYPE_INTEGER), 643/* NOTIFY */ OP_TABLE_ENTRY (AML_NOTIFY_OP, 0, 0, 0), 644/* OBJECTTYPE */ OP_TABLE_ENTRY (AML_TYPE_OP, 0, 0, ACPI_BTYPE_INTEGER), 645/* OBJECTTYPE_BFF */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_BUFFER_FIELD, 0, 0), 646/* OBJECTTYPE_BUF */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_BUFFER, 0, 0), 647/* OBJECTTYPE_DDB */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_DDB_HANDLE, 0, 0), 648/* OBJECTTYPE_DEV */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_DEVICE, 0, 0), 649/* OBJECTTYPE_EVT */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_EVENT, 0, 0), 650/* OBJECTTYPE_FLD */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_FIELD_UNIT, 0, 0), 651/* OBJECTTYPE_INT */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_INTEGER, 0, 0), 652/* OBJECTTYPE_MTH */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_METHOD, 0, 0), 653/* OBJECTTYPE_MTX */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_MUTEX, 0, 0), 654/* OBJECTTYPE_OPR */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_REGION, 0, 0), 655/* OBJECTTYPE_PKG */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_PACKAGE, 0, 0), 656/* OBJECTTYPE_POW */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_POWER, 0, 0), 657/* OBJECTTYPE_PRO */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_PROCESSOR, 0, 0), 658/* OBJECTTYPE_STR */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_STRING, 0, 0), 659/* OBJECTTYPE_THZ */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_THERMAL, 0, 0), 660/* OBJECTTYPE_UNK */ OP_TABLE_ENTRY (AML_BYTE_OP, ACPI_TYPE_ANY, 0, 0), 661/* OFFSET */ OP_TABLE_ENTRY (AML_INT_RESERVEDFIELD_OP, 0, 0, 0), 662/* ONE */ OP_TABLE_ENTRY (AML_ONE_OP, 0, 0, ACPI_BTYPE_INTEGER), 663/* ONES */ OP_TABLE_ENTRY (AML_ONES_OP, 0, 0, ACPI_BTYPE_INTEGER), 664/* OPERATIONREGION */ OP_TABLE_ENTRY (AML_REGION_OP, 0, 0, 0), 665/* OR */ OP_TABLE_ENTRY (AML_BIT_OR_OP, 0, 0, ACPI_BTYPE_INTEGER), 666/* PACKAGE */ OP_TABLE_ENTRY (AML_PACKAGE_OP, 0, NODE_AML_PACKAGE, ACPI_BTYPE_PACKAGE), 667/* PACKAGEP_LENGTH */ OP_TABLE_ENTRY (AML_PACKAGE_LENGTH, 0, NODE_AML_PACKAGE, 0), 668/* POWERRESOURCE */ OP_TABLE_ENTRY (AML_POWER_RES_OP, 0, NODE_AML_PACKAGE, 0), 669/* PROCESSOR */ OP_TABLE_ENTRY (AML_PROCESSOR_OP, 0, NODE_AML_PACKAGE, 0), 670/* QWORDCONST */ OP_TABLE_ENTRY (AML_RAW_DATA_QWORD, 0, 0, ACPI_BTYPE_INTEGER), 671/* QWORDIO */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 672/* QWORDMEMORY */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 673/* QWORDSPACE */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 674/* RANGE_TYPE_ENTIRE */ OP_TABLE_ENTRY (AML_BYTE_OP, 3, 0, 0), 675/* RANGE_TYPE_ISAONLY */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), 676/* RANGE_TYPE_NONISAONLY */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 677/* RAW_DATA */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 678/* READWRITETYPE_BOTH */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 679/* READWRITETYPE_READONLY */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 680/* REFOF */ OP_TABLE_ENTRY (AML_REF_OF_OP, 0, 0, ACPI_BTYPE_REFERENCE), 681/* REGIONSPACE_CMOS */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_CMOS, 0, 0), 682/* REGIONSPACE_EC */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_EC, 0, 0), 683/* REGIONSPACE_IO */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_IO, 0, 0), 684/* REGIONSPACE_MEM */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_MEMORY, 0, 0), 685/* REGIONSPACE_PCI */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_PCI_CONFIG, 0, 0), 686/* REGIONSPACE_PCIBAR */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_PCI_BAR, 0, 0), 687/* REGIONSPACE_SMBUS */ OP_TABLE_ENTRY (AML_RAW_DATA_BYTE, REGION_SMBUS, 0, 0), 688/* REGISTER */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 689/* RELEASE */ OP_TABLE_ENTRY (AML_RELEASE_OP, 0, 0, 0), 690/* RESERVED_BYTES */ OP_TABLE_ENTRY (AML_INT_RESERVEDFIELD_OP, 0, 0, 0), 691/* RESET */ OP_TABLE_ENTRY (AML_RESET_OP, 0, 0, 0), 692/* RESOURCETEMPLATE */ OP_TABLE_ENTRY (AML_BUFFER_OP, 0, 0, ACPI_BTYPE_BUFFER), 693/* RESOURCETYPE_CONSUMER */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 694/* RESOURCETYPE_PRODUCER */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 695/* RETURN */ OP_TABLE_ENTRY (AML_RETURN_OP, 0, 0, 0), 696/* REVISION */ OP_TABLE_ENTRY (AML_REVISION_OP, 0, 0, ACPI_BTYPE_INTEGER), 697/* SCOPE */ OP_TABLE_ENTRY (AML_SCOPE_OP, 0, NODE_AML_PACKAGE, 0), 698/* SERIALIZERULE_NOTSERIAL */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 699/* SERIALIZERULE_SERIAL */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 700/* SHARETYPE_EXCLUSIVE */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 701/* SHARETYPE_SHARED */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 702/* SHIFTLEFT */ OP_TABLE_ENTRY (AML_SHIFT_LEFT_OP, 0, 0, ACPI_BTYPE_INTEGER), 703/* SHIFTRIGHT */ OP_TABLE_ENTRY (AML_SHIFT_RIGHT_OP, 0, 0, ACPI_BTYPE_INTEGER), 704/* SIGNAL */ OP_TABLE_ENTRY (AML_SIGNAL_OP, 0, 0, 0), 705/* SIZEOF */ OP_TABLE_ENTRY (AML_SIZE_OF_OP, 0, 0, ACPI_BTYPE_INTEGER), 706/* SLEEP */ OP_TABLE_ENTRY (AML_SLEEP_OP, 0, 0, 0), 707/* STALL */ OP_TABLE_ENTRY (AML_STALL_OP, 0, 0, 0), 708/* STARTDEPENDENTFN */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 709/* STARTDEPENDENTFN_NOPRI */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 710/* STORE */ OP_TABLE_ENTRY (AML_STORE_OP, 0, 0, ACPI_BTYPE_DATA_REFERENCE), 711/* STRING_LITERAL */ OP_TABLE_ENTRY (AML_STRING_OP, 0, 0, ACPI_BTYPE_STRING), 712/* SUBTRACT */ OP_TABLE_ENTRY (AML_SUBTRACT_OP, 0, 0, ACPI_BTYPE_INTEGER), 713/* SWITCH */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), 714/* THERMALZONE */ OP_TABLE_ENTRY (AML_THERMAL_ZONE_OP, 0, NODE_AML_PACKAGE, 0), 715/* TIMER */ OP_TABLE_ENTRY (AML_TIMER_OP, 0, 0, ACPI_BTYPE_INTEGER), 716/* TOBCD */ OP_TABLE_ENTRY (AML_TO_BCD_OP, 0, 0, ACPI_BTYPE_INTEGER), 717/* TOBUFFER */ OP_TABLE_ENTRY (AML_TO_BUFFER_OP, 0, 0, ACPI_BTYPE_BUFFER), 718/* TODECIMALSTRING */ OP_TABLE_ENTRY (AML_TO_DECSTRING_OP, 0, 0, ACPI_BTYPE_STRING), 719/* TOHEXSTRING */ OP_TABLE_ENTRY (AML_TO_HEXSTRING_OP, 0, 0, ACPI_BTYPE_STRING), 720/* TOINTEGER */ OP_TABLE_ENTRY (AML_TO_INTEGER_OP, 0, 0, ACPI_BTYPE_INTEGER), 721/* TOSTRING */ OP_TABLE_ENTRY (AML_TO_STRING_OP, 0, 0, ACPI_BTYPE_STRING), 722/* TOUUID */ OP_TABLE_ENTRY (AML_DWORD_OP, 0, NODE_AML_PACKAGE, ACPI_BTYPE_INTEGER), 723/* TRANSLATIONTYPE_DENSE */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 724/* TRANSLATIONTYPE_SPARSE */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 725/* TYPE_STATIC */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 726/* TYPE_TRANSLATION */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 727/* UNICODE */ OP_TABLE_ENTRY (AML_BUFFER_OP, 0, NODE_AML_PACKAGE, 0), 728/* UNLOAD */ OP_TABLE_ENTRY (AML_UNLOAD_OP, 0, 0, 0), 729/* UPDATERULE_ONES */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_UPDATE_WRITE_AS_ONES, 0, 0), 730/* UPDATERULE_PRESERVE */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_UPDATE_PRESERVE, 0, 0), 731/* UPDATERULE_ZEROS */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_UPDATE_WRITE_AS_ZEROS,0, 0), 732/* VAR_PACKAGE */ OP_TABLE_ENTRY (AML_VAR_PACKAGE_OP, 0, NODE_AML_PACKAGE, ACPI_BTYPE_PACKAGE), 733/* VENDORLONG */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 734/* VENDORSHORT */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 735/* WAIT */ OP_TABLE_ENTRY (AML_WAIT_OP, 0, 0, ACPI_BTYPE_INTEGER), 736/* WHILE */ OP_TABLE_ENTRY (AML_WHILE_OP, 0, NODE_AML_PACKAGE, 0), 737/* WORDBUSNUMBER */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 738/* WORDCONST */ OP_TABLE_ENTRY (AML_RAW_DATA_WORD, 0, 0, ACPI_BTYPE_INTEGER), 739/* WORDIO */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 740/* WORDSPACE */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 741/* XFERTYPE_8 */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), 742/* XFERTYPE_8_16 */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), 743/* XFERTYPE_16 */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), 744/* XOR */ OP_TABLE_ENTRY (AML_BIT_XOR_OP, 0, 0, ACPI_BTYPE_INTEGER), 745/* ZERO */ OP_TABLE_ENTRY (AML_ZERO_OP, 0, 0, ACPI_BTYPE_INTEGER), 746 747/*! [End] no source code translation !*/ 748 749}; 750 751 752