]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/acpica/lib-acpi/src/acpica/compiler/aslmap.c
Inital import
[l4.git] / l4 / pkg / acpica / lib-acpi / src / acpica / compiler / aslmap.c
1
2 /******************************************************************************
3  *
4  * Module Name: aslmap - parser to AML opcode mapping table
5  *
6  *****************************************************************************/
7
8 /******************************************************************************
9  *
10  * 1. Copyright Notice
11  *
12  * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp.
13  * All rights reserved.
14  *
15  * 2. License
16  *
17  * 2.1. This is your license from Intel Corp. under its intellectual property
18  * rights.  You may have additional license terms from the party that provided
19  * you this software, covering your right to use that party's intellectual
20  * property rights.
21  *
22  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
23  * copy of the source code appearing in this file ("Covered Code") an
24  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
25  * base code distributed originally by Intel ("Original Intel Code") to copy,
26  * make derivatives, distribute, use and display any portion of the Covered
27  * Code in any form, with the right to sublicense such rights; and
28  *
29  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
30  * license (with the right to sublicense), under only those claims of Intel
31  * patents that are infringed by the Original Intel Code, to make, use, sell,
32  * offer to sell, and import the Covered Code and derivative works thereof
33  * solely to the minimum extent necessary to exercise the above copyright
34  * license, and in no event shall the patent license extend to any additions
35  * to or modifications of the Original Intel Code.  No other license or right
36  * is granted directly or by implication, estoppel or otherwise;
37  *
38  * The above copyright and patent license is granted only if the following
39  * conditions are met:
40  *
41  * 3. Conditions
42  *
43  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
44  * Redistribution of source code of any substantial portion of the Covered
45  * Code or modification with rights to further distribute source must include
46  * the above Copyright Notice, the above License, this list of Conditions,
47  * and the following Disclaimer and Export Compliance provision.  In addition,
48  * Licensee must cause all Covered Code to which Licensee contributes to
49  * contain a file documenting the changes Licensee made to create that Covered
50  * Code and the date of any change.  Licensee must include in that file the
51  * documentation of any changes made by any predecessor Licensee.  Licensee
52  * must include a prominent statement that the modification is derived,
53  * directly or indirectly, from Original Intel Code.
54  *
55  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
56  * Redistribution of source code of any substantial portion of the Covered
57  * Code or modification without rights to further distribute source must
58  * include the following Disclaimer and Export Compliance provision in the
59  * documentation and/or other materials provided with distribution.  In
60  * addition, Licensee may not authorize further sublicense of source of any
61  * portion of the Covered Code, and must include terms to the effect that the
62  * license from Licensee to its licensee is limited to the intellectual
63  * property embodied in the software Licensee provides to its licensee, and
64  * not to intellectual property embodied in modifications its licensee may
65  * make.
66  *
67  * 3.3. Redistribution of Executable. Redistribution in executable form of any
68  * substantial portion of the Covered Code or modification must reproduce the
69  * above Copyright Notice, and the following Disclaimer and Export Compliance
70  * provision in the documentation and/or other materials provided with the
71  * distribution.
72  *
73  * 3.4. Intel retains all right, title, and interest in and to the Original
74  * Intel Code.
75  *
76  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
77  * Intel shall be used in advertising or otherwise to promote the sale, use or
78  * other dealings in products derived from or relating to the Covered Code
79  * without prior written authorization from Intel.
80  *
81  * 4. Disclaimer and Export Compliance
82  *
83  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
84  * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
85  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
86  * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
87  * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
88  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
89  * PARTICULAR PURPOSE.
90  *
91  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
92  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
93  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
94  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
95  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
96  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
97  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
98  * LIMITED REMEDY.
99  *
100  * 4.3. Licensee shall not export, either directly or indirectly, any of this
101  * software or system incorporating such software without first obtaining any
102  * required license or other approval from the U. S. Department of Commerce or
103  * any other agency or department of the United States Government.  In the
104  * event Licensee exports any such software from the United States or
105  * re-exports any such software from a foreign destination, Licensee shall
106  * ensure that the distribution and export/re-export of the software is in
107  * compliance with all laws, regulations, orders, or other restrictions of the
108  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
109  * any of its subsidiaries will export/re-export any technical data, process,
110  * software, or service, directly or indirectly, to any country for which the
111  * United States government or any agency thereof requires an export license,
112  * other governmental approval, or letter of assurance, without first obtaining
113  * such license, approval or letter.
114  *
115  *****************************************************************************/
116
117
118 #include "aslcompiler.h"
119 #include "amlcode.h"
120 #include "acparser.h"
121
122
123 #define _COMPONENT          ACPI_COMPILER
124         ACPI_MODULE_NAME    ("aslmap")
125
126
127 /*******************************************************************************
128  *
129  * FUNCTION:    AslMapNamedOpcodeToDataType
130  *
131  * PARAMETERS:  Opcode              - The Named AML opcode to map
132  *
133  * RETURN:      The ACPI type associated with the named opcode
134  *
135  * DESCRIPTION: Convert a raw Named AML opcode to the associated data type.
136  *              Named opcodes are a subset of the AML opcodes.
137  *
138  ******************************************************************************/
139
140 ACPI_OBJECT_TYPE
141 AslMapNamedOpcodeToDataType (
142     UINT16                  Opcode)
143 {
144     const ACPI_OPCODE_INFO  *OpInfo;
145
146
147     /*
148      * There are some differences from the opcode table types, we
149      * catch them here.
150      */
151     OpInfo = AcpiPsGetOpcodeInfo (Opcode);
152
153     if (Opcode == AML_INT_NAMEPATH_OP)
154     {
155         return (ACPI_TYPE_ANY);
156     }
157
158     if (Opcode == AML_INT_METHODCALL_OP)
159     {
160         return (ACPI_TYPE_ANY);
161     }
162
163     if (OpInfo->Flags & AML_NSOBJECT)
164     {
165         return (OpInfo->ObjectType);
166     }
167
168     return (ACPI_TYPE_ANY);
169 }
170
171
172 /*******************************************************************************
173  *
174  * FUNCTION:    MpDisplayReservedNames
175  *
176  * PARAMETERS:  None
177  *
178  * RETURN:      None
179  *
180  * DESCRIPTION: Print the table above
181  *
182  ******************************************************************************/
183
184 void
185 MpDisplayReservedNames (
186     void)
187 {
188     UINT32              i;
189
190     printf ("Reserved name information\n\n");
191
192     for (i = 0; ReservedMethods[i].Name; i++)
193     {
194         printf ("%s    ", ReservedMethods[i].Name);
195
196         if (ReservedMethods[i].Flags & ASL_RSVD_SCOPE)
197         {
198             printf ("Reserved scope name\n");
199         }
200         else if (ReservedMethods[i].Flags & ASL_RSVD_RESOURCE_NAME)
201         {
202             printf ("Resource data type reserved field name\n");
203         }
204         else
205         {
206             printf ("Method with %d arguments, ",
207                 ReservedMethods[i].NumArguments & 0x0F);
208
209             if (ReservedMethods[i].Flags & ASL_RSVD_RETURN_VALUE)
210             {
211                 printf ("must return a value\n");
212             }
213             else
214             {
215                 printf ("no return value\n");
216             }
217         }
218     }
219 }
220
221
222 /*******************************************************************************
223  *
224  * DATA STRUCTURE:  ReservedMethods
225  *
226  * DESCRIPTION:     Contains all reserved methods and names as defined in the
227  *                  ACPI specification.  Used during the analysis phase to
228  *                  ensure that reserved methods have the required number of
229  *                  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. Or if the
236  *                name is a resource descriptor label.
237  *
238  ******************************************************************************/
239
240 const ASL_RESERVED_INFO         ReservedMethods[] = {
241     {"_AC0",     0,      ASL_RSVD_RETURN_VALUE},
242     {"_AC1",     0,      ASL_RSVD_RETURN_VALUE},
243     {"_AC2",     0,      ASL_RSVD_RETURN_VALUE},
244     {"_AC3",     0,      ASL_RSVD_RETURN_VALUE},
245     {"_AC4",     0,      ASL_RSVD_RETURN_VALUE},
246     {"_AC5",     0,      ASL_RSVD_RETURN_VALUE},
247     {"_AC6",     0,      ASL_RSVD_RETURN_VALUE},
248     {"_AC7",     0,      ASL_RSVD_RETURN_VALUE},
249     {"_AC8",     0,      ASL_RSVD_RETURN_VALUE},
250     {"_AC9",     0,      ASL_RSVD_RETURN_VALUE},
251     {"_ADR",     0,      ASL_RSVD_RETURN_VALUE},
252     {"_AL0",     0,      ASL_RSVD_RETURN_VALUE},
253     {"_AL1",     0,      ASL_RSVD_RETURN_VALUE},
254     {"_AL2",     0,      ASL_RSVD_RETURN_VALUE},
255     {"_AL3",     0,      ASL_RSVD_RETURN_VALUE},
256     {"_AL4",     0,      ASL_RSVD_RETURN_VALUE},
257     {"_AL5",     0,      ASL_RSVD_RETURN_VALUE},
258     {"_AL6",     0,      ASL_RSVD_RETURN_VALUE},
259     {"_AL7",     0,      ASL_RSVD_RETURN_VALUE},
260     {"_AL8",     0,      ASL_RSVD_RETURN_VALUE},
261     {"_AL9",     0,      ASL_RSVD_RETURN_VALUE},
262     {"_ALC",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
263     {"_ALI",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
264     {"_ALN",     0,      ASL_RSVD_RESOURCE_NAME},
265     {"_ALP",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
266     {"_ALR",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
267     {"_ALT",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
268     {"_ART",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
269     {"_ASI",     0,      ASL_RSVD_RESOURCE_NAME},
270     {"_ASZ",     0,      ASL_RSVD_RESOURCE_NAME},
271     {"_BAS",     0,      ASL_RSVD_RESOURCE_NAME},
272     {"_BBN",     0,      ASL_RSVD_RETURN_VALUE},
273     {"_BCL",     0,      ASL_RSVD_RETURN_VALUE},
274     {"_BCM",     1,      0},
275     {"_BCT",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
276     {"_BDN",     0,      ASL_RSVD_RETURN_VALUE},
277     {"_BFS",     1,      0},
278     {"_BIF",     0,      ASL_RSVD_RETURN_VALUE},
279     {"_BIX",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
280     {"_BLT",     3,      0},                        /* Acpi 3.0 */
281     {"_BM_",     0,      ASL_RSVD_RESOURCE_NAME},
282     {"_BMA",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
283     {"_BMC",     1,      0},                        /* Acpi 3.0 */
284     {"_BMD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
285     {"_BMS",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
286     {"_BQC",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
287     {"_BST",     0,      ASL_RSVD_RETURN_VALUE},
288     {"_BTM",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
289     {"_BTP",     1,      0},
290     {"_CBA",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
291     {"_CDM",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
292     {"_CID",     0,      ASL_RSVD_RETURN_VALUE},
293     {"_CRS",     0,      ASL_RSVD_RETURN_VALUE},
294     {"_CRT",     0,      ASL_RSVD_RETURN_VALUE},
295     {"_CSD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
296     {"_CST",     0,      ASL_RSVD_RETURN_VALUE},
297     {"_DCK",     1,      ASL_RSVD_RETURN_VALUE},
298     {"_DCS",     0,      ASL_RSVD_RETURN_VALUE},
299     {"_DDC",     1,      ASL_RSVD_RETURN_VALUE},
300     {"_DDN",     0,      0},
301     {"_DEC",     0,      ASL_RSVD_RESOURCE_NAME},
302     {"_DGS",     0,      ASL_RSVD_RETURN_VALUE},
303     {"_DIS",     0,      0},
304     {"_DMA",     0,      ASL_RSVD_RETURN_VALUE},
305     {"_DOD",     0,      ASL_RSVD_RETURN_VALUE},
306     {"_DOS",     1,      0},
307     {"_DSM",     4,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
308     {"_DSS",     1,      0},
309     {"_DSW",     3,      0},                        /* Acpi 3.0 */
310     {"_DTI",     1,      0},                        /* Acpi 4.0 */
311     {"_EC_",     0,      ASL_RSVD_RETURN_VALUE},
312     {"_EDL",     0,      ASL_RSVD_RETURN_VALUE},
313     {"_EJ0",     1,      0},
314     {"_EJ1",     1,      0},
315     {"_EJ2",     1,      0},
316     {"_EJ3",     1,      0},
317     {"_EJ4",     1,      0},
318     {"_EJD",     0,      ASL_RSVD_RETURN_VALUE},
319     {"_ERR",     3,      ASL_RSVD_RETURN_VALUE},
320     {"_FDE",     0,      ASL_RSVD_RETURN_VALUE},
321     {"_FDI",     0,      ASL_RSVD_RETURN_VALUE},
322     {"_FDM",     1,      0},
323     {"_FIF",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
324     {"_FIX",     0,      ASL_RSVD_RETURN_VALUE},
325     {"_FPS",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
326     {"_FSL",     1,      0},                        /* Acpi 4.0 */
327     {"_FST",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
328     {"_GAI",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
329     {"_GHL",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
330     {"_GL_",     0,      ASL_RSVD_RETURN_VALUE},
331     {"_GLK",     0,      ASL_RSVD_RETURN_VALUE},
332     {"_GPD",     0,      ASL_RSVD_RETURN_VALUE},
333     {"_GPE",     0,      ASL_RSVD_RETURN_VALUE},
334     {"_GRA",     0,      ASL_RSVD_RESOURCE_NAME},
335     {"_GSB",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
336     {"_GTF",     0,      ASL_RSVD_RETURN_VALUE},
337     {"_GTM",     0,      ASL_RSVD_RETURN_VALUE},
338     {"_GTS",     1,      0},
339     {"_HE_",     0,      ASL_RSVD_RESOURCE_NAME},
340     {"_HID",     0,      ASL_RSVD_RETURN_VALUE},
341     {"_HOT",     0,      ASL_RSVD_RETURN_VALUE},
342     {"_HPP",     0,      ASL_RSVD_RETURN_VALUE},
343     {"_HPX",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
344     {"_IFT",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
345     {"_INI",     0,      0},
346     {"_INT",     0,      ASL_RSVD_RESOURCE_NAME},
347     {"_IRC",     0,      0},
348     {"_LCK",     1,      0},
349     {"_LEN",     0,      ASL_RSVD_RESOURCE_NAME},
350     {"_LID",     0,      ASL_RSVD_RETURN_VALUE},
351     {"_LL_",     0,      ASL_RSVD_RESOURCE_NAME},
352     {"_MAF",     0,      ASL_RSVD_RESOURCE_NAME},
353     {"_MAT",     0,      ASL_RSVD_RETURN_VALUE},
354     {"_MAX",     0,      ASL_RSVD_RESOURCE_NAME},
355     {"_MBM",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
356     {"_MEM",     0,      ASL_RSVD_RESOURCE_NAME},
357     {"_MIF",     0,      ASL_RSVD_RESOURCE_NAME},
358     {"_MIN",     0,      ASL_RSVD_RESOURCE_NAME},
359     {"_MLS",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
360     {"_MSG",     1,      0},
361     {"_MSM",     4,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
362     {"_MTP",     0,      ASL_RSVD_RESOURCE_NAME},
363     {"_NTT",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
364     {"_OFF",     0,      0},
365     {"_ON_",     0,      0},
366     {"_OS_",     0,      ASL_RSVD_RETURN_VALUE},
367     {"_OSC",     4,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
368     {"_OSI",     1,      ASL_RSVD_RETURN_VALUE},
369     {"_OST",     3,      0},                        /* Acpi 3.0 */
370     {"_PAI",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
371     {"_PCL",     0,      ASL_RSVD_RETURN_VALUE},
372     {"_PCT",     0,      ASL_RSVD_RETURN_VALUE},
373     {"_PDC",     1,      0},
374     {"_PDL",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
375     {"_PIC",     1,      0},
376     {"_PIF",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
377     {"_PLD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
378     {"_PMC",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
379     {"_PMD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
380     {"_PMM",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
381     {"_PPC",     0,      ASL_RSVD_RETURN_VALUE},
382     {"_PPE",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
383     {"_PR0",     0,      ASL_RSVD_RETURN_VALUE},
384     {"_PR1",     0,      ASL_RSVD_RETURN_VALUE},
385     {"_PR2",     0,      ASL_RSVD_RETURN_VALUE},
386     {"_PR3",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
387     {"_PRL",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
388     {"_PRS",     0,      ASL_RSVD_RETURN_VALUE},
389     {"_PRT",     0,      ASL_RSVD_RETURN_VALUE},
390     {"_PRW",     0,      ASL_RSVD_RETURN_VALUE},
391     {"_PS0",     0,      0},
392     {"_PS1",     0,      0},
393     {"_PS2",     0,      0},
394     {"_PS3",     0,      0},
395     {"_PSC",     0,      ASL_RSVD_RETURN_VALUE},
396     {"_PSD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
397     {"_PSL",     0,      ASL_RSVD_RETURN_VALUE},
398     {"_PSR",     0,      ASL_RSVD_RETURN_VALUE},
399     {"_PSS",     0,      ASL_RSVD_RETURN_VALUE},
400     {"_PSV",     0,      ASL_RSVD_RETURN_VALUE},
401     {"_PSW",     1,      0},
402     {"_PTC",     0,      ASL_RSVD_RETURN_VALUE},
403     {"_PTP",     2,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
404     {"_PTS",     1,      0},
405     {"_PUR",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
406     {"_PXM",     0,      ASL_RSVD_RETURN_VALUE},
407     {"_RBO",     0,      ASL_RSVD_RESOURCE_NAME},
408     {"_RBW",     0,      ASL_RSVD_RESOURCE_NAME},
409     {"_REG",     2,      0},
410     {"_REV",     0,      ASL_RSVD_RETURN_VALUE},
411     {"_RMV",     0,      ASL_RSVD_RETURN_VALUE},
412     {"_RNG",     0,      ASL_RSVD_RESOURCE_NAME},
413     {"_ROM",     2,      ASL_RSVD_RETURN_VALUE},
414     {"_RT_",     0,      ASL_RSVD_RESOURCE_NAME},   /* Acpi 3.0 */
415     {"_RTV",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
416     {"_RW_",     0,      ASL_RSVD_RESOURCE_NAME},
417     {"_S0_",     0,      ASL_RSVD_RETURN_VALUE},
418     {"_S1_",     0,      ASL_RSVD_RETURN_VALUE},
419     {"_S2_",     0,      ASL_RSVD_RETURN_VALUE},
420     {"_S3_",     0,      ASL_RSVD_RETURN_VALUE},
421     {"_S4_",     0,      ASL_RSVD_RETURN_VALUE},
422     {"_S5_",     0,      ASL_RSVD_RETURN_VALUE},
423     {"_S1D",     0,      ASL_RSVD_RETURN_VALUE},
424     {"_S2D",     0,      ASL_RSVD_RETURN_VALUE},
425     {"_S3D",     0,      ASL_RSVD_RETURN_VALUE},
426     {"_S4D",     0,      ASL_RSVD_RETURN_VALUE},
427     {"_S0W",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
428     {"_S1W",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
429     {"_S2W",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
430     {"_S3W",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
431     {"_S4W",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
432     {"_SB_",     0,      ASL_RSVD_SCOPE},
433     {"_SBS",     0,      ASL_RSVD_RETURN_VALUE},
434     {"_SCP",     0x13,   0},                        /* Acpi 1.0 - one arg; Acpi 3.0 - three args */
435     {"_SDD",     1,      0},                        /* Acpi 3.0 */
436     {"_SEG",     0,      ASL_RSVD_RETURN_VALUE},
437     {"_SHL",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
438     {"_SHR",     0,      ASL_RSVD_RESOURCE_NAME},
439     {"_SI_",     0,      ASL_RSVD_SCOPE},
440     {"_SIZ",     0,      ASL_RSVD_RESOURCE_NAME},
441     {"_SLI",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
442     {"_SPD",     1,      ASL_RSVD_RETURN_VALUE},
443     {"_SRS",     1,      0},
444     {"_SRV",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
445     {"_SST",     1,      0},
446     {"_STA",     0,      ASL_RSVD_RETURN_VALUE},
447     {"_STM",     3,      0},
448     {"_STP",     2,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
449     {"_STR",     0,      ASL_RSVD_RETURN_VALUE},
450     {"_STV",     2,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
451     {"_SUN",     0,      ASL_RSVD_RETURN_VALUE},
452     {"_SWS",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
453     {"_TC1",     0,      ASL_RSVD_RETURN_VALUE},
454     {"_TC2",     0,      ASL_RSVD_RETURN_VALUE},
455     {"_TDL",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0b */
456     {"_TIP",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
457     {"_TIV",     1,      ASL_RSVD_RETURN_VALUE},    /* Acpi 4.0 */
458     {"_TMP",     0,      ASL_RSVD_RETURN_VALUE},
459     {"_TPC",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
460     {"_TPT",     1,      0},                        /* Acpi 3.0 */
461     {"_TRA",     0,      ASL_RSVD_RESOURCE_NAME},
462     {"_TRS",     0,      ASL_RSVD_RESOURCE_NAME},
463     {"_TRT",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
464     {"_TSD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
465     {"_TSF",     0,      ASL_RSVD_RESOURCE_NAME},   /* Acpi 3.0 */
466     {"_TSP",     0,      ASL_RSVD_RETURN_VALUE},
467     {"_TSS",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
468     {"_TST",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
469     {"_TTP",     0,      ASL_RSVD_RESOURCE_NAME},
470     {"_TTS",     1,      0},                        /* Acpi 3.0 */
471     {"_TYP",     0,      ASL_RSVD_RESOURCE_NAME},
472     {"_TZ_",     0,      ASL_RSVD_SCOPE},
473     {"_TZD",     0,      ASL_RSVD_RETURN_VALUE},
474     {"_TZM",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
475     {"_TZP",     0,      ASL_RSVD_RETURN_VALUE},
476     {"_UID",     0,      ASL_RSVD_RETURN_VALUE},
477     {"_UPC",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
478     {"_UPD",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
479     {"_UPP",     0,      ASL_RSVD_RETURN_VALUE},    /* Acpi 3.0 */
480     {"_VPO",     0,      ASL_RSVD_RETURN_VALUE},
481     {"_WAK",     1,      ASL_RSVD_RETURN_VALUE},
482     {"_WDG",     0,      ASL_RSVD_RETURN_VALUE},    /* MS Extension */
483     {"_WED",     1,      ASL_RSVD_RETURN_VALUE},    /* MS Extension */
484     {NULL,       0,      0},
485 };
486
487
488 /*******************************************************************************
489  *
490  * DATA STRUCTURE:  AslKeywordMapping
491  *
492  * DESCRIPTION:     Maps the ParseOpcode to the actual AML opcode.  The parse
493  *                  opcodes are generated from Bison, and this table must
494  *                  track any additions to them.
495  *
496  * Each entry in the table contains the following items:
497  *
498  * AML opcode   - Opcode that is written to the AML file
499  * Value        - Value of the object to be written (if applicable)
500  * Flags        - 1) Whether this opcode opens an AML "package".
501  *
502  ******************************************************************************/
503 /*
504  * TBD:
505  * AccessAttrib
506  * AccessType
507  * AMlop for DMA?
508  * ObjectType keywords
509  * Register
510  */
511
512 const ASL_MAPPING_ENTRY     AslKeywordMapping [] =
513 {
514 /*! [Begin] no source code translation (keep the table structure) */
515
516
517 /* ACCESSAS */                  OP_TABLE_ENTRY (AML_INT_ACCESSFIELD_OP,     0,                              0,                  0),
518 /* ACCESSATTRIB_BLOCK */        OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_BLOCK,     0,                  0),
519 /* ACCESSATTRIB_BLOCK_CALL */   OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_BLOCK_CALL,0,                  0),
520 /* ACCESSATTRIB_BYTE */         OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_BYTE,      0,                  0),
521 /* ACCESSATTRIB_WORD_CALL */    OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_WORD_CALL, 0,                  0),
522 /* ACCESSATTRIB_QUICK */        OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_QUICK,     0,                  0),
523 /* ACCESSATTRIB_SND_RCV */      OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_SEND_RCV,  0,                  0),
524 /* ACCESSATTRIB_WORD */         OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ATTRIB_SMB_WORD,      0,                  0),
525 /* ACCESSTYPE_ANY */            OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ACCESS_ANY,           0,                  0),
526 /* ACCESSTYPE_BUF */            OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ACCESS_BUFFER,        0,                  0),
527 /* ACCESSTYPE_BYTE */           OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ACCESS_BYTE,          0,                  0),
528 /* ACCESSTYPE_DWORD */          OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ACCESS_DWORD,         0,                  0),
529 /* ACCESSTYPE_QWORD */          OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ACCESS_QWORD,         0,                  0),
530 /* ACCESSTYPE_WORD */           OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_ACCESS_WORD,          0,                  0),
531 /* ACQUIRE */                   OP_TABLE_ENTRY (AML_ACQUIRE_OP,             0,                              0,                  ACPI_BTYPE_INTEGER),
532 /* ADD */                       OP_TABLE_ENTRY (AML_ADD_OP,                 0,                              0,                  ACPI_BTYPE_INTEGER),
533 /* ADDRESSSPACE_FFIXEDHW */     OP_TABLE_ENTRY (AML_BYTE_OP,                REGION_FIXED_HW,                0,                  0),
534 /* ADDRESSTYPE_ACPI */          OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
535 /* ADDRESSTYPE_MEMORY */        OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
536 /* ADDRESSTYPE_NVS */           OP_TABLE_ENTRY (AML_BYTE_OP,                3,                              0,                  0),
537 /* ADDRESSTYPE_RESERVED */      OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
538 /* ALIAS */                     OP_TABLE_ENTRY (AML_ALIAS_OP,               0,                              0,                  0),
539 /* AND */                       OP_TABLE_ENTRY (AML_BIT_AND_OP,             0,                              0,                  ACPI_BTYPE_INTEGER),
540 /* ARG0 */                      OP_TABLE_ENTRY (AML_ARG0,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
541 /* ARG1 */                      OP_TABLE_ENTRY (AML_ARG1,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
542 /* ARG2 */                      OP_TABLE_ENTRY (AML_ARG2,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
543 /* ARG3 */                      OP_TABLE_ENTRY (AML_ARG3,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
544 /* ARG4 */                      OP_TABLE_ENTRY (AML_ARG4,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
545 /* ARG5 */                      OP_TABLE_ENTRY (AML_ARG5,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
546 /* ARG6 */                      OP_TABLE_ENTRY (AML_ARG6,                   0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
547 /* BANKFIELD */                 OP_TABLE_ENTRY (AML_BANK_FIELD_OP,          0,                              NODE_AML_PACKAGE,   0),
548 /* BREAK */                     OP_TABLE_ENTRY (AML_BREAK_OP,               0,                              0,                  0),
549 /* BREAKPOINT */                OP_TABLE_ENTRY (AML_BREAK_POINT_OP,         0,                              0,                  0),
550 /* BUFFER */                    OP_TABLE_ENTRY (AML_BUFFER_OP,              0,                              NODE_AML_PACKAGE,   ACPI_BTYPE_BUFFER),
551 /* BUSMASTERTYPE_MASTER */      OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
552 /* BUSMASTERTYPE_NOTMASTER */   OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
553 /* BYTECONST */                 OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          0,                              0,                  ACPI_BTYPE_INTEGER),
554 /* CASE */                      OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
555 /* CONCATENATE */               OP_TABLE_ENTRY (AML_CONCAT_OP,              0,                              0,                  ACPI_BTYPE_COMPUTE_DATA),
556 /* CONCATENATERESTEMPLATE */    OP_TABLE_ENTRY (AML_CONCAT_RES_OP,          0,                              0,                  ACPI_BTYPE_BUFFER),
557 /* CONDREFOF */                 OP_TABLE_ENTRY (AML_COND_REF_OF_OP,         0,                              0,                  ACPI_BTYPE_INTEGER),
558 /* CONTINUE */                  OP_TABLE_ENTRY (AML_CONTINUE_OP,            0,                              0,                  0),
559 /* COPY */                      OP_TABLE_ENTRY (AML_COPY_OP,                0,                              0,                  ACPI_BTYPE_DATA_REFERENCE),
560 /* CREATEBITFIELD */            OP_TABLE_ENTRY (AML_CREATE_BIT_FIELD_OP,    0,                              0,                  0),
561 /* CREATEBYTEFIELD */           OP_TABLE_ENTRY (AML_CREATE_BYTE_FIELD_OP,   0,                              0,                  0),
562 /* CREATEDWORDFIELD */          OP_TABLE_ENTRY (AML_CREATE_DWORD_FIELD_OP,  0,                              0,                  0),
563 /* CREATEFIELD */               OP_TABLE_ENTRY (AML_CREATE_FIELD_OP,        0,                              0,                  0),
564 /* CREATEQWORDFIELD */          OP_TABLE_ENTRY (AML_CREATE_QWORD_FIELD_OP,  0,                              0,                  0),
565 /* CREATEWORDFIELD */           OP_TABLE_ENTRY (AML_CREATE_WORD_FIELD_OP,   0,                              0,                  0),
566 /* DATATABLEREGION */           OP_TABLE_ENTRY (AML_DATA_REGION_OP,         0,                              0,                  0),
567 /* DEBUG */                     OP_TABLE_ENTRY (AML_DEBUG_OP,               0,                              0,                  ACPI_BTYPE_DEBUG_OBJECT),
568 /* DECODETYPE_POS */            OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
569 /* DECODETYPE_SUB */            OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
570 /* DECREMENT */                 OP_TABLE_ENTRY (AML_DECREMENT_OP,           0,                              0,                  ACPI_BTYPE_INTEGER),
571 /* DEFAULT */                   OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
572 /* DEFAULT_ARG */               OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
573 /* DEFINITIONBLOCK */           OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
574 /* DEREFOF */                   OP_TABLE_ENTRY (AML_DEREF_OF_OP,            0,                              0,                  ACPI_BTYPE_DATA_REFERENCE | ACPI_BTYPE_STRING),
575 /* DEVICE */                    OP_TABLE_ENTRY (AML_DEVICE_OP,              0,                              NODE_AML_PACKAGE,   0),
576 /* DIVIDE */                    OP_TABLE_ENTRY (AML_DIVIDE_OP,              0,                              0,                  ACPI_BTYPE_INTEGER),
577 /* DMA */                       OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
578 /* DMATYPE_A */                 OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
579 /* DMATYPE_COMPATIBILITY */     OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
580 /* DMATYPE_B */                 OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
581 /* DMATYPE_F */                 OP_TABLE_ENTRY (AML_BYTE_OP,                3,                              0,                  0),
582 /* DWORDCONST */                OP_TABLE_ENTRY (AML_RAW_DATA_DWORD,         0,                              0,                  ACPI_BTYPE_INTEGER),
583 /* DWORDIO */                   OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
584 /* DWORDMEMORY */               OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
585 /* DWORDSPACE */                OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
586 /* EISAID */                    OP_TABLE_ENTRY (AML_DWORD_OP,               0,                              0,                  ACPI_BTYPE_INTEGER),
587 /* ELSE */                      OP_TABLE_ENTRY (AML_ELSE_OP,                0,                              NODE_AML_PACKAGE,   0),
588 /* ELSEIF */                    OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              NODE_AML_PACKAGE,   0),
589 /* ENDDEPENDENTFN */            OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
590 /* ENDTAG */                    OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
591 /* ERRORNODE */                 OP_TABLE_ENTRY (AML_NOOP_OP,                0,                              0,                  0),
592 /* EVENT */                     OP_TABLE_ENTRY (AML_EVENT_OP,               0,                              0,                  0),
593 /* EXTENDEDIO */                OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
594 /* EXTENDEDMEMORY */            OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
595 /* EXTENDEDSPACE */             OP_TABLE_ENTRY (AML_RAW_DATA_QWORD,         0,                              0,                  ACPI_BTYPE_INTEGER),
596 /* EXTERNAL */                  OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
597 /* FATAL */                     OP_TABLE_ENTRY (AML_FATAL_OP,               0,                              0,                  0),
598 /* FIELD */                     OP_TABLE_ENTRY (AML_FIELD_OP,               0,                              NODE_AML_PACKAGE,   0),
599 /* FINDSETLEFTBIT */            OP_TABLE_ENTRY (AML_FIND_SET_LEFT_BIT_OP,   0,                              0,                  ACPI_BTYPE_INTEGER),
600 /* FINDSETRIGHTBIT */           OP_TABLE_ENTRY (AML_FIND_SET_RIGHT_BIT_OP,  0,                              0,                  ACPI_BTYPE_INTEGER),
601 /* FIXEDIO */                   OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
602 /* FROMBCD */                   OP_TABLE_ENTRY (AML_FROM_BCD_OP,            0,                              0,                  ACPI_BTYPE_INTEGER),
603 /* FUNCTION */                  OP_TABLE_ENTRY (AML_METHOD_OP,              0,                              NODE_AML_PACKAGE,   0),
604 /* IF */                        OP_TABLE_ENTRY (AML_IF_OP,                  0,                              NODE_AML_PACKAGE,   0),
605 /* INCLUDE */                   OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
606 /* INCLUDE_CSTYLE */            OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
607 /* INCLUDE_END */               OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
608 /* INCREMENT */                 OP_TABLE_ENTRY (AML_INCREMENT_OP,           0,                              0,                  ACPI_BTYPE_INTEGER),
609 /* INDEX */                     OP_TABLE_ENTRY (AML_INDEX_OP,               0,                              0,                  ACPI_BTYPE_REFERENCE),
610 /* INDEXFIELD */                OP_TABLE_ENTRY (AML_INDEX_FIELD_OP,         0,                              NODE_AML_PACKAGE,   0),
611 /* INTEGER */                   OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
612 /* INTERRUPT */                 OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
613 /* INTLEVEL_ACTIVEHIGH */       OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
614 /* INTLEVEL_ACTIVELOW */        OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
615 /* INTTYPE_EDGE */              OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
616 /* INTTYPE_LEVEL */             OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
617 /* IO */                        OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
618 /* IODECODETYPE_10 */           OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
619 /* IODECODETYPE_16 */           OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
620 /* IRQ */                       OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
621 /* IRQNOFLAGS */                OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
622 /* LAND */                      OP_TABLE_ENTRY (AML_LAND_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
623 /* LEQUAL */                    OP_TABLE_ENTRY (AML_LEQUAL_OP,              0,                              0,                  ACPI_BTYPE_INTEGER),
624 /* LGREATER */                  OP_TABLE_ENTRY (AML_LGREATER_OP,            0,                              0,                  ACPI_BTYPE_INTEGER),
625 /* LGREATEREQUAL */             OP_TABLE_ENTRY (AML_LGREATEREQUAL_OP,       0,                              0,                  ACPI_BTYPE_INTEGER),
626 /* LINE */                      OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
627 /* LLESS */                     OP_TABLE_ENTRY (AML_LLESS_OP,               0,                              0,                  ACPI_BTYPE_INTEGER),
628 /* LLESSEQUAL */                OP_TABLE_ENTRY (AML_LLESSEQUAL_OP,          0,                              0,                  ACPI_BTYPE_INTEGER),
629 /* LNOT */                      OP_TABLE_ENTRY (AML_LNOT_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
630 /* LNOTEQUAL */                 OP_TABLE_ENTRY (AML_LNOTEQUAL_OP,           0,                              0,                  ACPI_BTYPE_INTEGER),
631 /* LOAD */                      OP_TABLE_ENTRY (AML_LOAD_OP,                0,                              0,                  0),
632 /* LOADTABLE */                 OP_TABLE_ENTRY (AML_LOAD_TABLE_OP,          0,                              0,                  ACPI_BTYPE_DDB_HANDLE),
633 /* LOCAL0 */                    OP_TABLE_ENTRY (AML_LOCAL0,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
634 /* LOCAL1 */                    OP_TABLE_ENTRY (AML_LOCAL1,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
635 /* LOCAL2 */                    OP_TABLE_ENTRY (AML_LOCAL2,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
636 /* LOCAL3 */                    OP_TABLE_ENTRY (AML_LOCAL3,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
637 /* LOCAL4 */                    OP_TABLE_ENTRY (AML_LOCAL4,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
638 /* LOCAL5 */                    OP_TABLE_ENTRY (AML_LOCAL5,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
639 /* LOCAL6 */                    OP_TABLE_ENTRY (AML_LOCAL6,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
640 /* LOCAL7 */                    OP_TABLE_ENTRY (AML_LOCAL7,                 0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
641 /* LOCKRULE_LOCK */             OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_LOCK_ALWAYS,          0,                  0),
642 /* LOCKRULE_NOLOCK */           OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_LOCK_NEVER,           0,                  0),
643 /* LOR */                       OP_TABLE_ENTRY (AML_LOR_OP,                 0,                              0,                  ACPI_BTYPE_INTEGER),
644 /* MATCH */                     OP_TABLE_ENTRY (AML_MATCH_OP,               0,                              0,                  ACPI_BTYPE_INTEGER),
645 /* MATCHTYPE_MEQ */             OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          MATCH_MEQ,                      0,                  ACPI_BTYPE_INTEGER),
646 /* MATCHTYPE_MGE */             OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          MATCH_MGE,                      0,                  ACPI_BTYPE_INTEGER),
647 /* MATCHTYPE_MGT */             OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          MATCH_MGT,                      0,                  ACPI_BTYPE_INTEGER),
648 /* MATCHTYPE_MLE */             OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          MATCH_MLE,                      0,                  ACPI_BTYPE_INTEGER),
649 /* MATCHTYPE_MLT */             OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          MATCH_MLT,                      0,                  ACPI_BTYPE_INTEGER),
650 /* MATCHTYPE_MTR */             OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          MATCH_MTR,                      0,                  ACPI_BTYPE_INTEGER),
651 /* MAXTYPE_FIXED */             OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
652 /* MAXTYPE_NOTFIXED */          OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
653 /* MEMORY24 */                  OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
654 /* MEMORY32 */                  OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
655 /* MEMORY32FIXED */             OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
656 /* MEMTYPE_CACHEABLE */         OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
657 /* MEMTYPE_NONCACHEABLE */      OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
658 /* MEMTYPE_PREFETCHABLE */      OP_TABLE_ENTRY (AML_BYTE_OP,                3,                              0,                  0),
659 /* MEMTYPE_WRITECOMBINING */    OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
660 /* METHOD */                    OP_TABLE_ENTRY (AML_METHOD_OP,              0,                              NODE_AML_PACKAGE,   0),
661 /* METHODCALL */                OP_TABLE_ENTRY (AML_INT_METHODCALL_OP,      0,                              0,                  ACPI_BTYPE_OBJECTS_AND_REFS),
662 /* MID */                       OP_TABLE_ENTRY (AML_MID_OP,                 0,                              0,                  ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER),
663 /* MINTYPE_FIXED */             OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
664 /* MINTYPE_NOTFIXED */          OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
665 /* MOD */                       OP_TABLE_ENTRY (AML_MOD_OP,                 0,                              0,                  ACPI_BTYPE_INTEGER),
666 /* MULTIPLY */                  OP_TABLE_ENTRY (AML_MULTIPLY_OP,            0,                              0,                  ACPI_BTYPE_INTEGER),
667 /* MUTEX */                     OP_TABLE_ENTRY (AML_MUTEX_OP,               0,                              0,                  0),
668 /* NAME */                      OP_TABLE_ENTRY (AML_NAME_OP,                0,                              0,                  0),
669 /* NAMESEG */                   OP_TABLE_ENTRY (AML_INT_NAMEPATH_OP,        0,                              0,                  0),
670 /* NAMESTRING */                OP_TABLE_ENTRY (AML_INT_NAMEPATH_OP,        0,                              0,                  0),
671 /* NAND */                      OP_TABLE_ENTRY (AML_BIT_NAND_OP,            0,                              0,                  ACPI_BTYPE_INTEGER),
672 /* NOOP */                      OP_TABLE_ENTRY (AML_NOOP_OP,                0,                              0,                  0),
673 /* NOR */                       OP_TABLE_ENTRY (AML_BIT_NOR_OP,             0,                              0,                  ACPI_BTYPE_INTEGER),
674 /* NOT */                       OP_TABLE_ENTRY (AML_BIT_NOT_OP,             0,                              0,                  ACPI_BTYPE_INTEGER),
675 /* NOTIFY */                    OP_TABLE_ENTRY (AML_NOTIFY_OP,              0,                              0,                  0),
676 /* OBJECTTYPE */                OP_TABLE_ENTRY (AML_TYPE_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
677 /* OBJECTTYPE_BFF */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_BUFFER_FIELD,         0,                  0),
678 /* OBJECTTYPE_BUF */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_BUFFER,               0,                  0),
679 /* OBJECTTYPE_DDB */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_DDB_HANDLE,           0,                  0),
680 /* OBJECTTYPE_DEV */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_DEVICE,               0,                  0),
681 /* OBJECTTYPE_EVT */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_EVENT,                0,                  0),
682 /* OBJECTTYPE_FLD */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_FIELD_UNIT,           0,                  0),
683 /* OBJECTTYPE_INT */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_INTEGER,              0,                  0),
684 /* OBJECTTYPE_MTH */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_METHOD,               0,                  0),
685 /* OBJECTTYPE_MTX */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_MUTEX,                0,                  0),
686 /* OBJECTTYPE_OPR */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_REGION,               0,                  0),
687 /* OBJECTTYPE_PKG */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_PACKAGE,              0,                  0),
688 /* OBJECTTYPE_POW */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_POWER,                0,                  0),
689 /* OBJECTTYPE_PRO */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_PROCESSOR,            0,                  0),
690 /* OBJECTTYPE_STR */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_STRING,               0,                  0),
691 /* OBJECTTYPE_THZ */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_THERMAL,              0,                  0),
692 /* OBJECTTYPE_UNK */            OP_TABLE_ENTRY (AML_BYTE_OP,                ACPI_TYPE_ANY,                  0,                  0),
693 /* OFFSET */                    OP_TABLE_ENTRY (AML_INT_RESERVEDFIELD_OP,   0,                              0,                  0),
694 /* ONE */                       OP_TABLE_ENTRY (AML_ONE_OP,                 0,                              0,                  ACPI_BTYPE_INTEGER),
695 /* ONES */                      OP_TABLE_ENTRY (AML_ONES_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
696 /* OPERATIONREGION */           OP_TABLE_ENTRY (AML_REGION_OP,              0,                              0,                  0),
697 /* OR */                        OP_TABLE_ENTRY (AML_BIT_OR_OP,              0,                              0,                  ACPI_BTYPE_INTEGER),
698 /* PACKAGE */                   OP_TABLE_ENTRY (AML_PACKAGE_OP,             0,                              NODE_AML_PACKAGE,   ACPI_BTYPE_PACKAGE),
699 /* PACKAGEP_LENGTH */           OP_TABLE_ENTRY (AML_PACKAGE_LENGTH,         0,                              NODE_AML_PACKAGE,   0),
700 /* POWERRESOURCE */             OP_TABLE_ENTRY (AML_POWER_RES_OP,           0,                              NODE_AML_PACKAGE,   0),
701 /* PROCESSOR */                 OP_TABLE_ENTRY (AML_PROCESSOR_OP,           0,                              NODE_AML_PACKAGE,   0),
702 /* QWORDCONST */                OP_TABLE_ENTRY (AML_RAW_DATA_QWORD,         0,                              0,                  ACPI_BTYPE_INTEGER),
703 /* QWORDIO */                   OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
704 /* QWORDMEMORY */               OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
705 /* QWORDSPACE */                OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
706 /* RANGE_TYPE_ENTIRE */         OP_TABLE_ENTRY (AML_BYTE_OP,                3,                              0,                  0),
707 /* RANGE_TYPE_ISAONLY */        OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
708 /* RANGE_TYPE_NONISAONLY */     OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
709 /* RAW_DATA */                  OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
710 /* READWRITETYPE_BOTH */        OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
711 /* READWRITETYPE_READONLY */    OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
712 /* REFOF */                     OP_TABLE_ENTRY (AML_REF_OF_OP,              0,                              0,                  ACPI_BTYPE_REFERENCE),
713 /* REGIONSPACE_CMOS */          OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_CMOS,                    0,                  0),
714 /* REGIONSPACE_EC */            OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_EC,                      0,                  0),
715 /* REGIONSPACE_IO */            OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_IO,                      0,                  0),
716 /* REGIONSPACE_IPMI */          OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_IPMI,                    0,                  0),
717 /* REGIONSPACE_MEM */           OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_MEMORY,                  0,                  0),
718 /* REGIONSPACE_PCI */           OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_PCI_CONFIG,              0,                  0),
719 /* REGIONSPACE_PCIBAR */        OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_PCI_BAR,                 0,                  0),
720 /* REGIONSPACE_SMBUS */         OP_TABLE_ENTRY (AML_RAW_DATA_BYTE,          REGION_SMBUS,                   0,                  0),
721 /* REGISTER */                  OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
722 /* RELEASE */                   OP_TABLE_ENTRY (AML_RELEASE_OP,             0,                              0,                  0),
723 /* RESERVED_BYTES */            OP_TABLE_ENTRY (AML_INT_RESERVEDFIELD_OP,   0,                              0,                  0),
724 /* RESET */                     OP_TABLE_ENTRY (AML_RESET_OP,               0,                              0,                  0),
725 /* RESOURCETEMPLATE */          OP_TABLE_ENTRY (AML_BUFFER_OP,              0,                              0,                  ACPI_BTYPE_BUFFER),
726 /* RESOURCETYPE_CONSUMER */     OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
727 /* RESOURCETYPE_PRODUCER */     OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
728 /* RETURN */                    OP_TABLE_ENTRY (AML_RETURN_OP,              0,                              0,                  0),
729 /* REVISION */                  OP_TABLE_ENTRY (AML_REVISION_OP,            0,                              0,                  ACPI_BTYPE_INTEGER),
730 /* SCOPE */                     OP_TABLE_ENTRY (AML_SCOPE_OP,               0,                              NODE_AML_PACKAGE,   0),
731 /* SERIALIZERULE_NOTSERIAL */   OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
732 /* SERIALIZERULE_SERIAL */      OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
733 /* SHARETYPE_EXCLUSIVE */       OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
734 /* SHARETYPE_SHARED */          OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
735 /* SHIFTLEFT */                 OP_TABLE_ENTRY (AML_SHIFT_LEFT_OP,          0,                              0,                  ACPI_BTYPE_INTEGER),
736 /* SHIFTRIGHT */                OP_TABLE_ENTRY (AML_SHIFT_RIGHT_OP,         0,                              0,                  ACPI_BTYPE_INTEGER),
737 /* SIGNAL */                    OP_TABLE_ENTRY (AML_SIGNAL_OP,              0,                              0,                  0),
738 /* SIZEOF */                    OP_TABLE_ENTRY (AML_SIZE_OF_OP,             0,                              0,                  ACPI_BTYPE_INTEGER),
739 /* SLEEP */                     OP_TABLE_ENTRY (AML_SLEEP_OP,               0,                              0,                  0),
740 /* STALL */                     OP_TABLE_ENTRY (AML_STALL_OP,               0,                              0,                  0),
741 /* STARTDEPENDENTFN */          OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
742 /* STARTDEPENDENTFN_NOPRI */    OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
743 /* STORE */                     OP_TABLE_ENTRY (AML_STORE_OP,               0,                              0,                  ACPI_BTYPE_DATA_REFERENCE),
744 /* STRING_LITERAL */            OP_TABLE_ENTRY (AML_STRING_OP,              0,                              0,                  ACPI_BTYPE_STRING),
745 /* SUBTRACT */                  OP_TABLE_ENTRY (AML_SUBTRACT_OP,            0,                              0,                  ACPI_BTYPE_INTEGER),
746 /* SWITCH */                    OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
747 /* THERMALZONE */               OP_TABLE_ENTRY (AML_THERMAL_ZONE_OP,        0,                              NODE_AML_PACKAGE,   0),
748 /* TIMER */                     OP_TABLE_ENTRY (AML_TIMER_OP,               0,                              0,                  ACPI_BTYPE_INTEGER),
749 /* TOBCD */                     OP_TABLE_ENTRY (AML_TO_BCD_OP,              0,                              0,                  ACPI_BTYPE_INTEGER),
750 /* TOBUFFER */                  OP_TABLE_ENTRY (AML_TO_BUFFER_OP,           0,                              0,                  ACPI_BTYPE_BUFFER),
751 /* TODECIMALSTRING */           OP_TABLE_ENTRY (AML_TO_DECSTRING_OP,        0,                              0,                  ACPI_BTYPE_STRING),
752 /* TOHEXSTRING */               OP_TABLE_ENTRY (AML_TO_HEXSTRING_OP,        0,                              0,                  ACPI_BTYPE_STRING),
753 /* TOINTEGER */                 OP_TABLE_ENTRY (AML_TO_INTEGER_OP,          0,                              0,                  ACPI_BTYPE_INTEGER),
754 /* TOSTRING */                  OP_TABLE_ENTRY (AML_TO_STRING_OP,           0,                              0,                  ACPI_BTYPE_STRING),
755 /* TOUUID */                    OP_TABLE_ENTRY (AML_DWORD_OP,               0,                              NODE_AML_PACKAGE,   ACPI_BTYPE_INTEGER),
756 /* TRANSLATIONTYPE_DENSE */     OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
757 /* TRANSLATIONTYPE_SPARSE */    OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
758 /* TYPE_STATIC */               OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
759 /* TYPE_TRANSLATION */          OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
760 /* UNICODE */                   OP_TABLE_ENTRY (AML_BUFFER_OP,              0,                              NODE_AML_PACKAGE,   0),
761 /* UNLOAD */                    OP_TABLE_ENTRY (AML_UNLOAD_OP,              0,                              0,                  0),
762 /* UPDATERULE_ONES */           OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_UPDATE_WRITE_AS_ONES, 0,                  0),
763 /* UPDATERULE_PRESERVE */       OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_UPDATE_PRESERVE,      0,                  0),
764 /* UPDATERULE_ZEROS */          OP_TABLE_ENTRY (AML_BYTE_OP,                AML_FIELD_UPDATE_WRITE_AS_ZEROS,0,                  0),
765 /* VAR_PACKAGE */               OP_TABLE_ENTRY (AML_VAR_PACKAGE_OP,         0,                              NODE_AML_PACKAGE,   ACPI_BTYPE_PACKAGE),
766 /* VENDORLONG */                OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
767 /* VENDORSHORT */               OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
768 /* WAIT */                      OP_TABLE_ENTRY (AML_WAIT_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
769 /* WHILE */                     OP_TABLE_ENTRY (AML_WHILE_OP,               0,                              NODE_AML_PACKAGE,   0),
770 /* WORDBUSNUMBER */             OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
771 /* WORDCONST */                 OP_TABLE_ENTRY (AML_RAW_DATA_WORD,          0,                              0,                  ACPI_BTYPE_INTEGER),
772 /* WORDIO */                    OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
773 /* WORDSPACE */                 OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
774 /* XFERTYPE_8 */                OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
775 /* XFERTYPE_8_16 */             OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
776 /* XFERTYPE_16 */               OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
777 /* XOR */                       OP_TABLE_ENTRY (AML_BIT_XOR_OP,             0,                              0,                  ACPI_BTYPE_INTEGER),
778 /* ZERO */                      OP_TABLE_ENTRY (AML_ZERO_OP,                0,                              0,                  ACPI_BTYPE_INTEGER),
779
780 /*! [End] no source code translation !*/
781
782 };
783
784