Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/acpi/acpica/acpredef.h
50744 views
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 - 2025, Intel Corp.
7
*
8
*****************************************************************************/
9
10
#ifndef __ACPREDEF_H__
11
#define __ACPREDEF_H__
12
13
/******************************************************************************
14
*
15
* Return Package types
16
*
17
* 1) PTYPE1 packages do not contain subpackages.
18
*
19
* ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types:
20
* object type
21
* count
22
* object type
23
* count
24
*
25
* ACPI_PTYPE1_VAR: Variable-length length. Zero-length package is allowed:
26
* object type (Int/Buf/Ref)
27
*
28
* ACPI_PTYPE1_OPTION: Package has some required and some optional elements
29
* (Used for _PRW)
30
*
31
*
32
* 2) PTYPE2 packages contain a Variable-length number of subpackages. Each
33
* of the different types describe the contents of each of the subpackages.
34
*
35
* ACPI_PTYPE2: Each subpackage contains 1 or 2 object types. Zero-length
36
* parent package is allowed:
37
* object type
38
* count
39
* object type
40
* count
41
* (Used for _ALR,_MLS,_PSS,_TRT,_TSS)
42
*
43
* ACPI_PTYPE2_COUNT: Each subpackage has a count as first element.
44
* Zero-length parent package is allowed:
45
* object type
46
* (Used for _CSD,_PSD,_TSD)
47
*
48
* ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types:
49
* object type
50
* count
51
* object type
52
* count
53
* (Used for _CST)
54
*
55
* ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length. Zero-length
56
* parent package is allowed.
57
* (Used for _PRT)
58
*
59
* ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length.
60
* Zero-length parent package is allowed:
61
* (Used for _HPX)
62
*
63
* ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length
64
* (Used for _ART, _FPS)
65
*
66
* ACPI_PTYPE2_FIX_VAR: Each subpackage consists of some fixed-length elements
67
* followed by an optional element. Zero-length parent package is allowed.
68
* object type
69
* count
70
* object type
71
* count = 0 (optional)
72
* (Used for _DLM)
73
*
74
* ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a
75
* constant or variable length. The subpackages are preceded by a
76
* constant number of objects.
77
* (Used for _LPI, _RDI)
78
*
79
* ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
80
* defines the format of the package. Zero-length parent package is
81
* allowed.
82
* (Used for _DSD)
83
*
84
*****************************************************************************/
85
86
enum acpi_return_package_types {
87
ACPI_PTYPE1_FIXED = 1,
88
ACPI_PTYPE1_VAR = 2,
89
ACPI_PTYPE1_OPTION = 3,
90
ACPI_PTYPE2 = 4,
91
ACPI_PTYPE2_COUNT = 5,
92
ACPI_PTYPE2_PKG_COUNT = 6,
93
ACPI_PTYPE2_FIXED = 7,
94
ACPI_PTYPE2_MIN = 8,
95
ACPI_PTYPE2_REV_FIXED = 9,
96
ACPI_PTYPE2_FIX_VAR = 10,
97
ACPI_PTYPE2_VAR_VAR = 11,
98
ACPI_PTYPE2_UUID_PAIR = 12,
99
ACPI_PTYPE_CUSTOM = 13
100
};
101
102
/* Support macros for users of the predefined info table */
103
104
#define METHOD_PREDEF_ARGS_MAX 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
187
const 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_ANY | ACPI_TYPE_PACKAGE) |
454
ARG_COUNT_IS_MINIMUM,
455
METHOD_RETURNS(ACPI_RTYPE_ALL)}}, /* Must return a value, but it can be of any type */
456
457
{{"_DSS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
458
METHOD_NO_RETURN_VALUE}},
459
460
{{"_DSW",
461
METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
462
METHOD_NO_RETURN_VALUE}},
463
464
{{"_DTI", METHOD_1ARGS(ACPI_TYPE_INTEGER),
465
METHOD_NO_RETURN_VALUE}},
466
467
{{"_EC_", METHOD_0ARGS,
468
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
469
470
{{"_EDL", METHOD_0ARGS,
471
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
472
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
473
474
{{"_EJ0", METHOD_1ARGS(ACPI_TYPE_INTEGER),
475
METHOD_NO_RETURN_VALUE}},
476
477
{{"_EJ1", METHOD_1ARGS(ACPI_TYPE_INTEGER),
478
METHOD_NO_RETURN_VALUE}},
479
480
{{"_EJ2", METHOD_1ARGS(ACPI_TYPE_INTEGER),
481
METHOD_NO_RETURN_VALUE}},
482
483
{{"_EJ3", METHOD_1ARGS(ACPI_TYPE_INTEGER),
484
METHOD_NO_RETURN_VALUE}},
485
486
{{"_EJ4", METHOD_1ARGS(ACPI_TYPE_INTEGER),
487
METHOD_NO_RETURN_VALUE}},
488
489
{{"_EJD", METHOD_0ARGS,
490
METHOD_RETURNS(ACPI_RTYPE_STRING)}},
491
492
{{"_ERR",
493
METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER),
494
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* Internal use only, used by ACPICA test suites */
495
496
{{"_EVT", METHOD_1ARGS(ACPI_TYPE_INTEGER),
497
METHOD_NO_RETURN_VALUE}},
498
499
{{"_FDE", METHOD_0ARGS,
500
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
501
502
{{"_FDI", METHOD_0ARGS,
503
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int) */
504
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, 0, 0, 0),
505
506
{{"_FDM", METHOD_1ARGS(ACPI_TYPE_INTEGER),
507
METHOD_NO_RETURN_VALUE}},
508
509
{{"_FIF", METHOD_0ARGS,
510
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
511
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
512
513
{{"_FIT", METHOD_0ARGS,
514
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}}, /* ACPI 6.0 */
515
516
{{"_FIX", METHOD_0ARGS,
517
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
518
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
519
520
{{"_FPS", METHOD_0ARGS,
521
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */
522
PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
523
524
{{"_FSL", METHOD_1ARGS(ACPI_TYPE_INTEGER),
525
METHOD_NO_RETURN_VALUE}},
526
527
{{"_FST", METHOD_0ARGS,
528
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
529
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0),
530
531
{{"_GAI", METHOD_0ARGS,
532
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
533
534
{{"_GCP", METHOD_0ARGS,
535
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
536
537
{{"_GHL", METHOD_0ARGS,
538
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
539
540
{{"_GLK", METHOD_0ARGS,
541
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
542
543
{{"_GPD", METHOD_0ARGS,
544
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
545
546
{{"_GPE", METHOD_0ARGS,
547
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* _GPE method, not _GPE scope */
548
549
{{"_GRT", METHOD_0ARGS,
550
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
551
552
{{"_GSB", METHOD_0ARGS,
553
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
554
555
{{"_GTF", METHOD_0ARGS,
556
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
557
558
{{"_GTM", METHOD_0ARGS,
559
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
560
561
{{"_GTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
562
METHOD_NO_RETURN_VALUE}},
563
564
{{"_GWS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
565
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
566
567
{{"_HID", METHOD_0ARGS,
568
METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
569
570
{{"_HMA", METHOD_0ARGS,
571
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
572
573
{{"_HOT", METHOD_0ARGS,
574
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
575
576
{{"_HPP", METHOD_0ARGS,
577
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
578
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
579
580
/*
581
* For _HPX, a single package is returned, containing a variable-length number
582
* of subpackages. Each subpackage contains a PCI record setting.
583
* There are several different type of record settings, of different
584
* lengths, but all elements of all settings are Integers.
585
*/
586
{{"_HPX", METHOD_0ARGS,
587
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (var Ints) */
588
PACKAGE_INFO(ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
589
590
{{"_VDM", METHOD_0ARGS,
591
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
592
593
{{"_HRV", METHOD_0ARGS,
594
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
595
596
{{"_IFT", METHOD_0ARGS,
597
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
598
599
{{"_INI", METHOD_0ARGS,
600
METHOD_NO_RETURN_VALUE}},
601
602
{{"_IRC", METHOD_0ARGS,
603
METHOD_NO_RETURN_VALUE}},
604
605
{{"_LCK", METHOD_1ARGS(ACPI_TYPE_INTEGER),
606
METHOD_NO_RETURN_VALUE}},
607
608
{{"_LID", METHOD_0ARGS,
609
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
610
611
{{"_LPD", METHOD_0ARGS,
612
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Int) */
613
PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
614
615
{{"_LPI", METHOD_0ARGS, /* ACPI 6.0 */
616
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (3 Int, n Pkg (10 Int/Buf) */
617
PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3,
618
ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING,
619
10, 0),
620
621
{{"_LSI", METHOD_0ARGS,
622
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},
623
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0),
624
625
{{"_LSR", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
626
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},
627
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1,
628
ACPI_RTYPE_BUFFER, 1, 0),
629
630
{{"_LSW",
631
METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
632
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
633
634
{{"_MAT", METHOD_0ARGS,
635
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
636
637
{{"_MBM", METHOD_0ARGS,
638
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (8 Int) */
639
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8, 0, 0, 0),
640
641
{{"_MLS", METHOD_0ARGS,
642
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Str/1 Buf) */
643
PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1,
644
0),
645
646
{{"_MSG", METHOD_1ARGS(ACPI_TYPE_INTEGER),
647
METHOD_NO_RETURN_VALUE}},
648
649
{{"_MSM",
650
METHOD_4ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
651
ACPI_TYPE_INTEGER),
652
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
653
654
{{"_MTL", METHOD_0ARGS, /* ACPI 6.0 */
655
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
656
657
{{"_NBS", METHOD_0ARGS, /* ACPI 6.3 */
658
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
659
660
{{"_NCH", METHOD_0ARGS, /* ACPI 6.3 */
661
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
662
663
{{"_NIC", METHOD_0ARGS, /* ACPI 6.3 */
664
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
665
666
{{"_NIG", METHOD_0ARGS, /* ACPI 6.3 */
667
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
668
669
{{"_NIH", METHOD_1ARGS(ACPI_TYPE_BUFFER), /* ACPI 6.3 */
670
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
671
672
{{"_NTT", METHOD_0ARGS,
673
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
674
675
{{"_OFF", METHOD_0ARGS,
676
METHOD_NO_RETURN_VALUE}},
677
678
{{"_ON_", METHOD_0ARGS,
679
METHOD_NO_RETURN_VALUE}},
680
681
{{"_OS_", METHOD_0ARGS,
682
METHOD_RETURNS(ACPI_RTYPE_STRING)}},
683
684
{{"_OSC",
685
METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
686
ACPI_TYPE_BUFFER),
687
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
688
689
{{"_OST",
690
METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
691
METHOD_NO_RETURN_VALUE}},
692
693
{{"_PAI", METHOD_1ARGS(ACPI_TYPE_INTEGER),
694
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
695
696
{{"_PCL", 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
{{"_PCT", METHOD_0ARGS,
701
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
702
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0),
703
704
{{"_PDC", METHOD_1ARGS(ACPI_TYPE_BUFFER),
705
METHOD_NO_RETURN_VALUE}},
706
707
{{"_PDL", METHOD_0ARGS,
708
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
709
710
{{"_PIC", METHOD_1ARGS(ACPI_TYPE_INTEGER),
711
METHOD_NO_RETURN_VALUE}},
712
713
{{"_PIF", METHOD_0ARGS,
714
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int),(3 Str) */
715
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,
716
ACPI_RTYPE_STRING, 3, 0),
717
718
{{"_PLD", METHOD_0ARGS,
719
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Bufs) */
720
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0, 0, 0, 0),
721
722
{{"_PMC", METHOD_0ARGS,
723
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (11 Int),(3 Str) */
724
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11,
725
ACPI_RTYPE_STRING, 3, 0),
726
727
{{"_PMD", METHOD_0ARGS,
728
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
729
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
730
731
{{"_PMM", METHOD_0ARGS,
732
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
733
734
{{"_PPC", METHOD_0ARGS,
735
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
736
737
{{"_PPE", METHOD_0ARGS,
738
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See dig64 spec */
739
740
{{"_PR0", 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
{{"_PR1", 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
{{"_PR2", 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
{{"_PR3", 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
{{"_PRE", 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
{{"_PRL", METHOD_0ARGS,
761
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
762
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
763
764
{{"_PRR", METHOD_0ARGS, /* ACPI 6.0 */
765
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Ref) */
766
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1, 0, 0, 0),
767
768
{{"_PRS", METHOD_0ARGS,
769
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
770
771
/*
772
* For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source
773
* and source_index). This bug is so prevalent that there is code in the
774
* ACPICA Resource Manager to detect this and switch them back. For now,
775
* do not allow and issue a warning. To allow this and eliminate the
776
* warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3)
777
* in the statement below.
778
*/
779
{{"_PRT", METHOD_0ARGS,
780
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */
781
PACKAGE_INFO(ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER,
782
ACPI_RTYPE_INTEGER,
783
ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE,
784
ACPI_RTYPE_INTEGER),
785
786
{{"_PRW", METHOD_0ARGS,
787
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */
788
PACKAGE_INFO(ACPI_PTYPE1_OPTION, 2,
789
ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE,
790
ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0),
791
792
{{"_PS0", METHOD_0ARGS,
793
METHOD_NO_RETURN_VALUE}},
794
795
{{"_PS1", METHOD_0ARGS,
796
METHOD_NO_RETURN_VALUE}},
797
798
{{"_PS2", METHOD_0ARGS,
799
METHOD_NO_RETURN_VALUE}},
800
801
{{"_PS3", METHOD_0ARGS,
802
METHOD_NO_RETURN_VALUE}},
803
804
{{"_PSC", METHOD_0ARGS,
805
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
806
807
{{"_PSD", METHOD_0ARGS,
808
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (5 Int) with count */
809
PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
810
811
{{"_PSE", METHOD_1ARGS(ACPI_TYPE_INTEGER),
812
METHOD_NO_RETURN_VALUE}},
813
814
{{"_PSL", METHOD_0ARGS,
815
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
816
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
817
818
{{"_PSR", METHOD_0ARGS,
819
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
820
821
{{"_PSS", METHOD_0ARGS,
822
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (6 Int) */
823
PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6, 0, 0, 0),
824
825
{{"_PSV", METHOD_0ARGS,
826
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
827
828
{{"_PSW", METHOD_1ARGS(ACPI_TYPE_INTEGER),
829
METHOD_NO_RETURN_VALUE}},
830
831
{{"_PTC", METHOD_0ARGS,
832
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
833
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0),
834
835
{{"_PTP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
836
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
837
838
{{"_PTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
839
METHOD_NO_RETURN_VALUE}},
840
841
{{"_PUR", METHOD_0ARGS,
842
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */
843
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
844
845
{{"_PXM", METHOD_0ARGS,
846
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
847
848
{{"_RDI", METHOD_0ARGS, /* ACPI 6.0 */
849
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int, n Pkg (m Ref)) */
850
PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,
851
ACPI_RTYPE_REFERENCE, 0, 0),
852
853
{{"_REG", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
854
METHOD_NO_RETURN_VALUE}},
855
856
{{"_REV", METHOD_0ARGS,
857
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
858
859
{{"_RMV", METHOD_0ARGS,
860
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
861
862
{{"_ROM", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
863
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
864
865
{{"_RST", METHOD_0ARGS, /* ACPI 6.0 */
866
METHOD_NO_RETURN_VALUE}},
867
868
{{"_RTV", METHOD_0ARGS,
869
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
870
871
/*
872
* For _S0_ through _S5_, the ACPI spec defines a return Package
873
* containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers.
874
* Allow this by making the objects "Variable-length length", but all elements
875
* must be Integers.
876
*/
877
{{"_S0_", 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
{{"_S1_", 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
{{"_S2_", 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
{{"_S3_", 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
{{"_S4_", 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
{{"_S5_", METHOD_0ARGS,
898
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
899
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
900
901
{{"_S1D", METHOD_0ARGS,
902
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
903
904
{{"_S2D", METHOD_0ARGS,
905
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
906
907
{{"_S3D", METHOD_0ARGS,
908
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
909
910
{{"_S4D", METHOD_0ARGS,
911
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
912
913
{{"_S0W", METHOD_0ARGS,
914
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
915
916
{{"_S1W", METHOD_0ARGS,
917
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
918
919
{{"_S2W", METHOD_0ARGS,
920
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
921
922
{{"_S3W", METHOD_0ARGS,
923
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
924
925
{{"_S4W", METHOD_0ARGS,
926
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
927
928
{{"_SBA", METHOD_0ARGS,
929
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
930
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
931
932
{{"_SBI", METHOD_0ARGS,
933
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int, 1 Buf) */
934
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1,
935
ACPI_RTYPE_BUFFER, 1, 0),
936
937
{{"_SBR",
938
METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
939
ACPI_TYPE_INTEGER),
940
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */
941
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,
942
ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0),
943
944
{{"_SBS", METHOD_0ARGS,
945
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
946
947
{{"_SBT",
948
METHOD_4ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
949
ACPI_TYPE_ANY),
950
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int, 1 Buf | Int) */
951
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,
952
ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0),
953
954
{{"_SBW",
955
METHOD_5ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
956
ACPI_TYPE_INTEGER, ACPI_TYPE_ANY),
957
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},
958
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER,
959
1, 0, 0, 0),
960
961
{{"_SCP", METHOD_1ARGS(ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM,
962
METHOD_NO_RETURN_VALUE}}, /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */
963
964
{{"_SDD", METHOD_1ARGS(ACPI_TYPE_BUFFER),
965
METHOD_NO_RETURN_VALUE}},
966
967
{{"_SEG", METHOD_0ARGS,
968
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
969
970
{{"_SHL", METHOD_1ARGS(ACPI_TYPE_INTEGER),
971
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
972
973
{{"_SLI", METHOD_0ARGS,
974
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
975
976
{{"_SPD", METHOD_1ARGS(ACPI_TYPE_INTEGER),
977
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
978
979
{{"_SRS", METHOD_1ARGS(ACPI_TYPE_BUFFER),
980
METHOD_NO_RETURN_VALUE}},
981
982
{{"_SRT", METHOD_1ARGS(ACPI_TYPE_BUFFER),
983
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
984
985
{{"_SRV", METHOD_0ARGS,
986
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
987
988
{{"_SST", METHOD_1ARGS(ACPI_TYPE_INTEGER),
989
METHOD_NO_RETURN_VALUE}},
990
991
{{"_STA", METHOD_0ARGS,
992
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
993
994
{{"_STM",
995
METHOD_3ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER),
996
METHOD_NO_RETURN_VALUE}},
997
998
{{"_STP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
999
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1000
1001
{{"_STR", METHOD_0ARGS,
1002
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
1003
1004
{{"_STV", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
1005
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1006
1007
{{"_SUB", METHOD_0ARGS,
1008
METHOD_RETURNS(ACPI_RTYPE_STRING)}},
1009
1010
{{"_SUN", METHOD_0ARGS,
1011
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1012
1013
{{"_SWS", METHOD_0ARGS,
1014
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1015
1016
{{"_TC1", METHOD_0ARGS,
1017
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1018
1019
{{"_TC2", METHOD_0ARGS,
1020
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1021
1022
{{"_TDL", METHOD_0ARGS,
1023
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1024
1025
{{"_TFP", METHOD_0ARGS, /* ACPI 6.0 */
1026
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1027
1028
{{"_TIP", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1029
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1030
1031
{{"_TIV", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1032
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1033
1034
{{"_TMP", METHOD_0ARGS,
1035
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1036
1037
{{"_TPC", METHOD_0ARGS,
1038
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1039
1040
{{"_TPT", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1041
METHOD_NO_RETURN_VALUE}},
1042
1043
{{"_TRT", METHOD_0ARGS,
1044
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */
1045
PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER,
1046
6, 0),
1047
1048
{{"_TSD", METHOD_0ARGS,
1049
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int with count */
1050
PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
1051
1052
{{"_TSN", METHOD_0ARGS, /* ACPI 6.0 */
1053
METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
1054
1055
{{"_TSP", METHOD_0ARGS,
1056
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1057
1058
{{"_TSS", METHOD_0ARGS,
1059
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int */
1060
PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
1061
1062
{{"_TST", METHOD_0ARGS,
1063
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1064
1065
{{"_TTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1066
METHOD_NO_RETURN_VALUE}},
1067
1068
{{"_TZD", METHOD_0ARGS,
1069
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
1070
PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
1071
1072
{{"_TZM", METHOD_0ARGS,
1073
METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
1074
1075
{{"_TZP", METHOD_0ARGS,
1076
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1077
1078
{{"_UID", METHOD_0ARGS,
1079
METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
1080
1081
{{"_UPC", METHOD_0ARGS,
1082
METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
1083
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
1084
1085
{{"_UPD", METHOD_0ARGS,
1086
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1087
1088
{{"_UPP", METHOD_0ARGS,
1089
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1090
1091
{{"_VPO", METHOD_0ARGS,
1092
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1093
1094
/* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */
1095
1096
{{"_WAK", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1097
METHOD_RETURNS(ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER |
1098
ACPI_RTYPE_PACKAGE)}},
1099
PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0), /* Fixed-length (2 Int), but is optional */
1100
1101
/* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */
1102
1103
{{"_WDG", METHOD_0ARGS,
1104
METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
1105
1106
{{"_WED", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1107
METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING |
1108
ACPI_RTYPE_BUFFER)}},
1109
1110
{{"_WPC", METHOD_0ARGS,
1111
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */
1112
1113
{{"_WPP", METHOD_0ARGS,
1114
METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */
1115
1116
PACKAGE_INFO(0, 0, 0, 0, 0, 0) /* Table terminator */
1117
};
1118
#else
1119
extern const union acpi_predefined_info acpi_gbl_predefined_methods[];
1120
#endif
1121
1122
#if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION)
1123
/******************************************************************************
1124
*
1125
* Predefined names for use in Resource Descriptors. These names do not
1126
* appear in the global Predefined Name table (since these names never
1127
* appear in actual AML byte code, only in the original ASL)
1128
*
1129
* Note: Used by iASL compiler and acpi_help utility only.
1130
*
1131
*****************************************************************************/
1132
1133
const union acpi_predefined_info acpi_gbl_resource_names[] = {
1134
{{"_ADR", WIDTH_16 | WIDTH_64, 0}},
1135
{{"_ALN", WIDTH_8 | WIDTH_16 | WIDTH_32, 0}},
1136
{{"_ASI", WIDTH_8, 0}},
1137
{{"_ASZ", WIDTH_8, 0}},
1138
{{"_ATT", WIDTH_64, 0}},
1139
{{"_BAS", WIDTH_16 | WIDTH_32, 0}},
1140
{{"_BM_", WIDTH_1, 0}},
1141
{{"_DBT", WIDTH_16, 0}}, /* Acpi 5.0 */
1142
{{"_DEC", WIDTH_1, 0}},
1143
{{"_DMA", WIDTH_8, 0}},
1144
{{"_DPL", WIDTH_1, 0}}, /* Acpi 5.0 */
1145
{{"_DRS", WIDTH_16, 0}}, /* Acpi 5.0 */
1146
{{"_END", WIDTH_1, 0}}, /* Acpi 5.0 */
1147
{{"_FLC", WIDTH_2, 0}}, /* Acpi 5.0 */
1148
{{"_GRA", WIDTH_ADDRESS, 0}},
1149
{{"_HE_", WIDTH_1, 0}},
1150
{{"_INT", WIDTH_16 | WIDTH_32, 0}},
1151
{{"_IOR", WIDTH_2, 0}}, /* Acpi 5.0 */
1152
{{"_LEN", WIDTH_8 | WIDTH_ADDRESS, 0}},
1153
{{"_LIN", WIDTH_8, 0}}, /* Acpi 5.0 */
1154
{{"_LL_", WIDTH_1, 0}},
1155
{{"_MAF", WIDTH_1, 0}},
1156
{{"_MAX", WIDTH_ADDRESS, 0}},
1157
{{"_MEM", WIDTH_2, 0}},
1158
{{"_MIF", WIDTH_1, 0}},
1159
{{"_MIN", WIDTH_ADDRESS, 0}},
1160
{{"_MOD", WIDTH_1, 0}}, /* Acpi 5.0 */
1161
{{"_MTP", WIDTH_2, 0}},
1162
{{"_PAR", WIDTH_8, 0}}, /* Acpi 5.0 */
1163
{{"_PHA", WIDTH_1, 0}}, /* Acpi 5.0 */
1164
{{"_PIN", WIDTH_16, 0}}, /* Acpi 5.0 */
1165
{{"_PPI", WIDTH_8, 0}}, /* Acpi 5.0 */
1166
{{"_POL", WIDTH_1 | WIDTH_2, 0}}, /* Acpi 5.0 */
1167
{{"_RBO", WIDTH_8, 0}},
1168
{{"_RBW", WIDTH_8, 0}},
1169
{{"_RNG", WIDTH_1, 0}},
1170
{{"_RT_", WIDTH_8, 0}}, /* Acpi 3.0 */
1171
{{"_RW_", WIDTH_1, 0}},
1172
{{"_RXL", WIDTH_16, 0}}, /* Acpi 5.0 */
1173
{{"_SHR", WIDTH_2, 0}},
1174
{{"_SIZ", WIDTH_2, 0}},
1175
{{"_SLV", WIDTH_1, 0}}, /* Acpi 5.0 */
1176
{{"_SPE", WIDTH_32, 0}}, /* Acpi 5.0 */
1177
{{"_STB", WIDTH_2, 0}}, /* Acpi 5.0 */
1178
{{"_TRA", WIDTH_ADDRESS, 0}},
1179
{{"_TRS", WIDTH_1, 0}},
1180
{{"_TSF", WIDTH_8, 0}}, /* Acpi 3.0 */
1181
{{"_TTP", WIDTH_1, 0}},
1182
{{"_TXL", WIDTH_16, 0}}, /* Acpi 5.0 */
1183
{{"_TYP", WIDTH_2 | WIDTH_16, 0}},
1184
{{"_VEN", VARIABLE_DATA, 0}}, /* Acpi 5.0 */
1185
PACKAGE_INFO(0, 0, 0, 0, 0, 0) /* Table terminator */
1186
};
1187
1188
const union acpi_predefined_info acpi_gbl_scope_names[] = {
1189
{{"_GPE", 0, 0}},
1190
{{"_PR_", 0, 0}},
1191
{{"_SB_", 0, 0}},
1192
{{"_SI_", 0, 0}},
1193
{{"_TZ_", 0, 0}},
1194
PACKAGE_INFO(0, 0, 0, 0, 0, 0) /* Table terminator */
1195
};
1196
#else
1197
extern const union acpi_predefined_info acpi_gbl_resource_names[];
1198
#endif
1199
1200
#endif
1201
1202