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