acpredef.h revision 193267
1193267Sjkim/****************************************************************************** 2193267Sjkim * 3193267Sjkim * Name: acpredef - Information table for ACPI predefined methods and objects 4193267Sjkim * 5193267Sjkim *****************************************************************************/ 6193267Sjkim 7193267Sjkim/****************************************************************************** 8193267Sjkim * 9193267Sjkim * 1. Copyright Notice 10193267Sjkim * 11193267Sjkim * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. 12193267Sjkim * All rights reserved. 13193267Sjkim * 14193267Sjkim * 2. License 15193267Sjkim * 16193267Sjkim * 2.1. This is your license from Intel Corp. under its intellectual property 17193267Sjkim * rights. You may have additional license terms from the party that provided 18193267Sjkim * you this software, covering your right to use that party's intellectual 19193267Sjkim * property rights. 20193267Sjkim * 21193267Sjkim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22193267Sjkim * copy of the source code appearing in this file ("Covered Code") an 23193267Sjkim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24193267Sjkim * base code distributed originally by Intel ("Original Intel Code") to copy, 25193267Sjkim * make derivatives, distribute, use and display any portion of the Covered 26193267Sjkim * Code in any form, with the right to sublicense such rights; and 27193267Sjkim * 28193267Sjkim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29193267Sjkim * license (with the right to sublicense), under only those claims of Intel 30193267Sjkim * patents that are infringed by the Original Intel Code, to make, use, sell, 31193267Sjkim * offer to sell, and import the Covered Code and derivative works thereof 32193267Sjkim * solely to the minimum extent necessary to exercise the above copyright 33193267Sjkim * license, and in no event shall the patent license extend to any additions 34193267Sjkim * to or modifications of the Original Intel Code. No other license or right 35193267Sjkim * is granted directly or by implication, estoppel or otherwise; 36193267Sjkim * 37193267Sjkim * The above copyright and patent license is granted only if the following 38193267Sjkim * conditions are met: 39193267Sjkim * 40193267Sjkim * 3. Conditions 41193267Sjkim * 42193267Sjkim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43193267Sjkim * Redistribution of source code of any substantial portion of the Covered 44193267Sjkim * Code or modification with rights to further distribute source must include 45193267Sjkim * the above Copyright Notice, the above License, this list of Conditions, 46193267Sjkim * and the following Disclaimer and Export Compliance provision. In addition, 47193267Sjkim * Licensee must cause all Covered Code to which Licensee contributes to 48193267Sjkim * contain a file documenting the changes Licensee made to create that Covered 49193267Sjkim * Code and the date of any change. Licensee must include in that file the 50193267Sjkim * documentation of any changes made by any predecessor Licensee. Licensee 51193267Sjkim * must include a prominent statement that the modification is derived, 52193267Sjkim * directly or indirectly, from Original Intel Code. 53193267Sjkim * 54193267Sjkim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55193267Sjkim * Redistribution of source code of any substantial portion of the Covered 56193267Sjkim * Code or modification without rights to further distribute source must 57193267Sjkim * include the following Disclaimer and Export Compliance provision in the 58193267Sjkim * documentation and/or other materials provided with distribution. In 59193267Sjkim * addition, Licensee may not authorize further sublicense of source of any 60193267Sjkim * portion of the Covered Code, and must include terms to the effect that the 61193267Sjkim * license from Licensee to its licensee is limited to the intellectual 62193267Sjkim * property embodied in the software Licensee provides to its licensee, and 63193267Sjkim * not to intellectual property embodied in modifications its licensee may 64193267Sjkim * make. 65193267Sjkim * 66193267Sjkim * 3.3. Redistribution of Executable. Redistribution in executable form of any 67193267Sjkim * substantial portion of the Covered Code or modification must reproduce the 68193267Sjkim * above Copyright Notice, and the following Disclaimer and Export Compliance 69193267Sjkim * provision in the documentation and/or other materials provided with the 70193267Sjkim * distribution. 71193267Sjkim * 72193267Sjkim * 3.4. Intel retains all right, title, and interest in and to the Original 73193267Sjkim * Intel Code. 74193267Sjkim * 75193267Sjkim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76193267Sjkim * Intel shall be used in advertising or otherwise to promote the sale, use or 77193267Sjkim * other dealings in products derived from or relating to the Covered Code 78193267Sjkim * without prior written authorization from Intel. 79193267Sjkim * 80193267Sjkim * 4. Disclaimer and Export Compliance 81193267Sjkim * 82193267Sjkim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83193267Sjkim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84193267Sjkim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85193267Sjkim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86193267Sjkim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87193267Sjkim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88193267Sjkim * PARTICULAR PURPOSE. 89193267Sjkim * 90193267Sjkim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91193267Sjkim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92193267Sjkim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93193267Sjkim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94193267Sjkim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95193267Sjkim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96193267Sjkim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97193267Sjkim * LIMITED REMEDY. 98193267Sjkim * 99193267Sjkim * 4.3. Licensee shall not export, either directly or indirectly, any of this 100193267Sjkim * software or system incorporating such software without first obtaining any 101193267Sjkim * required license or other approval from the U. S. Department of Commerce or 102193267Sjkim * any other agency or department of the United States Government. In the 103193267Sjkim * event Licensee exports any such software from the United States or 104193267Sjkim * re-exports any such software from a foreign destination, Licensee shall 105193267Sjkim * ensure that the distribution and export/re-export of the software is in 106193267Sjkim * compliance with all laws, regulations, orders, or other restrictions of the 107193267Sjkim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108193267Sjkim * any of its subsidiaries will export/re-export any technical data, process, 109193267Sjkim * software, or service, directly or indirectly, to any country for which the 110193267Sjkim * United States government or any agency thereof requires an export license, 111193267Sjkim * other governmental approval, or letter of assurance, without first obtaining 112193267Sjkim * such license, approval or letter. 113193267Sjkim * 114193267Sjkim *****************************************************************************/ 115193267Sjkim 116193267Sjkim#ifndef __ACPREDEF_H__ 117193267Sjkim#define __ACPREDEF_H__ 118193267Sjkim 119193267Sjkim 120193267Sjkim/****************************************************************************** 121193267Sjkim * 122193267Sjkim * Return Package types 123193267Sjkim * 124193267Sjkim * 1) PTYPE1 packages do not contain sub-packages. 125193267Sjkim * 126193267Sjkim * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types: 127193267Sjkim * object type 128193267Sjkim * count 129193267Sjkim * object type 130193267Sjkim * count 131193267Sjkim * 132193267Sjkim * ACPI_PTYPE1_VAR: Variable-length length: 133193267Sjkim * object type (Int/Buf/Ref) 134193267Sjkim * 135193267Sjkim * ACPI_PTYPE1_OPTION: Package has some required and some optional elements 136193267Sjkim * (Used for _PRW) 137193267Sjkim * 138193267Sjkim * 139193267Sjkim * 2) PTYPE2 packages contain a Variable-length number of sub-packages. Each of the 140193267Sjkim * different types describe the contents of each of the sub-packages. 141193267Sjkim * 142193267Sjkim * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types: 143193267Sjkim * object type 144193267Sjkim * count 145193267Sjkim * object type 146193267Sjkim * count 147193267Sjkim * (Used for _ALR,_MLS,_PSS,_TRT,_TSS) 148193267Sjkim * 149193267Sjkim * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element: 150193267Sjkim * object type 151193267Sjkim * (Used for _CSD,_PSD,_TSD) 152193267Sjkim * 153193267Sjkim * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types: 154193267Sjkim * object type 155193267Sjkim * count 156193267Sjkim * object type 157193267Sjkim * count 158193267Sjkim * (Used for _CST) 159193267Sjkim * 160193267Sjkim * ACPI_PTYPE2_Fixed-length: Each subpackage is of Fixed-length length 161193267Sjkim * (Used for _PRT) 162193267Sjkim * 163193267Sjkim * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length 164193267Sjkim * (Used for _HPX) 165193267Sjkim * 166193267Sjkim *****************************************************************************/ 167193267Sjkim 168193267Sjkimenum AcpiReturnPackageTypes 169193267Sjkim{ 170193267Sjkim ACPI_PTYPE1_FIXED = 1, 171193267Sjkim ACPI_PTYPE1_VAR = 2, 172193267Sjkim ACPI_PTYPE1_OPTION = 3, 173193267Sjkim ACPI_PTYPE2 = 4, 174193267Sjkim ACPI_PTYPE2_COUNT = 5, 175193267Sjkim ACPI_PTYPE2_PKG_COUNT = 6, 176193267Sjkim ACPI_PTYPE2_FIXED = 7, 177193267Sjkim ACPI_PTYPE2_MIN = 8 178193267Sjkim}; 179193267Sjkim 180193267Sjkim 181193267Sjkim/* 182193267Sjkim * Predefined method/object information table. 183193267Sjkim * 184193267Sjkim * These are the names that can actually be evaluated via AcpiEvaluateObject. 185193267Sjkim * Not present in this table are the following: 186193267Sjkim * 187193267Sjkim * 1) Predefined/Reserved names that are never evaluated via 188193267Sjkim * AcpiEvaluateObject: 189193267Sjkim * _Lxx and _Exx GPE methods 190193267Sjkim * _Qxx EC methods 191193267Sjkim * _T_x compiler temporary Variable-lengths 192193267Sjkim * 193193267Sjkim * 2) Predefined names that never actually exist within the AML code: 194193267Sjkim * Predefined resource descriptor field names 195193267Sjkim * 196193267Sjkim * 3) Predefined names that are implemented within ACPICA: 197193267Sjkim * _OSI 198193267Sjkim * 199193267Sjkim * 4) Some predefined names that are not documented within the ACPI spec. 200193267Sjkim * _WDG, _WED 201193267Sjkim * 202193267Sjkim * The main entries in the table each contain the following items: 203193267Sjkim * 204193267Sjkim * Name - The ACPI reserved name 205193267Sjkim * ParamCount - Number of arguments to the method 206193267Sjkim * ExpectedBtypes - Allowed type(s) for the return value. 207193267Sjkim * 0 means that no return value is expected. 208193267Sjkim * 209193267Sjkim * For methods that return packages, the next entry in the table contains 210193267Sjkim * information about the expected structure of the package. This information 211193267Sjkim * is saved here (rather than in a separate table) in order to minimize the 212193267Sjkim * overall size of the stored data. 213193267Sjkim * 214193267Sjkim * Note: The additional braces are intended to promote portability. 215193267Sjkim */ 216193267Sjkimstatic const ACPI_PREDEFINED_INFO PredefinedNames[] = 217193267Sjkim{ 218193267Sjkim {{"_AC0", 0, ACPI_RTYPE_INTEGER}}, 219193267Sjkim {{"_AC1", 0, ACPI_RTYPE_INTEGER}}, 220193267Sjkim {{"_AC2", 0, ACPI_RTYPE_INTEGER}}, 221193267Sjkim {{"_AC3", 0, ACPI_RTYPE_INTEGER}}, 222193267Sjkim {{"_AC4", 0, ACPI_RTYPE_INTEGER}}, 223193267Sjkim {{"_AC5", 0, ACPI_RTYPE_INTEGER}}, 224193267Sjkim {{"_AC6", 0, ACPI_RTYPE_INTEGER}}, 225193267Sjkim {{"_AC7", 0, ACPI_RTYPE_INTEGER}}, 226193267Sjkim {{"_AC8", 0, ACPI_RTYPE_INTEGER}}, 227193267Sjkim {{"_AC9", 0, ACPI_RTYPE_INTEGER}}, 228193267Sjkim {{"_ADR", 0, ACPI_RTYPE_INTEGER}}, 229193267Sjkim {{"_AL0", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 230193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 231193267Sjkim 232193267Sjkim {{"_AL1", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 233193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 234193267Sjkim 235193267Sjkim {{"_AL2", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 236193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 237193267Sjkim 238193267Sjkim {{"_AL3", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 239193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 240193267Sjkim 241193267Sjkim {{"_AL4", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 242193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 243193267Sjkim 244193267Sjkim {{"_AL5", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 245193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 246193267Sjkim 247193267Sjkim {{"_AL6", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 248193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 249193267Sjkim 250193267Sjkim {{"_AL7", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 251193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 252193267Sjkim 253193267Sjkim {{"_AL8", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 254193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 255193267Sjkim 256193267Sjkim {{"_AL9", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 257193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 258193267Sjkim 259193267Sjkim {{"_ALC", 0, ACPI_RTYPE_INTEGER}}, 260193267Sjkim {{"_ALI", 0, ACPI_RTYPE_INTEGER}}, 261193267Sjkim {{"_ALP", 0, ACPI_RTYPE_INTEGER}}, 262193267Sjkim {{"_ALR", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 2 (Ints) */ 263193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2,0}, 0,0}}, 264193267Sjkim 265193267Sjkim {{"_ALT", 0, ACPI_RTYPE_INTEGER}}, 266193267Sjkim {{"_BBN", 0, ACPI_RTYPE_INTEGER}}, 267193267Sjkim {{"_BCL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints) */ 268193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 269193267Sjkim 270193267Sjkim {{"_BCM", 1, 0}}, 271193267Sjkim {{"_BDN", 0, ACPI_RTYPE_INTEGER}}, 272193267Sjkim {{"_BFS", 1, 0}}, 273193267Sjkim {{"_BIF", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (9 Int),(4 Str) */ 274193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING}, 4,0}}, 275193267Sjkim 276193267Sjkim {{"_BLT", 3, 0}}, 277193267Sjkim {{"_BMC", 1, 0}}, 278193267Sjkim {{"_BMD", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (5 Int) */ 279193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 280193267Sjkim 281193267Sjkim {{"_BQC", 0, ACPI_RTYPE_INTEGER}}, 282193267Sjkim {{"_BST", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 283193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 284193267Sjkim 285193267Sjkim {{"_BTM", 1, ACPI_RTYPE_INTEGER}}, 286193267Sjkim {{"_BTP", 1, 0}}, 287193267Sjkim {{"_CBA", 0, ACPI_RTYPE_INTEGER}}, /* See PCI firmware spec 3.0 */ 288193267Sjkim {{"_CID", 0, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints/Strs) */ 289193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,0}, 0,0}}, 290193267Sjkim 291193267Sjkim {{"_CRS", 0, ACPI_RTYPE_BUFFER}}, 292193267Sjkim {{"_CRT", 0, ACPI_RTYPE_INTEGER}}, 293193267Sjkim {{"_CSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (1 Int(n), n-1 Int) */ 294193267Sjkim {{{ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 295193267Sjkim 296193267Sjkim {{"_CST", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */ 297193267Sjkim {{{ACPI_PTYPE2_PKG_COUNT,ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER}, 3,0}}, 298193267Sjkim 299193267Sjkim {{"_DCK", 1, ACPI_RTYPE_INTEGER}}, 300193267Sjkim {{"_DCS", 0, ACPI_RTYPE_INTEGER}}, 301193267Sjkim {{"_DDC", 1, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER}}, 302193267Sjkim {{"_DDN", 0, ACPI_RTYPE_STRING}}, 303193267Sjkim {{"_DGS", 0, ACPI_RTYPE_INTEGER}}, 304193267Sjkim {{"_DIS", 0, 0}}, 305193267Sjkim {{"_DMA", 0, ACPI_RTYPE_BUFFER}}, 306193267Sjkim {{"_DOD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints) */ 307193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 308193267Sjkim 309193267Sjkim {{"_DOS", 1, 0}}, 310193267Sjkim {{"_DSM", 4, ACPI_RTYPE_ALL}}, /* Must return a type, but it can be of any type */ 311193267Sjkim {{"_DSS", 1, 0}}, 312193267Sjkim {{"_DSW", 3, 0}}, 313193267Sjkim {{"_EC_", 0, ACPI_RTYPE_INTEGER}}, 314193267Sjkim {{"_EDL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs)*/ 315193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 316193267Sjkim 317193267Sjkim {{"_EJ0", 1, 0}}, 318193267Sjkim {{"_EJ1", 1, 0}}, 319193267Sjkim {{"_EJ2", 1, 0}}, 320193267Sjkim {{"_EJ3", 1, 0}}, 321193267Sjkim {{"_EJ4", 1, 0}}, 322193267Sjkim {{"_EJD", 0, ACPI_RTYPE_STRING}}, 323193267Sjkim {{"_FDE", 0, ACPI_RTYPE_BUFFER}}, 324193267Sjkim {{"_FDI", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (16 Int) */ 325193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16,0}, 0,0}}, 326193267Sjkim 327193267Sjkim {{"_FDM", 1, 0}}, 328193267Sjkim {{"_FIX", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints) */ 329193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 330193267Sjkim 331193267Sjkim {{"_GLK", 0, ACPI_RTYPE_INTEGER}}, 332193267Sjkim {{"_GPD", 0, ACPI_RTYPE_INTEGER}}, 333193267Sjkim {{"_GPE", 0, ACPI_RTYPE_INTEGER}}, /* _GPE method, not _GPE scope */ 334193267Sjkim {{"_GSB", 0, ACPI_RTYPE_INTEGER}}, 335193267Sjkim {{"_GTF", 0, ACPI_RTYPE_BUFFER}}, 336193267Sjkim {{"_GTM", 0, ACPI_RTYPE_BUFFER}}, 337193267Sjkim {{"_GTS", 1, 0}}, 338193267Sjkim {{"_HID", 0, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING}}, 339193267Sjkim {{"_HOT", 0, ACPI_RTYPE_INTEGER}}, 340193267Sjkim {{"_HPP", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 341193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 342193267Sjkim 343193267Sjkim /* 344193267Sjkim * For _HPX, a single package is returned, containing a Variable-length number 345193267Sjkim * of sub-packages. Each sub-package contains a PCI record setting. 346193267Sjkim * There are several different type of record settings, of different 347193267Sjkim * lengths, but all elements of all settings are Integers. 348193267Sjkim */ 349193267Sjkim {{"_HPX", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (var Ints) */ 350193267Sjkim {{{ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 351193267Sjkim 352193267Sjkim {{"_IFT", 0, ACPI_RTYPE_INTEGER}}, /* See IPMI spec */ 353193267Sjkim {{"_INI", 0, 0}}, 354193267Sjkim {{"_IRC", 0, 0}}, 355193267Sjkim {{"_LCK", 1, 0}}, 356193267Sjkim {{"_LID", 0, ACPI_RTYPE_INTEGER}}, 357193267Sjkim {{"_MAT", 0, ACPI_RTYPE_BUFFER}}, 358193267Sjkim {{"_MLS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (2 Str) */ 359193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_STRING, 2,0}, 0,0}}, 360193267Sjkim 361193267Sjkim {{"_MSG", 1, 0}}, 362193267Sjkim {{"_OFF", 0, 0}}, 363193267Sjkim {{"_ON_", 0, 0}}, 364193267Sjkim {{"_OS_", 0, ACPI_RTYPE_STRING}}, 365193267Sjkim {{"_OSC", 4, ACPI_RTYPE_BUFFER}}, 366193267Sjkim {{"_OST", 3, 0}}, 367193267Sjkim {{"_PCL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 368193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 369193267Sjkim 370193267Sjkim {{"_PCT", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (2 Buf) */ 371193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0}, 0,0}}, 372193267Sjkim 373193267Sjkim {{"_PDC", 1, 0}}, 374193267Sjkim {{"_PIC", 1, 0}}, 375193267Sjkim {{"_PLD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Bufs) */ 376193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0,0}, 0,0}}, 377193267Sjkim 378193267Sjkim {{"_PPC", 0, ACPI_RTYPE_INTEGER}}, 379193267Sjkim {{"_PPE", 0, ACPI_RTYPE_INTEGER}}, /* See dig64 spec */ 380193267Sjkim {{"_PR0", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 381193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 382193267Sjkim 383193267Sjkim {{"_PR1", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 384193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 385193267Sjkim 386193267Sjkim {{"_PR2", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 387193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 388193267Sjkim 389193267Sjkim {{"_PRS", 0, ACPI_RTYPE_BUFFER}}, 390193267Sjkim 391193267Sjkim /* 392193267Sjkim * For _PRT, many BIOSs reverse the 2nd and 3rd Package elements. This bug is so prevalent that there 393193267Sjkim * is code in the ACPICA Resource Manager to detect this and switch them back. For now, do not allow 394193267Sjkim * and issue a warning. To allow this and eliminate the warning, add the ACPI_RTYPE_REFERENCE 395193267Sjkim * type to the 2nd element (index 1) in the statement below. 396193267Sjkim */ 397193267Sjkim {{"_PRT", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */ 398193267Sjkim {{{ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER,ACPI_RTYPE_INTEGER}, 399193267Sjkim ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE,ACPI_RTYPE_INTEGER}}, 400193267Sjkim 401193267Sjkim {{"_PRW", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */ 402193267Sjkim {{{ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE, 403193267Sjkim ACPI_RTYPE_INTEGER}, ACPI_RTYPE_REFERENCE,0}}, 404193267Sjkim 405193267Sjkim {{"_PS0", 0, 0}}, 406193267Sjkim {{"_PS1", 0, 0}}, 407193267Sjkim {{"_PS2", 0, 0}}, 408193267Sjkim {{"_PS3", 0, 0}}, 409193267Sjkim {{"_PSC", 0, ACPI_RTYPE_INTEGER}}, 410193267Sjkim {{"_PSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (5 Int) with count */ 411193267Sjkim {{{ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER,0,0}, 0,0}}, 412193267Sjkim 413193267Sjkim {{"_PSL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 414193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 415193267Sjkim 416193267Sjkim {{"_PSR", 0, ACPI_RTYPE_INTEGER}}, 417193267Sjkim {{"_PSS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (6 Int) */ 418193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6,0}, 0,0}}, 419193267Sjkim 420193267Sjkim {{"_PSV", 0, ACPI_RTYPE_INTEGER}}, 421193267Sjkim {{"_PSW", 1, 0}}, 422193267Sjkim {{"_PTC", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (2 Buf) */ 423193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0}, 0,0}}, 424193267Sjkim 425193267Sjkim {{"_PTS", 1, 0}}, 426193267Sjkim {{"_PXM", 0, ACPI_RTYPE_INTEGER}}, 427193267Sjkim {{"_REG", 2, 0}}, 428193267Sjkim {{"_REV", 0, ACPI_RTYPE_INTEGER}}, 429193267Sjkim {{"_RMV", 0, ACPI_RTYPE_INTEGER}}, 430193267Sjkim {{"_ROM", 2, ACPI_RTYPE_BUFFER}}, 431193267Sjkim {{"_RTV", 0, ACPI_RTYPE_INTEGER}}, 432193267Sjkim 433193267Sjkim /* 434193267Sjkim * For _S0_ through _S5_, the ACPI spec defines a return Package 435193267Sjkim * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers. 436193267Sjkim * Allow this by making the objects "Variable-length length", but all elements 437193267Sjkim * must be Integers. 438193267Sjkim */ 439193267Sjkim {{"_S0_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 440193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 441193267Sjkim 442193267Sjkim {{"_S1_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 443193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 444193267Sjkim 445193267Sjkim {{"_S2_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 446193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 447193267Sjkim 448193267Sjkim {{"_S3_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 449193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 450193267Sjkim 451193267Sjkim {{"_S4_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 452193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 453193267Sjkim 454193267Sjkim {{"_S5_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 455193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 456193267Sjkim 457193267Sjkim {{"_S1D", 0, ACPI_RTYPE_INTEGER}}, 458193267Sjkim {{"_S2D", 0, ACPI_RTYPE_INTEGER}}, 459193267Sjkim {{"_S3D", 0, ACPI_RTYPE_INTEGER}}, 460193267Sjkim {{"_S4D", 0, ACPI_RTYPE_INTEGER}}, 461193267Sjkim {{"_S0W", 0, ACPI_RTYPE_INTEGER}}, 462193267Sjkim {{"_S1W", 0, ACPI_RTYPE_INTEGER}}, 463193267Sjkim {{"_S2W", 0, ACPI_RTYPE_INTEGER}}, 464193267Sjkim {{"_S3W", 0, ACPI_RTYPE_INTEGER}}, 465193267Sjkim {{"_S4W", 0, ACPI_RTYPE_INTEGER}}, 466193267Sjkim {{"_SBS", 0, ACPI_RTYPE_INTEGER}}, 467193267Sjkim {{"_SCP", 0x13, 0}}, /* Acpi 1.0 allowed 1 arg. Acpi 3.0 expanded to 3 args. Allow both. */ 468193267Sjkim /* Note: the 3-arg definition may be removed for ACPI 4.0 */ 469193267Sjkim {{"_SDD", 1, 0}}, 470193267Sjkim {{"_SEG", 0, ACPI_RTYPE_INTEGER}}, 471193267Sjkim {{"_SLI", 0, ACPI_RTYPE_BUFFER}}, 472193267Sjkim {{"_SPD", 1, ACPI_RTYPE_INTEGER}}, 473193267Sjkim {{"_SRS", 1, 0}}, 474193267Sjkim {{"_SRV", 0, ACPI_RTYPE_INTEGER}}, /* See IPMI spec */ 475193267Sjkim {{"_SST", 1, 0}}, 476193267Sjkim {{"_STA", 0, ACPI_RTYPE_INTEGER}}, 477193267Sjkim {{"_STM", 3, 0}}, 478193267Sjkim {{"_STR", 0, ACPI_RTYPE_BUFFER}}, 479193267Sjkim {{"_SUN", 0, ACPI_RTYPE_INTEGER}}, 480193267Sjkim {{"_SWS", 0, ACPI_RTYPE_INTEGER}}, 481193267Sjkim {{"_TC1", 0, ACPI_RTYPE_INTEGER}}, 482193267Sjkim {{"_TC2", 0, ACPI_RTYPE_INTEGER}}, 483193267Sjkim {{"_TMP", 0, ACPI_RTYPE_INTEGER}}, 484193267Sjkim {{"_TPC", 0, ACPI_RTYPE_INTEGER}}, 485193267Sjkim {{"_TPT", 1, 0}}, 486193267Sjkim {{"_TRT", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 2Ref/6Int */ 487193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER}, 6, 0}}, 488193267Sjkim 489193267Sjkim {{"_TSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5Int with count */ 490193267Sjkim {{{ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 491193267Sjkim 492193267Sjkim {{"_TSP", 0, ACPI_RTYPE_INTEGER}}, 493193267Sjkim {{"_TSS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5Int */ 494193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 495193267Sjkim 496193267Sjkim {{"_TST", 0, ACPI_RTYPE_INTEGER}}, 497193267Sjkim {{"_TTS", 1, 0}}, 498193267Sjkim {{"_TZD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 499193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 500193267Sjkim 501193267Sjkim {{"_TZM", 0, ACPI_RTYPE_REFERENCE}}, 502193267Sjkim {{"_TZP", 0, ACPI_RTYPE_INTEGER}}, 503193267Sjkim {{"_UID", 0, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING}}, 504193267Sjkim {{"_UPC", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 505193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 506193267Sjkim 507193267Sjkim {{"_UPD", 0, ACPI_RTYPE_INTEGER}}, 508193267Sjkim {{"_UPP", 0, ACPI_RTYPE_INTEGER}}, 509193267Sjkim {{"_VPO", 0, ACPI_RTYPE_INTEGER}}, 510193267Sjkim 511193267Sjkim /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */ 512193267Sjkim 513193267Sjkim {{"_WAK", 1, ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE}}, 514193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0}, 0,0}}, /* Fixed-length (2 Int), but is optional */ 515193267Sjkim 516193267Sjkim {{{0,0,0,0}, 0,0}} /* Table terminator */ 517193267Sjkim}; 518193267Sjkim 519193267Sjkim#if 0 520193267Sjkim /* Not implemented */ 521193267Sjkim 522193267Sjkim {{"_WDG", 0, ACPI_RTYPE_BUFFER}}, /* MS Extension */ 523193267Sjkim {{"_WED", 1, ACPI_RTYPE_PACKAGE}}, /* MS Extension */ 524193267Sjkim 525193267Sjkim /* This is an internally implemented control method, no need to check */ 526193267Sjkim {{"_OSI", 1, ACPI_RTYPE_INTEGER}}, 527193267Sjkim 528193267Sjkim /* TBD: */ 529193267Sjkim 530193267Sjkim _PRT - currently ignore reversed entries. Attempt to fix here? 531193267Sjkim Think about possibly fixing package elements like _BIF, etc. 532193267Sjkim#endif 533193267Sjkim 534193267Sjkim#endif 535