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