Path: blob/main/sys/contrib/dev/acpica/include/acpredef.h
48287 views
/******************************************************************************1*2* Name: acpredef - Information table for ACPI predefined methods and objects3*4*****************************************************************************/56/******************************************************************************7*8* 1. Copyright Notice9*10* Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.11* All rights reserved.12*13* 2. License14*15* 2.1. This is your license from Intel Corp. under its intellectual property16* rights. You may have additional license terms from the party that provided17* you this software, covering your right to use that party's intellectual18* property rights.19*20* 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a21* copy of the source code appearing in this file ("Covered Code") an22* irrevocable, perpetual, worldwide license under Intel's copyrights in the23* base code distributed originally by Intel ("Original Intel Code") to copy,24* make derivatives, distribute, use and display any portion of the Covered25* Code in any form, with the right to sublicense such rights; and26*27* 2.3. Intel grants Licensee a non-exclusive and non-transferable patent28* license (with the right to sublicense), under only those claims of Intel29* patents that are infringed by the Original Intel Code, to make, use, sell,30* offer to sell, and import the Covered Code and derivative works thereof31* solely to the minimum extent necessary to exercise the above copyright32* license, and in no event shall the patent license extend to any additions33* to or modifications of the Original Intel Code. No other license or right34* is granted directly or by implication, estoppel or otherwise;35*36* The above copyright and patent license is granted only if the following37* conditions are met:38*39* 3. Conditions40*41* 3.1. Redistribution of Source with Rights to Further Distribute Source.42* Redistribution of source code of any substantial portion of the Covered43* Code or modification with rights to further distribute source must include44* the above Copyright Notice, the above License, this list of Conditions,45* and the following Disclaimer and Export Compliance provision. In addition,46* Licensee must cause all Covered Code to which Licensee contributes to47* contain a file documenting the changes Licensee made to create that Covered48* Code and the date of any change. Licensee must include in that file the49* documentation of any changes made by any predecessor Licensee. Licensee50* must include a prominent statement that the modification is derived,51* directly or indirectly, from Original Intel Code.52*53* 3.2. Redistribution of Source with no Rights to Further Distribute Source.54* Redistribution of source code of any substantial portion of the Covered55* Code or modification without rights to further distribute source must56* include the following Disclaimer and Export Compliance provision in the57* documentation and/or other materials provided with distribution. In58* addition, Licensee may not authorize further sublicense of source of any59* portion of the Covered Code, and must include terms to the effect that the60* license from Licensee to its licensee is limited to the intellectual61* property embodied in the software Licensee provides to its licensee, and62* not to intellectual property embodied in modifications its licensee may63* make.64*65* 3.3. Redistribution of Executable. Redistribution in executable form of any66* substantial portion of the Covered Code or modification must reproduce the67* above Copyright Notice, and the following Disclaimer and Export Compliance68* provision in the documentation and/or other materials provided with the69* distribution.70*71* 3.4. Intel retains all right, title, and interest in and to the Original72* Intel Code.73*74* 3.5. Neither the name Intel nor any other trademark owned or controlled by75* Intel shall be used in advertising or otherwise to promote the sale, use or76* other dealings in products derived from or relating to the Covered Code77* without prior written authorization from Intel.78*79* 4. Disclaimer and Export Compliance80*81* 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED82* HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE83* IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,84* INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY85* UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY86* IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A87* PARTICULAR PURPOSE.88*89* 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES90* OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR91* COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,92* SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY93* CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL94* HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS95* SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY96* LIMITED REMEDY.97*98* 4.3. Licensee shall not export, either directly or indirectly, any of this99* software or system incorporating such software without first obtaining any100* required license or other approval from the U. S. Department of Commerce or101* any other agency or department of the United States Government. In the102* event Licensee exports any such software from the United States or103* re-exports any such software from a foreign destination, Licensee shall104* ensure that the distribution and export/re-export of the software is in105* compliance with all laws, regulations, orders, or other restrictions of the106* U.S. Export Administration Regulations. Licensee agrees that neither it nor107* any of its subsidiaries will export/re-export any technical data, process,108* software, or service, directly or indirectly, to any country for which the109* United States government or any agency thereof requires an export license,110* other governmental approval, or letter of assurance, without first obtaining111* such license, approval or letter.112*113*****************************************************************************114*115* Alternatively, you may choose to be licensed under the terms of the116* following license:117*118* Redistribution and use in source and binary forms, with or without119* modification, are permitted provided that the following conditions120* are met:121* 1. Redistributions of source code must retain the above copyright122* notice, this list of conditions, and the following disclaimer,123* without modification.124* 2. Redistributions in binary form must reproduce at minimum a disclaimer125* substantially similar to the "NO WARRANTY" disclaimer below126* ("Disclaimer") and any redistribution must be conditioned upon127* including a substantially similar Disclaimer requirement for further128* binary redistribution.129* 3. Neither the names of the above-listed copyright holders nor the names130* of any contributors may be used to endorse or promote products derived131* from this software without specific prior written permission.132*133* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS134* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT135* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR136* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT137* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,138* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT139* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,140* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY141* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT142* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE143* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.144*145* Alternatively, you may choose to be licensed under the terms of the146* GNU General Public License ("GPL") version 2 as published by the Free147* Software Foundation.148*149*****************************************************************************/150151#ifndef __ACPREDEF_H__152#define __ACPREDEF_H__153154155/******************************************************************************156*157* Return Package types158*159* 1) PTYPE1 packages do not contain subpackages.160*161* ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types:162* object type163* count164* object type165* count166*167* ACPI_PTYPE1_VAR: Variable-length length. Zero-length package is allowed:168* object type (Int/Buf/Ref)169*170* ACPI_PTYPE1_OPTION: Package has some required and some optional elements171* (Used for _PRW)172*173*174* 2) PTYPE2 packages contain a Variable-length number of subpackages. Each175* of the different types describe the contents of each of the subpackages.176*177* ACPI_PTYPE2: Each subpackage contains 1 or 2 object types. Zero-length178* parent package is allowed:179* object type180* count181* object type182* count183* (Used for _ALR,_MLS,_PSS,_TRT,_TSS)184*185* ACPI_PTYPE2_COUNT: Each subpackage has a count as first element.186* Zero-length parent package is allowed:187* object type188* (Used for _CSD,_PSD,_TSD)189*190* ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types:191* object type192* count193* object type194* count195* (Used for _CST)196*197* ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length. Zero-length198* parent package is allowed.199* (Used for _PRT)200*201* ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length.202* Zero-length parent package is allowed:203* (Used for _HPX)204*205* ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length206* (Used for _ART, _FPS)207*208* ACPI_PTYPE2_FIX_VAR: Each subpackage consists of some fixed-length elements209* followed by an optional element. Zero-length parent package is allowed.210* object type211* count212* object type213* count = 0 (optional)214* (Used for _DLM)215*216* ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a217* constant or variable length. The subpackages are preceded by a218* constant number of objects.219* (Used for _LPI, _RDI)220*221* ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID222* defines the format of the package. Zero-length parent package is223* allowed.224* (Used for _DSD)225*226*****************************************************************************/227228enum AcpiReturnPackageTypes229{230ACPI_PTYPE1_FIXED = 1,231ACPI_PTYPE1_VAR = 2,232ACPI_PTYPE1_OPTION = 3,233ACPI_PTYPE2 = 4,234ACPI_PTYPE2_COUNT = 5,235ACPI_PTYPE2_PKG_COUNT = 6,236ACPI_PTYPE2_FIXED = 7,237ACPI_PTYPE2_MIN = 8,238ACPI_PTYPE2_REV_FIXED = 9,239ACPI_PTYPE2_FIX_VAR = 10,240ACPI_PTYPE2_VAR_VAR = 11,241ACPI_PTYPE2_UUID_PAIR = 12,242ACPI_PTYPE_CUSTOM = 13243};244245246/* Support macros for users of the predefined info table */247248#define METHOD_PREDEF_ARGS_MAX 5249#define METHOD_ARG_BIT_WIDTH 3250#define METHOD_ARG_MASK 0x0007251#define ARG_COUNT_IS_MINIMUM 0x8000252#define METHOD_MAX_ARG_TYPE ACPI_TYPE_PACKAGE253254#define METHOD_GET_ARG_COUNT(ArgList) ((ArgList) & METHOD_ARG_MASK)255#define METHOD_GET_NEXT_TYPE(ArgList) (((ArgList) >>= METHOD_ARG_BIT_WIDTH) & METHOD_ARG_MASK)256257/* Macros used to build the predefined info table */258259#define METHOD_0ARGS 0260#define METHOD_1ARGS(a1) (1 | (a1 << 3))261#define METHOD_2ARGS(a1,a2) (2 | (a1 << 3) | (a2 << 6))262#define METHOD_3ARGS(a1,a2,a3) (3 | (a1 << 3) | (a2 << 6) | (a3 << 9))263#define METHOD_4ARGS(a1,a2,a3,a4) (4 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12))264#define METHOD_5ARGS(a1,a2,a3,a4,a5) (5 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12) | (a5 << 15))265266#define METHOD_RETURNS(type) (type)267#define METHOD_NO_RETURN_VALUE 0268269#define PACKAGE_INFO(a,b,c,d,e,f) {{{(a),(b),(c),(d)}, ((((UINT16)(f)) << 8) | (e)), 0}}270271272/* Support macros for the resource descriptor info table */273274#define WIDTH_1 0x0001275#define WIDTH_2 0x0002276#define WIDTH_3 0x0004277#define WIDTH_8 0x0008278#define WIDTH_16 0x0010279#define WIDTH_32 0x0020280#define WIDTH_64 0x0040281#define VARIABLE_DATA 0x0080282#define NUM_RESOURCE_WIDTHS 8283284#define WIDTH_ADDRESS WIDTH_16 | WIDTH_32 | WIDTH_64285286287#ifdef ACPI_CREATE_PREDEFINED_TABLE288/******************************************************************************289*290* Predefined method/object information table.291*292* These are the names that can actually be evaluated via AcpiEvaluateObject.293* Not present in this table are the following:294*295* 1) Predefined/Reserved names that are not usually evaluated via296* AcpiEvaluateObject:297* _Lxx and _Exx GPE methods298* _Qxx EC methods299* _T_x compiler temporary variables300* _Wxx wake events301*302* 2) Predefined names that never actually exist within the AML code:303* Predefined resource descriptor field names304*305* 3) Predefined names that are implemented within ACPICA:306* _OSI307*308* The main entries in the table each contain the following items:309*310* Name - The ACPI reserved name311* ArgumentList - Contains (in 16 bits), the number of required312* arguments to the method (3 bits), and a 3-bit type313* field for each argument (up to 4 arguments). The314* METHOD_?ARGS macros generate the correct packed data.315* ExpectedBtypes - Allowed type(s) for the return value.316* 0 means that no return value is expected.317*318* For methods that return packages, the next entry in the table contains319* information about the expected structure of the package. This information320* is saved here (rather than in a separate table) in order to minimize the321* overall size of the stored data.322*323* Note: The additional braces are intended to promote portability.324*325* Note2: Table is used by the kernel-resident subsystem, the iASL compiler,326* and the AcpiHelp utility.327*328* TBD: _PRT - currently ignore reversed entries. Attempt to fix in nsrepair.329* Possibly fixing package elements like _BIF, etc.330*331*****************************************************************************/332333const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[] =334{335{{"_AC0", METHOD_0ARGS,336METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},337338{{"_AC1", METHOD_0ARGS,339METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},340341{{"_AC2", METHOD_0ARGS,342METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},343344{{"_AC3", METHOD_0ARGS,345METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},346347{{"_AC4", METHOD_0ARGS,348METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},349350{{"_AC5", METHOD_0ARGS,351METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},352353{{"_AC6", METHOD_0ARGS,354METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},355356{{"_AC7", METHOD_0ARGS,357METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},358359{{"_AC8", METHOD_0ARGS,360METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},361362{{"_AC9", METHOD_0ARGS,363METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},364365{{"_ADR", METHOD_0ARGS,366METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},367368{{"_AEI", METHOD_0ARGS,369METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},370371{{"_AL0", METHOD_0ARGS,372METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */373PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),374375{{"_AL1", METHOD_0ARGS,376METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */377PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),378379{{"_AL2", METHOD_0ARGS,380METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */381PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),382383{{"_AL3", METHOD_0ARGS,384METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */385PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),386387{{"_AL4", METHOD_0ARGS,388METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */389PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),390391{{"_AL5", METHOD_0ARGS,392METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */393PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),394395{{"_AL6", METHOD_0ARGS,396METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */397PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),398399{{"_AL7", METHOD_0ARGS,400METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */401PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),402403{{"_AL8", METHOD_0ARGS,404METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */405PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),406407{{"_AL9", METHOD_0ARGS,408METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */409PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),410411{{"_ALC", METHOD_0ARGS,412METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},413414{{"_ALI", METHOD_0ARGS,415METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},416417{{"_ALP", METHOD_0ARGS,418METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},419420{{"_ALR", METHOD_0ARGS,421METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 (Ints) */422PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2,0,0,0),423424{{"_ALT", METHOD_0ARGS,425METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},426427{{"_ART", METHOD_0ARGS,428METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */429PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 11,0),430431{{"_BBN", METHOD_0ARGS,432METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},433434{{"_BCL", METHOD_0ARGS,435METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */436PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),437438{{"_BCM", METHOD_1ARGS (ACPI_TYPE_INTEGER),439METHOD_NO_RETURN_VALUE}},440441{{"_BCT", METHOD_1ARGS (ACPI_TYPE_INTEGER),442METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},443444{{"_BDN", METHOD_0ARGS,445METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},446447{{"_BFS", METHOD_1ARGS (ACPI_TYPE_INTEGER),448METHOD_NO_RETURN_VALUE}},449450{{"_BIF", METHOD_0ARGS,451METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (9 Int),(4 Str) */452PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING, 4,0),453454{{"_BIX", METHOD_0ARGS,455METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int),(4 Str) */456PACKAGE_INFO (ACPI_PTYPE_CUSTOM, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4,0),457458{{"_BLT", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),459METHOD_NO_RETURN_VALUE}},460461{{"_BMA", METHOD_1ARGS (ACPI_TYPE_INTEGER),462METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},463464{{"_BMC", METHOD_1ARGS (ACPI_TYPE_INTEGER),465METHOD_NO_RETURN_VALUE}},466467{{"_BMD", METHOD_0ARGS,468METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */469PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0),470471{{"_BMS", METHOD_1ARGS (ACPI_TYPE_INTEGER),472METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},473474{{"_BPC", METHOD_0ARGS,475METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */476PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),477478{{"_BPS", METHOD_0ARGS,479METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */480PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0),481482{{"_BPT", METHOD_1ARGS (ACPI_TYPE_PACKAGE),483METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},484485{{"_BQC", METHOD_0ARGS,486METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},487488{{"_BST", METHOD_0ARGS,489METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */490PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),491492{{"_BTH", METHOD_1ARGS (ACPI_TYPE_INTEGER), /* ACPI 6.0 */493METHOD_NO_RETURN_VALUE}},494495{{"_BTM", METHOD_1ARGS (ACPI_TYPE_INTEGER),496METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},497498{{"_BTP", METHOD_1ARGS (ACPI_TYPE_INTEGER),499METHOD_NO_RETURN_VALUE}},500501{{"_CBA", METHOD_0ARGS,502METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See PCI firmware spec 3.0 */503504{{"_CBR", METHOD_0ARGS,505METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */506PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),507508{{"_CCA", METHOD_0ARGS,509METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 5.1 */510511{{"_CDM", METHOD_0ARGS,512METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},513514{{"_CID", METHOD_0ARGS,515METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Strs) */516PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,0,0,0),517518{{"_CLS", METHOD_0ARGS,519METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */520PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),521522{{"_CPC", METHOD_0ARGS,523METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Bufs) */524PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,0,0,0),525526{{"_CR3", METHOD_0ARGS, /* ACPI 6.0 */527METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},528529{{"_CRS", METHOD_0ARGS,530METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},531532{{"_CRT", METHOD_0ARGS,533METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},534535{{"_CSD", METHOD_0ARGS,536METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n-1 Int) */537PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0),538539{{"_CST", METHOD_0ARGS,540METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */541PACKAGE_INFO (ACPI_PTYPE2_PKG_COUNT,ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER, 3,0),542543{{"_CWS", METHOD_1ARGS (ACPI_TYPE_INTEGER),544METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},545546{{"_DCK", METHOD_1ARGS (ACPI_TYPE_INTEGER),547METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},548549{{"_DCS", METHOD_0ARGS,550METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},551552{{"_DDC", METHOD_1ARGS (ACPI_TYPE_INTEGER),553METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER)}},554555{{"_DDN", METHOD_0ARGS,556METHOD_RETURNS (ACPI_RTYPE_STRING)}},557558{{"_DEP", METHOD_0ARGS,559METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */560PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),561562{{"_DGS", METHOD_0ARGS,563METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},564565{{"_DIS", METHOD_0ARGS,566METHOD_NO_RETURN_VALUE}},567568{{"_DLM", METHOD_0ARGS,569METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Ref, 0/1 Optional Buf/Ref) */570PACKAGE_INFO (ACPI_PTYPE2_FIX_VAR, ACPI_RTYPE_REFERENCE, 1, ACPI_RTYPE_REFERENCE | ACPI_RTYPE_BUFFER, 0,0),571572{{"_DMA", METHOD_0ARGS,573METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},574575{{"_DOD", METHOD_0ARGS,576METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */577PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),578579{{"_DOS", METHOD_1ARGS (ACPI_TYPE_INTEGER),580METHOD_NO_RETURN_VALUE}},581582{ {"_DSC", METHOD_0ARGS,583METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},584585{{"_DSD", METHOD_0ARGS, /* ACPI 6.0 */586METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */587PACKAGE_INFO (ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_PACKAGE, 1,0),588589{{"_DSM", METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY) | ARG_COUNT_IS_MINIMUM,590METHOD_RETURNS (ACPI_RTYPE_ALL)}}, /* Must return a value, but it can be of any type */591592{{"_DSS", METHOD_1ARGS (ACPI_TYPE_INTEGER),593METHOD_NO_RETURN_VALUE}},594595{{"_DSW", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),596METHOD_NO_RETURN_VALUE}},597598{{"_DTI", METHOD_1ARGS (ACPI_TYPE_INTEGER),599METHOD_NO_RETURN_VALUE}},600601{{"_EC_", METHOD_0ARGS,602METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},603604{{"_EDL", METHOD_0ARGS,605METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs)*/606PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),607608{{"_EJ0", METHOD_1ARGS (ACPI_TYPE_INTEGER),609METHOD_NO_RETURN_VALUE}},610611{{"_EJ1", METHOD_1ARGS (ACPI_TYPE_INTEGER),612METHOD_NO_RETURN_VALUE}},613614{{"_EJ2", METHOD_1ARGS (ACPI_TYPE_INTEGER),615METHOD_NO_RETURN_VALUE}},616617{{"_EJ3", METHOD_1ARGS (ACPI_TYPE_INTEGER),618METHOD_NO_RETURN_VALUE}},619620{{"_EJ4", METHOD_1ARGS (ACPI_TYPE_INTEGER),621METHOD_NO_RETURN_VALUE}},622623{{"_EJD", METHOD_0ARGS,624METHOD_RETURNS (ACPI_RTYPE_STRING)}},625626{{"_ERR", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER),627METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* Internal use only, used by ACPICA test suites */628629{{"_EVT", METHOD_1ARGS (ACPI_TYPE_INTEGER),630METHOD_NO_RETURN_VALUE}},631632{{"_FDE", METHOD_0ARGS,633METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},634635{{"_FDI", METHOD_0ARGS,636METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int) */637PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16,0,0,0),638639{{"_FDM", METHOD_1ARGS (ACPI_TYPE_INTEGER),640METHOD_NO_RETURN_VALUE}},641642{{"_FIF", METHOD_0ARGS,643METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */644PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),645646{{"_FIT", METHOD_0ARGS,647METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, /* ACPI 6.0 */648649{{"_FIX", METHOD_0ARGS,650METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */651PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0),652653{{"_FPS", METHOD_0ARGS,654METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */655PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED,ACPI_RTYPE_INTEGER, 5, 0,0,0),656657{{"_FSL", METHOD_1ARGS (ACPI_TYPE_INTEGER),658METHOD_NO_RETURN_VALUE}},659660{{"_FST", METHOD_0ARGS,661METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */662PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),663664{{"_GAI", METHOD_0ARGS,665METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},666667{{"_GCP", METHOD_0ARGS,668METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},669670{{"_GHL", METHOD_0ARGS,671METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},672673{{"_GLK", METHOD_0ARGS,674METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},675676{{"_GPD", METHOD_0ARGS,677METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},678679{{"_GPE", METHOD_0ARGS,680METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* _GPE method, not _GPE scope */681682{{"_GRT", METHOD_0ARGS,683METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},684685{{"_GSB", METHOD_0ARGS,686METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},687688{{"_GTF", METHOD_0ARGS,689METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},690691{{"_GTM", METHOD_0ARGS,692METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},693694{{"_GTS", METHOD_1ARGS (ACPI_TYPE_INTEGER),695METHOD_NO_RETURN_VALUE}},696697{{"_GWS", METHOD_1ARGS (ACPI_TYPE_INTEGER),698METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},699700{{"_HID", METHOD_0ARGS,701METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},702703{{"_HMA", METHOD_0ARGS,704METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},705706{{"_HOT", METHOD_0ARGS,707METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},708709{{"_HPP", METHOD_0ARGS,710METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */711PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),712713/*714* For _HPX, a single package is returned, containing a variable-length number715* of subpackages. Each subpackage contains a PCI record setting.716* There are several different type of record settings, of different717* lengths, but all elements of all settings are Integers.718*/719{{"_HPX", METHOD_0ARGS,720METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (var Ints) */721PACKAGE_INFO (ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5,0,0,0),722723{{"_HRV", METHOD_0ARGS,724METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},725726{{"_IFT", METHOD_0ARGS,727METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */728729{{"_INI", METHOD_0ARGS,730METHOD_NO_RETURN_VALUE}},731732{{"_IRC", METHOD_0ARGS,733METHOD_NO_RETURN_VALUE}},734735{{"_LCK", METHOD_1ARGS (ACPI_TYPE_INTEGER),736METHOD_NO_RETURN_VALUE}},737738{{"_LID", METHOD_0ARGS,739METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},740741{{"_LPD", METHOD_0ARGS,742METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Int) */743PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0),744745{{"_LPI", METHOD_0ARGS, /* ACPI 6.0 */746METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (3 Int, n Pkg (10 Int/Buf) */747PACKAGE_INFO (ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3,748ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING, 10,0),749750{{"_LSI", METHOD_0ARGS,751METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}},752PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0),753754{{"_LSR", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),755METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}},756PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_BUFFER, 1,0),757758{{"_LSW", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),759METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},760761{{"_MAT", METHOD_0ARGS,762METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},763764{{"_MBM", METHOD_0ARGS,765METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (8 Int) */766PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8,0,0,0),767768{{"_MLS", METHOD_0ARGS,769METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Str/1 Buf) */770PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1,0),771772{{"_MSG", METHOD_1ARGS (ACPI_TYPE_INTEGER),773METHOD_NO_RETURN_VALUE}},774775{{"_MSM", METHOD_4ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),776METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},777778{{"_MTL", METHOD_0ARGS, /* ACPI 6.0 */779METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},780781{{"_NBS", METHOD_0ARGS, /* ACPI 6.3 */782METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},783784{{"_NCH", METHOD_0ARGS, /* ACPI 6.3 */785METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},786787{{"_NIC", METHOD_0ARGS, /* ACPI 6.3 */788METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},789790{{"_NIG", METHOD_0ARGS, /* ACPI 6.3 */791METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},792793{{"_NIH", METHOD_1ARGS (ACPI_TYPE_BUFFER), /* ACPI 6.3 */794METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},795796{{"_NTT", METHOD_0ARGS,797METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},798799{{"_OFF", METHOD_0ARGS,800METHOD_NO_RETURN_VALUE}},801802{{"_ON_", METHOD_0ARGS,803METHOD_NO_RETURN_VALUE}},804805{{"_OS_", METHOD_0ARGS,806METHOD_RETURNS (ACPI_RTYPE_STRING)}},807808{{"_OSC", METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),809METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},810811{{"_OST", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER),812METHOD_NO_RETURN_VALUE}},813814{{"_PAI", METHOD_1ARGS (ACPI_TYPE_INTEGER),815METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},816817{{"_PCL", METHOD_0ARGS,818METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */819PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),820821{{"_PCT", METHOD_0ARGS,822METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */823PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0),824825{{"_PDC", METHOD_1ARGS (ACPI_TYPE_BUFFER),826METHOD_NO_RETURN_VALUE}},827828{{"_PDL", METHOD_0ARGS,829METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},830831{{"_PIC", METHOD_1ARGS (ACPI_TYPE_INTEGER),832METHOD_NO_RETURN_VALUE}},833834{{"_PIF", METHOD_0ARGS,835METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int),(3 Str) */836PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_STRING, 3,0),837838{{"_PLD", METHOD_0ARGS,839METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Bufs) */840PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0,0,0,0),841842{{"_PMC", METHOD_0ARGS,843METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (11 Int),(3 Str) */844PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11, ACPI_RTYPE_STRING, 3,0),845846{{"_PMD", METHOD_0ARGS,847METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */848PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),849850{{"_PMM", METHOD_0ARGS,851METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},852853{{"_PPC", METHOD_0ARGS,854METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},855856{{"_PPE", METHOD_0ARGS,857METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See dig64 spec */858859{{"_PR0", METHOD_0ARGS,860METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */861PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),862863{{"_PR1", METHOD_0ARGS,864METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */865PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),866867{{"_PR2", METHOD_0ARGS,868METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */869PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),870871{{"_PR3", METHOD_0ARGS,872METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */873PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),874875{{"_PRE", METHOD_0ARGS,876METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */877PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),878879{{"_PRL", METHOD_0ARGS,880METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */881PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),882883{{"_PRR", METHOD_0ARGS, /* ACPI 6.0 */884METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Ref) */885PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1,0,0,0),886887{{"_PRS", METHOD_0ARGS,888METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},889890/*891* For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source892* and SourceIndex). This bug is so prevalent that there is code in the893* ACPICA Resource Manager to detect this and switch them back. For now,894* do not allow and issue a warning. To allow this and eliminate the895* warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3)896* in the statement below.897*/898{{"_PRT", METHOD_0ARGS,899METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */900PACKAGE_INFO (ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER, ACPI_RTYPE_INTEGER,901ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE, ACPI_RTYPE_INTEGER),902903{{"_PRW", METHOD_0ARGS,904METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */905PACKAGE_INFO (ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE,906ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0),907908{{"_PS0", METHOD_0ARGS,909METHOD_NO_RETURN_VALUE}},910911{{"_PS1", METHOD_0ARGS,912METHOD_NO_RETURN_VALUE}},913914{{"_PS2", METHOD_0ARGS,915METHOD_NO_RETURN_VALUE}},916917{{"_PS3", METHOD_0ARGS,918METHOD_NO_RETURN_VALUE}},919920{{"_PSC", METHOD_0ARGS,921METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},922923{{"_PSD", METHOD_0ARGS,924METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (5 Int) with count */925PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0),926927{{"_PSE", METHOD_1ARGS (ACPI_TYPE_INTEGER),928METHOD_NO_RETURN_VALUE}},929930{{"_PSL", METHOD_0ARGS,931METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */932PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),933934{{"_PSR", METHOD_0ARGS,935METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},936937{{"_PSS", METHOD_0ARGS,938METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (6 Int) */939PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6,0,0,0),940941{{"_PSV", METHOD_0ARGS,942METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},943944{{"_PSW", METHOD_1ARGS (ACPI_TYPE_INTEGER),945METHOD_NO_RETURN_VALUE}},946947{{"_PTC", METHOD_0ARGS,948METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */949PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0),950951{{"_PTP", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),952METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},953954{{"_PTS", METHOD_1ARGS (ACPI_TYPE_INTEGER),955METHOD_NO_RETURN_VALUE}},956957{{"_PUR", METHOD_0ARGS,958METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */959PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0),960961{{"_PXM", METHOD_0ARGS,962METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},963964{{"_RDI", METHOD_0ARGS, /* ACPI 6.0 */965METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int, n Pkg (m Ref)) */966PACKAGE_INFO (ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1,967ACPI_RTYPE_REFERENCE,0,0),968969{{"_REG", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),970METHOD_NO_RETURN_VALUE}},971972{{"_REV", METHOD_0ARGS,973METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},974975{{"_RMV", METHOD_0ARGS,976METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},977978{{"_ROM", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),979METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},980981{{"_RST", METHOD_0ARGS, /* ACPI 6.0 */982METHOD_NO_RETURN_VALUE}},983984{{"_RTV", METHOD_0ARGS,985METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},986987/*988* For _S0_ through _S5_, the ACPI spec defines a return Package989* containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers.990* Allow this by making the objects "Variable-length length", but all elements991* must be Integers.992*/993{{"_S0_", METHOD_0ARGS,994METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */995PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),996997{{"_S1_", METHOD_0ARGS,998METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */999PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),10001001{{"_S2_", METHOD_0ARGS,1002METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */1003PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),10041005{{"_S3_", METHOD_0ARGS,1006METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */1007PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),10081009{{"_S4_", METHOD_0ARGS,1010METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */1011PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),10121013{{"_S5_", METHOD_0ARGS,1014METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */1015PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0),10161017{{"_S1D", METHOD_0ARGS,1018METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10191020{{"_S2D", METHOD_0ARGS,1021METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10221023{{"_S3D", METHOD_0ARGS,1024METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10251026{{"_S4D", METHOD_0ARGS,1027METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10281029{{"_S0W", METHOD_0ARGS,1030METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10311032{{"_S1W", METHOD_0ARGS,1033METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10341035{{"_S2W", METHOD_0ARGS,1036METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10371038{{"_S3W", METHOD_0ARGS,1039METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10401041{{"_S4W", METHOD_0ARGS,1042METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10431044{{"_SBA", METHOD_0ARGS,1045METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */1046PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),10471048{{"_SBI", METHOD_0ARGS,1049METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int, 1 Buf) */1050PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_BUFFER,1,0),10511052{{"_SBR", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),1053METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */1054PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1,0),10551056{{"_SBS", METHOD_0ARGS,1057METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10581059{{"_SBT", METHOD_4ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY),1060METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int, 1 Buf | Int) */1061PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1,0),10621063{{"_SBW", METHOD_5ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY),1064METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}},1065PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0,0,0),10661067{{"_SCP", METHOD_1ARGS (ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM,1068METHOD_NO_RETURN_VALUE}}, /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */10691070{{"_SDD", METHOD_1ARGS (ACPI_TYPE_BUFFER),1071METHOD_NO_RETURN_VALUE}},10721073{{"_SEG", METHOD_0ARGS,1074METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10751076{{"_SHL", METHOD_1ARGS (ACPI_TYPE_INTEGER),1077METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10781079{{"_SLI", METHOD_0ARGS,1080METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},10811082{{"_SPD", METHOD_1ARGS (ACPI_TYPE_INTEGER),1083METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10841085{{"_SRS", METHOD_1ARGS (ACPI_TYPE_BUFFER),1086METHOD_NO_RETURN_VALUE}},10871088{{"_SRT", METHOD_1ARGS (ACPI_TYPE_BUFFER),1089METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10901091{{"_SRV", METHOD_0ARGS,1092METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */10931094{{"_SST", METHOD_1ARGS (ACPI_TYPE_INTEGER),1095METHOD_NO_RETURN_VALUE}},10961097{{"_STA", METHOD_0ARGS,1098METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},10991100{{"_STM", METHOD_3ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER),1101METHOD_NO_RETURN_VALUE}},11021103{{"_STP", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),1104METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11051106{{"_STR", METHOD_0ARGS,1107METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},11081109{{"_STV", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),1110METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11111112{{"_SUB", METHOD_0ARGS,1113METHOD_RETURNS (ACPI_RTYPE_STRING)}},11141115{{"_SUN", METHOD_0ARGS,1116METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11171118{{"_SWS", METHOD_0ARGS,1119METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11201121{{"_TC1", METHOD_0ARGS,1122METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11231124{{"_TC2", METHOD_0ARGS,1125METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11261127{{"_TDL", METHOD_0ARGS,1128METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11291130{{"_TFP", METHOD_0ARGS, /* ACPI 6.0 */1131METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11321133{{"_TIP", METHOD_1ARGS (ACPI_TYPE_INTEGER),1134METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11351136{{"_TIV", METHOD_1ARGS (ACPI_TYPE_INTEGER),1137METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11381139{{"_TMP", METHOD_0ARGS,1140METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11411142{{"_TPC", METHOD_0ARGS,1143METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11441145{{"_TPT", METHOD_1ARGS (ACPI_TYPE_INTEGER),1146METHOD_NO_RETURN_VALUE}},11471148{{"_TRT", METHOD_0ARGS,1149METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */1150PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 6, 0),11511152{{"_TSD", METHOD_0ARGS,1153METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int with count */1154PACKAGE_INFO (ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0,0,0),11551156{{"_TSN", METHOD_0ARGS, /* ACPI 6.0 */1157METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}},11581159{{"_TSP", METHOD_0ARGS,1160METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11611162{{"_TSS", METHOD_0ARGS,1163METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int */1164PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0,0,0),11651166{{"_TST", METHOD_0ARGS,1167METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11681169{{"_TTS", METHOD_1ARGS (ACPI_TYPE_INTEGER),1170METHOD_NO_RETURN_VALUE}},11711172{{"_TZD", METHOD_0ARGS,1173METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */1174PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0),11751176{{"_TZM", METHOD_0ARGS,1177METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}},11781179{{"_TZP", METHOD_0ARGS,1180METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11811182{{"_UID", METHOD_0ARGS,1183METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}},11841185{{"_UPC", METHOD_0ARGS,1186METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */1187PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0),11881189{{"_UPD", METHOD_0ARGS,1190METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11911192{{"_UPP", METHOD_0ARGS,1193METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11941195{{"_VPO", METHOD_0ARGS,1196METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},11971198/* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */11991200{{"_WAK", METHOD_1ARGS (ACPI_TYPE_INTEGER),1201METHOD_RETURNS (ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE)}},1202PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0), /* Fixed-length (2 Int), but is optional */12031204/* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */12051206{{"_WDG", METHOD_0ARGS,1207METHOD_RETURNS (ACPI_RTYPE_BUFFER)}},12081209{{"_WED", METHOD_1ARGS (ACPI_TYPE_INTEGER),1210METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER)}},12111212{{"_WPC", METHOD_0ARGS,1213METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */12141215{{"_WPP", METHOD_0ARGS,1216METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */12171218PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */1219};1220#else1221extern const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[];1222#endif122312241225#if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION)1226/******************************************************************************1227*1228* Predefined names for use in Resource Descriptors. These names do not1229* appear in the global Predefined Name table (since these names never1230* appear in actual AML byte code, only in the original ASL)1231*1232* Note: Used by iASL compiler and AcpiHelp utility only.1233*1234*****************************************************************************/12351236const ACPI_PREDEFINED_INFO AcpiGbl_ResourceNames[] =1237{1238{{"_ADR", WIDTH_16 | WIDTH_64, 0}},1239{{"_ALN", WIDTH_8 | WIDTH_16 | WIDTH_32, 0}},1240{{"_ASI", WIDTH_8, 0}},1241{{"_ASZ", WIDTH_8, 0}},1242{{"_ATT", WIDTH_64, 0}},1243{{"_BAS", WIDTH_16 | WIDTH_32, 0}},1244{{"_BM_", WIDTH_1, 0}},1245{{"_DBT", WIDTH_16, 0}}, /* Acpi 5.0 */1246{{"_DEC", WIDTH_1, 0}},1247{{"_DMA", WIDTH_8, 0}},1248{{"_DPL", WIDTH_1, 0}}, /* Acpi 5.0 */1249{{"_DRS", WIDTH_16, 0}}, /* Acpi 5.0 */1250{{"_END", WIDTH_1, 0}}, /* Acpi 5.0 */1251{{"_FLC", WIDTH_2, 0}}, /* Acpi 5.0 */1252{{"_GRA", WIDTH_ADDRESS, 0}},1253{{"_HE_", WIDTH_1, 0}},1254{{"_INT", WIDTH_16 | WIDTH_32, 0}},1255{{"_IOR", WIDTH_2, 0}}, /* Acpi 5.0 */1256{{"_LEN", WIDTH_8 | WIDTH_ADDRESS, 0}},1257{{"_LIN", WIDTH_8, 0}}, /* Acpi 5.0 */1258{{"_LL_", WIDTH_1, 0}},1259{{"_MAF", WIDTH_1, 0}},1260{{"_MAX", WIDTH_ADDRESS, 0}},1261{{"_MEM", WIDTH_2, 0}},1262{{"_MIF", WIDTH_1, 0}},1263{{"_MIN", WIDTH_ADDRESS, 0}},1264{{"_MOD", WIDTH_1, 0}}, /* Acpi 5.0 */1265{{"_MTP", WIDTH_2, 0}},1266{{"_PAR", WIDTH_8, 0}}, /* Acpi 5.0 */1267{{"_PHA", WIDTH_1, 0}}, /* Acpi 5.0 */1268{{"_PIN", WIDTH_16, 0}}, /* Acpi 5.0 */1269{{"_PPI", WIDTH_8, 0}}, /* Acpi 5.0 */1270{{"_POL", WIDTH_1 | WIDTH_2, 0}}, /* Acpi 5.0 */1271{{"_RBO", WIDTH_8, 0}},1272{{"_RBW", WIDTH_8, 0}},1273{{"_RNG", WIDTH_1, 0}},1274{{"_RT_", WIDTH_8, 0}}, /* Acpi 3.0 */1275{{"_RW_", WIDTH_1, 0}},1276{{"_RXL", WIDTH_16, 0}}, /* Acpi 5.0 */1277{{"_SHR", WIDTH_2, 0}},1278{{"_SIZ", WIDTH_2, 0}},1279{{"_SLV", WIDTH_1, 0}}, /* Acpi 5.0 */1280{{"_SPE", WIDTH_32, 0}}, /* Acpi 5.0 */1281{{"_STB", WIDTH_2, 0}}, /* Acpi 5.0 */1282{{"_TRA", WIDTH_ADDRESS, 0}},1283{{"_TRS", WIDTH_1, 0}},1284{{"_TSF", WIDTH_8, 0}}, /* Acpi 3.0 */1285{{"_TTP", WIDTH_1, 0}},1286{{"_TXL", WIDTH_16, 0}}, /* Acpi 5.0 */1287{{"_TYP", WIDTH_2 | WIDTH_16, 0}},1288{{"_VEN", VARIABLE_DATA, 0}}, /* Acpi 5.0 */1289PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */1290};12911292const ACPI_PREDEFINED_INFO AcpiGbl_ScopeNames[] = {1293{{"_GPE", 0, 0}},1294{{"_PR_", 0, 0}},1295{{"_SB_", 0, 0}},1296{{"_SI_", 0, 0}},1297{{"_TZ_", 0, 0}},1298PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */1299};1300#else1301extern const ACPI_PREDEFINED_INFO AcpiGbl_ResourceNames[];1302#endif13031304#endif130513061307