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