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