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