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