xref: /illumos-gate/usr/src/common/acpica/utilities/utglobal.c (revision 35786f6866ae52207d0f1a25fe7ca5f652f32ce0)
1bc36eafdSMike Gerdts /******************************************************************************
2bc36eafdSMike Gerdts  *
3bc36eafdSMike Gerdts  * Module Name: utglobal - Global variables for the ACPI subsystem
4bc36eafdSMike Gerdts  *
5bc36eafdSMike Gerdts  *****************************************************************************/
6bc36eafdSMike Gerdts 
7*35786f68SRobert Mustacchi /******************************************************************************
8*35786f68SRobert Mustacchi  *
9*35786f68SRobert Mustacchi  * 1. Copyright Notice
10*35786f68SRobert Mustacchi  *
11*35786f68SRobert Mustacchi  * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
12bc36eafdSMike Gerdts  * All rights reserved.
13bc36eafdSMike Gerdts  *
14*35786f68SRobert Mustacchi  * 2. License
15*35786f68SRobert Mustacchi  *
16*35786f68SRobert Mustacchi  * 2.1. This is your license from Intel Corp. under its intellectual property
17*35786f68SRobert Mustacchi  * rights. You may have additional license terms from the party that provided
18*35786f68SRobert Mustacchi  * you this software, covering your right to use that party's intellectual
19*35786f68SRobert Mustacchi  * property rights.
20*35786f68SRobert Mustacchi  *
21*35786f68SRobert Mustacchi  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22*35786f68SRobert Mustacchi  * copy of the source code appearing in this file ("Covered Code") an
23*35786f68SRobert Mustacchi  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24*35786f68SRobert Mustacchi  * base code distributed originally by Intel ("Original Intel Code") to copy,
25*35786f68SRobert Mustacchi  * make derivatives, distribute, use and display any portion of the Covered
26*35786f68SRobert Mustacchi  * Code in any form, with the right to sublicense such rights; and
27*35786f68SRobert Mustacchi  *
28*35786f68SRobert Mustacchi  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29*35786f68SRobert Mustacchi  * license (with the right to sublicense), under only those claims of Intel
30*35786f68SRobert Mustacchi  * patents that are infringed by the Original Intel Code, to make, use, sell,
31*35786f68SRobert Mustacchi  * offer to sell, and import the Covered Code and derivative works thereof
32*35786f68SRobert Mustacchi  * solely to the minimum extent necessary to exercise the above copyright
33*35786f68SRobert Mustacchi  * license, and in no event shall the patent license extend to any additions
34*35786f68SRobert Mustacchi  * to or modifications of the Original Intel Code. No other license or right
35*35786f68SRobert Mustacchi  * is granted directly or by implication, estoppel or otherwise;
36*35786f68SRobert Mustacchi  *
37*35786f68SRobert Mustacchi  * The above copyright and patent license is granted only if the following
38*35786f68SRobert Mustacchi  * conditions are met:
39*35786f68SRobert Mustacchi  *
40*35786f68SRobert Mustacchi  * 3. Conditions
41*35786f68SRobert Mustacchi  *
42*35786f68SRobert Mustacchi  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43*35786f68SRobert Mustacchi  * Redistribution of source code of any substantial portion of the Covered
44*35786f68SRobert Mustacchi  * Code or modification with rights to further distribute source must include
45*35786f68SRobert Mustacchi  * the above Copyright Notice, the above License, this list of Conditions,
46*35786f68SRobert Mustacchi  * and the following Disclaimer and Export Compliance provision. In addition,
47*35786f68SRobert Mustacchi  * Licensee must cause all Covered Code to which Licensee contributes to
48*35786f68SRobert Mustacchi  * contain a file documenting the changes Licensee made to create that Covered
49*35786f68SRobert Mustacchi  * Code and the date of any change. Licensee must include in that file the
50*35786f68SRobert Mustacchi  * documentation of any changes made by any predecessor Licensee. Licensee
51*35786f68SRobert Mustacchi  * must include a prominent statement that the modification is derived,
52*35786f68SRobert Mustacchi  * directly or indirectly, from Original Intel Code.
53*35786f68SRobert Mustacchi  *
54*35786f68SRobert Mustacchi  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55*35786f68SRobert Mustacchi  * Redistribution of source code of any substantial portion of the Covered
56*35786f68SRobert Mustacchi  * Code or modification without rights to further distribute source must
57*35786f68SRobert Mustacchi  * include the following Disclaimer and Export Compliance provision in the
58*35786f68SRobert Mustacchi  * documentation and/or other materials provided with distribution. In
59*35786f68SRobert Mustacchi  * addition, Licensee may not authorize further sublicense of source of any
60*35786f68SRobert Mustacchi  * portion of the Covered Code, and must include terms to the effect that the
61*35786f68SRobert Mustacchi  * license from Licensee to its licensee is limited to the intellectual
62*35786f68SRobert Mustacchi  * property embodied in the software Licensee provides to its licensee, and
63*35786f68SRobert Mustacchi  * not to intellectual property embodied in modifications its licensee may
64*35786f68SRobert Mustacchi  * make.
65*35786f68SRobert Mustacchi  *
66*35786f68SRobert Mustacchi  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67*35786f68SRobert Mustacchi  * substantial portion of the Covered Code or modification must reproduce the
68*35786f68SRobert Mustacchi  * above Copyright Notice, and the following Disclaimer and Export Compliance
69*35786f68SRobert Mustacchi  * provision in the documentation and/or other materials provided with the
70*35786f68SRobert Mustacchi  * distribution.
71*35786f68SRobert Mustacchi  *
72*35786f68SRobert Mustacchi  * 3.4. Intel retains all right, title, and interest in and to the Original
73*35786f68SRobert Mustacchi  * Intel Code.
74*35786f68SRobert Mustacchi  *
75*35786f68SRobert Mustacchi  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76*35786f68SRobert Mustacchi  * Intel shall be used in advertising or otherwise to promote the sale, use or
77*35786f68SRobert Mustacchi  * other dealings in products derived from or relating to the Covered Code
78*35786f68SRobert Mustacchi  * without prior written authorization from Intel.
79*35786f68SRobert Mustacchi  *
80*35786f68SRobert Mustacchi  * 4. Disclaimer and Export Compliance
81*35786f68SRobert Mustacchi  *
82*35786f68SRobert Mustacchi  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83*35786f68SRobert Mustacchi  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84*35786f68SRobert Mustacchi  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85*35786f68SRobert Mustacchi  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86*35786f68SRobert Mustacchi  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87*35786f68SRobert Mustacchi  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88*35786f68SRobert Mustacchi  * PARTICULAR PURPOSE.
89*35786f68SRobert Mustacchi  *
90*35786f68SRobert Mustacchi  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91*35786f68SRobert Mustacchi  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92*35786f68SRobert Mustacchi  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93*35786f68SRobert Mustacchi  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94*35786f68SRobert Mustacchi  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95*35786f68SRobert Mustacchi  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96*35786f68SRobert Mustacchi  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97*35786f68SRobert Mustacchi  * LIMITED REMEDY.
98*35786f68SRobert Mustacchi  *
99*35786f68SRobert Mustacchi  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100*35786f68SRobert Mustacchi  * software or system incorporating such software without first obtaining any
101*35786f68SRobert Mustacchi  * required license or other approval from the U. S. Department of Commerce or
102*35786f68SRobert Mustacchi  * any other agency or department of the United States Government. In the
103*35786f68SRobert Mustacchi  * event Licensee exports any such software from the United States or
104*35786f68SRobert Mustacchi  * re-exports any such software from a foreign destination, Licensee shall
105*35786f68SRobert Mustacchi  * ensure that the distribution and export/re-export of the software is in
106*35786f68SRobert Mustacchi  * compliance with all laws, regulations, orders, or other restrictions of the
107*35786f68SRobert Mustacchi  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108*35786f68SRobert Mustacchi  * any of its subsidiaries will export/re-export any technical data, process,
109*35786f68SRobert Mustacchi  * software, or service, directly or indirectly, to any country for which the
110*35786f68SRobert Mustacchi  * United States government or any agency thereof requires an export license,
111*35786f68SRobert Mustacchi  * other governmental approval, or letter of assurance, without first obtaining
112*35786f68SRobert Mustacchi  * such license, approval or letter.
113*35786f68SRobert Mustacchi  *
114*35786f68SRobert Mustacchi  *****************************************************************************
115*35786f68SRobert Mustacchi  *
116*35786f68SRobert Mustacchi  * Alternatively, you may choose to be licensed under the terms of the
117*35786f68SRobert Mustacchi  * following license:
118*35786f68SRobert Mustacchi  *
119bc36eafdSMike Gerdts  * Redistribution and use in source and binary forms, with or without
120bc36eafdSMike Gerdts  * modification, are permitted provided that the following conditions
121bc36eafdSMike Gerdts  * are met:
122bc36eafdSMike Gerdts  * 1. Redistributions of source code must retain the above copyright
123bc36eafdSMike Gerdts  *    notice, this list of conditions, and the following disclaimer,
124bc36eafdSMike Gerdts  *    without modification.
125bc36eafdSMike Gerdts  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126bc36eafdSMike Gerdts  *    substantially similar to the "NO WARRANTY" disclaimer below
127bc36eafdSMike Gerdts  *    ("Disclaimer") and any redistribution must be conditioned upon
128bc36eafdSMike Gerdts  *    including a substantially similar Disclaimer requirement for further
129bc36eafdSMike Gerdts  *    binary redistribution.
130bc36eafdSMike Gerdts  * 3. Neither the names of the above-listed copyright holders nor the names
131bc36eafdSMike Gerdts  *    of any contributors may be used to endorse or promote products derived
132bc36eafdSMike Gerdts  *    from this software without specific prior written permission.
133bc36eafdSMike Gerdts  *
134*35786f68SRobert Mustacchi  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135*35786f68SRobert Mustacchi  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136*35786f68SRobert Mustacchi  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137*35786f68SRobert Mustacchi  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138*35786f68SRobert Mustacchi  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139*35786f68SRobert Mustacchi  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140*35786f68SRobert Mustacchi  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141*35786f68SRobert Mustacchi  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142*35786f68SRobert Mustacchi  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143*35786f68SRobert Mustacchi  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144*35786f68SRobert Mustacchi  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145*35786f68SRobert Mustacchi  *
146*35786f68SRobert Mustacchi  * Alternatively, you may choose to be licensed under the terms of the
147bc36eafdSMike Gerdts  * GNU General Public License ("GPL") version 2 as published by the Free
148bc36eafdSMike Gerdts  * Software Foundation.
149bc36eafdSMike Gerdts  *
150*35786f68SRobert Mustacchi  *****************************************************************************/
151bc36eafdSMike Gerdts 
152bc36eafdSMike Gerdts #define EXPORT_ACPI_INTERFACES
153bc36eafdSMike Gerdts #define DEFINE_ACPI_GLOBALS
154bc36eafdSMike Gerdts 
155bc36eafdSMike Gerdts #include "acpi.h"
156bc36eafdSMike Gerdts #include "accommon.h"
157bc36eafdSMike Gerdts 
158bc36eafdSMike Gerdts #define _COMPONENT          ACPI_UTILITIES
159bc36eafdSMike Gerdts         ACPI_MODULE_NAME    ("utglobal")
160bc36eafdSMike Gerdts 
161bc36eafdSMike Gerdts 
162bc36eafdSMike Gerdts /*******************************************************************************
163bc36eafdSMike Gerdts  *
164bc36eafdSMike Gerdts  * Static global variable initialization.
165bc36eafdSMike Gerdts  *
166bc36eafdSMike Gerdts  ******************************************************************************/
167bc36eafdSMike Gerdts 
168bc36eafdSMike Gerdts /* Various state name strings */
169bc36eafdSMike Gerdts 
170bc36eafdSMike Gerdts const char                  *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT] =
171bc36eafdSMike Gerdts {
172bc36eafdSMike Gerdts     "\\_S0_",
173bc36eafdSMike Gerdts     "\\_S1_",
174bc36eafdSMike Gerdts     "\\_S2_",
175bc36eafdSMike Gerdts     "\\_S3_",
176bc36eafdSMike Gerdts     "\\_S4_",
177bc36eafdSMike Gerdts     "\\_S5_"
178bc36eafdSMike Gerdts };
179bc36eafdSMike Gerdts 
180bc36eafdSMike Gerdts const char                  *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS] =
181bc36eafdSMike Gerdts {
182bc36eafdSMike Gerdts     "_S0W",
183bc36eafdSMike Gerdts     "_S1W",
184bc36eafdSMike Gerdts     "_S2W",
185bc36eafdSMike Gerdts     "_S3W",
186bc36eafdSMike Gerdts     "_S4W"
187bc36eafdSMike Gerdts };
188bc36eafdSMike Gerdts 
189bc36eafdSMike Gerdts const char                  *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS] =
190bc36eafdSMike Gerdts {
191bc36eafdSMike Gerdts     "_S1D",
192bc36eafdSMike Gerdts     "_S2D",
193bc36eafdSMike Gerdts     "_S3D",
194bc36eafdSMike Gerdts     "_S4D"
195bc36eafdSMike Gerdts };
196bc36eafdSMike Gerdts 
197bc36eafdSMike Gerdts 
198bc36eafdSMike Gerdts /* Hex-to-ascii */
199bc36eafdSMike Gerdts 
200bc36eafdSMike Gerdts const char                  AcpiGbl_LowerHexDigits[] = "0123456789abcdef";
201bc36eafdSMike Gerdts const char                  AcpiGbl_UpperHexDigits[] = "0123456789ABCDEF";
202bc36eafdSMike Gerdts 
203bc36eafdSMike Gerdts 
204bc36eafdSMike Gerdts /*******************************************************************************
205bc36eafdSMike Gerdts  *
206bc36eafdSMike Gerdts  * Namespace globals
207bc36eafdSMike Gerdts  *
208bc36eafdSMike Gerdts  ******************************************************************************/
209bc36eafdSMike Gerdts 
210bc36eafdSMike Gerdts /*
211bc36eafdSMike Gerdts  * Predefined ACPI Names (Built-in to the Interpreter)
212bc36eafdSMike Gerdts  *
213bc36eafdSMike Gerdts  * NOTES:
214bc36eafdSMike Gerdts  * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
215bc36eafdSMike Gerdts  *    during the initialization sequence.
216bc36eafdSMike Gerdts  * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
217bc36eafdSMike Gerdts  *    perform a Notify() operation on it. 09/2010: Changed to type Device.
218bc36eafdSMike Gerdts  *    This still allows notifies, but does not confuse host code that
219bc36eafdSMike Gerdts  *    searches for valid ThermalZone objects.
220bc36eafdSMike Gerdts  */
221bc36eafdSMike Gerdts const ACPI_PREDEFINED_NAMES     AcpiGbl_PreDefinedNames[] =
222bc36eafdSMike Gerdts {
223bc36eafdSMike Gerdts     {"_GPE",    ACPI_TYPE_LOCAL_SCOPE,      NULL},
224bc36eafdSMike Gerdts     {"_PR_",    ACPI_TYPE_LOCAL_SCOPE,      NULL},
225bc36eafdSMike Gerdts     {"_SB_",    ACPI_TYPE_DEVICE,           NULL},
226bc36eafdSMike Gerdts     {"_SI_",    ACPI_TYPE_LOCAL_SCOPE,      NULL},
227bc36eafdSMike Gerdts     {"_TZ_",    ACPI_TYPE_DEVICE,           NULL},
228bc36eafdSMike Gerdts     /*
229bc36eafdSMike Gerdts      * March, 2015:
230bc36eafdSMike Gerdts      * The _REV object is in the process of being deprecated, because
231bc36eafdSMike Gerdts      * other ACPI implementations permanently return 2. Thus, it
232bc36eafdSMike Gerdts      * has little or no value. Return 2 for compatibility with
233bc36eafdSMike Gerdts      * other ACPI implementations.
234bc36eafdSMike Gerdts      */
235bc36eafdSMike Gerdts     {"_REV",    ACPI_TYPE_INTEGER,          ACPI_CAST_PTR (char, 2)},
236bc36eafdSMike Gerdts     {"_OS_",    ACPI_TYPE_STRING,           ACPI_OS_NAME},
237bc36eafdSMike Gerdts     {"_GL_",    ACPI_TYPE_MUTEX,            ACPI_CAST_PTR (char, 1)},
238bc36eafdSMike Gerdts 
239bc36eafdSMike Gerdts #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
240bc36eafdSMike Gerdts     {"_OSI",    ACPI_TYPE_METHOD,           ACPI_CAST_PTR (char, 1)},
241bc36eafdSMike Gerdts #endif
242bc36eafdSMike Gerdts 
243bc36eafdSMike Gerdts     /* Table terminator */
244bc36eafdSMike Gerdts 
245bc36eafdSMike Gerdts     {NULL,      ACPI_TYPE_ANY,              NULL}
246bc36eafdSMike Gerdts };
247bc36eafdSMike Gerdts 
248bc36eafdSMike Gerdts 
249bc36eafdSMike Gerdts #if (!ACPI_REDUCED_HARDWARE)
250bc36eafdSMike Gerdts /******************************************************************************
251bc36eafdSMike Gerdts  *
252bc36eafdSMike Gerdts  * Event and Hardware globals
253bc36eafdSMike Gerdts  *
254bc36eafdSMike Gerdts  ******************************************************************************/
255bc36eafdSMike Gerdts 
256bc36eafdSMike Gerdts ACPI_BIT_REGISTER_INFO      AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG] =
257bc36eafdSMike Gerdts {
258bc36eafdSMike Gerdts     /* Name                                     Parent Register             Register Bit Position                   Register Bit Mask       */
259bc36eafdSMike Gerdts 
260bc36eafdSMike Gerdts     /* ACPI_BITREG_TIMER_STATUS         */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_TIMER_STATUS,          ACPI_BITMASK_TIMER_STATUS},
261bc36eafdSMike Gerdts     /* ACPI_BITREG_BUS_MASTER_STATUS    */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_BUS_MASTER_STATUS,     ACPI_BITMASK_BUS_MASTER_STATUS},
262bc36eafdSMike Gerdts     /* ACPI_BITREG_GLOBAL_LOCK_STATUS   */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_GLOBAL_LOCK_STATUS,    ACPI_BITMASK_GLOBAL_LOCK_STATUS},
263bc36eafdSMike Gerdts     /* ACPI_BITREG_POWER_BUTTON_STATUS  */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_POWER_BUTTON_STATUS,   ACPI_BITMASK_POWER_BUTTON_STATUS},
264bc36eafdSMike Gerdts     /* ACPI_BITREG_SLEEP_BUTTON_STATUS  */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_SLEEP_BUTTON_STATUS,   ACPI_BITMASK_SLEEP_BUTTON_STATUS},
265bc36eafdSMike Gerdts     /* ACPI_BITREG_RT_CLOCK_STATUS      */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_RT_CLOCK_STATUS,       ACPI_BITMASK_RT_CLOCK_STATUS},
266bc36eafdSMike Gerdts     /* ACPI_BITREG_WAKE_STATUS          */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_WAKE_STATUS,           ACPI_BITMASK_WAKE_STATUS},
267bc36eafdSMike Gerdts     /* ACPI_BITREG_PCIEXP_WAKE_STATUS   */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_PCIEXP_WAKE_STATUS,    ACPI_BITMASK_PCIEXP_WAKE_STATUS},
268bc36eafdSMike Gerdts 
269bc36eafdSMike Gerdts     /* ACPI_BITREG_TIMER_ENABLE         */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_TIMER_ENABLE,          ACPI_BITMASK_TIMER_ENABLE},
270bc36eafdSMike Gerdts     /* ACPI_BITREG_GLOBAL_LOCK_ENABLE   */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE,    ACPI_BITMASK_GLOBAL_LOCK_ENABLE},
271bc36eafdSMike Gerdts     /* ACPI_BITREG_POWER_BUTTON_ENABLE  */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_POWER_BUTTON_ENABLE,   ACPI_BITMASK_POWER_BUTTON_ENABLE},
272bc36eafdSMike Gerdts     /* ACPI_BITREG_SLEEP_BUTTON_ENABLE  */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE,   ACPI_BITMASK_SLEEP_BUTTON_ENABLE},
273bc36eafdSMike Gerdts     /* ACPI_BITREG_RT_CLOCK_ENABLE      */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_RT_CLOCK_ENABLE,       ACPI_BITMASK_RT_CLOCK_ENABLE},
274bc36eafdSMike Gerdts     /* ACPI_BITREG_PCIEXP_WAKE_DISABLE  */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE,   ACPI_BITMASK_PCIEXP_WAKE_DISABLE},
275bc36eafdSMike Gerdts 
276bc36eafdSMike Gerdts     /* ACPI_BITREG_SCI_ENABLE           */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_SCI_ENABLE,            ACPI_BITMASK_SCI_ENABLE},
277bc36eafdSMike Gerdts     /* ACPI_BITREG_BUS_MASTER_RLD       */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_BUS_MASTER_RLD,        ACPI_BITMASK_BUS_MASTER_RLD},
278bc36eafdSMike Gerdts     /* ACPI_BITREG_GLOBAL_LOCK_RELEASE  */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE,   ACPI_BITMASK_GLOBAL_LOCK_RELEASE},
279bc36eafdSMike Gerdts     /* ACPI_BITREG_SLEEP_TYPE           */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_SLEEP_TYPE,            ACPI_BITMASK_SLEEP_TYPE},
280bc36eafdSMike Gerdts     /* ACPI_BITREG_SLEEP_ENABLE         */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_SLEEP_ENABLE,          ACPI_BITMASK_SLEEP_ENABLE},
281bc36eafdSMike Gerdts 
282bc36eafdSMike Gerdts     /* ACPI_BITREG_ARB_DIS              */   {ACPI_REGISTER_PM2_CONTROL,  ACPI_BITPOSITION_ARB_DISABLE,           ACPI_BITMASK_ARB_DISABLE}
283bc36eafdSMike Gerdts };
284bc36eafdSMike Gerdts 
285bc36eafdSMike Gerdts 
286bc36eafdSMike Gerdts ACPI_FIXED_EVENT_INFO       AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS] =
287bc36eafdSMike Gerdts {
288bc36eafdSMike Gerdts     /* ACPI_EVENT_PMTIMER       */  {ACPI_BITREG_TIMER_STATUS,          ACPI_BITREG_TIMER_ENABLE,        ACPI_BITMASK_TIMER_STATUS,          ACPI_BITMASK_TIMER_ENABLE},
289bc36eafdSMike Gerdts     /* ACPI_EVENT_GLOBAL        */  {ACPI_BITREG_GLOBAL_LOCK_STATUS,    ACPI_BITREG_GLOBAL_LOCK_ENABLE,  ACPI_BITMASK_GLOBAL_LOCK_STATUS,    ACPI_BITMASK_GLOBAL_LOCK_ENABLE},
290bc36eafdSMike Gerdts     /* ACPI_EVENT_POWER_BUTTON  */  {ACPI_BITREG_POWER_BUTTON_STATUS,   ACPI_BITREG_POWER_BUTTON_ENABLE, ACPI_BITMASK_POWER_BUTTON_STATUS,   ACPI_BITMASK_POWER_BUTTON_ENABLE},
291bc36eafdSMike Gerdts     /* ACPI_EVENT_SLEEP_BUTTON  */  {ACPI_BITREG_SLEEP_BUTTON_STATUS,   ACPI_BITREG_SLEEP_BUTTON_ENABLE, ACPI_BITMASK_SLEEP_BUTTON_STATUS,   ACPI_BITMASK_SLEEP_BUTTON_ENABLE},
292bc36eafdSMike Gerdts     /* ACPI_EVENT_RTC           */  {ACPI_BITREG_RT_CLOCK_STATUS,       ACPI_BITREG_RT_CLOCK_ENABLE,     ACPI_BITMASK_RT_CLOCK_STATUS,       ACPI_BITMASK_RT_CLOCK_ENABLE},
293bc36eafdSMike Gerdts };
294bc36eafdSMike Gerdts #endif /* !ACPI_REDUCED_HARDWARE */
295bc36eafdSMike Gerdts 
296bc36eafdSMike Gerdts 
297bc36eafdSMike Gerdts #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
298bc36eafdSMike Gerdts 
299bc36eafdSMike Gerdts /* ToPld macro: compile/disassemble strings */
300bc36eafdSMike Gerdts 
301bc36eafdSMike Gerdts const char              *AcpiGbl_PldPanelList[] =
302bc36eafdSMike Gerdts {
303bc36eafdSMike Gerdts     "TOP",
304bc36eafdSMike Gerdts     "BOTTOM",
305bc36eafdSMike Gerdts     "LEFT",
306bc36eafdSMike Gerdts     "RIGHT",
307bc36eafdSMike Gerdts     "FRONT",
308bc36eafdSMike Gerdts     "BACK",
309bc36eafdSMike Gerdts     "UNKNOWN",
310bc36eafdSMike Gerdts     NULL
311bc36eafdSMike Gerdts };
312bc36eafdSMike Gerdts 
313bc36eafdSMike Gerdts const char              *AcpiGbl_PldVerticalPositionList[] =
314bc36eafdSMike Gerdts {
315bc36eafdSMike Gerdts     "UPPER",
316bc36eafdSMike Gerdts     "CENTER",
317bc36eafdSMike Gerdts     "LOWER",
318bc36eafdSMike Gerdts     NULL
319bc36eafdSMike Gerdts };
320bc36eafdSMike Gerdts 
321bc36eafdSMike Gerdts const char              *AcpiGbl_PldHorizontalPositionList[] =
322bc36eafdSMike Gerdts {
323bc36eafdSMike Gerdts     "LEFT",
324bc36eafdSMike Gerdts     "CENTER",
325bc36eafdSMike Gerdts     "RIGHT",
326bc36eafdSMike Gerdts     NULL
327bc36eafdSMike Gerdts };
328bc36eafdSMike Gerdts 
329bc36eafdSMike Gerdts const char              *AcpiGbl_PldShapeList[] =
330bc36eafdSMike Gerdts {
331bc36eafdSMike Gerdts     "ROUND",
332bc36eafdSMike Gerdts     "OVAL",
333bc36eafdSMike Gerdts     "SQUARE",
334bc36eafdSMike Gerdts     "VERTICALRECTANGLE",
335bc36eafdSMike Gerdts     "HORIZONTALRECTANGLE",
336bc36eafdSMike Gerdts     "VERTICALTRAPEZOID",
337bc36eafdSMike Gerdts     "HORIZONTALTRAPEZOID",
338bc36eafdSMike Gerdts     "UNKNOWN",
339bc36eafdSMike Gerdts     "CHAMFERED",
340bc36eafdSMike Gerdts     NULL
341bc36eafdSMike Gerdts };
342bc36eafdSMike Gerdts #endif
343bc36eafdSMike Gerdts 
344bc36eafdSMike Gerdts 
345bc36eafdSMike Gerdts /* Public globals */
346bc36eafdSMike Gerdts 
347bc36eafdSMike Gerdts ACPI_EXPORT_SYMBOL (AcpiGbl_FADT)
348bc36eafdSMike Gerdts ACPI_EXPORT_SYMBOL (AcpiDbgLevel)
349bc36eafdSMike Gerdts ACPI_EXPORT_SYMBOL (AcpiDbgLayer)
350bc36eafdSMike Gerdts ACPI_EXPORT_SYMBOL (AcpiGpeCount)
351bc36eafdSMike Gerdts ACPI_EXPORT_SYMBOL (AcpiCurrentGpeCount)
352