Linux Audio

Check our new training course

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