acpredef.h revision 217365
1193267Sjkim/****************************************************************************** 2193267Sjkim * 3193267Sjkim * Name: acpredef - Information table for ACPI predefined methods and objects 4193267Sjkim * 5193267Sjkim *****************************************************************************/ 6193267Sjkim 7217365Sjkim/* 8217365Sjkim * Copyright (C) 2000 - 2011, Intel Corp. 9193267Sjkim * All rights reserved. 10193267Sjkim * 11217365Sjkim * Redistribution and use in source and binary forms, with or without 12217365Sjkim * modification, are permitted provided that the following conditions 13217365Sjkim * are met: 14217365Sjkim * 1. Redistributions of source code must retain the above copyright 15217365Sjkim * notice, this list of conditions, and the following disclaimer, 16217365Sjkim * without modification. 17217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18217365Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 19217365Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 20217365Sjkim * including a substantially similar Disclaimer requirement for further 21217365Sjkim * binary redistribution. 22217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 23217365Sjkim * of any contributors may be used to endorse or promote products derived 24217365Sjkim * from this software without specific prior written permission. 25193267Sjkim * 26217365Sjkim * Alternatively, this software may be distributed under the terms of the 27217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 28217365Sjkim * Software Foundation. 29193267Sjkim * 30217365Sjkim * NO WARRANTY 31217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41217365Sjkim * POSSIBILITY OF SUCH DAMAGES. 42217365Sjkim */ 43193267Sjkim 44193267Sjkim#ifndef __ACPREDEF_H__ 45193267Sjkim#define __ACPREDEF_H__ 46193267Sjkim 47193267Sjkim 48193267Sjkim/****************************************************************************** 49193267Sjkim * 50193267Sjkim * Return Package types 51193267Sjkim * 52193267Sjkim * 1) PTYPE1 packages do not contain sub-packages. 53193267Sjkim * 54193267Sjkim * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types: 55193267Sjkim * object type 56193267Sjkim * count 57193267Sjkim * object type 58193267Sjkim * count 59193267Sjkim * 60193267Sjkim * ACPI_PTYPE1_VAR: Variable-length length: 61193267Sjkim * object type (Int/Buf/Ref) 62193267Sjkim * 63193267Sjkim * ACPI_PTYPE1_OPTION: Package has some required and some optional elements 64193267Sjkim * (Used for _PRW) 65193267Sjkim * 66193267Sjkim * 67197104Sjkim * 2) PTYPE2 packages contain a Variable-length number of sub-packages. Each 68197104Sjkim * of the different types describe the contents of each of the sub-packages. 69193267Sjkim * 70193267Sjkim * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types: 71193267Sjkim * object type 72193267Sjkim * count 73193267Sjkim * object type 74193267Sjkim * count 75193267Sjkim * (Used for _ALR,_MLS,_PSS,_TRT,_TSS) 76193267Sjkim * 77193267Sjkim * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element: 78193267Sjkim * object type 79193267Sjkim * (Used for _CSD,_PSD,_TSD) 80193267Sjkim * 81193267Sjkim * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types: 82193267Sjkim * object type 83193267Sjkim * count 84193267Sjkim * object type 85193267Sjkim * count 86193267Sjkim * (Used for _CST) 87193267Sjkim * 88197104Sjkim * ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length 89193267Sjkim * (Used for _PRT) 90193267Sjkim * 91193267Sjkim * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length 92193267Sjkim * (Used for _HPX) 93193267Sjkim * 94197104Sjkim * ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length 95197104Sjkim * (Used for _ART, _FPS) 96197104Sjkim * 97193267Sjkim *****************************************************************************/ 98193267Sjkim 99193267Sjkimenum AcpiReturnPackageTypes 100193267Sjkim{ 101193267Sjkim ACPI_PTYPE1_FIXED = 1, 102193267Sjkim ACPI_PTYPE1_VAR = 2, 103193267Sjkim ACPI_PTYPE1_OPTION = 3, 104193267Sjkim ACPI_PTYPE2 = 4, 105193267Sjkim ACPI_PTYPE2_COUNT = 5, 106193267Sjkim ACPI_PTYPE2_PKG_COUNT = 6, 107193267Sjkim ACPI_PTYPE2_FIXED = 7, 108197104Sjkim ACPI_PTYPE2_MIN = 8, 109197104Sjkim ACPI_PTYPE2_REV_FIXED = 9 110193267Sjkim}; 111193267Sjkim 112193267Sjkim 113197104Sjkim#ifdef ACPI_CREATE_PREDEFINED_TABLE 114193267Sjkim/* 115193267Sjkim * Predefined method/object information table. 116193267Sjkim * 117193267Sjkim * These are the names that can actually be evaluated via AcpiEvaluateObject. 118193267Sjkim * Not present in this table are the following: 119193267Sjkim * 120193267Sjkim * 1) Predefined/Reserved names that are never evaluated via 121193267Sjkim * AcpiEvaluateObject: 122193267Sjkim * _Lxx and _Exx GPE methods 123193267Sjkim * _Qxx EC methods 124197104Sjkim * _T_x compiler temporary variables 125193267Sjkim * 126193267Sjkim * 2) Predefined names that never actually exist within the AML code: 127193267Sjkim * Predefined resource descriptor field names 128193267Sjkim * 129193267Sjkim * 3) Predefined names that are implemented within ACPICA: 130193267Sjkim * _OSI 131193267Sjkim * 132193267Sjkim * 4) Some predefined names that are not documented within the ACPI spec. 133193267Sjkim * _WDG, _WED 134193267Sjkim * 135193267Sjkim * The main entries in the table each contain the following items: 136193267Sjkim * 137193267Sjkim * Name - The ACPI reserved name 138193267Sjkim * ParamCount - Number of arguments to the method 139193267Sjkim * ExpectedBtypes - Allowed type(s) for the return value. 140193267Sjkim * 0 means that no return value is expected. 141193267Sjkim * 142193267Sjkim * For methods that return packages, the next entry in the table contains 143193267Sjkim * information about the expected structure of the package. This information 144193267Sjkim * is saved here (rather than in a separate table) in order to minimize the 145193267Sjkim * overall size of the stored data. 146193267Sjkim * 147193267Sjkim * Note: The additional braces are intended to promote portability. 148193267Sjkim */ 149193267Sjkimstatic const ACPI_PREDEFINED_INFO PredefinedNames[] = 150193267Sjkim{ 151193267Sjkim {{"_AC0", 0, ACPI_RTYPE_INTEGER}}, 152193267Sjkim {{"_AC1", 0, ACPI_RTYPE_INTEGER}}, 153193267Sjkim {{"_AC2", 0, ACPI_RTYPE_INTEGER}}, 154193267Sjkim {{"_AC3", 0, ACPI_RTYPE_INTEGER}}, 155193267Sjkim {{"_AC4", 0, ACPI_RTYPE_INTEGER}}, 156193267Sjkim {{"_AC5", 0, ACPI_RTYPE_INTEGER}}, 157193267Sjkim {{"_AC6", 0, ACPI_RTYPE_INTEGER}}, 158193267Sjkim {{"_AC7", 0, ACPI_RTYPE_INTEGER}}, 159193267Sjkim {{"_AC8", 0, ACPI_RTYPE_INTEGER}}, 160193267Sjkim {{"_AC9", 0, ACPI_RTYPE_INTEGER}}, 161193267Sjkim {{"_ADR", 0, ACPI_RTYPE_INTEGER}}, 162193267Sjkim {{"_AL0", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 163193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 164193267Sjkim 165193267Sjkim {{"_AL1", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 166193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 167193267Sjkim 168193267Sjkim {{"_AL2", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 169193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 170193267Sjkim 171193267Sjkim {{"_AL3", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 172193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 173193267Sjkim 174193267Sjkim {{"_AL4", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 175193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 176193267Sjkim 177193267Sjkim {{"_AL5", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 178193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 179193267Sjkim 180193267Sjkim {{"_AL6", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 181193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 182193267Sjkim 183193267Sjkim {{"_AL7", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 184193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 185193267Sjkim 186193267Sjkim {{"_AL8", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 187193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 188193267Sjkim 189193267Sjkim {{"_AL9", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 190193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 191193267Sjkim 192193267Sjkim {{"_ALC", 0, ACPI_RTYPE_INTEGER}}, 193193267Sjkim {{"_ALI", 0, ACPI_RTYPE_INTEGER}}, 194193267Sjkim {{"_ALP", 0, ACPI_RTYPE_INTEGER}}, 195193267Sjkim {{"_ALR", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 2 (Ints) */ 196193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2,0}, 0,0}}, 197193267Sjkim 198193267Sjkim {{"_ALT", 0, ACPI_RTYPE_INTEGER}}, 199197104Sjkim {{"_ART", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */ 200197104Sjkim {{{ACPI_PTYPE2_REV_FIXED,ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER}, 11,0}}, 201197104Sjkim 202193267Sjkim {{"_BBN", 0, ACPI_RTYPE_INTEGER}}, 203193267Sjkim {{"_BCL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints) */ 204193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 205193267Sjkim 206193267Sjkim {{"_BCM", 1, 0}}, 207197104Sjkim {{"_BCT", 1, ACPI_RTYPE_INTEGER}}, 208193267Sjkim {{"_BDN", 0, ACPI_RTYPE_INTEGER}}, 209193267Sjkim {{"_BFS", 1, 0}}, 210193267Sjkim {{"_BIF", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (9 Int),(4 Str) */ 211193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING}, 4,0}}, 212193267Sjkim 213197104Sjkim {{"_BIX", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (16 Int),(4 Str) */ 214197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING}, 4,0}}, 215197104Sjkim 216193267Sjkim {{"_BLT", 3, 0}}, 217197104Sjkim {{"_BMA", 1, ACPI_RTYPE_INTEGER}}, 218193267Sjkim {{"_BMC", 1, 0}}, 219193267Sjkim {{"_BMD", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (5 Int) */ 220193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 221193267Sjkim 222197104Sjkim {{"_BMS", 1, ACPI_RTYPE_INTEGER}}, 223193267Sjkim {{"_BQC", 0, ACPI_RTYPE_INTEGER}}, 224193267Sjkim {{"_BST", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 225193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 226193267Sjkim 227193267Sjkim {{"_BTM", 1, ACPI_RTYPE_INTEGER}}, 228193267Sjkim {{"_BTP", 1, 0}}, 229193267Sjkim {{"_CBA", 0, ACPI_RTYPE_INTEGER}}, /* See PCI firmware spec 3.0 */ 230197104Sjkim {{"_CDM", 0, ACPI_RTYPE_INTEGER}}, 231193267Sjkim {{"_CID", 0, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints/Strs) */ 232193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,0}, 0,0}}, 233193267Sjkim 234193267Sjkim {{"_CRS", 0, ACPI_RTYPE_BUFFER}}, 235193267Sjkim {{"_CRT", 0, ACPI_RTYPE_INTEGER}}, 236193267Sjkim {{"_CSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (1 Int(n), n-1 Int) */ 237193267Sjkim {{{ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 238193267Sjkim 239193267Sjkim {{"_CST", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */ 240193267Sjkim {{{ACPI_PTYPE2_PKG_COUNT,ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER}, 3,0}}, 241193267Sjkim 242193267Sjkim {{"_DCK", 1, ACPI_RTYPE_INTEGER}}, 243193267Sjkim {{"_DCS", 0, ACPI_RTYPE_INTEGER}}, 244193267Sjkim {{"_DDC", 1, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER}}, 245193267Sjkim {{"_DDN", 0, ACPI_RTYPE_STRING}}, 246193267Sjkim {{"_DGS", 0, ACPI_RTYPE_INTEGER}}, 247193267Sjkim {{"_DIS", 0, 0}}, 248193267Sjkim {{"_DMA", 0, ACPI_RTYPE_BUFFER}}, 249193267Sjkim {{"_DOD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints) */ 250193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 251193267Sjkim 252193267Sjkim {{"_DOS", 1, 0}}, 253193267Sjkim {{"_DSM", 4, ACPI_RTYPE_ALL}}, /* Must return a type, but it can be of any type */ 254193267Sjkim {{"_DSS", 1, 0}}, 255193267Sjkim {{"_DSW", 3, 0}}, 256197104Sjkim {{"_DTI", 1, 0}}, 257193267Sjkim {{"_EC_", 0, ACPI_RTYPE_INTEGER}}, 258193267Sjkim {{"_EDL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs)*/ 259193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 260193267Sjkim 261193267Sjkim {{"_EJ0", 1, 0}}, 262193267Sjkim {{"_EJ1", 1, 0}}, 263193267Sjkim {{"_EJ2", 1, 0}}, 264193267Sjkim {{"_EJ3", 1, 0}}, 265193267Sjkim {{"_EJ4", 1, 0}}, 266193267Sjkim {{"_EJD", 0, ACPI_RTYPE_STRING}}, 267193267Sjkim {{"_FDE", 0, ACPI_RTYPE_BUFFER}}, 268193267Sjkim {{"_FDI", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (16 Int) */ 269193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16,0}, 0,0}}, 270193267Sjkim 271193267Sjkim {{"_FDM", 1, 0}}, 272197104Sjkim {{"_FIF", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 273197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 274197104Sjkim 275193267Sjkim {{"_FIX", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Ints) */ 276193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0}, 0,0}}, 277193267Sjkim 278197104Sjkim {{"_FPS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */ 279197104Sjkim {{{ACPI_PTYPE2_REV_FIXED,ACPI_RTYPE_INTEGER, 5, 0}, 0,0}}, 280197104Sjkim 281197104Sjkim {{"_FSL", 1, 0}}, 282197104Sjkim {{"_FST", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (3 Int) */ 283197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0}, 0,0}}, 284197104Sjkim 285197104Sjkim 286197104Sjkim {{"_GAI", 0, ACPI_RTYPE_INTEGER}}, 287197104Sjkim {{"_GHL", 0, ACPI_RTYPE_INTEGER}}, 288193267Sjkim {{"_GLK", 0, ACPI_RTYPE_INTEGER}}, 289193267Sjkim {{"_GPD", 0, ACPI_RTYPE_INTEGER}}, 290193267Sjkim {{"_GPE", 0, ACPI_RTYPE_INTEGER}}, /* _GPE method, not _GPE scope */ 291193267Sjkim {{"_GSB", 0, ACPI_RTYPE_INTEGER}}, 292193267Sjkim {{"_GTF", 0, ACPI_RTYPE_BUFFER}}, 293193267Sjkim {{"_GTM", 0, ACPI_RTYPE_BUFFER}}, 294193267Sjkim {{"_GTS", 1, 0}}, 295193267Sjkim {{"_HID", 0, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING}}, 296193267Sjkim {{"_HOT", 0, ACPI_RTYPE_INTEGER}}, 297193267Sjkim {{"_HPP", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 298193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 299193267Sjkim 300193267Sjkim /* 301193267Sjkim * For _HPX, a single package is returned, containing a Variable-length number 302193267Sjkim * of sub-packages. Each sub-package contains a PCI record setting. 303193267Sjkim * There are several different type of record settings, of different 304193267Sjkim * lengths, but all elements of all settings are Integers. 305193267Sjkim */ 306193267Sjkim {{"_HPX", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (var Ints) */ 307193267Sjkim {{{ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 308193267Sjkim 309193267Sjkim {{"_IFT", 0, ACPI_RTYPE_INTEGER}}, /* See IPMI spec */ 310193267Sjkim {{"_INI", 0, 0}}, 311193267Sjkim {{"_IRC", 0, 0}}, 312193267Sjkim {{"_LCK", 1, 0}}, 313193267Sjkim {{"_LID", 0, ACPI_RTYPE_INTEGER}}, 314193267Sjkim {{"_MAT", 0, ACPI_RTYPE_BUFFER}}, 315197104Sjkim {{"_MBM", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (8 Int) */ 316197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8,0}, 0,0}}, 317197104Sjkim 318193267Sjkim {{"_MLS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (2 Str) */ 319193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_STRING, 2,0}, 0,0}}, 320193267Sjkim 321193267Sjkim {{"_MSG", 1, 0}}, 322197104Sjkim {{"_MSM", 4, ACPI_RTYPE_INTEGER}}, 323197104Sjkim {{"_NTT", 0, ACPI_RTYPE_INTEGER}}, 324193267Sjkim {{"_OFF", 0, 0}}, 325193267Sjkim {{"_ON_", 0, 0}}, 326193267Sjkim {{"_OS_", 0, ACPI_RTYPE_STRING}}, 327193267Sjkim {{"_OSC", 4, ACPI_RTYPE_BUFFER}}, 328193267Sjkim {{"_OST", 3, 0}}, 329197104Sjkim {{"_PAI", 1, ACPI_RTYPE_INTEGER}}, 330193267Sjkim {{"_PCL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 331193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 332193267Sjkim 333193267Sjkim {{"_PCT", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (2 Buf) */ 334193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0}, 0,0}}, 335193267Sjkim 336193267Sjkim {{"_PDC", 1, 0}}, 337197104Sjkim {{"_PDL", 0, ACPI_RTYPE_INTEGER}}, 338193267Sjkim {{"_PIC", 1, 0}}, 339197104Sjkim {{"_PIF", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (3 Int),(3 Str) */ 340197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_STRING}, 3,0}}, 341197104Sjkim 342193267Sjkim {{"_PLD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Bufs) */ 343193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0,0}, 0,0}}, 344193267Sjkim 345197104Sjkim {{"_PMC", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (11 Int),(3 Str) */ 346197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11, ACPI_RTYPE_STRING}, 3,0}}, 347197104Sjkim 348197104Sjkim {{"_PMD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 349197104Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 350197104Sjkim 351197104Sjkim {{"_PMM", 0, ACPI_RTYPE_INTEGER}}, 352193267Sjkim {{"_PPC", 0, ACPI_RTYPE_INTEGER}}, 353193267Sjkim {{"_PPE", 0, ACPI_RTYPE_INTEGER}}, /* See dig64 spec */ 354193267Sjkim {{"_PR0", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 355193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 356193267Sjkim 357193267Sjkim {{"_PR1", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 358193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 359193267Sjkim 360193267Sjkim {{"_PR2", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 361193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 362193267Sjkim 363197104Sjkim {{"_PR3", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 364197104Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 365197104Sjkim 366197104Sjkim {{"_PRL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 367197104Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 368197104Sjkim 369193267Sjkim {{"_PRS", 0, ACPI_RTYPE_BUFFER}}, 370193267Sjkim 371193267Sjkim /* 372197104Sjkim * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source 373197104Sjkim * and SourceIndex). This bug is so prevalent that there is code in the 374197104Sjkim * ACPICA Resource Manager to detect this and switch them back. For now, 375197104Sjkim * do not allow and issue a warning. To allow this and eliminate the 376197104Sjkim * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3) 377197104Sjkim * in the statement below. 378193267Sjkim */ 379193267Sjkim {{"_PRT", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */ 380193267Sjkim {{{ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER,ACPI_RTYPE_INTEGER}, 381197104Sjkim ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE, 382197104Sjkim ACPI_RTYPE_INTEGER}}, 383193267Sjkim 384193267Sjkim {{"_PRW", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */ 385193267Sjkim {{{ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE, 386193267Sjkim ACPI_RTYPE_INTEGER}, ACPI_RTYPE_REFERENCE,0}}, 387193267Sjkim 388193267Sjkim {{"_PS0", 0, 0}}, 389193267Sjkim {{"_PS1", 0, 0}}, 390193267Sjkim {{"_PS2", 0, 0}}, 391193267Sjkim {{"_PS3", 0, 0}}, 392193267Sjkim {{"_PSC", 0, ACPI_RTYPE_INTEGER}}, 393193267Sjkim {{"_PSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (5 Int) with count */ 394193267Sjkim {{{ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER,0,0}, 0,0}}, 395193267Sjkim 396193267Sjkim {{"_PSL", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 397193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 398193267Sjkim 399193267Sjkim {{"_PSR", 0, ACPI_RTYPE_INTEGER}}, 400193267Sjkim {{"_PSS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each (6 Int) */ 401193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6,0}, 0,0}}, 402193267Sjkim 403193267Sjkim {{"_PSV", 0, ACPI_RTYPE_INTEGER}}, 404193267Sjkim {{"_PSW", 1, 0}}, 405193267Sjkim {{"_PTC", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (2 Buf) */ 406193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0}, 0,0}}, 407193267Sjkim 408197104Sjkim {{"_PTP", 2, ACPI_RTYPE_INTEGER}}, 409193267Sjkim {{"_PTS", 1, 0}}, 410197104Sjkim {{"_PUR", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (2 Int) */ 411197104Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0}, 0,0}}, 412197104Sjkim 413193267Sjkim {{"_PXM", 0, ACPI_RTYPE_INTEGER}}, 414193267Sjkim {{"_REG", 2, 0}}, 415193267Sjkim {{"_REV", 0, ACPI_RTYPE_INTEGER}}, 416193267Sjkim {{"_RMV", 0, ACPI_RTYPE_INTEGER}}, 417193267Sjkim {{"_ROM", 2, ACPI_RTYPE_BUFFER}}, 418193267Sjkim {{"_RTV", 0, ACPI_RTYPE_INTEGER}}, 419193267Sjkim 420193267Sjkim /* 421193267Sjkim * For _S0_ through _S5_, the ACPI spec defines a return Package 422193267Sjkim * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers. 423193267Sjkim * Allow this by making the objects "Variable-length length", but all elements 424193267Sjkim * must be Integers. 425193267Sjkim */ 426193267Sjkim {{"_S0_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 427193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 428193267Sjkim 429193267Sjkim {{"_S1_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 430193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 431193267Sjkim 432193267Sjkim {{"_S2_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 433193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 434193267Sjkim 435193267Sjkim {{"_S3_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 436193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 437193267Sjkim 438193267Sjkim {{"_S4_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 439193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 440193267Sjkim 441193267Sjkim {{"_S5_", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (1 Int) */ 442193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0}, 0,0}}, 443193267Sjkim 444193267Sjkim {{"_S1D", 0, ACPI_RTYPE_INTEGER}}, 445193267Sjkim {{"_S2D", 0, ACPI_RTYPE_INTEGER}}, 446193267Sjkim {{"_S3D", 0, ACPI_RTYPE_INTEGER}}, 447193267Sjkim {{"_S4D", 0, ACPI_RTYPE_INTEGER}}, 448193267Sjkim {{"_S0W", 0, ACPI_RTYPE_INTEGER}}, 449193267Sjkim {{"_S1W", 0, ACPI_RTYPE_INTEGER}}, 450193267Sjkim {{"_S2W", 0, ACPI_RTYPE_INTEGER}}, 451193267Sjkim {{"_S3W", 0, ACPI_RTYPE_INTEGER}}, 452193267Sjkim {{"_S4W", 0, ACPI_RTYPE_INTEGER}}, 453193267Sjkim {{"_SBS", 0, ACPI_RTYPE_INTEGER}}, 454193267Sjkim {{"_SCP", 0x13, 0}}, /* Acpi 1.0 allowed 1 arg. Acpi 3.0 expanded to 3 args. Allow both. */ 455193267Sjkim /* Note: the 3-arg definition may be removed for ACPI 4.0 */ 456193267Sjkim {{"_SDD", 1, 0}}, 457193267Sjkim {{"_SEG", 0, ACPI_RTYPE_INTEGER}}, 458197104Sjkim {{"_SHL", 1, ACPI_RTYPE_INTEGER}}, 459193267Sjkim {{"_SLI", 0, ACPI_RTYPE_BUFFER}}, 460193267Sjkim {{"_SPD", 1, ACPI_RTYPE_INTEGER}}, 461193267Sjkim {{"_SRS", 1, 0}}, 462193267Sjkim {{"_SRV", 0, ACPI_RTYPE_INTEGER}}, /* See IPMI spec */ 463193267Sjkim {{"_SST", 1, 0}}, 464193267Sjkim {{"_STA", 0, ACPI_RTYPE_INTEGER}}, 465193267Sjkim {{"_STM", 3, 0}}, 466197104Sjkim {{"_STP", 2, ACPI_RTYPE_INTEGER}}, 467193267Sjkim {{"_STR", 0, ACPI_RTYPE_BUFFER}}, 468197104Sjkim {{"_STV", 2, ACPI_RTYPE_INTEGER}}, 469193267Sjkim {{"_SUN", 0, ACPI_RTYPE_INTEGER}}, 470193267Sjkim {{"_SWS", 0, ACPI_RTYPE_INTEGER}}, 471193267Sjkim {{"_TC1", 0, ACPI_RTYPE_INTEGER}}, 472193267Sjkim {{"_TC2", 0, ACPI_RTYPE_INTEGER}}, 473197104Sjkim {{"_TIP", 1, ACPI_RTYPE_INTEGER}}, 474197104Sjkim {{"_TIV", 1, ACPI_RTYPE_INTEGER}}, 475193267Sjkim {{"_TMP", 0, ACPI_RTYPE_INTEGER}}, 476193267Sjkim {{"_TPC", 0, ACPI_RTYPE_INTEGER}}, 477193267Sjkim {{"_TPT", 1, 0}}, 478193267Sjkim {{"_TRT", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 2Ref/6Int */ 479193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER}, 6, 0}}, 480193267Sjkim 481193267Sjkim {{"_TSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5Int with count */ 482193267Sjkim {{{ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 483193267Sjkim 484193267Sjkim {{"_TSP", 0, ACPI_RTYPE_INTEGER}}, 485193267Sjkim {{"_TSS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5Int */ 486193267Sjkim {{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0}, 0,0}}, 487193267Sjkim 488193267Sjkim {{"_TST", 0, ACPI_RTYPE_INTEGER}}, 489193267Sjkim {{"_TTS", 1, 0}}, 490193267Sjkim {{"_TZD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Refs) */ 491193267Sjkim {{{ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0}, 0,0}}, 492193267Sjkim 493193267Sjkim {{"_TZM", 0, ACPI_RTYPE_REFERENCE}}, 494193267Sjkim {{"_TZP", 0, ACPI_RTYPE_INTEGER}}, 495193267Sjkim {{"_UID", 0, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING}}, 496193267Sjkim {{"_UPC", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (4 Int) */ 497193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0}, 0,0}}, 498193267Sjkim 499193267Sjkim {{"_UPD", 0, ACPI_RTYPE_INTEGER}}, 500193267Sjkim {{"_UPP", 0, ACPI_RTYPE_INTEGER}}, 501193267Sjkim {{"_VPO", 0, ACPI_RTYPE_INTEGER}}, 502193267Sjkim 503193267Sjkim /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */ 504193267Sjkim 505193267Sjkim {{"_WAK", 1, ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE}}, 506193267Sjkim {{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0}, 0,0}}, /* Fixed-length (2 Int), but is optional */ 507193267Sjkim 508209746Sjkim /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */ 509209746Sjkim 510209746Sjkim {{"_WDG", 0, ACPI_RTYPE_BUFFER}}, 511209746Sjkim {{"_WED", 1, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER}}, 512209746Sjkim 513193267Sjkim {{{0,0,0,0}, 0,0}} /* Table terminator */ 514193267Sjkim}; 515193267Sjkim 516193267Sjkim#if 0 517193267Sjkim 518193267Sjkim /* This is an internally implemented control method, no need to check */ 519193267Sjkim {{"_OSI", 1, ACPI_RTYPE_INTEGER}}, 520193267Sjkim 521193267Sjkim /* TBD: */ 522193267Sjkim 523193267Sjkim _PRT - currently ignore reversed entries. Attempt to fix here? 524193267Sjkim Think about possibly fixing package elements like _BIF, etc. 525193267Sjkim#endif 526193267Sjkim#endif 527197104Sjkim#endif 528