/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ /****************************************************************************** * * Name: acpredef - Information table for ACPI predefined methods and objects * * Copyright (C) 2000 - 2021, Intel Corp. * *****************************************************************************/ #ifndef __ACPREDEF_H__ #define __ACPREDEF_H__ /****************************************************************************** * * Return Package types * * 1) PTYPE1 packages do not contain subpackages. * * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types: * object type * count * object type * count * * ACPI_PTYPE1_VAR: Variable-length length. Zero-length package is allowed: * object type (Int/Buf/Ref) * * ACPI_PTYPE1_OPTION: Package has some required and some optional elements * (Used for _PRW) * * * 2) PTYPE2 packages contain a Variable-length number of subpackages. Each * of the different types describe the contents of each of the subpackages. * * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types. Zero-length * parent package is allowed: * object type * count * object type * count * (Used for _ALR,_MLS,_PSS,_TRT,_TSS) * * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element. * Zero-length parent package is allowed: * object type * (Used for _CSD,_PSD,_TSD) * * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types: * object type * count * object type * count * (Used for _CST) * * ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length. Zero-length * parent package is allowed. * (Used for _PRT) * * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length. * Zero-length parent package is allowed: * (Used for _HPX) * * ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length * (Used for _ART, _FPS) * * ACPI_PTYPE2_FIX_VAR: Each subpackage consists of some fixed-length elements * followed by an optional element. Zero-length parent package is allowed. * object type * count * object type * count = 0 (optional) * (Used for _DLM) * * ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a * constant or variable length. The subpackages are preceded by a * constant number of objects. * (Used for _LPI, _RDI) * * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID * defines the format of the package. Zero-length parent package is * allowed. * (Used for _DSD) * *****************************************************************************/ enum acpi_return_package_types { ACPI_PTYPE1_FIXED = 1, ACPI_PTYPE1_VAR = 2, ACPI_PTYPE1_OPTION = 3, ACPI_PTYPE2 = 4, ACPI_PTYPE2_COUNT = 5, ACPI_PTYPE2_PKG_COUNT = 6, ACPI_PTYPE2_FIXED = 7, ACPI_PTYPE2_MIN = 8, ACPI_PTYPE2_REV_FIXED = 9, ACPI_PTYPE2_FIX_VAR = 10, ACPI_PTYPE2_VAR_VAR = 11, ACPI_PTYPE2_UUID_PAIR = 12, ACPI_PTYPE_CUSTOM = 13 }; /* Support macros for users of the predefined info table */ #define METHOD_PREDEF_ARGS_MAX 5 #define METHOD_ARG_BIT_WIDTH 3 #define METHOD_ARG_MASK 0x0007 #define ARG_COUNT_IS_MINIMUM 0x8000 #define METHOD_MAX_ARG_TYPE ACPI_TYPE_PACKAGE #define METHOD_GET_ARG_COUNT(arg_list) ((arg_list) & METHOD_ARG_MASK) #define METHOD_GET_NEXT_TYPE(arg_list) (((arg_list) >>= METHOD_ARG_BIT_WIDTH) & METHOD_ARG_MASK) /* Macros used to build the predefined info table */ #define METHOD_0ARGS 0 #define METHOD_1ARGS(a1) (1 | (a1 << 3)) #define METHOD_2ARGS(a1,a2) (2 | (a1 << 3) | (a2 << 6)) #define METHOD_3ARGS(a1,a2,a3) (3 | (a1 << 3) | (a2 << 6) | (a3 << 9)) #define METHOD_4ARGS(a1,a2,a3,a4) (4 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12)) #define METHOD_5ARGS(a1,a2,a3,a4,a5) (5 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12) | (a5 << 15)) #define METHOD_RETURNS(type) (type) #define METHOD_NO_RETURN_VALUE 0 #define PACKAGE_INFO(a,b,c,d,e,f) {{{(a),(b),(c),(d)}, ((((u16)(f)) << 8) | (e)), 0}} /* Support macros for the resource descriptor info table */ #define WIDTH_1 0x0001 #define WIDTH_2 0x0002 #define WIDTH_3 0x0004 #define WIDTH_8 0x0008 #define WIDTH_16 0x0010 #define WIDTH_32 0x0020 #define WIDTH_64 0x0040 #define VARIABLE_DATA 0x0080 #define NUM_RESOURCE_WIDTHS 8 #define WIDTH_ADDRESS WIDTH_16 | WIDTH_32 | WIDTH_64 #ifdef ACPI_CREATE_PREDEFINED_TABLE /****************************************************************************** * * Predefined method/object information table. * * These are the names that can actually be evaluated via acpi_evaluate_object. * Not present in this table are the following: * * 1) Predefined/Reserved names that are not usually evaluated via * acpi_evaluate_object: * _Lxx and _Exx GPE methods * _Qxx EC methods * _T_x compiler temporary variables * _Wxx wake events * * 2) Predefined names that never actually exist within the AML code: * Predefined resource descriptor field names * * 3) Predefined names that are implemented within ACPICA: * _OSI * * The main entries in the table each contain the following items: * * name - The ACPI reserved name * argument_list - Contains (in 16 bits), the number of required * arguments to the method (3 bits), and a 3-bit type * field for each argument (up to 4 arguments). The * METHOD_?ARGS macros generate the correct packed data. * expected_btypes - 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. * * Note2: Table is used by the kernel-resident subsystem, the iASL compiler, * and the acpi_help utility. * * TBD: _PRT - currently ignore reversed entries. Attempt to fix in nsrepair. * Possibly fixing package elements like _BIF, etc. * *****************************************************************************/ const union acpi_predefined_info acpi_gbl_predefined_methods[] = { { { "_AC0", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC1", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC2", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC3", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC4", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC5", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC6", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC7", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC8", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AC9", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_ADR", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_AEI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_AL0", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL1", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL2", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL3", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL4", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL5", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL6", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL7", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL8", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_AL9", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_ALC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_ALI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_ALP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_ALR", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each 2 (Ints) */ PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2, 0, 0, 0), { { "_ALT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_ART", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */ PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 11, 0), { { "_BBN", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BCL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Ints) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0), { { "_BCM", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_BCT", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BDN", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BFS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_BIF", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (9 Int),(4 Str) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING, 4, 0), { { "_BIX", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (16 Int),(4 Str) */ PACKAGE_INFO(ACPI_PTYPE_CUSTOM, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4, 0), { { "_BLT", METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_BMA", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BMC", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_BMD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (5 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0), { { "_BMS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BPC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (4 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0), { { "_BPS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (5 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0), { { "_BPT", METHOD_1ARGS(ACPI_TYPE_PACKAGE), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BQC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BST", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (4 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0), { { "_BTH", METHOD_1ARGS(ACPI_TYPE_INTEGER), /* ACPI 6.0 */ METHOD_NO_RETURN_VALUE} }, { { "_BTM", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_BTP", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_CBA", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* See PCI firmware spec 3.0 */ { { "_CBR", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (3 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0), { { "_CCA", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* ACPI 5.1 */ { { "_CDM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_CID", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Ints/Strs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0, 0, 0, 0), { { "_CLS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (3 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0), { { "_CPC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Ints/Bufs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0, 0, 0, 0), { { "_CR3", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_CRS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_CRT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_CSD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (1 Int(n), n-1 Int) */ PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0, 0, 0, 0), { { "_CST", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */ PACKAGE_INFO(ACPI_PTYPE2_PKG_COUNT, ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER, 3, 0), { { "_CWS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_DCK", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_DCS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_DDC", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER)} }, { { "_DDN", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_STRING)} }, { { "_DEP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_DGS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_DIS", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_DLM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each (1 Ref, 0/1 Optional Buf/Ref) */ PACKAGE_INFO(ACPI_PTYPE2_FIX_VAR, ACPI_RTYPE_REFERENCE, 1, ACPI_RTYPE_REFERENCE | ACPI_RTYPE_BUFFER, 0, 0), { { "_DMA", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_DOD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Ints) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0), { { "_DOS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_DSD", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */ PACKAGE_INFO(ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_PACKAGE, 1, 0), { { "_DSM", METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_PACKAGE), METHOD_RETURNS(ACPI_RTYPE_ALL)} }, /* Must return a value, but it can be of any type */ { { "_DSS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_DSW", METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_DTI", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_EC_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_EDL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_EJ0", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_EJ1", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_EJ2", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_EJ3", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_EJ4", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_EJD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_STRING)} }, { { "_ERR", METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* Internal use only, used by ACPICA test suites */ { { "_EVT", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_FDE", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_FDI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (16 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, 0, 0, 0), { { "_FDM", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_FIF", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (4 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0), { { "_FIT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, /* ACPI 6.0 */ { { "_FIX", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Ints) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0), { { "_FPS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (1 Int(rev), n Pkg (5 Int) */ PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0), { { "_FSL", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_FST", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (3 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0), { { "_GAI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_GCP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_GHL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_GLK", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_GPD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_GPE", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* _GPE method, not _GPE scope */ { { "_GRT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_GSB", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_GTF", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_GTM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_GTS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_GWS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_HID", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)} }, { { "_HMA", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_HOT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_HPP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (4 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0), /* * For _HPX, a single package is returned, containing a variable-length number * of subpackages. Each subpackage contains a PCI record setting. * There are several different type of record settings, of different * lengths, but all elements of all settings are Integers. */ { { "_HPX", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each (var Ints) */ PACKAGE_INFO(ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5, 0, 0, 0), { { "_HRV", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_IFT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* See IPMI spec */ { { "_INI", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_IRC", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_LCK", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_LID", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_LPD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (1 Int(rev), n Pkg (2 Int) */ PACKAGE_INFO(ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0), { { "_LPI", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (3 Int, n Pkg (10 Int/Buf) */ PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING, 10, 0), { { "_LSI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, 0, 0, 0), { { "_LSR", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_BUFFER, 1, 0), { { "_LSW", METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_MAT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_MBM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (8 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8, 0, 0, 0), { { "_MLS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each (1 Str/1 Buf) */ PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1, 0), { { "_MSG", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_MSM", METHOD_4ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_MTL", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_NBS", METHOD_0ARGS, /* ACPI 6.3 */ METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_NCH", METHOD_0ARGS, /* ACPI 6.3 */ METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_NIC", METHOD_0ARGS, /* ACPI 6.3 */ METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_NIG", METHOD_0ARGS, /* ACPI 6.3 */ METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_NIH", METHOD_1ARGS(ACPI_TYPE_BUFFER), /* ACPI 6.3 */ METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_NTT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_OFF", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_ON_", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_OS_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_STRING)} }, { { "_OSC", METHOD_4ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER), METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_OST", METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER), METHOD_NO_RETURN_VALUE} }, { { "_PAI", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PCL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PCT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (2 Buf) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0), { { "_PDC", METHOD_1ARGS(ACPI_TYPE_BUFFER), METHOD_NO_RETURN_VALUE} }, { { "_PDL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PIC", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_PIF", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (3 Int),(3 Str) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_STRING, 3, 0), { { "_PLD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Bufs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0, 0, 0, 0), { { "_PMC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (11 Int),(3 Str) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11, ACPI_RTYPE_STRING, 3, 0), { { "_PMD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PMM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PPC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PPE", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* See dig64 spec */ { { "_PR0", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PR1", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PR2", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PR3", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PRE", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PRL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PRR", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Ref) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1, 0, 0, 0), { { "_PRS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, /* * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source * and source_index). 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. */ { { "_PRT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */ PACKAGE_INFO(ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER, ACPI_RTYPE_INTEGER, ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE, ACPI_RTYPE_INTEGER), { { "_PRW", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */ PACKAGE_INFO(ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE, ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0), { { "_PS0", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_PS1", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_PS2", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_PS3", METHOD_0ARGS, METHOD_NO_RETURN_VALUE} }, { { "_PSC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PSD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each (5 Int) with count */ PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0, 0, 0, 0), { { "_PSE", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_PSL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_PSR", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PSS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each (6 Int) */ PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6, 0, 0, 0), { { "_PSV", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PSW", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_PTC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (2 Buf) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2, 0, 0, 0), { { "_PTP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_PTS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_PUR", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (2 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0), { { "_PXM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_RDI", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (1 Int, n Pkg (m Ref)) */ PACKAGE_INFO(ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_REFERENCE, 0, 0), { { "_REG", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_REV", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_RMV", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_ROM", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_RST", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_NO_RETURN_VALUE} }, { { "_RTV", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* * 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 * must be Integers. */ { { "_S0_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_S1_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_S2_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_S3_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_S4_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_S5_", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_S1D", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S2D", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S3D", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S4D", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S0W", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S1W", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S2W", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S3W", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_S4W", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SBA", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (4 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0), { { "_SBI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (1 Int, 1 Buf) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_BUFFER, 1, 0), { { "_SBR", METHOD_3ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (2 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0), { { "_SBS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SBT", METHOD_4ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY), METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (2 Int, 1 Buf | Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0), { { "_SBW", METHOD_5ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY), METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0, 0, 0), { { "_SCP", METHOD_1ARGS(ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM, METHOD_NO_RETURN_VALUE} }, /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */ { { "_SDD", METHOD_1ARGS(ACPI_TYPE_BUFFER), METHOD_NO_RETURN_VALUE} }, { { "_SEG", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SHL", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SLI", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_SPD", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SRS", METHOD_1ARGS(ACPI_TYPE_BUFFER), METHOD_NO_RETURN_VALUE} }, { { "_SRT", METHOD_1ARGS(ACPI_TYPE_BUFFER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SRV", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* See IPMI spec */ { { "_SST", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_STA", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_STM", METHOD_3ARGS(ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER), METHOD_NO_RETURN_VALUE} }, { { "_STP", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_STR", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_STV", METHOD_2ARGS(ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SUB", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_STRING)} }, { { "_SUN", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_SWS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TC1", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TC2", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TDL", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TFP", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TIP", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TIV", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TMP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TPC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TPT", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_TRT", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each 2 Ref/6 Int */ PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 6, 0), { { "_TSD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each 5 Int with count */ PACKAGE_INFO(ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 5, 0, 0, 0), { { "_TSN", METHOD_0ARGS, /* ACPI 6.0 */ METHOD_RETURNS(ACPI_RTYPE_REFERENCE)} }, { { "_TSP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TSS", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Pkgs) each 5 Int */ PACKAGE_INFO(ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5, 0, 0, 0), { { "_TST", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_TTS", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_NO_RETURN_VALUE} }, { { "_TZD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Variable-length (Refs) */ PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0, 0, 0, 0), { { "_TZM", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_REFERENCE)} }, { { "_TZP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_UID", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)} }, { { "_UPC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_PACKAGE)} }, /* Fixed-length (4 Int) */ PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0), { { "_UPD", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_UPP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, { { "_VPO", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */ { { "_WAK", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE)} }, PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0), /* Fixed-length (2 Int), but is optional */ /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */ { { "_WDG", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_BUFFER)} }, { { "_WED", METHOD_1ARGS(ACPI_TYPE_INTEGER), METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER)} }, { { "_WPC", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* ACPI 6.1 */ { { "_WPP", METHOD_0ARGS, METHOD_RETURNS(ACPI_RTYPE_INTEGER)} }, /* ACPI 6.1 */ PACKAGE_INFO(0, 0, 0, 0, 0, 0) /* Table terminator */ }; #else extern const union acpi_predefined_info acpi_gbl_predefined_methods[]; #endif #if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION) /****************************************************************************** * * Predefined names for use in Resource Descriptors. These names do not * appear in the global Predefined Name table (since these names never * appear in actual AML byte code, only in the original ASL) * * Note: Used by iASL compiler and acpi_help utility only. * *****************************************************************************/ const union acpi_predefined_info acpi_gbl_resource_names[] = { { { "_ADR", WIDTH_16 | WIDTH_64, 0} }, { { "_ALN", WIDTH_8 | WIDTH_16 | WIDTH_32, 0} }, { { "_ASI", WIDTH_8, 0} }, { { "_ASZ", WIDTH_8, 0} }, { { "_ATT", WIDTH_64, 0} }, { { "_BAS", WIDTH_16 | WIDTH_32, 0} }, { { "_BM_", WIDTH_1, 0} }, { { "_DBT", WIDTH_16, 0} }, /* Acpi 5.0 */ { { "_DEC", WIDTH_1, 0} }, { { "_DMA", WIDTH_8, 0} }, { { "_DPL", WIDTH_1, 0} }, /* Acpi 5.0 */ { { "_DRS", WIDTH_16, 0} }, /* Acpi 5.0 */ { { "_END", WIDTH_1, 0} }, /* Acpi 5.0 */ { { "_FLC", WIDTH_2, 0} }, /* Acpi 5.0 */ { { "_GRA", WIDTH_ADDRESS, 0} }, { { "_HE_", WIDTH_1, 0} }, { { "_INT", WIDTH_16 | WIDTH_32, 0} }, { { "_IOR", WIDTH_2, 0} }, /* Acpi 5.0 */ { { "_LEN", WIDTH_8 | WIDTH_ADDRESS, 0} }, { { "_LIN", WIDTH_8, 0} }, /* Acpi 5.0 */ { { "_LL_", WIDTH_1, 0} }, { { "_MAF", WIDTH_1, 0} }, { { "_MAX", WIDTH_ADDRESS, 0} }, { { "_MEM", WIDTH_2, 0} }, { { "_MIF", WIDTH_1, 0} }, { { "_MIN", WIDTH_ADDRESS, 0} }, { { "_MOD", WIDTH_1, 0} }, /* Acpi 5.0 */ { { "_MTP", WIDTH_2, 0} }, { { "_PAR", WIDTH_8, 0} }, /* Acpi 5.0 */ { { "_PHA", WIDTH_1, 0} }, /* Acpi 5.0 */ { { "_PIN", WIDTH_16, 0} }, /* Acpi 5.0 */ { { "_PPI", WIDTH_8, 0} }, /* Acpi 5.0 */ { { "_POL", WIDTH_1 | WIDTH_2, 0} }, /* Acpi 5.0 */ { { "_RBO", WIDTH_8, 0} }, { { "_RBW", WIDTH_8, 0} }, { { "_RNG", WIDTH_1, 0} }, { { "_RT_", WIDTH_8, 0} }, /* Acpi 3.0 */ { { "_RW_", WIDTH_1, 0} }, { { "_RXL", WIDTH_16, 0} }, /* Acpi 5.0 */ { { "_SHR", WIDTH_2, 0} }, { { "_SIZ", WIDTH_2, 0} }, { { "_SLV", WIDTH_1, 0} }, /* Acpi 5.0 */ { { "_SPE", WIDTH_32, 0} }, /* Acpi 5.0 */ { { "_STB", WIDTH_2, 0} }, /* Acpi 5.0 */ { { "_TRA", WIDTH_ADDRESS, 0} }, { { "_TRS", WIDTH_1, 0} }, { { "_TSF", WIDTH_8, 0} }, /* Acpi 3.0 */ { { "_TTP", WIDTH_1, 0} }, { { "_TXL", WIDTH_16, 0} }, /* Acpi 5.0 */ { { "_TYP", WIDTH_2 | WIDTH_16, 0} }, { { "_VEN", VARIABLE_DATA, 0} }, /* Acpi 5.0 */ PACKAGE_INFO(0, 0, 0, 0, 0, 0) /* Table terminator */ }; const union acpi_predefined_info acpi_gbl_scope_names[] = { { { "_GPE", 0, 0} }, { { "_PR_", 0, 0} }, { { "_SB_", 0, 0} }, { { "_SI_", 0, 0} }, { { "_TZ_", 0, 0} }, PACKAGE_INFO(0, 0, 0, 0, 0, 0) /* Table terminator */ }; #else extern const union acpi_predefined_info acpi_gbl_resource_names[]; #endif #endif