1 /******************************************************************************
2 *
3 * Module Name: ahpredef - Table of all known ACPI predefined names
4 *
5 *****************************************************************************/
6
7 /******************************************************************************
8 *
9 * 1. Copyright Notice
10 *
11 * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
12 * All rights reserved.
13 *
14 * 2. License
15 *
16 * 2.1. This is your license from Intel Corp. under its intellectual property
17 * rights. You may have additional license terms from the party that provided
18 * you this software, covering your right to use that party's intellectual
19 * property rights.
20 *
21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 * copy of the source code appearing in this file ("Covered Code") an
23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 * base code distributed originally by Intel ("Original Intel Code") to copy,
25 * make derivatives, distribute, use and display any portion of the Covered
26 * Code in any form, with the right to sublicense such rights; and
27 *
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 * license (with the right to sublicense), under only those claims of Intel
30 * patents that are infringed by the Original Intel Code, to make, use, sell,
31 * offer to sell, and import the Covered Code and derivative works thereof
32 * solely to the minimum extent necessary to exercise the above copyright
33 * license, and in no event shall the patent license extend to any additions
34 * to or modifications of the Original Intel Code. No other license or right
35 * is granted directly or by implication, estoppel or otherwise;
36 *
37 * The above copyright and patent license is granted only if the following
38 * conditions are met:
39 *
40 * 3. Conditions
41 *
42 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 * Redistribution of source code of any substantial portion of the Covered
44 * Code or modification with rights to further distribute source must include
45 * the above Copyright Notice, the above License, this list of Conditions,
46 * and the following Disclaimer and Export Compliance provision. In addition,
47 * Licensee must cause all Covered Code to which Licensee contributes to
48 * contain a file documenting the changes Licensee made to create that Covered
49 * Code and the date of any change. Licensee must include in that file the
50 * documentation of any changes made by any predecessor Licensee. Licensee
51 * must include a prominent statement that the modification is derived,
52 * directly or indirectly, from Original Intel Code.
53 *
54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 * Redistribution of source code of any substantial portion of the Covered
56 * Code or modification without rights to further distribute source must
57 * include the following Disclaimer and Export Compliance provision in the
58 * documentation and/or other materials provided with distribution. In
59 * addition, Licensee may not authorize further sublicense of source of any
60 * portion of the Covered Code, and must include terms to the effect that the
61 * license from Licensee to its licensee is limited to the intellectual
62 * property embodied in the software Licensee provides to its licensee, and
63 * not to intellectual property embodied in modifications its licensee may
64 * make.
65 *
66 * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 * substantial portion of the Covered Code or modification must reproduce the
68 * above Copyright Notice, and the following Disclaimer and Export Compliance
69 * provision in the documentation and/or other materials provided with the
70 * distribution.
71 *
72 * 3.4. Intel retains all right, title, and interest in and to the Original
73 * Intel Code.
74 *
75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 * Intel shall be used in advertising or otherwise to promote the sale, use or
77 * other dealings in products derived from or relating to the Covered Code
78 * without prior written authorization from Intel.
79 *
80 * 4. Disclaimer and Export Compliance
81 *
82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88 * PARTICULAR PURPOSE.
89 *
90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97 * LIMITED REMEDY.
98 *
99 * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 * software or system incorporating such software without first obtaining any
101 * required license or other approval from the U. S. Department of Commerce or
102 * any other agency or department of the United States Government. In the
103 * event Licensee exports any such software from the United States or
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
106 * compliance with all laws, regulations, orders, or other restrictions of the
107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 * any of its subsidiaries will export/re-export any technical data, process,
109 * software, or service, directly or indirectly, to any country for which the
110 * United States government or any agency thereof requires an export license,
111 * other governmental approval, or letter of assurance, without first obtaining
112 * such license, approval or letter.
113 *
114 *****************************************************************************
115 *
116 * Alternatively, you may choose to be licensed under the terms of the
117 * following license:
118 *
119 * Redistribution and use in source and binary forms, with or without
120 * modification, are permitted provided that the following conditions
121 * are met:
122 * 1. Redistributions of source code must retain the above copyright
123 * notice, this list of conditions, and the following disclaimer,
124 * without modification.
125 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126 * substantially similar to the "NO WARRANTY" disclaimer below
127 * ("Disclaimer") and any redistribution must be conditioned upon
128 * including a substantially similar Disclaimer requirement for further
129 * binary redistribution.
130 * 3. Neither the names of the above-listed copyright holders nor the names
131 * of any contributors may be used to endorse or promote products derived
132 * from this software without specific prior written permission.
133 *
134 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145 *
146 * Alternatively, you may choose to be licensed under the terms of the
147 * GNU General Public License ("GPL") version 2 as published by the Free
148 * Software Foundation.
149 *
150 *****************************************************************************/
151
152 #include "acpi.h"
153 #include "accommon.h"
154
155 #define _COMPONENT ACPI_UTILITIES
156 ACPI_MODULE_NAME ("ahpredef")
157
158 /*
159 * iASL only needs a partial table (short descriptions only).
160 * AcpiHelp needs the full table.
161 */
162 #ifdef ACPI_ASL_COMPILER
163 #define AH_PREDEF(Name, ShortDesc, LongDesc) {Name, ShortDesc}
164 #else
165 #define AH_PREDEF(Name, ShortDesc, LongDesc) {Name, ShortDesc, LongDesc}
166 #endif
167
168 /*
169 * Predefined ACPI names, with short description and return value.
170 * This table was extracted directly from the ACPI specification.
171 */
172 const AH_PREDEFINED_NAME AslPredefinedInfo[] =
173 {
174 AH_PREDEF ("_ACx", "Active Cooling", "Returns the active cooling policy threshold values"),
175 AH_PREDEF ("_ADR", "Address", "Returns address of a device on parent bus, and resource field"),
176 AH_PREDEF ("_AEI", "ACPI Event Interrupts", "Returns a list of GPIO events to be used as ACPI events"),
177 AH_PREDEF ("_ALC", "Ambient Light Chromaticity", "Returns the ambient light color chromaticity"),
178 AH_PREDEF ("_ALI", "Ambient Light Illuminance", "Returns the ambient light brightness"),
179 AH_PREDEF ("_ALN", "Alignment", "Base alignment, Resource Descriptor field"),
180 AH_PREDEF ("_ALP", "Ambient Light Polling", "Returns the ambient light sensor polling frequency"),
181 AH_PREDEF ("_ALR", "Ambient Light Response", "Returns the ambient light brightness to display brightness mappings"),
182 AH_PREDEF ("_ALT", "Ambient Light Temperature", "Returns the ambient light color temperature"),
183 AH_PREDEF ("_ALx", "Active List", "Returns a list of active cooling device objects"),
184 AH_PREDEF ("_ART", "Active Cooling Relationship Table", "Returns thermal relationship information between platform devices and fan devices"),
185 AH_PREDEF ("_ASI", "Address Space Id", "Resource Descriptor field"),
186 AH_PREDEF ("_ASZ", "Access Size", "Resource Descriptor field"),
187 AH_PREDEF ("_ATT", "Type-Specific Attribute", "Resource Descriptor field"),
188 AH_PREDEF ("_BAS", "Base Address", "Range base address, Resource Descriptor field"),
189 AH_PREDEF ("_BBN", "BIOS Bus Number", "Returns the PCI bus number returned by the BIOS"),
190 AH_PREDEF ("_BCL", "Brightness Control Levels", "Returns a list of supported brightness control levels"),
191 AH_PREDEF ("_BCM", "Brightness Control Method", "Sets the brightness level of the display device"),
192 AH_PREDEF ("_BCT", "Battery Charge Time", "Returns time remaining to complete charging battery"),
193 AH_PREDEF ("_BDN", "BIOS Dock Name", "Returns the Dock ID returned by the BIOS"),
194 AH_PREDEF ("_BFS", "Back From Sleep", "Inform AML of a wake event"),
195 AH_PREDEF ("_BIF", "Battery Information", "Returns a Control Method Battery information block"),
196 AH_PREDEF ("_BIX", "Battery Information Extended", "Returns a Control Method Battery extended information block"),
197 AH_PREDEF ("_BLT", "Battery Level Threshold", "Set battery level threshold preferences"),
198 AH_PREDEF ("_BM_", "Bus Master", "Resource Descriptor field"),
199 AH_PREDEF ("_BMA", "Battery Measurement Averaging Interval", "Sets battery measurement averaging interval"),
200 AH_PREDEF ("_BMC", "Battery Maintenance Control", "Sets battery maintenance and control features"),
201 AH_PREDEF ("_BMD", "Battery Maintenance Data", "Returns battery maintenance, control, and state data"),
202 AH_PREDEF ("_BMS", "Battery Measurement Sampling Time", "Sets the battery measurement sampling time"),
203 AH_PREDEF ("_BQC", "Brightness Query Current", "Returns the current display brightness level"),
204 AH_PREDEF ("_BST", "Battery Status", "Returns a Control Method Battery status block"),
205 AH_PREDEF ("_BTH", "Battery Throttle Limit", "Thermal limit for charging and discharging"),
206 AH_PREDEF ("_BTM", "Battery Time", "Returns the battery runtime"),
207 AH_PREDEF ("_BTP", "Battery Trip Point", "Sets a Control Method Battery trip point"),
208 AH_PREDEF ("_CBA", "Configuration Base Address", "Sets the base address for a PCI Express host bridge"),
209 AH_PREDEF ("_CCA", "Cache Coherency Attribute", "Returns a device's support level for cache coherency"),
210 AH_PREDEF ("_CDM", "Clock Domain", "Returns a logical processor's clock domain identifier"),
211 AH_PREDEF ("_CID", "Compatible ID", "Returns a device's Plug and Play Compatible ID list"),
212 AH_PREDEF ("_CLS", "Class Code", "Returns PCI class code and subclass"),
213 AH_PREDEF ("_CPC", "Continuous Performance Control", "Returns a list of performance control interfaces"),
214 AH_PREDEF ("_CR3", "Warm/Standby Temperature", "Temperature for a fast low power state"),
215 AH_PREDEF ("_CRS", "Current Resource Settings", "Returns the current resource settings for a device"),
216 AH_PREDEF ("_CRT", "Critical Temperature", "Returns the shutdown critical temperature"),
217 AH_PREDEF ("_CSD", "C-State Dependencies", "Returns a list of C-state dependencies"),
218 AH_PREDEF ("_CST", "C-States", "Returns a list of supported C-states"),
219 AH_PREDEF ("_CWS", "Clear Wake Alarm Status", "Clear the status of wake alarms"),
220 AH_PREDEF ("_DBT", "Debounce Timeout", "Timeout value, Resource Descriptor field"),
221 AH_PREDEF ("_DCK", "Dock Present", "Sets docking isolation. Presence indicates device is a docking station"),
222 AH_PREDEF ("_DCS", "Display Current Status", "Returns status of the display output device"),
223 AH_PREDEF ("_DDC", "Display Data Current", "Returns the EDID for the display output device"),
224 AH_PREDEF ("_DDN", "DOS Device Name", "Returns a device logical name"),
225 AH_PREDEF ("_DEC", "Decode", "Device decoding type, Resource Descriptor field"),
226 AH_PREDEF ("_DEP", "Dependencies", "Returns a list of operation region dependencies"),
227 AH_PREDEF ("_DGS", "Display Graphics State", "Return the current state of the output device"),
228 AH_PREDEF ("_DIS", "Disable Device", "Disables a device"),
229 AH_PREDEF ("_DLM", "Device Lock Mutex", "Defines mutex for OS/AML sharing"),
230 AH_PREDEF ("_DMA", "Direct Memory Access", "Returns device current resources for DMA transactions, and resource field"),
231 AH_PREDEF ("_DOD", "Display Output Devices", "Enumerate all devices attached to the display adapter"),
232 AH_PREDEF ("_DOS", "Disable Output Switching", "Sets the display output switching mode"),
233 AH_PREDEF ("_DPL", "Device Selection Polarity", "Polarity of Device Selection signal, Resource Descriptor field"),
234 AH_PREDEF ("_DRS", "Drive Strength", "Drive Strength setting for GPIO connection, Resource Descriptor field"),
235 AH_PREDEF ("_DSD", "Device-Specific Data", "Returns a list of device property information"),
236 AH_PREDEF ("_DSM", "Device-Specific Method", "Executes device-specific functions"),
237 AH_PREDEF ("_DSS", "Device Set State", "Sets the display device state"),
238 AH_PREDEF ("_DSW", "Device Sleep Wake", "Sets the sleep and wake transition states for a device"),
239 AH_PREDEF ("_DTI", "Device Temperature Indication", "Conveys native device temperature to the platform"),
240 AH_PREDEF ("_Exx", "Edge-Triggered GPE", "Method executed as a result of a general-purpose event"),
241 AH_PREDEF ("_EC_", "Embedded Controller", "returns EC offset and query information"),
242 AH_PREDEF ("_EDL", "Eject Device List", "Returns a list of devices that are dependent on a device (docking)"),
243 AH_PREDEF ("_EJD", "Ejection Dependent Device", "Returns the name of dependent (parent) device (docking)"),
244 AH_PREDEF ("_EJx", "Eject Device", "Begin or cancel a device ejection request (docking)"),
245 AH_PREDEF ("_END", "Endianness", "Endian orientation, Resource Descriptor field"),
246 AH_PREDEF ("_EVT", "Event", "Event method for GPIO events"),
247 AH_PREDEF ("_FDE", "Floppy Disk Enumerate", "Returns floppy disk configuration information"),
248 AH_PREDEF ("_FDI", "Floppy Drive Information", "Returns a floppy drive information block"),
249 AH_PREDEF ("_FDM", "Floppy Drive Mode", "Sets a floppy drive speed"),
250 AH_PREDEF ("_FIF", "Fan Information", "Returns fan device information"),
251 AH_PREDEF ("_FIT", "Firmware Interface Table", "Returns a list of NFIT structures"),
252 AH_PREDEF ("_FIX", "Fixed Register Resource Provider", "Returns a list of devices that implement FADT register blocks"),
253 AH_PREDEF ("_FLC", "Flow Control", "Flow control, Resource Descriptor field"),
254 AH_PREDEF ("_FPS", "Fan Performance States", "Returns a list of supported fan performance states"),
255 AH_PREDEF ("_FSL", "Fan Set Level", "Control method that sets the fan device's speed level (performance state)"),
256 AH_PREDEF ("_FST", "Fan Status", "Returns current status information for a fan device"),
257 AH_PREDEF ("_FUN", "Function Number", "Resource descriptor field"),
258 AH_PREDEF ("_GAI", "Get Averaging Interval", "Returns the power meter averaging interval"),
259 AH_PREDEF ("_GCP", "Get Capabilities", "Get device time capabilities"),
260 AH_PREDEF ("_GHL", "Get Hardware Limit", "Returns the hardware limit enforced by the power meter"),
261 AH_PREDEF ("_GL_", "Global Lock", "OS-defined Global Lock mutex object"),
262 AH_PREDEF ("_GLK", "Get Global Lock Requirement", "Returns a device's Global Lock requirement for device access"),
263 AH_PREDEF ("_GPD", "Get Post Data", "Returns the value of the VGA device that will be posted at boot"),
264 AH_PREDEF ("_GPE", "General Purpose Events", "Predefined scope (\\_GPE) or SCI number for EC"),
265 AH_PREDEF ("_GRA", "Granularity", "Address space granularity, Resource Descriptor field"),
266 AH_PREDEF ("_GRT", "Get Real Time", "Returns current time-of-day from a time/alarm device"),
267 AH_PREDEF ("_GSB", "Global System Interrupt Base", "Returns the GSB for a I/O APIC device"),
268 AH_PREDEF ("_GTF", "Get Task File", "Returns a list of ATA commands to restore a drive to default state"),
269 AH_PREDEF ("_GTM", "Get Timing Mode", "Returns a list of IDE controller timing information"),
270 AH_PREDEF ("_GTS", "Going To Sleep", "Inform AML of pending sleep"),
271 AH_PREDEF ("_GWS", "Get Wake Status", "Return status of wake alarms"),
272 AH_PREDEF ("_HE_", "High-Edge", "Interrupt triggering, Resource Descriptor field"),
273 AH_PREDEF ("_HID", "Hardware ID", "Returns a device's Plug and Play Hardware ID"),
274 AH_PREDEF ("_HMA", "Heterogeneous Memory Attributes", "Returns a list of HMAT structures."),
275 AH_PREDEF ("_HOT", "Hot Temperature", "Returns the critical temperature for sleep (entry to S4)"),
276 AH_PREDEF ("_HPP", "Hot Plug Parameters", "Returns a list of hot-plug information for a PCI device"),
277 AH_PREDEF ("_HPX", "Hot Plug Parameter Extensions", "Returns a list of hot-plug information for a PCI device. Supersedes _HPP"),
278 AH_PREDEF ("_HRV", "Hardware Revision", "Returns a hardware revision value"),
279 AH_PREDEF ("_IFT", "IPMI Interface Type", "See the Intelligent Platform Management Interface Specification"),
280 AH_PREDEF ("_INI", "Initialize", "Performs device specific initialization"),
281 AH_PREDEF ("_INT", "Interrupts", "Interrupt mask bits, Resource Descriptor field"),
282 AH_PREDEF ("_IOR", "I/O Restriction", "Restriction type, Resource Descriptor field"),
283 AH_PREDEF ("_IRC", "Inrush Current", "Presence indicates that a device has a significant inrush current draw"),
284 AH_PREDEF ("_Lxx", "Level-Triggered GPE", "Control method executed as a result of a general-purpose event"),
285 AH_PREDEF ("_LCK", "Lock Device", "Locks or unlocks a device (docking)"),
286 AH_PREDEF ("_LEN", "Length", "Range length, Resource Descriptor field"),
287 AH_PREDEF ("_LID", "Lid Status", "Returns the open/closed status of the lid on a mobile system"),
288 AH_PREDEF ("_LIN", "Lines In Use", "Handshake lines, Resource Descriptor field"),
289 AH_PREDEF ("_LL_", "Low Level", "Interrupt polarity, Resource Descriptor field"),
290 AH_PREDEF ("_LPD", "Low Power Dependencies", "Returns a list of dependencies for low power idle entry"),
291 AH_PREDEF ("_LPI", "Low Power Idle States", "Returns a list of supported low power idle states"),
292 AH_PREDEF ("_LSI", "Label Storage Information", "Returns information about the Label Storage Area associated with the NVDIMM object."),
293 AH_PREDEF ("_LSR", "Label Storage Read", "Returns label data from the Label Storage Area of the NVDIMM object."),
294 AH_PREDEF ("_LSW", "Label Storage Write", "Writes label data in to the Label Storage Area of the NVDIMM object."),
295 AH_PREDEF ("_MAF", "Maximum Address Fixed", "Resource Descriptor field"),
296 AH_PREDEF ("_MAT", "Multiple APIC Table Entry", "Returns a list of MADT APIC structure entries"),
297 AH_PREDEF ("_MAX", "Maximum Base Address", "Resource Descriptor field"),
298 AH_PREDEF ("_MBM", "Memory Bandwidth Monitoring Data", "Returns bandwidth monitoring data for a memory device"),
299 AH_PREDEF ("_MEM", "Memory Attributes", "Resource Descriptor field"),
300 AH_PREDEF ("_MIF", "Minimum Address Fixed", "Resource Descriptor field"),
301 AH_PREDEF ("_MIN", "Minimum Base Address", "Resource Descriptor field"),
302 AH_PREDEF ("_MLS", "Multiple Language String", "Returns a device description in multiple languages"),
303 AH_PREDEF ("_MOD", "Mode", "Interrupt mode, Resource Descriptor field"),
304 AH_PREDEF ("_MSG", "Message", "Sets the system message waiting status indicator"),
305 AH_PREDEF ("_MSM", "Memory Set Monitoring", "Sets bandwidth monitoring parameters for a memory device"),
306 AH_PREDEF ("_MTL", "Minimum Throttle Limit", "Returns the minimum throttle limit for a thermal zone"),
307 AH_PREDEF ("_MTP", "Memory Type", "Resource Descriptor field"),
308 AH_PREDEF ("_NTT", "Notification Temperature Threshold", "Returns a threshold for device temperature change that requires platform notification"),
309 AH_PREDEF ("_OFF", "Power Off", "Sets a power resource to the off state"),
310 AH_PREDEF ("_ON_", "Power On", "Sets a power resource to the on state"),
311 AH_PREDEF ("_OS_", "Operating System", "Returns a string that identifies the operating system"),
312 AH_PREDEF ("_OSC", "Operating System Capabilities", "Inform AML of host features and capabilities"),
313 AH_PREDEF ("_OSI", "Operating System Interfaces", "Returns supported interfaces, behaviors, and features"),
314 AH_PREDEF ("_OST", "OSPM Status Indication", "Inform AML of event processing status"),
315 AH_PREDEF ("_PAI", "Power Averaging Interval", "Sets the averaging interval for a power meter"),
316 AH_PREDEF ("_PAR", "Parity", "Parity bits, Resource Descriptor field"),
317 AH_PREDEF ("_PCL", "Power Consumer List", "Returns a list of devices powered by a power source"),
318 AH_PREDEF ("_PCT", "Performance Control", "Returns processor performance control and status registers"),
319 AH_PREDEF ("_PDC", "Processor Driver Capabilities", "Inform AML of processor driver capabilities"),
320 AH_PREDEF ("_PDL", "P-state Depth Limit", "Returns the lowest available performance P-state"),
321 AH_PREDEF ("_PHA", "Clock Phase", "Clock phase, Resource Descriptor field"),
322 AH_PREDEF ("_PIC", "Interrupt Model", "Inform AML of the interrupt model in use"),
323 AH_PREDEF ("_PIF", "Power Source Information", "Returns a Power Source information block"),
324 AH_PREDEF ("_PIN", "Pin List", "Pin list, Resource Descriptor field"),
325 AH_PREDEF ("_PLD", "Physical Location of Device", "Returns a device's physical location information"),
326 AH_PREDEF ("_PMC", "Power Meter Capabilities", "Returns a list of Power Meter capabilities info"),
327 AH_PREDEF ("_PMD", "Power Metered Devices", "Returns a list of devices that are measured by the power meter device"),
328 AH_PREDEF ("_PMM", "Power Meter Measurement", "Returns the current value of the Power Meter"),
329 AH_PREDEF ("_POL", "Polarity", "Interrupt polarity, Resource Descriptor field"),
330 AH_PREDEF ("_PPC", "Performance Present Capabilities", "Returns a list of the performance states currently supported by the platform"),
331 AH_PREDEF ("_PPE", "Polling for Platform Error", "Returns the polling interval to retrieve Corrected Platform Error information"),
332 AH_PREDEF ("_PPI", "Pin Configuration", "Resource Descriptor field"),
333 AH_PREDEF ("_PR", "Processor", "Predefined scope for processor objects"),
334 AH_PREDEF ("_PR0", "Power Resources for D0", "Returns a list of dependent power resources to enter state D0 (fully on)"),
335 AH_PREDEF ("_PR1", "Power Resources for D1", "Returns a list of dependent power resources to enter state D1"),
336 AH_PREDEF ("_PR2", "Power Resources for D2", "Returns a list of dependent power resources to enter state D2"),
337 AH_PREDEF ("_PR3", "Power Resources for D3hot", "Returns a list of dependent power resources to enter state D3hot"),
338 AH_PREDEF ("_PRE", "Power Resources for Enumeration", "Returns a list of dependent power resources to enumerate devices on a bus"),
339 AH_PREDEF ("_PRL", "Power Source Redundancy List", "Returns a list of power source devices in the same redundancy grouping"),
340 AH_PREDEF ("_PRR", "Power Resource for Reset", "Execute a reset on a device"),
341 AH_PREDEF ("_PRS", "Possible Resource Settings", "Returns a list of a device's possible resource settings"),
342 AH_PREDEF ("_PRT", "PCI Routing Table", "Returns a list of PCI interrupt mappings"),
343 AH_PREDEF ("_PRW", "Power Resources for Wake", "Returns a list of dependent power resources for waking"),
344 AH_PREDEF ("_PS0", "Power State 0", "Sets a device's power state to D0 (device fully on)"),
345 AH_PREDEF ("_PS1", "Power State 1", "Sets a device's power state to D1"),
346 AH_PREDEF ("_PS2", "Power State 2", "Sets a device's power state to D2"),
347 AH_PREDEF ("_PS3", "Power State 3", "Sets a device's power state to D3 (device off)"),
348 AH_PREDEF ("_PSC", "Power State Current", "Returns a device's current power state"),
349 AH_PREDEF ("_PSD", "Power State Dependencies", "Returns processor P-State dependencies"),
350 AH_PREDEF ("_PSE", "Power State for Enumeration", "Put a bus into enumeration power mode"),
351 AH_PREDEF ("_PSL", "Passive List", "Returns a list of passive cooling device objects"),
352 AH_PREDEF ("_PSR", "Power Source", "Returns the power source device currently in use"),
353 AH_PREDEF ("_PSS", "Performance Supported States", "Returns a list of supported processor performance states"),
354 AH_PREDEF ("_PSV", "Passive Temperature", "Returns the passive trip point temperature"),
355 AH_PREDEF ("_PSW", "Power State Wake", "Sets a device's wake function"),
356 AH_PREDEF ("_PTC", "Processor Throttling Control", "Returns throttling control and status registers"),
357 AH_PREDEF ("_PTP", "Power Trip Points", "Sets trip points for the Power Meter device"),
358 AH_PREDEF ("_PTS", "Prepare To Sleep", "Inform the platform of an impending sleep transition"),
359 AH_PREDEF ("_PUR", "Processor Utilization Request", "Returns the number of processors that the platform would like to idle"),
360 AH_PREDEF ("_PXM", "Device Proximity", "Returns a device's proximity domain identifier"),
361 AH_PREDEF ("_Qxx", "EC Query", "Embedded Controller query and SMBus Alarm control method"),
362 AH_PREDEF ("_RBO", "Register Bit Offset", "Resource Descriptor field"),
363 AH_PREDEF ("_RBW", "Register Bit Width", "Resource Descriptor field"),
364 AH_PREDEF ("_RDI", "Resource Dependencies for Idle", "Returns a list of dependencies for idle states"),
365 AH_PREDEF ("_REG", "Region Availability", "Inform AML code of an operation region availability change"),
366 AH_PREDEF ("_REV", "Supported Integer Width", "Returns the supported integer width (<= 1: 32 bits only, >=2: both 32 and 64 bits"),
367 AH_PREDEF ("_RMV", "Removal Status", "Returns a device's removal ability status (docking)"),
368 AH_PREDEF ("_RNG", "Range", "Memory range type, Resource Descriptor field"),
369 AH_PREDEF ("_RST", "Device Reset", "Executes a reset on a device"),
370 AH_PREDEF ("_ROM", "Read-Only Memory", "Returns a copy of the ROM data for a display device"),
371 AH_PREDEF ("_RT_", "Resource Type", "Resource Descriptor field"),
372 AH_PREDEF ("_RTV", "Relative Temperature Values", "Returns temperature value information"),
373 AH_PREDEF ("_RW_", "Read-Write Status", "Resource Descriptor field"),
374 AH_PREDEF ("_RXL", "Receive Buffer Size", "Serial channel buffer, Resource Descriptor field"),
375 AH_PREDEF ("_S0_", "S0 System State", "Returns values to enter the system into the S0 state"),
376 AH_PREDEF ("_S1_", "S1 System State", "Returns values to enter the system into the S1 state"),
377 AH_PREDEF ("_S2_", "S2 System State", "Returns values to enter the system into the S2 state"),
378 AH_PREDEF ("_S3_", "S3 System State", "Returns values to enter the system into the S3 state"),
379 AH_PREDEF ("_S4_", "S4 System State", "Returns values to enter the system into the S4 state"),
380 AH_PREDEF ("_S5_", "S5 System State", "Returns values to enter the system into the S5 state"),
381 AH_PREDEF ("_S1D", "S1 Device State", "Returns the highest D-state supported by a device when in the S1 state"),
382 AH_PREDEF ("_S2D", "S2 Device State", "Returns the highest D-state supported by a device when in the S2 state"),
383 AH_PREDEF ("_S3D", "S3 Device State", "Returns the highest D-state supported by a device when in the S3 state"),
384 AH_PREDEF ("_S4D", "S4 Device State", "Returns the highest D-state supported by a device when in the S4 state"),
385 AH_PREDEF ("_S0W", "S0 Device Wake State", "Returns the lowest D-state that the device can wake itself from S0"),
386 AH_PREDEF ("_S1W", "S1 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S1"),
387 AH_PREDEF ("_S2W", "S2 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S2"),
388 AH_PREDEF ("_S3W", "S3 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S3"),
389 AH_PREDEF ("_S4W", "S4 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S4"),
390 AH_PREDEF ("_SB_", "System Bus", "Predefined scope for device and bus objects"),
391 AH_PREDEF ("_SBS", "Smart Battery Subsystem", "Returns the subsystem configuration"),
392 AH_PREDEF ("_SCP", "Set Cooling Policy", "Sets the cooling policy (active or passive)"),
393 AH_PREDEF ("_SDD", "Set Device Data", "Sets data for a SATA device"),
394 AH_PREDEF ("_SEG", "PCI Segment", "Returns a device's PCI Segment Group number"),
395 AH_PREDEF ("_SHL", "Set Hardware Limit", "Sets the hardware limit enforced by the Power Meter"),
396 AH_PREDEF ("_SHR", "Sharable", "Interrupt share status, Resource Descriptor field"),
397 AH_PREDEF ("_SI_", "System Indicators", "Predefined scope"),
398 AH_PREDEF ("_SIZ", "Size", "DMA transfer size, Resource Descriptor field"),
399 AH_PREDEF ("_SLI", "System Locality Information", "Returns a list of NUMA system localities"),
400 AH_PREDEF ("_SLV", "Slave Mode", "Mode setting, Resource Descriptor field"),
401 AH_PREDEF ("_SPD", "Set Post Device", "Sets which video device will be posted at boot"),
402 AH_PREDEF ("_SPE", "Speed", "Connection speed, Resource Descriptor field"),
403 AH_PREDEF ("_SRS", "Set Resource Settings", "Sets a device's resource allocation"),
404 AH_PREDEF ("_SRT", "Set Real Time", "Sets the current time for a time/alarm device"),
405 AH_PREDEF ("_SRV", "IPMI Spec Revision", "See the Intelligent Platform Management Interface Specification"),
406 AH_PREDEF ("_SST", "System Status", "Sets the system status indicator"),
407 AH_PREDEF ("_STA", "Status", "Returns the current status of a Device or Power Resource"),
408 AH_PREDEF ("_STB", "Stop Bits", "Serial channel stop bits, Resource Descriptor field"),
409 AH_PREDEF ("_STM", "Set Timing Mode", "Sets an IDE controller transfer timings"),
410 AH_PREDEF ("_STP", "Set Expired Timer Wake Policy", "Sets expired timer policies of the wake alarm device"),
411 AH_PREDEF ("_STR", "Description String", "Returns a device's description string"),
412 AH_PREDEF ("_STV", "Set Timer Value", "Set timer values of the wake alarm device"),
413 AH_PREDEF ("_SUB", "Subsystem ID", "Returns the subsystem ID for a device"),
414 AH_PREDEF ("_SUN", "Slot User Number", "Returns the slot unique ID number"),
415 AH_PREDEF ("_SWS", "System Wake Source", "Returns the source event that caused the system to wake"),
416 AH_PREDEF ("_T_x", "Emitted by ASL Compiler", "Reserved for use by ASL compilers"),
417 AH_PREDEF ("_TC1", "Thermal Constant 1", "Returns TC1 for the passive cooling formula"),
418 AH_PREDEF ("_TC2", "Thermal Constant 2", "Returns TC2 for the passive cooling formula"),
419 AH_PREDEF ("_TDL", "T-State Depth Limit", "Returns the _TSS entry number of the lowest power throttling state"),
420 AH_PREDEF ("_TFP", "Thermal Fast Sampling Period", "Returns the sampling period for passive cooling"),
421 AH_PREDEF ("_TIP", "Expired Timer Wake Policy", "Returns timer policies of the wake alarm device"),
422 AH_PREDEF ("_TIV", "Timer Values", "Returns remaining time of the wake alarm device"),
423 AH_PREDEF ("_TMP", "Temperature", "Returns a thermal zone's current temperature"),
424 AH_PREDEF ("_TPC", "Throttling Present Capabilities", "Returns the current number of supported throttling states"),
425 AH_PREDEF ("_TPT", "Trip Point Temperature", "Inform AML that a device's embedded temperature sensor has crossed a temperature trip point"),
426 AH_PREDEF ("_TRA", "Translation", "Address translation offset, Resource Descriptor field"),
427 AH_PREDEF ("_TRS", "Translation Sparse", "Sparse/dense flag, Resource Descriptor field"),
428 AH_PREDEF ("_TRT", "Thermal Relationship Table", "Returns thermal relationships between platform devices"),
429 AH_PREDEF ("_TSD", "Throttling State Dependencies", "Returns a list of T-state dependencies"),
430 AH_PREDEF ("_TSF", "Type-Specific Flags", "Resource Descriptor field"),
431 AH_PREDEF ("_TSN", "Thermal Sensor Device", "Returns a reference to a thermal sensor"),
432 AH_PREDEF ("_TSP", "Thermal Sampling Period", "Returns the thermal sampling period for passive cooling"),
433 AH_PREDEF ("_TSS", "Throttling Supported States", "Returns supported throttling state information"),
434 AH_PREDEF ("_TST", "Temperature Sensor Threshold", "Returns the minimum separation for a device's temperature trip points"),
435 AH_PREDEF ("_TTP", "Translation Type", "Translation/static flag, Resource Descriptor field"),
436 AH_PREDEF ("_TTS", "Transition To State", "Inform AML of an S-state transition"),
437 AH_PREDEF ("_TXL", "Transmit Buffer Size", "Serial Channel buffer, Resource Descriptor field"),
438 AH_PREDEF ("_TYP", "Type", "DMA channel type (speed), Resource Descriptor field"),
439 AH_PREDEF ("_TZ_", "Thermal Zone", "Predefined scope: ACPI 1.0"),
440 AH_PREDEF ("_TZD", "Thermal Zone Devices", "Returns a list of device names associated with a Thermal Zone"),
441 AH_PREDEF ("_TZM", "Thermal Zone Member", "Returns a reference to the thermal zone of which a device is a member"),
442 AH_PREDEF ("_TZP", "Thermal Zone Polling", "Returns a Thermal zone's polling frequency"),
443 AH_PREDEF ("_UID", "Unique ID", "Return a device's unique persistent ID"),
444 AH_PREDEF ("_UPC", "USB Port Capabilities", "Returns a list of USB port capabilities"),
445 AH_PREDEF ("_UPD", "User Presence Detect", "Returns user detection information"),
446 AH_PREDEF ("_UPP", "User Presence Polling", "Returns the recommended user presence polling interval"),
447 AH_PREDEF ("_VAL", "Pin Configuration Value", "Resource Descriptor field"),
448 AH_PREDEF ("_VEN", "Vendor Data", "Resource Descriptor field"),
449 AH_PREDEF ("_VPO", "Video Post Options", "Returns the implemented video post options"),
450 AH_PREDEF ("_Wxx", "Wake Event", "Method executed as a result of a wake event"),
451 AH_PREDEF ("_WAK", "Wake", "Inform AML that the system has just awakened"),
452 AH_PREDEF ("_WPC", "Wireless Power Calibration", "Calibrate power and notify wireless device"),
453 AH_PREDEF ("_WPP", "Wireless Power Polling", "Get recommended polling interval"),
454 AH_PREDEF (NULL, NULL, NULL)
455 };
456
457
458 /*******************************************************************************
459 *
460 * FUNCTION: AcpiAhMatchPredefinedName
461 *
462 * PARAMETERS: Nameseg - Predefined name string
463 *
464 * RETURN: ID info struct. NULL if Nameseg not found
465 *
466 * DESCRIPTION: Lookup a predefined name.
467 *
468 ******************************************************************************/
469
470 const AH_PREDEFINED_NAME *
AcpiAhMatchPredefinedName(char * Nameseg)471 AcpiAhMatchPredefinedName (
472 char *Nameseg)
473 {
474 const AH_PREDEFINED_NAME *Info;
475
476
477 /* Nameseg must start with an underscore */
478
479 if (*Nameseg != '_')
480 {
481 return (NULL);
482 }
483
484 /* Search for a match in the predefined name table */
485
486 for (Info = AslPredefinedInfo; Info->Name; Info++)
487 {
488 if (ACPI_COMPARE_NAME (Nameseg, Info->Name))
489 {
490 return (Info);
491 }
492 }
493
494 return (NULL);
495 }
496