xref: /haiku/src/add-ons/kernel/bus_managers/acpi/acpica/include/acpredef.h (revision e711e6e42fd7ec3111ba9dc2324fa8efedd6674b)
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 - 2014, 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_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
182  *      defines the format of the package. Zero-length parent package is
183  *      allowed.
184  *      (Used for _DSD)
185  *
186  *****************************************************************************/
187 
188 enum AcpiReturnPackageTypes
189 {
190     ACPI_PTYPE1_FIXED       = 1,
191     ACPI_PTYPE1_VAR         = 2,
192     ACPI_PTYPE1_OPTION      = 3,
193     ACPI_PTYPE2             = 4,
194     ACPI_PTYPE2_COUNT       = 5,
195     ACPI_PTYPE2_PKG_COUNT   = 6,
196     ACPI_PTYPE2_FIXED       = 7,
197     ACPI_PTYPE2_MIN         = 8,
198     ACPI_PTYPE2_REV_FIXED   = 9,
199     ACPI_PTYPE2_FIX_VAR     = 10,
200     ACPI_PTYPE2_UUID_PAIR   = 11
201 };
202 
203 
204 /* Support macros for users of the predefined info table */
205 
206 #define METHOD_PREDEF_ARGS_MAX          4
207 #define METHOD_ARG_BIT_WIDTH            3
208 #define METHOD_ARG_MASK                 0x0007
209 #define ARG_COUNT_IS_MINIMUM            0x8000
210 #define METHOD_MAX_ARG_TYPE             ACPI_TYPE_PACKAGE
211 
212 #define METHOD_GET_ARG_COUNT(ArgList)   ((ArgList) & METHOD_ARG_MASK)
213 #define METHOD_GET_NEXT_TYPE(ArgList)   (((ArgList) >>= METHOD_ARG_BIT_WIDTH) & METHOD_ARG_MASK)
214 
215 /* Macros used to build the predefined info table */
216 
217 #define METHOD_0ARGS                    0
218 #define METHOD_1ARGS(a1)                (1 | (a1 << 3))
219 #define METHOD_2ARGS(a1,a2)             (2 | (a1 << 3) | (a2 << 6))
220 #define METHOD_3ARGS(a1,a2,a3)          (3 | (a1 << 3) | (a2 << 6) | (a3 << 9))
221 #define METHOD_4ARGS(a1,a2,a3,a4)       (4 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12))
222 
223 #define METHOD_RETURNS(type)            (type)
224 #define METHOD_NO_RETURN_VALUE          0
225 
226 #define PACKAGE_INFO(a,b,c,d,e,f)       {{{(a),(b),(c),(d)}, ((((UINT16)(f)) << 8) | (e)), 0}}
227 
228 
229 /* Support macros for the resource descriptor info table */
230 
231 #define WIDTH_1                         0x0001
232 #define WIDTH_2                         0x0002
233 #define WIDTH_3                         0x0004
234 #define WIDTH_8                         0x0008
235 #define WIDTH_16                        0x0010
236 #define WIDTH_32                        0x0020
237 #define WIDTH_64                        0x0040
238 #define VARIABLE_DATA                   0x0080
239 #define NUM_RESOURCE_WIDTHS             8
240 
241 #define WIDTH_ADDRESS                   WIDTH_16 | WIDTH_32 | WIDTH_64
242 
243 
244 #ifdef ACPI_CREATE_PREDEFINED_TABLE
245 /******************************************************************************
246  *
247  * Predefined method/object information table.
248  *
249  * These are the names that can actually be evaluated via AcpiEvaluateObject.
250  * Not present in this table are the following:
251  *
252  *      1) Predefined/Reserved names that are never evaluated via
253  *         AcpiEvaluateObject:
254  *              _Lxx and _Exx GPE methods
255  *              _Qxx EC methods
256  *              _T_x compiler temporary variables
257  *              _Wxx wake events
258  *
259  *      2) Predefined names that never actually exist within the AML code:
260  *              Predefined resource descriptor field names
261  *
262  *      3) Predefined names that are implemented within ACPICA:
263  *              _OSI
264  *
265  * The main entries in the table each contain the following items:
266  *
267  * Name                 - The ACPI reserved name
268  * ArgumentList         - Contains (in 16 bits), the number of required
269  *                        arguments to the method (3 bits), and a 3-bit type
270  *                        field for each argument (up to 4 arguments). The
271  *                        METHOD_?ARGS macros generate the correct packed data.
272  * ExpectedBtypes       - Allowed type(s) for the return value.
273  *                        0 means that no return value is expected.
274  *
275  * For methods that return packages, the next entry in the table contains
276  * information about the expected structure of the package. This information
277  * is saved here (rather than in a separate table) in order to minimize the
278  * overall size of the stored data.
279  *
280  * Note: The additional braces are intended to promote portability.
281  *
282  * Note2: Table is used by the kernel-resident subsystem, the iASL compiler,
283  * and the AcpiHelp utility.
284  *
285  * TBD: _PRT - currently ignore reversed entries. Attempt to fix in nsrepair.
286  * Possibly fixing package elements like _BIF, etc.
287  *
288  *****************************************************************************/
289 
290 const ACPI_PREDEFINED_INFO          AcpiGbl_PredefinedMethods[] =
291 {
292     {{"_AC0",   METHOD_0ARGS,
293                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
294 
295     {{"_AC1",   METHOD_0ARGS,
296                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
297 
298     {{"_AC2",   METHOD_0ARGS,
299                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
300 
301     {{"_AC3",   METHOD_0ARGS,
302                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
303 
304     {{"_AC4",   METHOD_0ARGS,
305                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
306 
307     {{"_AC5",   METHOD_0ARGS,
308                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
309 
310     {{"_AC6",   METHOD_0ARGS,
311                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
312 
313     {{"_AC7",   METHOD_0ARGS,
314                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
315 
316     {{"_AC8",   METHOD_0ARGS,
317                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
318 
319     {{"_AC9",   METHOD_0ARGS,
320                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
321 
322     {{"_ADR",   METHOD_0ARGS,
323                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
324 
325     {{"_AEI",   METHOD_0ARGS,
326                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
327 
328     {{"_AL0",   METHOD_0ARGS,
329                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
330                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
331 
332     {{"_AL1",   METHOD_0ARGS,
333                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
334                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
335 
336     {{"_AL2",   METHOD_0ARGS,
337                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
338                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
339 
340     {{"_AL3",   METHOD_0ARGS,
341                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
342                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
343 
344     {{"_AL4",   METHOD_0ARGS,
345                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
346                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
347 
348     {{"_AL5",   METHOD_0ARGS,
349                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
350                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
351 
352     {{"_AL6",   METHOD_0ARGS,
353                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
354                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
355 
356     {{"_AL7",   METHOD_0ARGS,
357                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
358                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
359 
360     {{"_AL8",   METHOD_0ARGS,
361                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
362                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
363 
364     {{"_AL9",   METHOD_0ARGS,
365                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
366                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
367 
368     {{"_ALC",   METHOD_0ARGS,
369                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
370 
371     {{"_ALI",   METHOD_0ARGS,
372                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
373 
374     {{"_ALP",   METHOD_0ARGS,
375                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
376 
377     {{"_ALR",   METHOD_0ARGS,
378                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 (Ints) */
379                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2,0,0,0),
380 
381     {{"_ALT",   METHOD_0ARGS,
382                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
383 
384     {{"_ART",   METHOD_0ARGS,
385                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */
386                     PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 11,0),
387 
388     {{"_BBN",   METHOD_0ARGS,
389                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
390 
391     {{"_BCL",   METHOD_0ARGS,
392                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
393                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),
394 
395     {{"_BCM",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
396                 METHOD_NO_RETURN_VALUE}},
397 
398     {{"_BCT",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
399                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
400 
401     {{"_BDN",   METHOD_0ARGS,
402                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
403 
404     {{"_BFS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
405                 METHOD_NO_RETURN_VALUE}},
406 
407     {{"_BIF",   METHOD_0ARGS,
408                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (9 Int),(4 Str) */
409                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING, 4,0),
410 
411     {{"_BIX",   METHOD_0ARGS,
412                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int),(4 Str) */
413                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4,0),
414 
415     {{"_BLT",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
416                 METHOD_NO_RETURN_VALUE}},
417 
418     {{"_BMA",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
419                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
420 
421     {{"_BMC",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
422                 METHOD_NO_RETURN_VALUE}},
423 
424     {{"_BMD",   METHOD_0ARGS,
425                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */
426                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0),
427 
428     {{"_BMS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
429                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
430 
431     {{"_BQC",   METHOD_0ARGS,
432                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
433 
434     {{"_BST",   METHOD_0ARGS,
435                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
436                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
437 
438     {{"_BTM",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
439                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
440 
441     {{"_BTP",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
442                 METHOD_NO_RETURN_VALUE}},
443 
444     {{"_CBA",   METHOD_0ARGS,
445                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See PCI firmware spec 3.0 */
446 
447     {{"_CCA",   METHOD_0ARGS,
448                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 5.1 */
449 
450     {{"_CDM",   METHOD_0ARGS,
451                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
452 
453     {{"_CID",   METHOD_0ARGS,
454                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Strs) */
455                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,0,0,0),
456 
457     {{"_CLS",   METHOD_0ARGS,
458                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
459                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),
460 
461     {{"_CPC",   METHOD_0ARGS,
462                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Bufs) */
463                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,0,0,0),
464 
465     {{"_CRS",   METHOD_0ARGS,
466                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
467 
468     {{"_CRT",   METHOD_0ARGS,
469                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
470 
471     {{"_CSD",   METHOD_0ARGS,
472                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n-1 Int) */
473                     PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0),
474 
475     {{"_CST",   METHOD_0ARGS,
476                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */
477                     PACKAGE_INFO (ACPI_PTYPE2_PKG_COUNT,ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER, 3,0),
478 
479     {{"_CWS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
480                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
481 
482     {{"_DCK",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
483                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
484 
485     {{"_DCS",   METHOD_0ARGS,
486                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
487 
488     {{"_DDC",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
489                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER)}},
490 
491     {{"_DDN",   METHOD_0ARGS,
492                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
493 
494     {{"_DEP",   METHOD_0ARGS,
495                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
496                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
497 
498     {{"_DGS",   METHOD_0ARGS,
499                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
500 
501     {{"_DIS",   METHOD_0ARGS,
502                 METHOD_NO_RETURN_VALUE}},
503 
504     {{"_DLM",   METHOD_0ARGS,
505                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Ref, 0/1 Optional Buf/Ref) */
506                     PACKAGE_INFO (ACPI_PTYPE2_FIX_VAR, ACPI_RTYPE_REFERENCE, 1, ACPI_RTYPE_REFERENCE | ACPI_RTYPE_BUFFER, 0,0),
507 
508     {{"_DMA",   METHOD_0ARGS,
509                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
510 
511     {{"_DOD",   METHOD_0ARGS,
512                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
513                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),
514 
515     {{"_DOS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
516                 METHOD_NO_RETURN_VALUE}},
517 
518     {{"_DSD",   METHOD_0ARGS,
519                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
520                     PACKAGE_INFO (ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_PACKAGE, 1,0),
521 
522     {{"_DSM",   METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_PACKAGE),
523                 METHOD_RETURNS (ACPI_RTYPE_ALL)}}, /* Must return a value, but it can be of any type */
524 
525     {{"_DSS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
526                 METHOD_NO_RETURN_VALUE}},
527 
528     {{"_DSW",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
529                 METHOD_NO_RETURN_VALUE}},
530 
531     {{"_DTI",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
532                 METHOD_NO_RETURN_VALUE}},
533 
534     {{"_EC_",   METHOD_0ARGS,
535                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
536 
537     {{"_EDL",   METHOD_0ARGS,
538                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs)*/
539                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
540 
541     {{"_EJ0",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
542                 METHOD_NO_RETURN_VALUE}},
543 
544     {{"_EJ1",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
545                 METHOD_NO_RETURN_VALUE}},
546 
547     {{"_EJ2",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
548                 METHOD_NO_RETURN_VALUE}},
549 
550     {{"_EJ3",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
551                 METHOD_NO_RETURN_VALUE}},
552 
553     {{"_EJ4",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
554                 METHOD_NO_RETURN_VALUE}},
555 
556     {{"_EJD",   METHOD_0ARGS,
557                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
558 
559     {{"_ERR",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER),
560                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* Internal use only, used by ACPICA test suites */
561 
562     {{"_EVT",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
563                 METHOD_NO_RETURN_VALUE}},
564 
565     {{"_FDE",   METHOD_0ARGS,
566                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
567 
568     {{"_FDI",   METHOD_0ARGS,
569                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int) */
570                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16,0,0,0),
571 
572     {{"_FDM",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
573                 METHOD_NO_RETURN_VALUE}},
574 
575     {{"_FIF",   METHOD_0ARGS,
576                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
577                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
578 
579     {{"_FIX",   METHOD_0ARGS,
580                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
581                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),
582 
583     {{"_FPS",   METHOD_0ARGS,
584                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */
585                     PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED,ACPI_RTYPE_INTEGER, 5, 0,0,0),
586 
587     {{"_FSL",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
588                 METHOD_NO_RETURN_VALUE}},
589 
590     {{"_FST",   METHOD_0ARGS,
591                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
592                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),
593 
594     {{"_GAI",   METHOD_0ARGS,
595                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
596 
597     {{"_GCP",   METHOD_0ARGS,
598                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
599 
600     {{"_GHL",   METHOD_0ARGS,
601                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
602 
603     {{"_GLK",   METHOD_0ARGS,
604                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
605 
606     {{"_GPD",   METHOD_0ARGS,
607                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
608 
609     {{"_GPE",   METHOD_0ARGS,
610                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* _GPE method, not _GPE scope */
611 
612     {{"_GRT",   METHOD_0ARGS,
613                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
614 
615     {{"_GSB",   METHOD_0ARGS,
616                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
617 
618     {{"_GTF",   METHOD_0ARGS,
619                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
620 
621     {{"_GTM",   METHOD_0ARGS,
622                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
623 
624     {{"_GTS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
625                 METHOD_NO_RETURN_VALUE}},
626 
627     {{"_GWS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
628                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
629 
630     {{"_HID",   METHOD_0ARGS,
631                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
632 
633     {{"_HOT",   METHOD_0ARGS,
634                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
635 
636     {{"_HPP",   METHOD_0ARGS,
637                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
638                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
639 
640     /*
641      * For _HPX, a single package is returned, containing a variable-length number
642      * of subpackages. Each subpackage contains a PCI record setting.
643      * There are several different type of record settings, of different
644      * lengths, but all elements of all settings are Integers.
645      */
646     {{"_HPX",   METHOD_0ARGS,
647                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (var Ints) */
648                     PACKAGE_INFO (ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5,0,0,0),
649 
650     {{"_HRV",   METHOD_0ARGS,
651                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
652 
653     {{"_IFT",   METHOD_0ARGS,
654                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
655 
656     {{"_INI",   METHOD_0ARGS,
657                 METHOD_NO_RETURN_VALUE}},
658 
659     {{"_IRC",   METHOD_0ARGS,
660                 METHOD_NO_RETURN_VALUE}},
661 
662     {{"_LCK",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
663                 METHOD_NO_RETURN_VALUE}},
664 
665     {{"_LID",   METHOD_0ARGS,
666                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
667 
668     {{"_LPD",   METHOD_0ARGS,
669                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Int) */
670                     PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0),
671 
672     {{"_MAT",   METHOD_0ARGS,
673                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
674 
675     {{"_MBM",   METHOD_0ARGS,
676                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (8 Int) */
677                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8,0,0,0),
678 
679     {{"_MLS",   METHOD_0ARGS,
680                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Str/1 Buf) */
681                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1,0),
682 
683     {{"_MSG",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
684                 METHOD_NO_RETURN_VALUE}},
685 
686     {{"_MSM",   METHOD_4ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
687                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
688 
689     {{"_NTT",   METHOD_0ARGS,
690                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
691 
692     {{"_OFF",   METHOD_0ARGS,
693                 METHOD_NO_RETURN_VALUE}},
694 
695     {{"_ON_",   METHOD_0ARGS,
696                 METHOD_NO_RETURN_VALUE}},
697 
698     {{"_OS_",   METHOD_0ARGS,
699                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
700 
701     {{"_OSC",   METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
702                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
703 
704     {{"_OST",   METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
705                 METHOD_NO_RETURN_VALUE}},
706 
707     {{"_PAI",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
708                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
709 
710     {{"_PCL",   METHOD_0ARGS,
711                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
712                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
713 
714     {{"_PCT",   METHOD_0ARGS,
715                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
716                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0),
717 
718     {{"_PDC",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
719                 METHOD_NO_RETURN_VALUE}},
720 
721     {{"_PDL",   METHOD_0ARGS,
722                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
723 
724     {{"_PIC",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
725                 METHOD_NO_RETURN_VALUE}},
726 
727     {{"_PIF",   METHOD_0ARGS,
728                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int),(3 Str) */
729                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_STRING, 3,0),
730 
731     {{"_PLD",   METHOD_0ARGS,
732                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Bufs) */
733                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0,0,0,0),
734 
735     {{"_PMC",   METHOD_0ARGS,
736                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (11 Int),(3 Str) */
737                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11, ACPI_RTYPE_STRING, 3,0),
738 
739     {{"_PMD",   METHOD_0ARGS,
740                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
741                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
742 
743     {{"_PMM",   METHOD_0ARGS,
744                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
745 
746     {{"_PPC",   METHOD_0ARGS,
747                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
748 
749     {{"_PPE",   METHOD_0ARGS,
750                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See dig64 spec */
751 
752     {{"_PR0",   METHOD_0ARGS,
753                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
754                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
755 
756     {{"_PR1",   METHOD_0ARGS,
757                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
758                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
759 
760     {{"_PR2",   METHOD_0ARGS,
761                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
762                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
763 
764     {{"_PR3",   METHOD_0ARGS,
765                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
766                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
767 
768     {{"_PRE",   METHOD_0ARGS,
769                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
770                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
771 
772     {{"_PRL",   METHOD_0ARGS,
773                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
774                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
775 
776     {{"_PRS",   METHOD_0ARGS,
777                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
778 
779     /*
780      * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source
781      * and SourceIndex). This bug is so prevalent that there is code in the
782      * ACPICA Resource Manager to detect this and switch them back. For now,
783      * do not allow and issue a warning. To allow this and eliminate the
784      * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3)
785      * in the statement below.
786      */
787     {{"_PRT",   METHOD_0ARGS,
788                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */
789                     PACKAGE_INFO (ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER, ACPI_RTYPE_INTEGER,
790                                   ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE, ACPI_RTYPE_INTEGER),
791 
792     {{"_PRW",   METHOD_0ARGS,
793                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */
794                     PACKAGE_INFO (ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE,
795                                   ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0),
796 
797     {{"_PS0",   METHOD_0ARGS,
798                 METHOD_NO_RETURN_VALUE}},
799 
800     {{"_PS1",   METHOD_0ARGS,
801                 METHOD_NO_RETURN_VALUE}},
802 
803     {{"_PS2",   METHOD_0ARGS,
804                 METHOD_NO_RETURN_VALUE}},
805 
806     {{"_PS3",   METHOD_0ARGS,
807                 METHOD_NO_RETURN_VALUE}},
808 
809     {{"_PSC",   METHOD_0ARGS,
810                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
811 
812     {{"_PSD",   METHOD_0ARGS,
813                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (5 Int) with count */
814                     PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0),
815 
816     {{"_PSE",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
817                 METHOD_NO_RETURN_VALUE}},
818 
819     {{"_PSL",   METHOD_0ARGS,
820                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
821                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
822 
823     {{"_PSR",   METHOD_0ARGS,
824                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
825 
826     {{"_PSS",   METHOD_0ARGS,
827                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (6 Int) */
828                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6,0,0,0),
829 
830     {{"_PSV",   METHOD_0ARGS,
831                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
832 
833     {{"_PSW",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
834                 METHOD_NO_RETURN_VALUE}},
835 
836     {{"_PTC",   METHOD_0ARGS,
837                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
838                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0),
839 
840     {{"_PTP",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
841                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
842 
843     {{"_PTS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
844                 METHOD_NO_RETURN_VALUE}},
845 
846     {{"_PUR",   METHOD_0ARGS,
847                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */
848                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0),
849 
850     {{"_PXM",   METHOD_0ARGS,
851                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
852 
853     {{"_REG",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
854                 METHOD_NO_RETURN_VALUE}},
855 
856     {{"_REV",   METHOD_0ARGS,
857                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
858 
859     {{"_RMV",   METHOD_0ARGS,
860                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
861 
862     {{"_ROM",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
863                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
864 
865     {{"_RTV",   METHOD_0ARGS,
866                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
867 
868     /*
869      * For _S0_ through _S5_, the ACPI spec defines a return Package
870      * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers.
871      * Allow this by making the objects "Variable-length length", but all elements
872      * must be Integers.
873      */
874     {{"_S0_",   METHOD_0ARGS,
875                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
876                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
877 
878     {{"_S1_",   METHOD_0ARGS,
879                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
880                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
881 
882     {{"_S2_",   METHOD_0ARGS,
883                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
884                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
885 
886     {{"_S3_",   METHOD_0ARGS,
887                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
888                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
889 
890     {{"_S4_",   METHOD_0ARGS,
891                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
892                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
893 
894     {{"_S5_",   METHOD_0ARGS,
895                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
896                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),
897 
898     {{"_S1D",   METHOD_0ARGS,
899                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
900 
901     {{"_S2D",   METHOD_0ARGS,
902                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
903 
904     {{"_S3D",   METHOD_0ARGS,
905                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
906 
907     {{"_S4D",   METHOD_0ARGS,
908                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
909 
910     {{"_S0W",   METHOD_0ARGS,
911                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
912 
913     {{"_S1W",   METHOD_0ARGS,
914                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
915 
916     {{"_S2W",   METHOD_0ARGS,
917                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
918 
919     {{"_S3W",   METHOD_0ARGS,
920                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
921 
922     {{"_S4W",   METHOD_0ARGS,
923                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
924 
925     {{"_SBS",   METHOD_0ARGS,
926                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
927 
928     {{"_SCP",   METHOD_1ARGS (ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM,
929                 METHOD_NO_RETURN_VALUE}},   /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */
930 
931     {{"_SDD",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
932                 METHOD_NO_RETURN_VALUE}},
933 
934     {{"_SEG",   METHOD_0ARGS,
935                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
936 
937     {{"_SHL",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
938                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
939 
940     {{"_SLI",   METHOD_0ARGS,
941                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
942 
943     {{"_SPD",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
944                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
945 
946     {{"_SRS",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
947                 METHOD_NO_RETURN_VALUE}},
948 
949     {{"_SRT",   METHOD_1ARGS (ACPI_TYPE_BUFFER),
950                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
951 
952     {{"_SRV",   METHOD_0ARGS,
953                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
954 
955     {{"_SST",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
956                 METHOD_NO_RETURN_VALUE}},
957 
958     {{"_STA",   METHOD_0ARGS,
959                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
960 
961     {{"_STM",   METHOD_3ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER),
962                 METHOD_NO_RETURN_VALUE}},
963 
964     {{"_STP",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
965                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
966 
967     {{"_STR",   METHOD_0ARGS,
968                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
969 
970     {{"_STV",   METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
971                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
972 
973     {{"_SUB",   METHOD_0ARGS,
974                 METHOD_RETURNS (ACPI_RTYPE_STRING)}},
975 
976     {{"_SUN",   METHOD_0ARGS,
977                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
978 
979     {{"_SWS",   METHOD_0ARGS,
980                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
981 
982     {{"_TC1",   METHOD_0ARGS,
983                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
984 
985     {{"_TC2",   METHOD_0ARGS,
986                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
987 
988     {{"_TDL",   METHOD_0ARGS,
989                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
990 
991     {{"_TIP",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
992                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
993 
994     {{"_TIV",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
995                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
996 
997     {{"_TMP",   METHOD_0ARGS,
998                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
999 
1000     {{"_TPC",   METHOD_0ARGS,
1001                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1002 
1003     {{"_TPT",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1004                 METHOD_NO_RETURN_VALUE}},
1005 
1006     {{"_TRT",   METHOD_0ARGS,
1007                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */
1008                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 6, 0),
1009 
1010     {{"_TSD",   METHOD_0ARGS,
1011                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int with count */
1012                     PACKAGE_INFO (ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0,0,0),
1013 
1014     {{"_TSP",   METHOD_0ARGS,
1015                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1016 
1017     {{"_TSS",   METHOD_0ARGS,
1018                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int */
1019                     PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0,0,0),
1020 
1021     {{"_TST",   METHOD_0ARGS,
1022                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1023 
1024     {{"_TTS",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1025                 METHOD_NO_RETURN_VALUE}},
1026 
1027     {{"_TZD",   METHOD_0ARGS,
1028                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
1029                     PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),
1030 
1031     {{"_TZM",   METHOD_0ARGS,
1032                 METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}},
1033 
1034     {{"_TZP",   METHOD_0ARGS,
1035                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1036 
1037     {{"_UID",   METHOD_0ARGS,
1038                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
1039 
1040     {{"_UPC",   METHOD_0ARGS,
1041                 METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
1042                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),
1043 
1044     {{"_UPD",   METHOD_0ARGS,
1045                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1046 
1047     {{"_UPP",   METHOD_0ARGS,
1048                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1049 
1050     {{"_VPO",   METHOD_0ARGS,
1051                 METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
1052 
1053     /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */
1054 
1055     {{"_WAK",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1056                 METHOD_RETURNS (ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE)}},
1057                     PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0), /* Fixed-length (2 Int), but is optional */
1058 
1059     /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */
1060 
1061     {{"_WDG",   METHOD_0ARGS,
1062                 METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},
1063 
1064     {{"_WED",   METHOD_1ARGS (ACPI_TYPE_INTEGER),
1065                 METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER)}},
1066 
1067     PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */
1068 };
1069 #else
1070 extern const ACPI_PREDEFINED_INFO       AcpiGbl_PredefinedMethods[];
1071 #endif
1072 
1073 
1074 #if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION)
1075 /******************************************************************************
1076  *
1077  * Predefined names for use in Resource Descriptors. These names do not
1078  * appear in the global Predefined Name table (since these names never
1079  * appear in actual AML byte code, only in the original ASL)
1080  *
1081  * Note: Used by iASL compiler and AcpiHelp utility only.
1082  *
1083  *****************************************************************************/
1084 
1085 const ACPI_PREDEFINED_INFO      AcpiGbl_ResourceNames[] =
1086 {
1087     {{"_ADR",   WIDTH_16 | WIDTH_64,            0}},
1088     {{"_ALN",   WIDTH_8 | WIDTH_16 | WIDTH_32,  0}},
1089     {{"_ASI",   WIDTH_8,                        0}},
1090     {{"_ASZ",   WIDTH_8,                        0}},
1091     {{"_ATT",   WIDTH_64,                       0}},
1092     {{"_BAS",   WIDTH_16 | WIDTH_32,            0}},
1093     {{"_BM_",   WIDTH_1,                        0}},
1094     {{"_DBT",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1095     {{"_DEC",   WIDTH_1,                        0}},
1096     {{"_DMA",   WIDTH_8,                        0}},
1097     {{"_DPL",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1098     {{"_DRS",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1099     {{"_END",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1100     {{"_FLC",   WIDTH_2,                        0}},  /* Acpi 5.0 */
1101     {{"_GRA",   WIDTH_ADDRESS,                  0}},
1102     {{"_HE_",   WIDTH_1,                        0}},
1103     {{"_INT",   WIDTH_16 | WIDTH_32,            0}},
1104     {{"_IOR",   WIDTH_2,                        0}},  /* Acpi 5.0 */
1105     {{"_LEN",   WIDTH_8 | WIDTH_ADDRESS,        0}},
1106     {{"_LIN",   WIDTH_8,                        0}},  /* Acpi 5.0 */
1107     {{"_LL_",   WIDTH_1,                        0}},
1108     {{"_MAF",   WIDTH_1,                        0}},
1109     {{"_MAX",   WIDTH_ADDRESS,                  0}},
1110     {{"_MEM",   WIDTH_2,                        0}},
1111     {{"_MIF",   WIDTH_1,                        0}},
1112     {{"_MIN",   WIDTH_ADDRESS,                  0}},
1113     {{"_MOD",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1114     {{"_MTP",   WIDTH_2,                        0}},
1115     {{"_PAR",   WIDTH_8,                        0}},  /* Acpi 5.0 */
1116     {{"_PHA",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1117     {{"_PIN",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1118     {{"_PPI",   WIDTH_8,                        0}},  /* Acpi 5.0 */
1119     {{"_POL",   WIDTH_1 | WIDTH_2,              0}},  /* Acpi 5.0 */
1120     {{"_RBO",   WIDTH_8,                        0}},
1121     {{"_RBW",   WIDTH_8,                        0}},
1122     {{"_RNG",   WIDTH_1,                        0}},
1123     {{"_RT_",   WIDTH_8,                        0}},  /* Acpi 3.0 */
1124     {{"_RW_",   WIDTH_1,                        0}},
1125     {{"_RXL",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1126     {{"_SHR",   WIDTH_2,                        0}},
1127     {{"_SIZ",   WIDTH_2,                        0}},
1128     {{"_SLV",   WIDTH_1,                        0}},  /* Acpi 5.0 */
1129     {{"_SPE",   WIDTH_32,                       0}},  /* Acpi 5.0 */
1130     {{"_STB",   WIDTH_2,                        0}},  /* Acpi 5.0 */
1131     {{"_TRA",   WIDTH_ADDRESS,                  0}},
1132     {{"_TRS",   WIDTH_1,                        0}},
1133     {{"_TSF",   WIDTH_8,                        0}},  /* Acpi 3.0 */
1134     {{"_TTP",   WIDTH_1,                        0}},
1135     {{"_TXL",   WIDTH_16,                       0}},  /* Acpi 5.0 */
1136     {{"_TYP",   WIDTH_2 | WIDTH_16,             0}},
1137     {{"_VEN",   VARIABLE_DATA,                  0}},  /* Acpi 5.0 */
1138     PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */
1139 };
1140 
1141 static const ACPI_PREDEFINED_INFO      AcpiGbl_ScopeNames[] = {
1142     {{"_GPE",     0,      0}},
1143     {{"_PR_",     0,      0}},
1144     {{"_SB_",     0,      0}},
1145     {{"_SI_",     0,      0}},
1146     {{"_TZ_",     0,      0}},
1147     PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */
1148 };
1149 #else
1150 extern const ACPI_PREDEFINED_INFO      AcpiGbl_ResourceNames[];
1151 #endif
1152 
1153 #endif
1154