xref: /haiku/src/add-ons/kernel/bus_managers/acpi/acpica/include/acpredef.h (revision 3c08adef21129761f27ae654a1c5d1705786691a)
1 /******************************************************************************
2  *
3  * Name: acpredef - Information table for ACPI predefined methods and objects
4  *
5  *****************************************************************************/
6 
7 /******************************************************************************
8  *
9  * 1. Copyright Notice
10  *
11  * Some or all of this work - Copyright (c) 1999 - 2016, Intel Corp.
12  * All rights reserved.
13  *
14  * 2. License
15  *
16  * 2.1. This is your license from Intel Corp. under its intellectual property
17  * rights. You may have additional license terms from the party that provided
18  * you this software, covering your right to use that party's intellectual
19  * property rights.
20  *
21  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22  * copy of the source code appearing in this file ("Covered Code") an
23  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24  * base code distributed originally by Intel ("Original Intel Code") to copy,
25  * make derivatives, distribute, use and display any portion of the Covered
26  * Code in any form, with the right to sublicense such rights; and
27  *
28  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29  * license (with the right to sublicense), under only those claims of Intel
30  * patents that are infringed by the Original Intel Code, to make, use, sell,
31  * offer to sell, and import the Covered Code and derivative works thereof
32  * solely to the minimum extent necessary to exercise the above copyright
33  * license, and in no event shall the patent license extend to any additions
34  * to or modifications of the Original Intel Code. No other license or right
35  * is granted directly or by implication, estoppel or otherwise;
36  *
37  * The above copyright and patent license is granted only if the following
38  * conditions are met:
39  *
40  * 3. Conditions
41  *
42  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43  * Redistribution of source code of any substantial portion of the Covered
44  * Code or modification with rights to further distribute source must include
45  * the above Copyright Notice, the above License, this list of Conditions,
46  * and the following Disclaimer and Export Compliance provision. In addition,
47  * Licensee must cause all Covered Code to which Licensee contributes to
48  * contain a file documenting the changes Licensee made to create that Covered
49  * Code and the date of any change. Licensee must include in that file the
50  * documentation of any changes made by any predecessor Licensee. Licensee
51  * must include a prominent statement that the modification is derived,
52  * directly or indirectly, from Original Intel Code.
53  *
54  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55  * Redistribution of source code of any substantial portion of the Covered
56  * Code or modification without rights to further distribute source must
57  * include the following Disclaimer and Export Compliance provision in the
58  * documentation and/or other materials provided with distribution. In
59  * addition, Licensee may not authorize further sublicense of source of any
60  * portion of the Covered Code, and must include terms to the effect that the
61  * license from Licensee to its licensee is limited to the intellectual
62  * property embodied in the software Licensee provides to its licensee, and
63  * not to intellectual property embodied in modifications its licensee may
64  * make.
65  *
66  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67  * substantial portion of the Covered Code or modification must reproduce the
68  * above Copyright Notice, and the following Disclaimer and Export Compliance
69  * provision in the documentation and/or other materials provided with the
70  * distribution.
71  *
72  * 3.4. Intel retains all right, title, and interest in and to the Original
73  * Intel Code.
74  *
75  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76  * Intel shall be used in advertising or otherwise to promote the sale, use or
77  * other dealings in products derived from or relating to the Covered Code
78  * without prior written authorization from Intel.
79  *
80  * 4. Disclaimer and Export Compliance
81  *
82  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88  * PARTICULAR PURPOSE.
89  *
90  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97  * LIMITED REMEDY.
98  *
99  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100  * software or system incorporating such software without first obtaining any
101  * required license or other approval from the U. S. Department of Commerce or
102  * any other agency or department of the United States Government. In the
103  * event Licensee exports any such software from the United States or
104  * re-exports any such software from a foreign destination, Licensee shall
105  * ensure that the distribution and export/re-export of the software is in
106  * compliance with all laws, regulations, orders, or other restrictions of the
107  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108  * any of its subsidiaries will export/re-export any technical data, process,
109  * software, or service, directly or indirectly, to any country for which the
110  * United States government or any agency thereof requires an export license,
111  * other governmental approval, or letter of assurance, without first obtaining
112  * such license, approval or letter.
113  *
114  *****************************************************************************/
115 
116 #ifndef __ACPREDEF_H__
117 #define __ACPREDEF_H__
118 
119 
120 /******************************************************************************
121  *
122  * Return Package types
123  *
124  * 1) PTYPE1 packages do not contain subpackages.
125  *
126  * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types:
127  *      object type
128  *      count
129  *      object type
130  *      count
131  *
132  * ACPI_PTYPE1_VAR: Variable-length length. Zero-length package is allowed:
133  *      object type (Int/Buf/Ref)
134  *
135  * ACPI_PTYPE1_OPTION: Package has some required and some optional elements
136  *      (Used for _PRW)
137  *
138  *
139  * 2) PTYPE2 packages contain a Variable-length number of subpackages. Each
140  *    of the different types describe the contents of each of the subpackages.
141  *
142  * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types. Zero-length
143  *      parent package is allowed:
144  *      object type
145  *      count
146  *      object type
147  *      count
148  *      (Used for _ALR,_MLS,_PSS,_TRT,_TSS)
149  *
150  * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element.
151  *      Zero-length parent package is allowed:
152  *      object type
153  *      (Used for _CSD,_PSD,_TSD)
154  *
155  * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types:
156  *      object type
157  *      count
158  *      object type
159  *      count
160  *      (Used for _CST)
161  *
162  * ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length. Zero-length
163  *      parent package is allowed.
164  *      (Used for _PRT)
165  *
166  * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length.
167  *      Zero-length parent package is allowed:
168  *      (Used for _HPX)
169  *
170  * ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length
171  *      (Used for _ART, _FPS)
172  *
173  * ACPI_PTYPE2_FIX_VAR: Each subpackage consists of some fixed-length elements
174  *      followed by an optional element. Zero-length parent package is allowed.
175  *      object type
176  *      count
177  *      object type
178  *      count = 0 (optional)
179  *      (Used for _DLM)
180  *
181  * ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a
182  *      constant or variable length. The subpackages are preceded by a
183  *      constant number of objects.
184  *      (Used for _LPI, _RDI)
185  *
186  * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
187  *      defines the format of the package. Zero-length parent package is
188  *      allowed.
189  *      (Used for _DSD)
190  *
191  *****************************************************************************/
192 
193 enum AcpiReturnPackageTypes
194 {
195     ACPI_PTYPE1_FIXED       = 1,
196     ACPI_PTYPE1_VAR         = 2,
197     ACPI_PTYPE1_OPTION      = 3,
198     ACPI_PTYPE2             = 4,
199     ACPI_PTYPE2_COUNT       = 5,
200     ACPI_PTYPE2_PKG_COUNT   = 6,
201     ACPI_PTYPE2_FIXED       = 7,
202     ACPI_PTYPE2_MIN         = 8,
203     ACPI_PTYPE2_REV_FIXED   = 9,
204     ACPI_PTYPE2_FIX_VAR     = 10,
205     ACPI_PTYPE2_VAR_VAR     = 11,
206     ACPI_PTYPE2_UUID_PAIR   = 12,
207     ACPI_PTYPE_CUSTOM       = 13
208 };
209 
210 
211 /* Support macros for users of the predefined info table */
212 
213 #define METHOD_PREDEF_ARGS_MAX          4
214 #define METHOD_ARG_BIT_WIDTH            3
215 #define METHOD_ARG_MASK                 0x0007
216 #define ARG_COUNT_IS_MINIMUM            0x8000
217 #define METHOD_MAX_ARG_TYPE             ACPI_TYPE_PACKAGE
218 
219 #define METHOD_GET_ARG_COUNT(ArgList)   ((ArgList) & METHOD_ARG_MASK)
220 #define METHOD_GET_NEXT_TYPE(ArgList)   (((ArgList) >>= METHOD_ARG_BIT_WIDTH) & METHOD_ARG_MASK)
221 
222 /* Macros used to build the predefined info table */
223 
224 #define METHOD_0ARGS                    0
225 #define METHOD_1ARGS(a1)                (1 | (a1 << 3))
226 #define METHOD_2ARGS(a1,a2)             (2 | (a1 << 3) | (a2 << 6))
227 #define METHOD_3ARGS(a1,a2,a3)          (3 | (a1 << 3) | (a2 << 6) | (a3 << 9))
228 #define METHOD_4ARGS(a1,a2,a3,a4)       (4 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12))
229 
230 #define METHOD_RETURNS(type)            (type)
231 #define METHOD_NO_RETURN_VALUE          0
232 
233 #define PACKAGE_INFO(a,b,c,d,e,f)       {{{(a),(b),(c),(d)}, ((((UINT16)(f)) << 8) | (e)), 0}}
234 
235 
236 /* Support macros for the resource descriptor info table */
237 
238 #define WIDTH_1                         0x0001
239 #define WIDTH_2                         0x0002
240 #define WIDTH_3                         0x0004
241 #define WIDTH_8                         0x0008
242 #define WIDTH_16                        0x0010
243 #define WIDTH_32                        0x0020
244 #define WIDTH_64                        0x0040
245 #define VARIABLE_DATA                   0x0080
246 #define NUM_RESOURCE_WIDTHS             8
247 
248 #define WIDTH_ADDRESS                   WIDTH_16 | WIDTH_32 | WIDTH_64
249 
250 
251 #ifdef ACPI_CREATE_PREDEFINED_TABLE
252 /******************************************************************************
253  *
254  * Predefined method/object information table.
255  *
256  * These are the names that can actually be evaluated via AcpiEvaluateObject.
257  * Not present in this table are the following:
258  *
259  *      1) Predefined/Reserved names that are not usually evaluated via
260  *         AcpiEvaluateObject:
261  *              _Lxx and _Exx GPE methods
262  *              _Qxx EC methods
263  *              _T_x compiler temporary variables
264  *              _Wxx wake events
265  *
266  *      2) Predefined names that never actually exist within the AML code:
267  *              Predefined resource descriptor field names
268  *
269  *      3) Predefined names that are implemented within ACPICA:
270  *              _OSI
271  *
272  * The main entries in the table each contain the following items:
273  *
274  * Name                 - The ACPI reserved name
275  * ArgumentList         - Contains (in 16 bits), the number of required
276  *                        arguments to the method (3 bits), and a 3-bit type
277  *                        field for each argument (up to 4 arguments). The
278  *                        METHOD_?ARGS macros generate the correct packed data.
279  * ExpectedBtypes       - Allowed type(s) for the return value.
280  *                        0 means that no return value is expected.
281  *
282  * For methods that return packages, the next entry in the table contains
283  * information about the expected structure of the package. This information
284  * is saved here (rather than in a separate table) in order to minimize the
285  * overall size of the stored data.
286  *
287  * Note: The additional braces are intended to promote portability.
288  *
289  * Note2: Table is used by the kernel-resident subsystem, the iASL compiler,
290  * and the AcpiHelp utility.
291  *
292  * TBD: _PRT - currently ignore reversed entries. Attempt to fix in nsrepair.
293  * Possibly fixing package elements like _BIF, etc.
294  *
295  *****************************************************************************/
296 
297 const ACPI_PREDEFINED_INFO          AcpiGbl_PredefinedMethods[] =
298 {
299     {{"_AC0",   METHOD_0ARGS,
300                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
301 
302     {{"_AC1",   METHOD_0ARGS,
303                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
304 
305     {{"_AC2",   METHOD_0ARGS,
306                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
307 
308     {{"_AC3",   METHOD_0ARGS,
309                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
310 
311     {{"_AC4",   METHOD_0ARGS,
312                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
313 
314     {{"_AC5",   METHOD_0ARGS,
315                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
316 
317     {{"_AC6",   METHOD_0ARGS,
318                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
319 
320     {{"_AC7",   METHOD_0ARGS,
321                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
322 
323     {{"_AC8",   METHOD_0ARGS,
324                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
325 
326     {{"_AC9",   METHOD_0ARGS,
327                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
328 
329     {{"_ADR",   METHOD_0ARGS,
330                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
331 
332     {{"_AEI",   METHOD_0ARGS,
333                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
334 
335     {{"_AL0",   METHOD_0ARGS,
336                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
337                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
338 
339     {{"_AL1",   METHOD_0ARGS,
340                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
341                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
342 
343     {{"_AL2",   METHOD_0ARGS,
344                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
345                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
346 
347     {{"_AL3",   METHOD_0ARGS,
348                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
349                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
350 
351     {{"_AL4",   METHOD_0ARGS,
352                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
353                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
354 
355     {{"_AL5",   METHOD_0ARGS,
356                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
357                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
358 
359     {{"_AL6",   METHOD_0ARGS,
360                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
361                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
362 
363     {{"_AL7",   METHOD_0ARGS,
364                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
365                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
366 
367     {{"_AL8",   METHOD_0ARGS,
368                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
369                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
370 
371     {{"_AL9",   METHOD_0ARGS,
372                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
373                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
374 
375     {{"_ALC",   METHOD_0ARGS,
376                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
377 
378     {{"_ALI",   METHOD_0ARGS,
379                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
380 
381     {{"_ALP",   METHOD_0ARGS,
382                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
383 
384     {{"_ALR",   METHOD_0ARGS,
385                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 (Ints) */
386                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2,0,0,0),
387 
388     {{"_ALT",   METHOD_0ARGS,
389                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
390 
391     {{"_ART",   METHOD_0ARGS,
392                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */
393                     PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 11,0),
394 
395     {{"_BBN",   METHOD_0ARGS,
396                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
397 
398     {{"_BCL",   METHOD_0ARGS,
399                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
400                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),
401 
402     {{"_BCM",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
403                 METHOD_NO_RETURN_VALUE}},
404 
405     {{"_BCT",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
406                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
407 
408     {{"_BDN",   METHOD_0ARGS,
409                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
410 
411     {{"_BFS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
412                 METHOD_NO_RETURN_VALUE}},
413 
414     {{"_BIF",   METHOD_0ARGS,
415                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (9 Int),(4 Str) */
416                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING, 4,0),
417 
418     {{"_BIX",   METHOD_0ARGS,
419                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int),(4 Str) */
420                     PACKAGE_INFO (ACPI_PTYPE_CUSTOM, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4,0),
421 
422     {{"_BLT",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
423                 METHOD_NO_RETURN_VALUE}},
424 
425     {{"_BMA",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
426                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
427 
428     {{"_BMC",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
429                 METHOD_NO_RETURN_VALUE}},
430 
431     {{"_BMD",   METHOD_0ARGS,
432                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */
433                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0),
434 
435     {{"_BMS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
436                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
437 
438     {{"_BQC",   METHOD_0ARGS,
439                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
440 
441     {{"_BST",   METHOD_0ARGS,
442                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
443                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
444 
445     {{"_BTH",   METHOD_1ARGS (ACPI_TYPE_INTEGER),      /* ACPI 6.0 */
446                 METHOD_NO_RETURN_VALUE}},
447 
448     {{"_BTM",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
449                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
450 
451     {{"_BTP",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
452                 METHOD_NO_RETURN_VALUE}},
453 
454     {{"_CBA",   METHOD_0ARGS,
455                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See PCI firmware spec 3.0 */
456 
457     {{"_CCA",   METHOD_0ARGS,
458                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 5.1 */
459 
460     {{"_CDM",   METHOD_0ARGS,
461                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
462 
463     {{"_CID",   METHOD_0ARGS,
464                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Strs) */
465                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,0,0,0),
466 
467     {{"_CLS",   METHOD_0ARGS,
468                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
469                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),
470 
471     {{"_CPC",   METHOD_0ARGS,
472                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Bufs) */
473                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,0,0,0),
474 
475     {{"_CR3",   METHOD_0ARGS,                          /* ACPI 6.0 */
476                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
477 
478     {{"_CRS",   METHOD_0ARGS,
479                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
480 
481     {{"_CRT",   METHOD_0ARGS,
482                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
483 
484     {{"_CSD",   METHOD_0ARGS,
485                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n-1 Int) */
486                     PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0),
487 
488     {{"_CST",   METHOD_0ARGS,
489                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */
490                     PACKAGE_INFO (ACPI_PTYPE2_PKG_COUNT,ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER, 3,0),
491 
492     {{"_CWS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
493                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
494 
495     {{"_DCK",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
496                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
497 
498     {{"_DCS",   METHOD_0ARGS,
499                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
500 
501     {{"_DDC",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
502                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER)}},
503 
504     {{"_DDN",   METHOD_0ARGS,
505                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
506 
507     {{"_DEP",   METHOD_0ARGS,
508                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
509                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
510 
511     {{"_DGS",   METHOD_0ARGS,
512                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
513 
514     {{"_DIS",   METHOD_0ARGS,
515                 METHOD_NO_RETURN_VALUE}},
516 
517     {{"_DLM",   METHOD_0ARGS,
518                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Ref, 0/1 Optional Buf/Ref) */
519                     PACKAGE_INFO (ACPI_PTYPE2_FIX_VAR, ACPI_RTYPE_REFERENCE, 1, ACPI_RTYPE_REFERENCE | ACPI_RTYPE_BUFFER, 0,0),
520 
521     {{"_DMA",   METHOD_0ARGS,
522                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
523 
524     {{"_DOD",   METHOD_0ARGS,
525                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
526                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),
527 
528     {{"_DOS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
529                 METHOD_NO_RETURN_VALUE}},
530 
531     {{"_DSD",   METHOD_0ARGS,                          /* ACPI 6.0 */
532                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
533                     PACKAGE_INFO (ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_PACKAGE, 1,0),
534 
535     {{"_DSM",   METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_PACKAGE),
536                 METHOD_RETURNS (ACPI_RTYPE_ALL)}}, /* Must return a value, but it can be of any type */
537 
538     {{"_DSS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
539                 METHOD_NO_RETURN_VALUE}},
540 
541     {{"_DSW",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
542                 METHOD_NO_RETURN_VALUE}},
543 
544     {{"_DTI",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
545                 METHOD_NO_RETURN_VALUE}},
546 
547     {{"_EC_",   METHOD_0ARGS,
548                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
549 
550     {{"_EDL",   METHOD_0ARGS,
551                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs)*/
552                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
553 
554     {{"_EJ0",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
555                 METHOD_NO_RETURN_VALUE}},
556 
557     {{"_EJ1",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
558                 METHOD_NO_RETURN_VALUE}},
559 
560     {{"_EJ2",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
561                 METHOD_NO_RETURN_VALUE}},
562 
563     {{"_EJ3",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
564                 METHOD_NO_RETURN_VALUE}},
565 
566     {{"_EJ4",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
567                 METHOD_NO_RETURN_VALUE}},
568 
569     {{"_EJD",   METHOD_0ARGS,
570                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
571 
572     {{"_ERR",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER),
573                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* Internal use only, used by ACPICA test suites */
574 
575     {{"_EVT",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
576                 METHOD_NO_RETURN_VALUE}},
577 
578     {{"_FDE",   METHOD_0ARGS,
579                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
580 
581     {{"_FDI",   METHOD_0ARGS,
582                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int) */
583                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16,0,0,0),
584 
585     {{"_FDM",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
586                 METHOD_NO_RETURN_VALUE}},
587 
588     {{"_FIF",   METHOD_0ARGS,
589                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
590                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
591 
592     {{"_FIT",   METHOD_0ARGS,
593                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},  /* ACPI 6.0 */
594 
595     {{"_FIX",   METHOD_0ARGS,
596                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
597                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),
598 
599     {{"_FPS",   METHOD_0ARGS,
600                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */
601                     PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED,ACPI_RTYPE_INTEGER, 5, 0,0,0),
602 
603     {{"_FSL",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
604                 METHOD_NO_RETURN_VALUE}},
605 
606     {{"_FST",   METHOD_0ARGS,
607                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
608                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),
609 
610     {{"_GAI",   METHOD_0ARGS,
611                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
612 
613     {{"_GCP",   METHOD_0ARGS,
614                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
615 
616     {{"_GHL",   METHOD_0ARGS,
617                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
618 
619     {{"_GLK",   METHOD_0ARGS,
620                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
621 
622     {{"_GPD",   METHOD_0ARGS,
623                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
624 
625     {{"_GPE",   METHOD_0ARGS,
626                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* _GPE method, not _GPE scope */
627 
628     {{"_GRT",   METHOD_0ARGS,
629                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
630 
631     {{"_GSB",   METHOD_0ARGS,
632                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
633 
634     {{"_GTF",   METHOD_0ARGS,
635                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
636 
637     {{"_GTM",   METHOD_0ARGS,
638                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
639 
640     {{"_GTS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
641                 METHOD_NO_RETURN_VALUE}},
642 
643     {{"_GWS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
644                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
645 
646     {{"_HID",   METHOD_0ARGS,
647                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
648 
649     {{"_HOT",   METHOD_0ARGS,
650                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
651 
652     {{"_HPP",   METHOD_0ARGS,
653                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
654                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
655 
656     /*
657      * For _HPX, a single package is returned, containing a variable-length number
658      * of subpackages. Each subpackage contains a PCI record setting.
659      * There are several different type of record settings, of different
660      * lengths, but all elements of all settings are Integers.
661      */
662     {{"_HPX",   METHOD_0ARGS,
663                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (var Ints) */
664                     PACKAGE_INFO (ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5,0,0,0),
665 
666     {{"_HRV",   METHOD_0ARGS,
667                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
668 
669     {{"_IFT",   METHOD_0ARGS,
670                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
671 
672     {{"_INI",   METHOD_0ARGS,
673                 METHOD_NO_RETURN_VALUE}},
674 
675     {{"_IRC",   METHOD_0ARGS,
676                 METHOD_NO_RETURN_VALUE}},
677 
678     {{"_LCK",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
679                 METHOD_NO_RETURN_VALUE}},
680 
681     {{"_LID",   METHOD_0ARGS,
682                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
683 
684     {{"_LPD",   METHOD_0ARGS,
685                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Int) */
686                     PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0),
687 
688     {{"_LPI",   METHOD_0ARGS,                          /* ACPI 6.0 */
689                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (3 Int, n Pkg (10 Int/Buf) */
690                     PACKAGE_INFO (ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3,
691                     ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING, 10,0),
692 
693     {{"_MAT",   METHOD_0ARGS,
694                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
695 
696     {{"_MBM",   METHOD_0ARGS,
697                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (8 Int) */
698                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8,0,0,0),
699 
700     {{"_MLS",   METHOD_0ARGS,
701                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Str/1 Buf) */
702                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1,0),
703 
704     {{"_MSG",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
705                 METHOD_NO_RETURN_VALUE}},
706 
707     {{"_MSM",   METHOD_4ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
708                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
709 
710     {{"_MTL",   METHOD_0ARGS,                          /* ACPI 6.0 */
711                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
712 
713     {{"_NTT",   METHOD_0ARGS,
714                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
715 
716     {{"_OFF",   METHOD_0ARGS,
717                 METHOD_NO_RETURN_VALUE}},
718 
719     {{"_ON_",   METHOD_0ARGS,
720                 METHOD_NO_RETURN_VALUE}},
721 
722     {{"_OS_",   METHOD_0ARGS,
723                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
724 
725     {{"_OSC",   METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
726                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
727 
728     {{"_OST",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
729                 METHOD_NO_RETURN_VALUE}},
730 
731     {{"_PAI",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
732                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
733 
734     {{"_PCL",   METHOD_0ARGS,
735                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
736                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
737 
738     {{"_PCT",   METHOD_0ARGS,
739                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
740                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0),
741 
742     {{"_PDC",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
743                 METHOD_NO_RETURN_VALUE}},
744 
745     {{"_PDL",   METHOD_0ARGS,
746                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
747 
748     {{"_PIC",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
749                 METHOD_NO_RETURN_VALUE}},
750 
751     {{"_PIF",   METHOD_0ARGS,
752                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int),(3 Str) */
753                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_STRING, 3,0),
754 
755     {{"_PLD",   METHOD_0ARGS,
756                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Bufs) */
757                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0,0,0,0),
758 
759     {{"_PMC",   METHOD_0ARGS,
760                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (11 Int),(3 Str) */
761                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11, ACPI_RTYPE_STRING, 3,0),
762 
763     {{"_PMD",   METHOD_0ARGS,
764                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
765                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
766 
767     {{"_PMM",   METHOD_0ARGS,
768                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
769 
770     {{"_PPC",   METHOD_0ARGS,
771                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
772 
773     {{"_PPE",   METHOD_0ARGS,
774                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See dig64 spec */
775 
776     {{"_PR0",   METHOD_0ARGS,
777                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
778                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
779 
780     {{"_PR1",   METHOD_0ARGS,
781                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
782                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
783 
784     {{"_PR2",   METHOD_0ARGS,
785                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
786                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
787 
788     {{"_PR3",   METHOD_0ARGS,
789                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
790                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
791 
792     {{"_PRE",   METHOD_0ARGS,
793                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
794                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
795 
796     {{"_PRL",   METHOD_0ARGS,
797                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
798                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
799 
800     {{"_PRR",   METHOD_0ARGS,                          /* ACPI 6.0 */
801                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Ref) */
802                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1,0,0,0),
803 
804     {{"_PRS",   METHOD_0ARGS,
805                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
806 
807     /*
808      * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source
809      * and SourceIndex). This bug is so prevalent that there is code in the
810      * ACPICA Resource Manager to detect this and switch them back. For now,
811      * do not allow and issue a warning. To allow this and eliminate the
812      * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3)
813      * in the statement below.
814      */
815     {{"_PRT",   METHOD_0ARGS,
816                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */
817                     PACKAGE_INFO (ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER, ACPI_RTYPE_INTEGER,
818                                   ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE, ACPI_RTYPE_INTEGER),
819 
820     {{"_PRW",   METHOD_0ARGS,
821                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */
822                     PACKAGE_INFO (ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE,
823                                   ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0),
824 
825     {{"_PS0",   METHOD_0ARGS,
826                 METHOD_NO_RETURN_VALUE}},
827 
828     {{"_PS1",   METHOD_0ARGS,
829                 METHOD_NO_RETURN_VALUE}},
830 
831     {{"_PS2",   METHOD_0ARGS,
832                 METHOD_NO_RETURN_VALUE}},
833 
834     {{"_PS3",   METHOD_0ARGS,
835                 METHOD_NO_RETURN_VALUE}},
836 
837     {{"_PSC",   METHOD_0ARGS,
838                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
839 
840     {{"_PSD",   METHOD_0ARGS,
841                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (5 Int) with count */
842                     PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0),
843 
844     {{"_PSE",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
845                 METHOD_NO_RETURN_VALUE}},
846 
847     {{"_PSL",   METHOD_0ARGS,
848                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
849                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
850 
851     {{"_PSR",   METHOD_0ARGS,
852                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
853 
854     {{"_PSS",   METHOD_0ARGS,
855                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (6 Int) */
856                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6,0,0,0),
857 
858     {{"_PSV",   METHOD_0ARGS,
859                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
860 
861     {{"_PSW",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
862                 METHOD_NO_RETURN_VALUE}},
863 
864     {{"_PTC",   METHOD_0ARGS,
865                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
866                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0),
867 
868     {{"_PTP",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
869                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
870 
871     {{"_PTS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
872                 METHOD_NO_RETURN_VALUE}},
873 
874     {{"_PUR",   METHOD_0ARGS,
875                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */
876                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0),
877 
878     {{"_PXM",   METHOD_0ARGS,
879                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
880 
881     {{"_RDI",   METHOD_0ARGS,                          /* ACPI 6.0 */
882                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int, n Pkg (m Ref)) */
883                     PACKAGE_INFO (ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,
884                     ACPI_RTYPE_REFERENCE,0,0),
885 
886     {{"_REG",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
887                 METHOD_NO_RETURN_VALUE}},
888 
889     {{"_REV",   METHOD_0ARGS,
890                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
891 
892     {{"_RMV",   METHOD_0ARGS,
893                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
894 
895     {{"_ROM",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
896                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
897 
898     {{"_RST",   METHOD_0ARGS,                          /* ACPI 6.0 */
899                 METHOD_NO_RETURN_VALUE}},
900 
901     {{"_RTV",   METHOD_0ARGS,
902                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
903 
904     /*
905      * For _S0_ through _S5_, the ACPI spec defines a return Package
906      * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers.
907      * Allow this by making the objects "Variable-length length", but all elements
908      * must be Integers.
909      */
910     {{"_S0_",   METHOD_0ARGS,
911                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
912                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
913 
914     {{"_S1_",   METHOD_0ARGS,
915                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
916                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
917 
918     {{"_S2_",   METHOD_0ARGS,
919                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
920                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
921 
922     {{"_S3_",   METHOD_0ARGS,
923                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
924                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
925 
926     {{"_S4_",   METHOD_0ARGS,
927                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
928                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
929 
930     {{"_S5_",   METHOD_0ARGS,
931                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
932                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
933 
934     {{"_S1D",   METHOD_0ARGS,
935                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
936 
937     {{"_S2D",   METHOD_0ARGS,
938                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
939 
940     {{"_S3D",   METHOD_0ARGS,
941                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
942 
943     {{"_S4D",   METHOD_0ARGS,
944                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
945 
946     {{"_S0W",   METHOD_0ARGS,
947                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
948 
949     {{"_S1W",   METHOD_0ARGS,
950                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
951 
952     {{"_S2W",   METHOD_0ARGS,
953                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
954 
955     {{"_S3W",   METHOD_0ARGS,
956                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
957 
958     {{"_S4W",   METHOD_0ARGS,
959                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
960 
961     {{"_SBS",   METHOD_0ARGS,
962                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
963 
964     {{"_SCP",   METHOD_1ARGS (ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM,
965                 METHOD_NO_RETURN_VALUE}},   /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */
966 
967     {{"_SDD",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
968                 METHOD_NO_RETURN_VALUE}},
969 
970     {{"_SEG",   METHOD_0ARGS,
971                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
972 
973     {{"_SHL",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
974                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
975 
976     {{"_SLI",   METHOD_0ARGS,
977                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
978 
979     {{"_SPD",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
980                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
981 
982     {{"_SRS",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
983                 METHOD_NO_RETURN_VALUE}},
984 
985     {{"_SRT",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
986                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
987 
988     {{"_SRV",   METHOD_0ARGS,
989                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
990 
991     {{"_SST",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
992                 METHOD_NO_RETURN_VALUE}},
993 
994     {{"_STA",   METHOD_0ARGS,
995                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
996 
997     {{"_STM",   METHOD_3ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER),
998                 METHOD_NO_RETURN_VALUE}},
999 
1000     {{"_STP",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
1001                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1002 
1003     {{"_STR",   METHOD_0ARGS,
1004                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
1005 
1006     {{"_STV",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
1007                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1008 
1009     {{"_SUB",   METHOD_0ARGS,
1010                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
1011 
1012     {{"_SUN",   METHOD_0ARGS,
1013                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1014 
1015     {{"_SWS",   METHOD_0ARGS,
1016                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1017 
1018     {{"_TC1",   METHOD_0ARGS,
1019                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1020 
1021     {{"_TC2",   METHOD_0ARGS,
1022                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1023 
1024     {{"_TDL",   METHOD_0ARGS,
1025                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1026 
1027     {{"_TFP",   METHOD_0ARGS,                          /* ACPI 6.0 */
1028                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1029 
1030     {{"_TIP",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1031                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1032 
1033     {{"_TIV",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1034                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1035 
1036     {{"_TMP",   METHOD_0ARGS,
1037                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1038 
1039     {{"_TPC",   METHOD_0ARGS,
1040                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1041 
1042     {{"_TPT",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1043                 METHOD_NO_RETURN_VALUE}},
1044 
1045     {{"_TRT",   METHOD_0ARGS,
1046                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */
1047                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 6, 0),
1048 
1049     {{"_TSD",   METHOD_0ARGS,
1050                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int with count */
1051                     PACKAGE_INFO (ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0,0,0),
1052 
1053     {{"_TSN",   METHOD_0ARGS,                          /* ACPI 6.0 */
1054                 METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}},
1055 
1056     {{"_TSP",   METHOD_0ARGS,
1057                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1058 
1059     {{"_TSS",   METHOD_0ARGS,
1060                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int */
1061                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0,0,0),
1062 
1063     {{"_TST",   METHOD_0ARGS,
1064                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1065 
1066     {{"_TTS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1067                 METHOD_NO_RETURN_VALUE}},
1068 
1069     {{"_TZD",   METHOD_0ARGS,
1070                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
1071                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
1072 
1073     {{"_TZM",   METHOD_0ARGS,
1074                 METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}},
1075 
1076     {{"_TZP",   METHOD_0ARGS,
1077                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1078 
1079     {{"_UID",   METHOD_0ARGS,
1080                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
1081 
1082     {{"_UPC",   METHOD_0ARGS,
1083                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
1084                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
1085 
1086     {{"_UPD",   METHOD_0ARGS,
1087                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1088 
1089     {{"_UPP",   METHOD_0ARGS,
1090                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1091 
1092     {{"_VPO",   METHOD_0ARGS,
1093                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1094 
1095     /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */
1096 
1097     {{"_WAK",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1098                 METHOD_RETURNS (ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE)}},
1099                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0), /* Fixed-length (2 Int), but is optional */
1100 
1101     /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */
1102 
1103     {{"_WDG",   METHOD_0ARGS,
1104                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
1105 
1106     {{"_WED",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1107                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER)}},
1108 
1109     {{"_WPC",   METHOD_0ARGS,
1110                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},  /* ACPI 6.1 */
1111 
1112     {{"_WPP",   METHOD_0ARGS,
1113                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},  /* ACPI 6.1 */
1114 
1115     PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */
1116 };
1117 #else
1118 extern const ACPI_PREDEFINED_INFO       AcpiGbl_PredefinedMethods[];
1119 #endif
1120 
1121 
1122 #if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION)
1123 /******************************************************************************
1124  *
1125  * Predefined names for use in Resource Descriptors. These names do not
1126  * appear in the global Predefined Name table (since these names never
1127  * appear in actual AML byte code, only in the original ASL)
1128  *
1129  * Note: Used by iASL compiler and AcpiHelp utility only.
1130  *
1131  *****************************************************************************/
1132 
1133 const ACPI_PREDEFINED_INFO      AcpiGbl_ResourceNames[] =
1134 {
1135     {{"_ADR",   WIDTH_16 | WIDTH_64,            0}},
1136     {{"_ALN",   WIDTH_8 | WIDTH_16 | WIDTH_32,  0}},
1137     {{"_ASI",   WIDTH_8,                        0}},
1138     {{"_ASZ",   WIDTH_8,                        0}},
1139     {{"_ATT",   WIDTH_64,                       0}},
1140     {{"_BAS",   WIDTH_16 | WIDTH_32,            0}},
1141     {{"_BM_",   WIDTH_1,                        0}},
1142     {{"_DBT",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1143     {{"_DEC",   WIDTH_1,                        0}},
1144     {{"_DMA",   WIDTH_8,                        0}},
1145     {{"_DPL",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1146     {{"_DRS",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1147     {{"_END",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1148     {{"_FLC",   WIDTH_2,                        0}},  /* Acpi 5.0 */
1149     {{"_GRA",   WIDTH_ADDRESS,                  0}},
1150     {{"_HE_",   WIDTH_1,                        0}},
1151     {{"_INT",   WIDTH_16 | WIDTH_32,            0}},
1152     {{"_IOR",   WIDTH_2,                        0}},  /* Acpi 5.0 */
1153     {{"_LEN",   WIDTH_8 | WIDTH_ADDRESS,        0}},
1154     {{"_LIN",   WIDTH_8,                        0}},  /* Acpi 5.0 */
1155     {{"_LL_",   WIDTH_1,                        0}},
1156     {{"_MAF",   WIDTH_1,                        0}},
1157     {{"_MAX",   WIDTH_ADDRESS,                  0}},
1158     {{"_MEM",   WIDTH_2,                        0}},
1159     {{"_MIF",   WIDTH_1,                        0}},
1160     {{"_MIN",   WIDTH_ADDRESS,                  0}},
1161     {{"_MOD",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1162     {{"_MTP",   WIDTH_2,                        0}},
1163     {{"_PAR",   WIDTH_8,                        0}},  /* Acpi 5.0 */
1164     {{"_PHA",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1165     {{"_PIN",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1166     {{"_PPI",   WIDTH_8,                        0}},  /* Acpi 5.0 */
1167     {{"_POL",   WIDTH_1 | WIDTH_2,              0}},  /* Acpi 5.0 */
1168     {{"_RBO",   WIDTH_8,                        0}},
1169     {{"_RBW",   WIDTH_8,                        0}},
1170     {{"_RNG",   WIDTH_1,                        0}},
1171     {{"_RT_",   WIDTH_8,                        0}},  /* Acpi 3.0 */
1172     {{"_RW_",   WIDTH_1,                        0}},
1173     {{"_RXL",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1174     {{"_SHR",   WIDTH_2,                        0}},
1175     {{"_SIZ",   WIDTH_2,                        0}},
1176     {{"_SLV",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1177     {{"_SPE",   WIDTH_32,                       0}},  /* Acpi 5.0 */
1178     {{"_STB",   WIDTH_2,                        0}},  /* Acpi 5.0 */
1179     {{"_TRA",   WIDTH_ADDRESS,                  0}},
1180     {{"_TRS",   WIDTH_1,                        0}},
1181     {{"_TSF",   WIDTH_8,                        0}},  /* Acpi 3.0 */
1182     {{"_TTP",   WIDTH_1,                        0}},
1183     {{"_TXL",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1184     {{"_TYP",   WIDTH_2 | WIDTH_16,             0}},
1185     {{"_VEN",   VARIABLE_DATA,                  0}},  /* Acpi 5.0 */
1186     PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */
1187 };
1188 
1189 const ACPI_PREDEFINED_INFO              AcpiGbl_ScopeNames[] = {
1190     {{"_GPE",     0,      0}},
1191     {{"_PR_",     0,      0}},
1192     {{"_SB_",     0,      0}},
1193     {{"_SI_",     0,      0}},
1194     {{"_TZ_",     0,      0}},
1195     PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */
1196 };
1197 #else
1198 extern const ACPI_PREDEFINED_INFO       AcpiGbl_ResourceNames[];
1199 #endif
1200 
1201 #endif
1202