acpredef.h revision 26f3cdf03f1adcc98f6d3d99843ee71e9229a8c0
2605N/A/****************************************************************************** 2605N/A * Name: acpredef - Information table for ACPI predefined methods and objects 2605N/A *****************************************************************************/ 2605N/A * Copyright (C) 2000 - 2011, Intel Corp. 2605N/A * Redistribution and use in source and binary forms, with or without 2605N/A * modification, are permitted provided that the following conditions 2605N/A * 1. Redistributions of source code must retain the above copyright 2605N/A * notice, this list of conditions, and the following disclaimer, 2605N/A * 2. Redistributions in binary form must reproduce at minimum a disclaimer 2605N/A * substantially similar to the "NO WARRANTY" disclaimer below 2605N/A * ("Disclaimer") and any redistribution must be conditioned upon 2605N/A * including a substantially similar Disclaimer requirement for further 2605N/A * 3. Neither the names of the above-listed copyright holders nor the names 2605N/A * of any contributors may be used to endorse or promote products derived 2605N/A * from this software without specific prior written permission. 2605N/A * Alternatively, this software may be distributed under the terms of the 2605N/A * GNU General Public License ("GPL") version 2 as published by the Free 2605N/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2605N/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2605N/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 2605N/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2605N/A * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2605N/A * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2605N/A * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2605N/A * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 2605N/A * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 2605N/A * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. /****************************************************************************** * 1) PTYPE1 packages do not contain sub-packages. * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types: * ACPI_PTYPE1_VAR: Variable-length length: * ACPI_PTYPE1_OPTION: Package has some required and some optional elements * 2) PTYPE2 packages contain a Variable-length number of sub-packages. Each * of the different types describe the contents of each of the sub-packages. * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types: * (Used for _ALR,_MLS,_PSS,_TRT,_TSS) * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element: * (Used for _CSD,_PSD,_TSD) * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types: * ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length * ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length *****************************************************************************/ * These are the names that can actually be evaluated via AcpiEvaluateObject. * Not present in this table are the following: * _Lxx and _Exx GPE methods * _T_x compiler temporary variables * 2) Predefined names that never actually exist within the AML code: * Predefined resource descriptor field names * 3) Predefined names that are implemented within ACPICA: * 4) Some predefined names that are not documented within the ACPI spec. * The main entries in the table each contain the following items: * Name - The ACPI reserved name * ParamCount - Number of arguments to the method * ExpectedBtypes - Allowed type(s) for the return value. * 0 means that no return value is expected. * For methods that return packages, the next entry in the table contains * information about the expected structure of the package. This information * is saved here (rather than in a separate table) in order to minimize the * overall size of the stored data. * Note: The additional braces are intended to promote portability. {{
"_ART", 0,
ACPI_RTYPE_PACKAGE}},
/* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */ {{
"_DSM",
4,
ACPI_RTYPE_ALL}},
/* Must return a type, but it can be of any type */ * For _HPX, a single package is returned, containing a Variable-length number * of sub-packages. Each sub-package contains a PCI record setting. * There are several different type of record settings, of different * lengths, but all elements of all settings are Integers. * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source * and SourceIndex). This bug is so prevalent that there is code in the * ACPICA Resource Manager to detect this and switch them back. For now, * do not allow and issue a warning. To allow this and eliminate the * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3) * in the statement below. * For _S0_ through _S5_, the ACPI spec defines a return Package * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers. * Allow this by making the objects "Variable-length length", but all elements {{
"_SCP",
0x13, 0}},
/* Acpi 1.0 allowed 1 arg. Acpi 3.0 expanded to 3 args. Allow both. */ /* Note: the 3-arg definition may be removed for ACPI 4.0 */ /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */ /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */ {{{0,0,0,0}, 0,0}}
/* Table terminator */ /* This is an internally implemented control method, no need to check */