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