xref: /openbmc/linux/drivers/acpi/acpica/acpredef.h (revision 61bf3293)
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 - 2020, 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 	{{"_NBS", METHOD_0ARGS,	/* ACPI 6.3 */
635 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
636 
637 	{{"_NCH", METHOD_0ARGS,	/* ACPI 6.3 */
638 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
639 
640 	{{"_NIC", METHOD_0ARGS,	/* ACPI 6.3 */
641 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
642 
643 	{{"_NIG", METHOD_0ARGS, /* ACPI 6.3 */
644 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
645 
646 	{{"_NIH", METHOD_1ARGS(ACPI_TYPE_BUFFER), /* ACPI 6.3 */
647 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
648 
649 	{{"_NTT", METHOD_0ARGS,
650 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
651 
652 	{{"_OFF", METHOD_0ARGS,
653 	  METHOD_NO_RETURN_VALUE}},
654 
655 	{{"_ON_", METHOD_0ARGS,
656 	  METHOD_NO_RETURN_VALUE}},
657 
658 	{{"_OS_", METHOD_0ARGS,
659 	  METHOD_RETURNS(ACPI_RTYPE_STRING)}},
660 
661 	{{"_OSC",
662 	  METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
663 		       ACPI_TYPE_BUFFER),
664 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
665 
666 	{{"_OST",
667 	  METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
668 	  METHOD_NO_RETURN_VALUE}},
669 
670 	{{"_PAI", METHOD_1ARGS(ACPI_TYPE_INTEGER),
671 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
672 
673 	{{"_PCL", METHOD_0ARGS,
674 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
675 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
676 
677 	{{"_PCT", METHOD_0ARGS,
678 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (2 Buf) */
679 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0),
680 
681 	{{"_PDC", METHOD_1ARGS(ACPI_TYPE_BUFFER),
682 	  METHOD_NO_RETURN_VALUE}},
683 
684 	{{"_PDL", METHOD_0ARGS,
685 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
686 
687 	{{"_PIC", METHOD_1ARGS(ACPI_TYPE_INTEGER),
688 	  METHOD_NO_RETURN_VALUE}},
689 
690 	{{"_PIF", METHOD_0ARGS,
691 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (3 Int),(3 Str) */
692 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,
693 		     ACPI_RTYPE_STRING, 3, 0),
694 
695 	{{"_PLD", METHOD_0ARGS,
696 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Bufs) */
697 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0, 0, 0, 0),
698 
699 	{{"_PMC", METHOD_0ARGS,
700 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (11 Int),(3 Str) */
701 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11,
702 		     ACPI_RTYPE_STRING, 3, 0),
703 
704 	{{"_PMD", METHOD_0ARGS,
705 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
706 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
707 
708 	{{"_PMM", METHOD_0ARGS,
709 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
710 
711 	{{"_PPC", METHOD_0ARGS,
712 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
713 
714 	{{"_PPE", METHOD_0ARGS,
715 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},	/* See dig64 spec */
716 
717 	{{"_PR0", METHOD_0ARGS,
718 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
719 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
720 
721 	{{"_PR1", METHOD_0ARGS,
722 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
723 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
724 
725 	{{"_PR2", METHOD_0ARGS,
726 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
727 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
728 
729 	{{"_PR3", METHOD_0ARGS,
730 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
731 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
732 
733 	{{"_PRE", METHOD_0ARGS,
734 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
735 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
736 
737 	{{"_PRL", METHOD_0ARGS,
738 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
739 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
740 
741 	{{"_PRR", METHOD_0ARGS,	/* ACPI 6.0 */
742 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Ref) */
743 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1, 0, 0, 0),
744 
745 	{{"_PRS", METHOD_0ARGS,
746 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
747 
748 	/*
749 	 * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source
750 	 * and source_index). This bug is so prevalent that there is code in the
751 	 * ACPICA Resource Manager to detect this and switch them back. For now,
752 	 * do not allow and issue a warning. To allow this and eliminate the
753 	 * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3)
754 	 * in the statement below.
755 	 */
756 	{{"_PRT", METHOD_0ARGS,
757 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */
758 	PACKAGE_INFO(ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER,
759 		     ACPI_RTYPE_INTEGER,
760 		     ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE,
761 		     ACPI_RTYPE_INTEGER),
762 
763 	{{"_PRW", METHOD_0ARGS,
764 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */
765 	PACKAGE_INFO(ACPI_PTYPE1_OPTION, 2,
766 		     ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE,
767 		     ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0),
768 
769 	{{"_PS0", METHOD_0ARGS,
770 	  METHOD_NO_RETURN_VALUE}},
771 
772 	{{"_PS1", METHOD_0ARGS,
773 	  METHOD_NO_RETURN_VALUE}},
774 
775 	{{"_PS2", METHOD_0ARGS,
776 	  METHOD_NO_RETURN_VALUE}},
777 
778 	{{"_PS3", METHOD_0ARGS,
779 	  METHOD_NO_RETURN_VALUE}},
780 
781 	{{"_PSC", METHOD_0ARGS,
782 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
783 
784 	{{"_PSD", METHOD_0ARGS,
785 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each (5 Int) with count */
786 	PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
787 
788 	{{"_PSE", METHOD_1ARGS(ACPI_TYPE_INTEGER),
789 	  METHOD_NO_RETURN_VALUE}},
790 
791 	{{"_PSL", METHOD_0ARGS,
792 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
793 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
794 
795 	{{"_PSR", METHOD_0ARGS,
796 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
797 
798 	{{"_PSS", METHOD_0ARGS,
799 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each (6 Int) */
800 	PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6, 0, 0, 0),
801 
802 	{{"_PSV", METHOD_0ARGS,
803 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
804 
805 	{{"_PSW", METHOD_1ARGS(ACPI_TYPE_INTEGER),
806 	  METHOD_NO_RETURN_VALUE}},
807 
808 	{{"_PTC", METHOD_0ARGS,
809 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (2 Buf) */
810 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0),
811 
812 	{{"_PTP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
813 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
814 
815 	{{"_PTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
816 	  METHOD_NO_RETURN_VALUE}},
817 
818 	{{"_PUR", METHOD_0ARGS,
819 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (2 Int) */
820 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
821 
822 	{{"_PXM", METHOD_0ARGS,
823 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
824 
825 	{{"_RDI", METHOD_0ARGS,	/* ACPI 6.0 */
826 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (1 Int, n Pkg (m Ref)) */
827 	PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,
828 		     ACPI_RTYPE_REFERENCE, 0, 0),
829 
830 	{{"_REG", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
831 	  METHOD_NO_RETURN_VALUE}},
832 
833 	{{"_REV", METHOD_0ARGS,
834 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
835 
836 	{{"_RMV", METHOD_0ARGS,
837 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
838 
839 	{{"_ROM", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
840 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
841 
842 	{{"_RST", METHOD_0ARGS,	/* ACPI 6.0 */
843 	  METHOD_NO_RETURN_VALUE}},
844 
845 	{{"_RTV", METHOD_0ARGS,
846 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
847 
848 	/*
849 	 * For _S0_ through _S5_, the ACPI spec defines a return Package
850 	 * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers.
851 	 * Allow this by making the objects "Variable-length length", but all elements
852 	 * must be Integers.
853 	 */
854 	{{"_S0_", METHOD_0ARGS,
855 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Int) */
856 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
857 
858 	{{"_S1_", METHOD_0ARGS,
859 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Int) */
860 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
861 
862 	{{"_S2_", METHOD_0ARGS,
863 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Int) */
864 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
865 
866 	{{"_S3_", METHOD_0ARGS,
867 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Int) */
868 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
869 
870 	{{"_S4_", METHOD_0ARGS,
871 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Int) */
872 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
873 
874 	{{"_S5_", METHOD_0ARGS,
875 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (1 Int) */
876 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
877 
878 	{{"_S1D", METHOD_0ARGS,
879 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
880 
881 	{{"_S2D", METHOD_0ARGS,
882 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
883 
884 	{{"_S3D", METHOD_0ARGS,
885 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
886 
887 	{{"_S4D", METHOD_0ARGS,
888 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
889 
890 	{{"_S0W", METHOD_0ARGS,
891 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
892 
893 	{{"_S1W", METHOD_0ARGS,
894 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
895 
896 	{{"_S2W", METHOD_0ARGS,
897 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
898 
899 	{{"_S3W", METHOD_0ARGS,
900 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
901 
902 	{{"_S4W", METHOD_0ARGS,
903 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
904 
905 	{{"_SBS", METHOD_0ARGS,
906 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
907 
908 	{{"_SCP", METHOD_1ARGS(ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM,
909 	  METHOD_NO_RETURN_VALUE}},	/* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */
910 
911 	{{"_SDD", METHOD_1ARGS(ACPI_TYPE_BUFFER),
912 	  METHOD_NO_RETURN_VALUE}},
913 
914 	{{"_SEG", METHOD_0ARGS,
915 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
916 
917 	{{"_SHL", METHOD_1ARGS(ACPI_TYPE_INTEGER),
918 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
919 
920 	{{"_SLI", METHOD_0ARGS,
921 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
922 
923 	{{"_SPD", METHOD_1ARGS(ACPI_TYPE_INTEGER),
924 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
925 
926 	{{"_SRS", METHOD_1ARGS(ACPI_TYPE_BUFFER),
927 	  METHOD_NO_RETURN_VALUE}},
928 
929 	{{"_SRT", METHOD_1ARGS(ACPI_TYPE_BUFFER),
930 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
931 
932 	{{"_SRV", METHOD_0ARGS,
933 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},	/* See IPMI spec */
934 
935 	{{"_SST", METHOD_1ARGS(ACPI_TYPE_INTEGER),
936 	  METHOD_NO_RETURN_VALUE}},
937 
938 	{{"_STA", METHOD_0ARGS,
939 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
940 
941 	{{"_STM",
942 	  METHOD_3ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER),
943 	  METHOD_NO_RETURN_VALUE}},
944 
945 	{{"_STP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
946 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
947 
948 	{{"_STR", METHOD_0ARGS,
949 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
950 
951 	{{"_STV", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
952 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
953 
954 	{{"_SUB", METHOD_0ARGS,
955 	  METHOD_RETURNS(ACPI_RTYPE_STRING)}},
956 
957 	{{"_SUN", METHOD_0ARGS,
958 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
959 
960 	{{"_SWS", METHOD_0ARGS,
961 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
962 
963 	{{"_TC1", METHOD_0ARGS,
964 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
965 
966 	{{"_TC2", METHOD_0ARGS,
967 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
968 
969 	{{"_TDL", METHOD_0ARGS,
970 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
971 
972 	{{"_TFP", METHOD_0ARGS,	/* ACPI 6.0 */
973 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
974 
975 	{{"_TIP", METHOD_1ARGS(ACPI_TYPE_INTEGER),
976 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
977 
978 	{{"_TIV", METHOD_1ARGS(ACPI_TYPE_INTEGER),
979 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
980 
981 	{{"_TMP", METHOD_0ARGS,
982 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
983 
984 	{{"_TPC", METHOD_0ARGS,
985 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
986 
987 	{{"_TPT", METHOD_1ARGS(ACPI_TYPE_INTEGER),
988 	  METHOD_NO_RETURN_VALUE}},
989 
990 	{{"_TRT", METHOD_0ARGS,
991 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each 2 Ref/6 Int */
992 	PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER,
993 		     6, 0),
994 
995 	{{"_TSD", METHOD_0ARGS,
996 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each 5 Int with count */
997 	PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
998 
999 	{{"_TSN", METHOD_0ARGS,	/* ACPI 6.0 */
1000 	  METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
1001 
1002 	{{"_TSP", METHOD_0ARGS,
1003 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1004 
1005 	{{"_TSS", METHOD_0ARGS,
1006 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Pkgs) each 5 Int */
1007 	PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
1008 
1009 	{{"_TST", METHOD_0ARGS,
1010 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1011 
1012 	{{"_TTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1013 	  METHOD_NO_RETURN_VALUE}},
1014 
1015 	{{"_TZD", METHOD_0ARGS,
1016 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Refs) */
1017 	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
1018 
1019 	{{"_TZM", METHOD_0ARGS,
1020 	  METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
1021 
1022 	{{"_TZP", METHOD_0ARGS,
1023 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1024 
1025 	{{"_UID", METHOD_0ARGS,
1026 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
1027 
1028 	{{"_UPC", METHOD_0ARGS,
1029 	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (4 Int) */
1030 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
1031 
1032 	{{"_UPD", METHOD_0ARGS,
1033 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1034 
1035 	{{"_UPP", METHOD_0ARGS,
1036 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1037 
1038 	{{"_VPO", METHOD_0ARGS,
1039 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1040 
1041 	/* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */
1042 
1043 	{{"_WAK", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1044 	  METHOD_RETURNS(ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER |
1045 			 ACPI_RTYPE_PACKAGE)}},
1046 	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),	/* Fixed-length (2 Int), but is optional */
1047 
1048 	/* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */
1049 
1050 	{{"_WDG", METHOD_0ARGS,
1051 	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
1052 
1053 	{{"_WED", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1054 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING |
1055 			 ACPI_RTYPE_BUFFER)}},
1056 
1057 	{{"_WPC", METHOD_0ARGS,
1058 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},	/* ACPI 6.1 */
1059 
1060 	{{"_WPP", METHOD_0ARGS,
1061 	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},	/* ACPI 6.1 */
1062 
1063 	PACKAGE_INFO(0, 0, 0, 0, 0, 0)	/* Table terminator */
1064 };
1065 #else
1066 extern const union acpi_predefined_info acpi_gbl_predefined_methods[];
1067 #endif
1068 
1069 #if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION)
1070 /******************************************************************************
1071  *
1072  * Predefined names for use in Resource Descriptors. These names do not
1073  * appear in the global Predefined Name table (since these names never
1074  * appear in actual AML byte code, only in the original ASL)
1075  *
1076  * Note: Used by iASL compiler and acpi_help utility only.
1077  *
1078  *****************************************************************************/
1079 
1080 const union acpi_predefined_info acpi_gbl_resource_names[] = {
1081 	{{"_ADR", WIDTH_16 | WIDTH_64, 0}},
1082 	{{"_ALN", WIDTH_8 | WIDTH_16 | WIDTH_32, 0}},
1083 	{{"_ASI", WIDTH_8, 0}},
1084 	{{"_ASZ", WIDTH_8, 0}},
1085 	{{"_ATT", WIDTH_64, 0}},
1086 	{{"_BAS", WIDTH_16 | WIDTH_32, 0}},
1087 	{{"_BM_", WIDTH_1, 0}},
1088 	{{"_DBT", WIDTH_16, 0}},	/* Acpi 5.0 */
1089 	{{"_DEC", WIDTH_1, 0}},
1090 	{{"_DMA", WIDTH_8, 0}},
1091 	{{"_DPL", WIDTH_1, 0}},	/* Acpi 5.0 */
1092 	{{"_DRS", WIDTH_16, 0}},	/* Acpi 5.0 */
1093 	{{"_END", WIDTH_1, 0}},	/* Acpi 5.0 */
1094 	{{"_FLC", WIDTH_2, 0}},	/* Acpi 5.0 */
1095 	{{"_GRA", WIDTH_ADDRESS, 0}},
1096 	{{"_HE_", WIDTH_1, 0}},
1097 	{{"_INT", WIDTH_16 | WIDTH_32, 0}},
1098 	{{"_IOR", WIDTH_2, 0}},	/* Acpi 5.0 */
1099 	{{"_LEN", WIDTH_8 | WIDTH_ADDRESS, 0}},
1100 	{{"_LIN", WIDTH_8, 0}},	/* Acpi 5.0 */
1101 	{{"_LL_", WIDTH_1, 0}},
1102 	{{"_MAF", WIDTH_1, 0}},
1103 	{{"_MAX", WIDTH_ADDRESS, 0}},
1104 	{{"_MEM", WIDTH_2, 0}},
1105 	{{"_MIF", WIDTH_1, 0}},
1106 	{{"_MIN", WIDTH_ADDRESS, 0}},
1107 	{{"_MOD", WIDTH_1, 0}},	/* Acpi 5.0 */
1108 	{{"_MTP", WIDTH_2, 0}},
1109 	{{"_PAR", WIDTH_8, 0}},	/* Acpi 5.0 */
1110 	{{"_PHA", WIDTH_1, 0}},	/* Acpi 5.0 */
1111 	{{"_PIN", WIDTH_16, 0}},	/* Acpi 5.0 */
1112 	{{"_PPI", WIDTH_8, 0}},	/* Acpi 5.0 */
1113 	{{"_POL", WIDTH_1 | WIDTH_2, 0}},	/* Acpi 5.0 */
1114 	{{"_RBO", WIDTH_8, 0}},
1115 	{{"_RBW", WIDTH_8, 0}},
1116 	{{"_RNG", WIDTH_1, 0}},
1117 	{{"_RT_", WIDTH_8, 0}},	/* Acpi 3.0 */
1118 	{{"_RW_", WIDTH_1, 0}},
1119 	{{"_RXL", WIDTH_16, 0}},	/* Acpi 5.0 */
1120 	{{"_SHR", WIDTH_2, 0}},
1121 	{{"_SIZ", WIDTH_2, 0}},
1122 	{{"_SLV", WIDTH_1, 0}},	/* Acpi 5.0 */
1123 	{{"_SPE", WIDTH_32, 0}},	/* Acpi 5.0 */
1124 	{{"_STB", WIDTH_2, 0}},	/* Acpi 5.0 */
1125 	{{"_TRA", WIDTH_ADDRESS, 0}},
1126 	{{"_TRS", WIDTH_1, 0}},
1127 	{{"_TSF", WIDTH_8, 0}},	/* Acpi 3.0 */
1128 	{{"_TTP", WIDTH_1, 0}},
1129 	{{"_TXL", WIDTH_16, 0}},	/* Acpi 5.0 */
1130 	{{"_TYP", WIDTH_2 | WIDTH_16, 0}},
1131 	{{"_VEN", VARIABLE_DATA, 0}},	/* Acpi 5.0 */
1132 	PACKAGE_INFO(0, 0, 0, 0, 0, 0)	/* Table terminator */
1133 };
1134 
1135 const union acpi_predefined_info acpi_gbl_scope_names[] = {
1136 	{{"_GPE", 0, 0}},
1137 	{{"_PR_", 0, 0}},
1138 	{{"_SB_", 0, 0}},
1139 	{{"_SI_", 0, 0}},
1140 	{{"_TZ_", 0, 0}},
1141 	PACKAGE_INFO(0, 0, 0, 0, 0, 0)	/* Table terminator */
1142 };
1143 #else
1144 extern const union acpi_predefined_info acpi_gbl_resource_names[];
1145 #endif
1146 
1147 #endif
1148