Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
0002 /******************************************************************************
0003  *
0004  * Name: acpredef - Information table for ACPI predefined methods and objects
0005  *
0006  * Copyright (C) 2000 - 2022, Intel Corp.
0007  *
0008  *****************************************************************************/
0009 
0010 #ifndef __ACPREDEF_H__
0011 #define __ACPREDEF_H__
0012 
0013 /******************************************************************************
0014  *
0015  * Return Package types
0016  *
0017  * 1) PTYPE1 packages do not contain subpackages.
0018  *
0019  * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types:
0020  *      object type
0021  *      count
0022  *      object type
0023  *      count
0024  *
0025  * ACPI_PTYPE1_VAR: Variable-length length. Zero-length package is allowed:
0026  *      object type (Int/Buf/Ref)
0027  *
0028  * ACPI_PTYPE1_OPTION: Package has some required and some optional elements
0029  *      (Used for _PRW)
0030  *
0031  *
0032  * 2) PTYPE2 packages contain a Variable-length number of subpackages. Each
0033  *    of the different types describe the contents of each of the subpackages.
0034  *
0035  * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types. Zero-length
0036  *      parent package is allowed:
0037  *      object type
0038  *      count
0039  *      object type
0040  *      count
0041  *      (Used for _ALR,_MLS,_PSS,_TRT,_TSS)
0042  *
0043  * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element.
0044  *      Zero-length parent package is allowed:
0045  *      object type
0046  *      (Used for _CSD,_PSD,_TSD)
0047  *
0048  * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types:
0049  *      object type
0050  *      count
0051  *      object type
0052  *      count
0053  *      (Used for _CST)
0054  *
0055  * ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length. Zero-length
0056  *      parent package is allowed.
0057  *      (Used for _PRT)
0058  *
0059  * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length.
0060  *      Zero-length parent package is allowed:
0061  *      (Used for _HPX)
0062  *
0063  * ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length
0064  *      (Used for _ART, _FPS)
0065  *
0066  * ACPI_PTYPE2_FIX_VAR: Each subpackage consists of some fixed-length elements
0067  *      followed by an optional element. Zero-length parent package is allowed.
0068  *      object type
0069  *      count
0070  *      object type
0071  *      count = 0 (optional)
0072  *      (Used for _DLM)
0073  *
0074  * ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a
0075  *      constant or variable length. The subpackages are preceded by a
0076  *      constant number of objects.
0077  *      (Used for _LPI, _RDI)
0078  *
0079  * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID
0080  *      defines the format of the package. Zero-length parent package is
0081  *      allowed.
0082  *      (Used for _DSD)
0083  *
0084  *****************************************************************************/
0085 
0086 enum acpi_return_package_types {
0087     ACPI_PTYPE1_FIXED = 1,
0088     ACPI_PTYPE1_VAR = 2,
0089     ACPI_PTYPE1_OPTION = 3,
0090     ACPI_PTYPE2 = 4,
0091     ACPI_PTYPE2_COUNT = 5,
0092     ACPI_PTYPE2_PKG_COUNT = 6,
0093     ACPI_PTYPE2_FIXED = 7,
0094     ACPI_PTYPE2_MIN = 8,
0095     ACPI_PTYPE2_REV_FIXED = 9,
0096     ACPI_PTYPE2_FIX_VAR = 10,
0097     ACPI_PTYPE2_VAR_VAR = 11,
0098     ACPI_PTYPE2_UUID_PAIR = 12,
0099     ACPI_PTYPE_CUSTOM = 13
0100 };
0101 
0102 /* Support macros for users of the predefined info table */
0103 
0104 #define METHOD_PREDEF_ARGS_MAX          5
0105 #define METHOD_ARG_BIT_WIDTH            3
0106 #define METHOD_ARG_MASK                 0x0007
0107 #define ARG_COUNT_IS_MINIMUM            0x8000
0108 #define METHOD_MAX_ARG_TYPE             ACPI_TYPE_PACKAGE
0109 
0110 #define METHOD_GET_ARG_COUNT(arg_list)  ((arg_list) & METHOD_ARG_MASK)
0111 #define METHOD_GET_NEXT_TYPE(arg_list)  (((arg_list) >>= METHOD_ARG_BIT_WIDTH) & METHOD_ARG_MASK)
0112 
0113 /* Macros used to build the predefined info table */
0114 
0115 #define METHOD_0ARGS                    0
0116 #define METHOD_1ARGS(a1)                (1 | (a1 << 3))
0117 #define METHOD_2ARGS(a1,a2)             (2 | (a1 << 3) | (a2 << 6))
0118 #define METHOD_3ARGS(a1,a2,a3)          (3 | (a1 << 3) | (a2 << 6) | (a3 << 9))
0119 #define METHOD_4ARGS(a1,a2,a3,a4)       (4 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12))
0120 #define METHOD_5ARGS(a1,a2,a3,a4,a5)    (5 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12) | (a5 << 15))
0121 
0122 #define METHOD_RETURNS(type)            (type)
0123 #define METHOD_NO_RETURN_VALUE          0
0124 
0125 #define PACKAGE_INFO(a,b,c,d,e,f)       {{{(a),(b),(c),(d)}, ((((u16)(f)) << 8) | (e)), 0}}
0126 
0127 /* Support macros for the resource descriptor info table */
0128 
0129 #define WIDTH_1                         0x0001
0130 #define WIDTH_2                         0x0002
0131 #define WIDTH_3                         0x0004
0132 #define WIDTH_8                         0x0008
0133 #define WIDTH_16                        0x0010
0134 #define WIDTH_32                        0x0020
0135 #define WIDTH_64                        0x0040
0136 #define VARIABLE_DATA                   0x0080
0137 #define NUM_RESOURCE_WIDTHS             8
0138 
0139 #define WIDTH_ADDRESS                   WIDTH_16 | WIDTH_32 | WIDTH_64
0140 
0141 #ifdef ACPI_CREATE_PREDEFINED_TABLE
0142 /******************************************************************************
0143  *
0144  * Predefined method/object information table.
0145  *
0146  * These are the names that can actually be evaluated via acpi_evaluate_object.
0147  * Not present in this table are the following:
0148  *
0149  *      1) Predefined/Reserved names that are not usually evaluated via
0150  *         acpi_evaluate_object:
0151  *              _Lxx and _Exx GPE methods
0152  *              _Qxx EC methods
0153  *              _T_x compiler temporary variables
0154  *              _Wxx wake events
0155  *
0156  *      2) Predefined names that never actually exist within the AML code:
0157  *              Predefined resource descriptor field names
0158  *
0159  *      3) Predefined names that are implemented within ACPICA:
0160  *              _OSI
0161  *
0162  * The main entries in the table each contain the following items:
0163  *
0164  * name                 - The ACPI reserved name
0165  * argument_list        - Contains (in 16 bits), the number of required
0166  *                        arguments to the method (3 bits), and a 3-bit type
0167  *                        field for each argument (up to 4 arguments). The
0168  *                        METHOD_?ARGS macros generate the correct packed data.
0169  * expected_btypes      - Allowed type(s) for the return value.
0170  *                        0 means that no return value is expected.
0171  *
0172  * For methods that return packages, the next entry in the table contains
0173  * information about the expected structure of the package. This information
0174  * is saved here (rather than in a separate table) in order to minimize the
0175  * overall size of the stored data.
0176  *
0177  * Note: The additional braces are intended to promote portability.
0178  *
0179  * Note2: Table is used by the kernel-resident subsystem, the iASL compiler,
0180  * and the acpi_help utility.
0181  *
0182  * TBD: _PRT - currently ignore reversed entries. Attempt to fix in nsrepair.
0183  * Possibly fixing package elements like _BIF, etc.
0184  *
0185  *****************************************************************************/
0186 
0187 const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
0188     {{"_AC0", METHOD_0ARGS,
0189       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0190 
0191     {{"_AC1", METHOD_0ARGS,
0192       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0193 
0194     {{"_AC2", METHOD_0ARGS,
0195       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0196 
0197     {{"_AC3", METHOD_0ARGS,
0198       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0199 
0200     {{"_AC4", METHOD_0ARGS,
0201       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0202 
0203     {{"_AC5", METHOD_0ARGS,
0204       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0205 
0206     {{"_AC6", METHOD_0ARGS,
0207       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0208 
0209     {{"_AC7", METHOD_0ARGS,
0210       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0211 
0212     {{"_AC8", METHOD_0ARGS,
0213       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0214 
0215     {{"_AC9", METHOD_0ARGS,
0216       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0217 
0218     {{"_ADR", METHOD_0ARGS,
0219       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0220 
0221     {{"_AEI", METHOD_0ARGS,
0222       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0223 
0224     {{"_AL0", METHOD_0ARGS,
0225       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0226     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0227 
0228     {{"_AL1", METHOD_0ARGS,
0229       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0230     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0231 
0232     {{"_AL2", METHOD_0ARGS,
0233       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0234     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0235 
0236     {{"_AL3", METHOD_0ARGS,
0237       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0238     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0239 
0240     {{"_AL4", METHOD_0ARGS,
0241       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0242     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0243 
0244     {{"_AL5", METHOD_0ARGS,
0245       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0246     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0247 
0248     {{"_AL6", METHOD_0ARGS,
0249       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0250     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0251 
0252     {{"_AL7", METHOD_0ARGS,
0253       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0254     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0255 
0256     {{"_AL8", METHOD_0ARGS,
0257       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0258     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0259 
0260     {{"_AL9", METHOD_0ARGS,
0261       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0262     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0263 
0264     {{"_ALC", METHOD_0ARGS,
0265       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0266 
0267     {{"_ALI", METHOD_0ARGS,
0268       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0269 
0270     {{"_ALP", METHOD_0ARGS,
0271       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0272 
0273     {{"_ALR", METHOD_0ARGS,
0274       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 (Ints) */
0275     PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
0276 
0277     {{"_ALT", METHOD_0ARGS,
0278       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0279 
0280     {{"_ART", METHOD_0ARGS,
0281       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */
0282     PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_REFERENCE, 2,
0283              ACPI_RTYPE_INTEGER, 11, 0),
0284 
0285     {{"_BBN", METHOD_0ARGS,
0286       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0287 
0288     {{"_BCL", METHOD_0ARGS,
0289       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
0290     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
0291 
0292     {{"_BCM", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0293       METHOD_NO_RETURN_VALUE}},
0294 
0295     {{"_BCT", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0296       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0297 
0298     {{"_BDN", METHOD_0ARGS,
0299       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0300 
0301     {{"_BFS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0302       METHOD_NO_RETURN_VALUE}},
0303 
0304     {{"_BIF", METHOD_0ARGS,
0305       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (9 Int),(4 Str) */
0306     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9,
0307              ACPI_RTYPE_STRING, 4, 0),
0308 
0309     {{"_BIX", METHOD_0ARGS,
0310       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int),(4 Str) */
0311     PACKAGE_INFO(ACPI_PTYPE_CUSTOM, ACPI_RTYPE_INTEGER, 16,
0312              ACPI_RTYPE_STRING, 4, 0),
0313 
0314     {{"_BLT",
0315       METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0316       METHOD_NO_RETURN_VALUE}},
0317 
0318     {{"_BMA", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0319       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0320 
0321     {{"_BMC", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0322       METHOD_NO_RETURN_VALUE}},
0323 
0324     {{"_BMD", METHOD_0ARGS,
0325       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */
0326     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
0327 
0328     {{"_BMS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0329       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0330 
0331     {{"_BPC", METHOD_0ARGS,
0332       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
0333     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
0334 
0335     {{"_BPS", METHOD_0ARGS,
0336       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */
0337     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
0338 
0339     {{"_BPT", METHOD_1ARGS(ACPI_TYPE_PACKAGE),
0340       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0341 
0342     {{"_BQC", METHOD_0ARGS,
0343       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0344 
0345     {{"_BST", METHOD_0ARGS,
0346       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
0347     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
0348 
0349     {{"_BTH", METHOD_1ARGS(ACPI_TYPE_INTEGER),  /* ACPI 6.0 */
0350       METHOD_NO_RETURN_VALUE}},
0351 
0352     {{"_BTM", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0353       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0354 
0355     {{"_BTP", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0356       METHOD_NO_RETURN_VALUE}},
0357 
0358     {{"_CBA", METHOD_0ARGS,
0359       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See PCI firmware spec 3.0 */
0360 
0361     {{"_CBR", METHOD_0ARGS,
0362       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
0363     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0),
0364 
0365     {{"_CCA", METHOD_0ARGS,
0366       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* ACPI 5.1 */
0367 
0368     {{"_CDM", METHOD_0ARGS,
0369       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0370 
0371     {{"_CID", METHOD_0ARGS,
0372       METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE)}},    /* Variable-length (Ints/Strs) */
0373     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,
0374              0, 0, 0),
0375 
0376     {{"_CLS", METHOD_0ARGS,
0377       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
0378     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0),
0379 
0380     {{"_CPC", METHOD_0ARGS,
0381       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Bufs) */
0382     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,
0383              0, 0, 0),
0384 
0385     {{"_CR3", METHOD_0ARGS, /* ACPI 6.0 */
0386       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0387 
0388     {{"_CRS", METHOD_0ARGS,
0389       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0390 
0391     {{"_CRT", METHOD_0ARGS,
0392       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0393 
0394     {{"_CSD", METHOD_0ARGS,
0395       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n-1 Int) */
0396     PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
0397 
0398     {{"_CST", METHOD_0ARGS,
0399       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */
0400     PACKAGE_INFO(ACPI_PTYPE2_PKG_COUNT, ACPI_RTYPE_BUFFER, 1,
0401              ACPI_RTYPE_INTEGER, 3, 0),
0402 
0403     {{"_CWS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0404       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0405 
0406     {{"_DCK", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0407       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0408 
0409     {{"_DCS", METHOD_0ARGS,
0410       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0411 
0412     {{"_DDC", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0413       METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER)}},
0414 
0415     {{"_DDN", METHOD_0ARGS,
0416       METHOD_RETURNS(ACPI_RTYPE_STRING)}},
0417 
0418     {{"_DEP", METHOD_0ARGS,
0419       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0420     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0421 
0422     {{"_DGS", METHOD_0ARGS,
0423       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0424 
0425     {{"_DIS", METHOD_0ARGS,
0426       METHOD_NO_RETURN_VALUE}},
0427 
0428     {{"_DLM", METHOD_0ARGS,
0429       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Ref, 0/1 Optional Buf/Ref) */
0430     PACKAGE_INFO(ACPI_PTYPE2_FIX_VAR, ACPI_RTYPE_REFERENCE, 1,
0431              ACPI_RTYPE_REFERENCE | ACPI_RTYPE_BUFFER, 0, 0),
0432 
0433     {{"_DMA", METHOD_0ARGS,
0434       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0435 
0436     {{"_DOD", METHOD_0ARGS,
0437       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
0438     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
0439 
0440     {{"_DOS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0441       METHOD_NO_RETURN_VALUE}},
0442 
0443     {{"_DSD", METHOD_0ARGS, /* ACPI 6.0 */
0444       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
0445     PACKAGE_INFO(ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1,
0446              ACPI_RTYPE_PACKAGE, 1, 0),
0447 
0448     {{"_DSM",
0449       METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
0450                ACPI_TYPE_PACKAGE),
0451       METHOD_RETURNS(ACPI_RTYPE_ALL)}}, /* Must return a value, but it can be of any type */
0452 
0453     {{"_DSS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0454       METHOD_NO_RETURN_VALUE}},
0455 
0456     {{"_DSW",
0457       METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0458       METHOD_NO_RETURN_VALUE}},
0459 
0460     {{"_DTI", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0461       METHOD_NO_RETURN_VALUE}},
0462 
0463     {{"_EC_", METHOD_0ARGS,
0464       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0465 
0466     {{"_EDL", METHOD_0ARGS,
0467       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0468     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0469 
0470     {{"_EJ0", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0471       METHOD_NO_RETURN_VALUE}},
0472 
0473     {{"_EJ1", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0474       METHOD_NO_RETURN_VALUE}},
0475 
0476     {{"_EJ2", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0477       METHOD_NO_RETURN_VALUE}},
0478 
0479     {{"_EJ3", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0480       METHOD_NO_RETURN_VALUE}},
0481 
0482     {{"_EJ4", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0483       METHOD_NO_RETURN_VALUE}},
0484 
0485     {{"_EJD", METHOD_0ARGS,
0486       METHOD_RETURNS(ACPI_RTYPE_STRING)}},
0487 
0488     {{"_ERR",
0489       METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER),
0490       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* Internal use only, used by ACPICA test suites */
0491 
0492     {{"_EVT", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0493       METHOD_NO_RETURN_VALUE}},
0494 
0495     {{"_FDE", METHOD_0ARGS,
0496       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0497 
0498     {{"_FDI", METHOD_0ARGS,
0499       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int) */
0500     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, 0, 0, 0),
0501 
0502     {{"_FDM", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0503       METHOD_NO_RETURN_VALUE}},
0504 
0505     {{"_FIF", METHOD_0ARGS,
0506       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
0507     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
0508 
0509     {{"_FIT", METHOD_0ARGS,
0510       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},  /* ACPI 6.0 */
0511 
0512     {{"_FIX", METHOD_0ARGS,
0513       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */
0514     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
0515 
0516     {{"_FPS", METHOD_0ARGS,
0517       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */
0518     PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
0519 
0520     {{"_FSL", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0521       METHOD_NO_RETURN_VALUE}},
0522 
0523     {{"_FST", METHOD_0ARGS,
0524       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */
0525     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0),
0526 
0527     {{"_GAI", METHOD_0ARGS,
0528       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0529 
0530     {{"_GCP", METHOD_0ARGS,
0531       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0532 
0533     {{"_GHL", METHOD_0ARGS,
0534       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0535 
0536     {{"_GLK", METHOD_0ARGS,
0537       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0538 
0539     {{"_GPD", METHOD_0ARGS,
0540       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0541 
0542     {{"_GPE", METHOD_0ARGS,
0543       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* _GPE method, not _GPE scope */
0544 
0545     {{"_GRT", METHOD_0ARGS,
0546       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0547 
0548     {{"_GSB", METHOD_0ARGS,
0549       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0550 
0551     {{"_GTF", METHOD_0ARGS,
0552       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0553 
0554     {{"_GTM", METHOD_0ARGS,
0555       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0556 
0557     {{"_GTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0558       METHOD_NO_RETURN_VALUE}},
0559 
0560     {{"_GWS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0561       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0562 
0563     {{"_HID", METHOD_0ARGS,
0564       METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
0565 
0566     {{"_HMA", METHOD_0ARGS,
0567       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0568 
0569     {{"_HOT", METHOD_0ARGS,
0570       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0571 
0572     {{"_HPP", METHOD_0ARGS,
0573       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
0574     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
0575 
0576     /*
0577      * For _HPX, a single package is returned, containing a variable-length number
0578      * of subpackages. Each subpackage contains a PCI record setting.
0579      * There are several different type of record settings, of different
0580      * lengths, but all elements of all settings are Integers.
0581      */
0582     {{"_HPX", METHOD_0ARGS,
0583       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (var Ints) */
0584     PACKAGE_INFO(ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
0585 
0586     {{"_HRV", METHOD_0ARGS,
0587       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0588 
0589     {{"_IFT", METHOD_0ARGS,
0590       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
0591 
0592     {{"_INI", METHOD_0ARGS,
0593       METHOD_NO_RETURN_VALUE}},
0594 
0595     {{"_IRC", METHOD_0ARGS,
0596       METHOD_NO_RETURN_VALUE}},
0597 
0598     {{"_LCK", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0599       METHOD_NO_RETURN_VALUE}},
0600 
0601     {{"_LID", METHOD_0ARGS,
0602       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0603 
0604     {{"_LPD", METHOD_0ARGS,
0605       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Int) */
0606     PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
0607 
0608     {{"_LPI", METHOD_0ARGS, /* ACPI 6.0 */
0609       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (3 Int, n Pkg (10 Int/Buf) */
0610     PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3,
0611              ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING,
0612              10, 0),
0613 
0614     {{"_LSI", METHOD_0ARGS,
0615       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},
0616     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0),
0617 
0618     {{"_LSR", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0619       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},
0620     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1,
0621              ACPI_RTYPE_BUFFER, 1, 0),
0622 
0623     {{"_LSW",
0624       METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
0625       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0626 
0627     {{"_MAT", METHOD_0ARGS,
0628       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0629 
0630     {{"_MBM", METHOD_0ARGS,
0631       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (8 Int) */
0632     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8, 0, 0, 0),
0633 
0634     {{"_MLS", METHOD_0ARGS,
0635       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Str/1 Buf) */
0636     PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1,
0637              0),
0638 
0639     {{"_MSG", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0640       METHOD_NO_RETURN_VALUE}},
0641 
0642     {{"_MSM",
0643       METHOD_4ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
0644                ACPI_TYPE_INTEGER),
0645       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0646 
0647     {{"_MTL", METHOD_0ARGS, /* ACPI 6.0 */
0648       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0649 
0650     {{"_NBS", METHOD_0ARGS, /* ACPI 6.3 */
0651       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0652 
0653     {{"_NCH", METHOD_0ARGS, /* ACPI 6.3 */
0654       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0655 
0656     {{"_NIC", METHOD_0ARGS, /* ACPI 6.3 */
0657       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0658 
0659     {{"_NIG", METHOD_0ARGS, /* ACPI 6.3 */
0660       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0661 
0662     {{"_NIH", METHOD_1ARGS(ACPI_TYPE_BUFFER), /* ACPI 6.3 */
0663       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0664 
0665     {{"_NTT", METHOD_0ARGS,
0666       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0667 
0668     {{"_OFF", METHOD_0ARGS,
0669       METHOD_NO_RETURN_VALUE}},
0670 
0671     {{"_ON_", METHOD_0ARGS,
0672       METHOD_NO_RETURN_VALUE}},
0673 
0674     {{"_OS_", METHOD_0ARGS,
0675       METHOD_RETURNS(ACPI_RTYPE_STRING)}},
0676 
0677     {{"_OSC",
0678       METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
0679                ACPI_TYPE_BUFFER),
0680       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0681 
0682     {{"_OST",
0683       METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),
0684       METHOD_NO_RETURN_VALUE}},
0685 
0686     {{"_PAI", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0687       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0688 
0689     {{"_PCL", METHOD_0ARGS,
0690       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0691     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0692 
0693     {{"_PCT", METHOD_0ARGS,
0694       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
0695     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0),
0696 
0697     {{"_PDC", METHOD_1ARGS(ACPI_TYPE_BUFFER),
0698       METHOD_NO_RETURN_VALUE}},
0699 
0700     {{"_PDL", METHOD_0ARGS,
0701       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0702 
0703     {{"_PIC", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0704       METHOD_NO_RETURN_VALUE}},
0705 
0706     {{"_PIF", METHOD_0ARGS,
0707       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int),(3 Str) */
0708     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,
0709              ACPI_RTYPE_STRING, 3, 0),
0710 
0711     {{"_PLD", METHOD_0ARGS,
0712       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Bufs) */
0713     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0, 0, 0, 0),
0714 
0715     {{"_PMC", METHOD_0ARGS,
0716       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (11 Int),(3 Str) */
0717     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11,
0718              ACPI_RTYPE_STRING, 3, 0),
0719 
0720     {{"_PMD", METHOD_0ARGS,
0721       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0722     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0723 
0724     {{"_PMM", METHOD_0ARGS,
0725       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0726 
0727     {{"_PPC", METHOD_0ARGS,
0728       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0729 
0730     {{"_PPE", METHOD_0ARGS,
0731       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See dig64 spec */
0732 
0733     {{"_PR0", METHOD_0ARGS,
0734       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0735     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0736 
0737     {{"_PR1", METHOD_0ARGS,
0738       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0739     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0740 
0741     {{"_PR2", METHOD_0ARGS,
0742       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0743     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0744 
0745     {{"_PR3", METHOD_0ARGS,
0746       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0747     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0748 
0749     {{"_PRE", METHOD_0ARGS,
0750       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0751     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0752 
0753     {{"_PRL", METHOD_0ARGS,
0754       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0755     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0756 
0757     {{"_PRR", METHOD_0ARGS, /* ACPI 6.0 */
0758       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Ref) */
0759     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1, 0, 0, 0),
0760 
0761     {{"_PRS", METHOD_0ARGS,
0762       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0763 
0764     /*
0765      * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source
0766      * and source_index). This bug is so prevalent that there is code in the
0767      * ACPICA Resource Manager to detect this and switch them back. For now,
0768      * do not allow and issue a warning. To allow this and eliminate the
0769      * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3)
0770      * in the statement below.
0771      */
0772     {{"_PRT", METHOD_0ARGS,
0773       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */
0774     PACKAGE_INFO(ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER,
0775              ACPI_RTYPE_INTEGER,
0776              ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE,
0777              ACPI_RTYPE_INTEGER),
0778 
0779     {{"_PRW", METHOD_0ARGS,
0780       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */
0781     PACKAGE_INFO(ACPI_PTYPE1_OPTION, 2,
0782              ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE,
0783              ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0),
0784 
0785     {{"_PS0", METHOD_0ARGS,
0786       METHOD_NO_RETURN_VALUE}},
0787 
0788     {{"_PS1", METHOD_0ARGS,
0789       METHOD_NO_RETURN_VALUE}},
0790 
0791     {{"_PS2", METHOD_0ARGS,
0792       METHOD_NO_RETURN_VALUE}},
0793 
0794     {{"_PS3", METHOD_0ARGS,
0795       METHOD_NO_RETURN_VALUE}},
0796 
0797     {{"_PSC", METHOD_0ARGS,
0798       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0799 
0800     {{"_PSD", METHOD_0ARGS,
0801       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (5 Int) with count */
0802     PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
0803 
0804     {{"_PSE", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0805       METHOD_NO_RETURN_VALUE}},
0806 
0807     {{"_PSL", METHOD_0ARGS,
0808       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
0809     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
0810 
0811     {{"_PSR", METHOD_0ARGS,
0812       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0813 
0814     {{"_PSS", METHOD_0ARGS,
0815       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (6 Int) */
0816     PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6, 0, 0, 0),
0817 
0818     {{"_PSV", METHOD_0ARGS,
0819       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0820 
0821     {{"_PSW", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0822       METHOD_NO_RETURN_VALUE}},
0823 
0824     {{"_PTC", METHOD_0ARGS,
0825       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */
0826     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0),
0827 
0828     {{"_PTP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0829       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0830 
0831     {{"_PTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0832       METHOD_NO_RETURN_VALUE}},
0833 
0834     {{"_PUR", METHOD_0ARGS,
0835       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */
0836     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),
0837 
0838     {{"_PXM", METHOD_0ARGS,
0839       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0840 
0841     {{"_RDI", METHOD_0ARGS, /* ACPI 6.0 */
0842       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int, n Pkg (m Ref)) */
0843     PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,
0844              ACPI_RTYPE_REFERENCE, 0, 0),
0845 
0846     {{"_REG", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0847       METHOD_NO_RETURN_VALUE}},
0848 
0849     {{"_REV", METHOD_0ARGS,
0850       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0851 
0852     {{"_RMV", METHOD_0ARGS,
0853       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0854 
0855     {{"_ROM", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0856       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0857 
0858     {{"_RST", METHOD_0ARGS, /* ACPI 6.0 */
0859       METHOD_NO_RETURN_VALUE}},
0860 
0861     {{"_RTV", METHOD_0ARGS,
0862       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0863 
0864     /*
0865      * For _S0_ through _S5_, the ACPI spec defines a return Package
0866      * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers.
0867      * Allow this by making the objects "Variable-length length", but all elements
0868      * must be Integers.
0869      */
0870     {{"_S0_", METHOD_0ARGS,
0871       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
0872     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
0873 
0874     {{"_S1_", METHOD_0ARGS,
0875       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
0876     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
0877 
0878     {{"_S2_", METHOD_0ARGS,
0879       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
0880     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
0881 
0882     {{"_S3_", METHOD_0ARGS,
0883       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
0884     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
0885 
0886     {{"_S4_", METHOD_0ARGS,
0887       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
0888     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
0889 
0890     {{"_S5_", METHOD_0ARGS,
0891       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */
0892     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0),
0893 
0894     {{"_S1D", METHOD_0ARGS,
0895       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0896 
0897     {{"_S2D", METHOD_0ARGS,
0898       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0899 
0900     {{"_S3D", METHOD_0ARGS,
0901       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0902 
0903     {{"_S4D", METHOD_0ARGS,
0904       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0905 
0906     {{"_S0W", METHOD_0ARGS,
0907       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0908 
0909     {{"_S1W", METHOD_0ARGS,
0910       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0911 
0912     {{"_S2W", METHOD_0ARGS,
0913       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0914 
0915     {{"_S3W", METHOD_0ARGS,
0916       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0917 
0918     {{"_S4W", METHOD_0ARGS,
0919       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0920 
0921     {{"_SBA", METHOD_0ARGS,
0922       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
0923     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
0924 
0925     {{"_SBI", METHOD_0ARGS,
0926       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int, 1 Buf) */
0927     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1,
0928              ACPI_RTYPE_BUFFER, 1, 0),
0929 
0930     {{"_SBR",
0931       METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
0932             ACPI_TYPE_INTEGER),
0933        METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},    /* Fixed-length (2 Int) */
0934     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,
0935              ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0),
0936 
0937     {{"_SBS", METHOD_0ARGS,
0938       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0939 
0940     {{"_SBT",
0941       METHOD_4ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
0942             ACPI_TYPE_ANY),
0943        METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},    /* Fixed-length (2 Int, 1 Buf | Int) */
0944     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,
0945              ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0),
0946 
0947     {{"_SBW",
0948       METHOD_5ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER,
0949             ACPI_TYPE_INTEGER, ACPI_TYPE_ANY),
0950        METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},
0951     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER,
0952              1, 0, 0, 0),
0953 
0954     {{"_SCP", METHOD_1ARGS(ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM,
0955       METHOD_NO_RETURN_VALUE}}, /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */
0956 
0957     {{"_SDD", METHOD_1ARGS(ACPI_TYPE_BUFFER),
0958       METHOD_NO_RETURN_VALUE}},
0959 
0960     {{"_SEG", METHOD_0ARGS,
0961       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0962 
0963     {{"_SHL", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0964       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0965 
0966     {{"_SLI", METHOD_0ARGS,
0967       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0968 
0969     {{"_SPD", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0970       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0971 
0972     {{"_SRS", METHOD_1ARGS(ACPI_TYPE_BUFFER),
0973       METHOD_NO_RETURN_VALUE}},
0974 
0975     {{"_SRT", METHOD_1ARGS(ACPI_TYPE_BUFFER),
0976       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0977 
0978     {{"_SRV", METHOD_0ARGS,
0979       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */
0980 
0981     {{"_SST", METHOD_1ARGS(ACPI_TYPE_INTEGER),
0982       METHOD_NO_RETURN_VALUE}},
0983 
0984     {{"_STA", METHOD_0ARGS,
0985       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0986 
0987     {{"_STM",
0988       METHOD_3ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER),
0989       METHOD_NO_RETURN_VALUE}},
0990 
0991     {{"_STP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0992       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0993 
0994     {{"_STR", METHOD_0ARGS,
0995       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
0996 
0997     {{"_STV", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
0998       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
0999 
1000     {{"_SUB", METHOD_0ARGS,
1001       METHOD_RETURNS(ACPI_RTYPE_STRING)}},
1002 
1003     {{"_SUN", METHOD_0ARGS,
1004       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1005 
1006     {{"_SWS", METHOD_0ARGS,
1007       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1008 
1009     {{"_TC1", METHOD_0ARGS,
1010       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1011 
1012     {{"_TC2", METHOD_0ARGS,
1013       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1014 
1015     {{"_TDL", METHOD_0ARGS,
1016       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1017 
1018     {{"_TFP", METHOD_0ARGS, /* ACPI 6.0 */
1019       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1020 
1021     {{"_TIP", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1022       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1023 
1024     {{"_TIV", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1025       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1026 
1027     {{"_TMP", METHOD_0ARGS,
1028       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1029 
1030     {{"_TPC", METHOD_0ARGS,
1031       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1032 
1033     {{"_TPT", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1034       METHOD_NO_RETURN_VALUE}},
1035 
1036     {{"_TRT", METHOD_0ARGS,
1037       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */
1038     PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER,
1039              6, 0),
1040 
1041     {{"_TSD", METHOD_0ARGS,
1042       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int with count */
1043     PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
1044 
1045     {{"_TSN", METHOD_0ARGS, /* ACPI 6.0 */
1046       METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
1047 
1048     {{"_TSP", METHOD_0ARGS,
1049       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1050 
1051     {{"_TSS", METHOD_0ARGS,
1052       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int */
1053     PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5, 0, 0, 0),
1054 
1055     {{"_TST", METHOD_0ARGS,
1056       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1057 
1058     {{"_TTS", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1059       METHOD_NO_RETURN_VALUE}},
1060 
1061     {{"_TZD", METHOD_0ARGS,
1062       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */
1063     PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0),
1064 
1065     {{"_TZM", METHOD_0ARGS,
1066       METHOD_RETURNS(ACPI_RTYPE_REFERENCE)}},
1067 
1068     {{"_TZP", METHOD_0ARGS,
1069       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1070 
1071     {{"_UID", METHOD_0ARGS,
1072       METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},
1073 
1074     {{"_UPC", METHOD_0ARGS,
1075       METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */
1076     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),
1077 
1078     {{"_UPD", METHOD_0ARGS,
1079       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1080 
1081     {{"_UPP", METHOD_0ARGS,
1082       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1083 
1084     {{"_VPO", METHOD_0ARGS,
1085       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},
1086 
1087     /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */
1088 
1089     {{"_WAK", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1090       METHOD_RETURNS(ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER |
1091              ACPI_RTYPE_PACKAGE)}},
1092     PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0),    /* Fixed-length (2 Int), but is optional */
1093 
1094     /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */
1095 
1096     {{"_WDG", METHOD_0ARGS,
1097       METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},
1098 
1099     {{"_WED", METHOD_1ARGS(ACPI_TYPE_INTEGER),
1100       METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING |
1101              ACPI_RTYPE_BUFFER)}},
1102 
1103     {{"_WPC", METHOD_0ARGS,
1104       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */
1105 
1106     {{"_WPP", METHOD_0ARGS,
1107       METHOD_RETURNS(ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */
1108 
1109     PACKAGE_INFO(0, 0, 0, 0, 0, 0)  /* Table terminator */
1110 };
1111 #else
1112 extern const union acpi_predefined_info acpi_gbl_predefined_methods[];
1113 #endif
1114 
1115 #if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION)
1116 /******************************************************************************
1117  *
1118  * Predefined names for use in Resource Descriptors. These names do not
1119  * appear in the global Predefined Name table (since these names never
1120  * appear in actual AML byte code, only in the original ASL)
1121  *
1122  * Note: Used by iASL compiler and acpi_help utility only.
1123  *
1124  *****************************************************************************/
1125 
1126 const union acpi_predefined_info acpi_gbl_resource_names[] = {
1127     {{"_ADR", WIDTH_16 | WIDTH_64, 0}},
1128     {{"_ALN", WIDTH_8 | WIDTH_16 | WIDTH_32, 0}},
1129     {{"_ASI", WIDTH_8, 0}},
1130     {{"_ASZ", WIDTH_8, 0}},
1131     {{"_ATT", WIDTH_64, 0}},
1132     {{"_BAS", WIDTH_16 | WIDTH_32, 0}},
1133     {{"_BM_", WIDTH_1, 0}},
1134     {{"_DBT", WIDTH_16, 0}},    /* Acpi 5.0 */
1135     {{"_DEC", WIDTH_1, 0}},
1136     {{"_DMA", WIDTH_8, 0}},
1137     {{"_DPL", WIDTH_1, 0}}, /* Acpi 5.0 */
1138     {{"_DRS", WIDTH_16, 0}},    /* Acpi 5.0 */
1139     {{"_END", WIDTH_1, 0}}, /* Acpi 5.0 */
1140     {{"_FLC", WIDTH_2, 0}}, /* Acpi 5.0 */
1141     {{"_GRA", WIDTH_ADDRESS, 0}},
1142     {{"_HE_", WIDTH_1, 0}},
1143     {{"_INT", WIDTH_16 | WIDTH_32, 0}},
1144     {{"_IOR", WIDTH_2, 0}}, /* Acpi 5.0 */
1145     {{"_LEN", WIDTH_8 | WIDTH_ADDRESS, 0}},
1146     {{"_LIN", WIDTH_8, 0}}, /* Acpi 5.0 */
1147     {{"_LL_", WIDTH_1, 0}},
1148     {{"_MAF", WIDTH_1, 0}},
1149     {{"_MAX", WIDTH_ADDRESS, 0}},
1150     {{"_MEM", WIDTH_2, 0}},
1151     {{"_MIF", WIDTH_1, 0}},
1152     {{"_MIN", WIDTH_ADDRESS, 0}},
1153     {{"_MOD", WIDTH_1, 0}}, /* Acpi 5.0 */
1154     {{"_MTP", WIDTH_2, 0}},
1155     {{"_PAR", WIDTH_8, 0}}, /* Acpi 5.0 */
1156     {{"_PHA", WIDTH_1, 0}}, /* Acpi 5.0 */
1157     {{"_PIN", WIDTH_16, 0}},    /* Acpi 5.0 */
1158     {{"_PPI", WIDTH_8, 0}}, /* Acpi 5.0 */
1159     {{"_POL", WIDTH_1 | WIDTH_2, 0}},   /* Acpi 5.0 */
1160     {{"_RBO", WIDTH_8, 0}},
1161     {{"_RBW", WIDTH_8, 0}},
1162     {{"_RNG", WIDTH_1, 0}},
1163     {{"_RT_", WIDTH_8, 0}}, /* Acpi 3.0 */
1164     {{"_RW_", WIDTH_1, 0}},
1165     {{"_RXL", WIDTH_16, 0}},    /* Acpi 5.0 */
1166     {{"_SHR", WIDTH_2, 0}},
1167     {{"_SIZ", WIDTH_2, 0}},
1168     {{"_SLV", WIDTH_1, 0}}, /* Acpi 5.0 */
1169     {{"_SPE", WIDTH_32, 0}},    /* Acpi 5.0 */
1170     {{"_STB", WIDTH_2, 0}}, /* Acpi 5.0 */
1171     {{"_TRA", WIDTH_ADDRESS, 0}},
1172     {{"_TRS", WIDTH_1, 0}},
1173     {{"_TSF", WIDTH_8, 0}}, /* Acpi 3.0 */
1174     {{"_TTP", WIDTH_1, 0}},
1175     {{"_TXL", WIDTH_16, 0}},    /* Acpi 5.0 */
1176     {{"_TYP", WIDTH_2 | WIDTH_16, 0}},
1177     {{"_VEN", VARIABLE_DATA, 0}},   /* Acpi 5.0 */
1178     PACKAGE_INFO(0, 0, 0, 0, 0, 0)  /* Table terminator */
1179 };
1180 
1181 const union acpi_predefined_info acpi_gbl_scope_names[] = {
1182     {{"_GPE", 0, 0}},
1183     {{"_PR_", 0, 0}},
1184     {{"_SB_", 0, 0}},
1185     {{"_SI_", 0, 0}},
1186     {{"_TZ_", 0, 0}},
1187     PACKAGE_INFO(0, 0, 0, 0, 0, 0)  /* Table terminator */
1188 };
1189 #else
1190 extern const union acpi_predefined_info acpi_gbl_resource_names[];
1191 #endif
1192 
1193 #endif