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