xref: /haiku/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utglobal.c (revision 6dde014f768e0ee49bae871ed857cf433837b9ff)
10174267aSFredrik Holmqvist /******************************************************************************
20174267aSFredrik Holmqvist  *
30174267aSFredrik Holmqvist  * Module Name: utglobal - Global variables for the ACPI subsystem
40174267aSFredrik Holmqvist  *
50174267aSFredrik Holmqvist  *****************************************************************************/
60174267aSFredrik Holmqvist 
70174267aSFredrik Holmqvist /******************************************************************************
80174267aSFredrik Holmqvist  *
90174267aSFredrik Holmqvist  * 1. Copyright Notice
100174267aSFredrik Holmqvist  *
11*6dde014fSPulkoMandy  * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
120174267aSFredrik Holmqvist  * All rights reserved.
130174267aSFredrik Holmqvist  *
140174267aSFredrik Holmqvist  * 2. License
150174267aSFredrik Holmqvist  *
160174267aSFredrik Holmqvist  * 2.1. This is your license from Intel Corp. under its intellectual property
170174267aSFredrik Holmqvist  * rights. You may have additional license terms from the party that provided
180174267aSFredrik Holmqvist  * you this software, covering your right to use that party's intellectual
190174267aSFredrik Holmqvist  * property rights.
200174267aSFredrik Holmqvist  *
210174267aSFredrik Holmqvist  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
220174267aSFredrik Holmqvist  * copy of the source code appearing in this file ("Covered Code") an
230174267aSFredrik Holmqvist  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
240174267aSFredrik Holmqvist  * base code distributed originally by Intel ("Original Intel Code") to copy,
250174267aSFredrik Holmqvist  * make derivatives, distribute, use and display any portion of the Covered
260174267aSFredrik Holmqvist  * Code in any form, with the right to sublicense such rights; and
270174267aSFredrik Holmqvist  *
280174267aSFredrik Holmqvist  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
290174267aSFredrik Holmqvist  * license (with the right to sublicense), under only those claims of Intel
300174267aSFredrik Holmqvist  * patents that are infringed by the Original Intel Code, to make, use, sell,
310174267aSFredrik Holmqvist  * offer to sell, and import the Covered Code and derivative works thereof
320174267aSFredrik Holmqvist  * solely to the minimum extent necessary to exercise the above copyright
330174267aSFredrik Holmqvist  * license, and in no event shall the patent license extend to any additions
340174267aSFredrik Holmqvist  * to or modifications of the Original Intel Code. No other license or right
350174267aSFredrik Holmqvist  * is granted directly or by implication, estoppel or otherwise;
360174267aSFredrik Holmqvist  *
370174267aSFredrik Holmqvist  * The above copyright and patent license is granted only if the following
380174267aSFredrik Holmqvist  * conditions are met:
390174267aSFredrik Holmqvist  *
400174267aSFredrik Holmqvist  * 3. Conditions
410174267aSFredrik Holmqvist  *
420174267aSFredrik Holmqvist  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
430174267aSFredrik Holmqvist  * Redistribution of source code of any substantial portion of the Covered
440174267aSFredrik Holmqvist  * Code or modification with rights to further distribute source must include
450174267aSFredrik Holmqvist  * the above Copyright Notice, the above License, this list of Conditions,
460174267aSFredrik Holmqvist  * and the following Disclaimer and Export Compliance provision. In addition,
470174267aSFredrik Holmqvist  * Licensee must cause all Covered Code to which Licensee contributes to
480174267aSFredrik Holmqvist  * contain a file documenting the changes Licensee made to create that Covered
490174267aSFredrik Holmqvist  * Code and the date of any change. Licensee must include in that file the
500174267aSFredrik Holmqvist  * documentation of any changes made by any predecessor Licensee. Licensee
510174267aSFredrik Holmqvist  * must include a prominent statement that the modification is derived,
520174267aSFredrik Holmqvist  * directly or indirectly, from Original Intel Code.
530174267aSFredrik Holmqvist  *
540174267aSFredrik Holmqvist  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
550174267aSFredrik Holmqvist  * Redistribution of source code of any substantial portion of the Covered
560174267aSFredrik Holmqvist  * Code or modification without rights to further distribute source must
570174267aSFredrik Holmqvist  * include the following Disclaimer and Export Compliance provision in the
580174267aSFredrik Holmqvist  * documentation and/or other materials provided with distribution. In
590174267aSFredrik Holmqvist  * addition, Licensee may not authorize further sublicense of source of any
600174267aSFredrik Holmqvist  * portion of the Covered Code, and must include terms to the effect that the
610174267aSFredrik Holmqvist  * license from Licensee to its licensee is limited to the intellectual
620174267aSFredrik Holmqvist  * property embodied in the software Licensee provides to its licensee, and
630174267aSFredrik Holmqvist  * not to intellectual property embodied in modifications its licensee may
640174267aSFredrik Holmqvist  * make.
650174267aSFredrik Holmqvist  *
660174267aSFredrik Holmqvist  * 3.3. Redistribution of Executable. Redistribution in executable form of any
670174267aSFredrik Holmqvist  * substantial portion of the Covered Code or modification must reproduce the
680174267aSFredrik Holmqvist  * above Copyright Notice, and the following Disclaimer and Export Compliance
690174267aSFredrik Holmqvist  * provision in the documentation and/or other materials provided with the
700174267aSFredrik Holmqvist  * distribution.
710174267aSFredrik Holmqvist  *
720174267aSFredrik Holmqvist  * 3.4. Intel retains all right, title, and interest in and to the Original
730174267aSFredrik Holmqvist  * Intel Code.
740174267aSFredrik Holmqvist  *
750174267aSFredrik Holmqvist  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
760174267aSFredrik Holmqvist  * Intel shall be used in advertising or otherwise to promote the sale, use or
770174267aSFredrik Holmqvist  * other dealings in products derived from or relating to the Covered Code
780174267aSFredrik Holmqvist  * without prior written authorization from Intel.
790174267aSFredrik Holmqvist  *
800174267aSFredrik Holmqvist  * 4. Disclaimer and Export Compliance
810174267aSFredrik Holmqvist  *
820174267aSFredrik Holmqvist  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
830174267aSFredrik Holmqvist  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
840174267aSFredrik Holmqvist  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
850174267aSFredrik Holmqvist  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
860174267aSFredrik Holmqvist  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
870174267aSFredrik Holmqvist  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
880174267aSFredrik Holmqvist  * PARTICULAR PURPOSE.
890174267aSFredrik Holmqvist  *
900174267aSFredrik Holmqvist  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
910174267aSFredrik Holmqvist  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
920174267aSFredrik Holmqvist  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
930174267aSFredrik Holmqvist  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
940174267aSFredrik Holmqvist  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
950174267aSFredrik Holmqvist  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
960174267aSFredrik Holmqvist  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
970174267aSFredrik Holmqvist  * LIMITED REMEDY.
980174267aSFredrik Holmqvist  *
990174267aSFredrik Holmqvist  * 4.3. Licensee shall not export, either directly or indirectly, any of this
1000174267aSFredrik Holmqvist  * software or system incorporating such software without first obtaining any
1010174267aSFredrik Holmqvist  * required license or other approval from the U. S. Department of Commerce or
1020174267aSFredrik Holmqvist  * any other agency or department of the United States Government. In the
1030174267aSFredrik Holmqvist  * event Licensee exports any such software from the United States or
1040174267aSFredrik Holmqvist  * re-exports any such software from a foreign destination, Licensee shall
1050174267aSFredrik Holmqvist  * ensure that the distribution and export/re-export of the software is in
1060174267aSFredrik Holmqvist  * compliance with all laws, regulations, orders, or other restrictions of the
1070174267aSFredrik Holmqvist  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
1080174267aSFredrik Holmqvist  * any of its subsidiaries will export/re-export any technical data, process,
1090174267aSFredrik Holmqvist  * software, or service, directly or indirectly, to any country for which the
1100174267aSFredrik Holmqvist  * United States government or any agency thereof requires an export license,
1110174267aSFredrik Holmqvist  * other governmental approval, or letter of assurance, without first obtaining
1120174267aSFredrik Holmqvist  * such license, approval or letter.
1130174267aSFredrik Holmqvist  *
114ff2e2f81SFredrik Holmqvist  *****************************************************************************
115ff2e2f81SFredrik Holmqvist  *
116ff2e2f81SFredrik Holmqvist  * Alternatively, you may choose to be licensed under the terms of the
117ff2e2f81SFredrik Holmqvist  * following license:
118ff2e2f81SFredrik Holmqvist  *
119ff2e2f81SFredrik Holmqvist  * Redistribution and use in source and binary forms, with or without
120ff2e2f81SFredrik Holmqvist  * modification, are permitted provided that the following conditions
121ff2e2f81SFredrik Holmqvist  * are met:
122ff2e2f81SFredrik Holmqvist  * 1. Redistributions of source code must retain the above copyright
123ff2e2f81SFredrik Holmqvist  *    notice, this list of conditions, and the following disclaimer,
124ff2e2f81SFredrik Holmqvist  *    without modification.
125ff2e2f81SFredrik Holmqvist  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126ff2e2f81SFredrik Holmqvist  *    substantially similar to the "NO WARRANTY" disclaimer below
127ff2e2f81SFredrik Holmqvist  *    ("Disclaimer") and any redistribution must be conditioned upon
128ff2e2f81SFredrik Holmqvist  *    including a substantially similar Disclaimer requirement for further
129ff2e2f81SFredrik Holmqvist  *    binary redistribution.
130ff2e2f81SFredrik Holmqvist  * 3. Neither the names of the above-listed copyright holders nor the names
131ff2e2f81SFredrik Holmqvist  *    of any contributors may be used to endorse or promote products derived
132ff2e2f81SFredrik Holmqvist  *    from this software without specific prior written permission.
133ff2e2f81SFredrik Holmqvist  *
134ff2e2f81SFredrik Holmqvist  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135ff2e2f81SFredrik Holmqvist  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136ff2e2f81SFredrik Holmqvist  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137ff2e2f81SFredrik Holmqvist  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138ff2e2f81SFredrik Holmqvist  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139ff2e2f81SFredrik Holmqvist  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140ff2e2f81SFredrik Holmqvist  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141ff2e2f81SFredrik Holmqvist  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142ff2e2f81SFredrik Holmqvist  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143ff2e2f81SFredrik Holmqvist  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144ff2e2f81SFredrik Holmqvist  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145ff2e2f81SFredrik Holmqvist  *
146ff2e2f81SFredrik Holmqvist  * Alternatively, you may choose to be licensed under the terms of the
147ff2e2f81SFredrik Holmqvist  * GNU General Public License ("GPL") version 2 as published by the Free
148ff2e2f81SFredrik Holmqvist  * Software Foundation.
149ff2e2f81SFredrik Holmqvist  *
1500174267aSFredrik Holmqvist  *****************************************************************************/
1510174267aSFredrik Holmqvist 
152ad5bbfb8SFredrik Holmqvist #define EXPORT_ACPI_INTERFACES
1530174267aSFredrik Holmqvist #define DEFINE_ACPI_GLOBALS
1540174267aSFredrik Holmqvist 
1550174267aSFredrik Holmqvist #include "acpi.h"
1560174267aSFredrik Holmqvist #include "accommon.h"
1570174267aSFredrik Holmqvist 
1580174267aSFredrik Holmqvist #define _COMPONENT          ACPI_UTILITIES
1590174267aSFredrik Holmqvist         ACPI_MODULE_NAME    ("utglobal")
1600174267aSFredrik Holmqvist 
1610174267aSFredrik Holmqvist 
1620174267aSFredrik Holmqvist /*******************************************************************************
1630174267aSFredrik Holmqvist  *
1640174267aSFredrik Holmqvist  * Static global variable initialization.
1650174267aSFredrik Holmqvist  *
1660174267aSFredrik Holmqvist  ******************************************************************************/
1670174267aSFredrik Holmqvist 
168ad5bbfb8SFredrik Holmqvist /* Various state name strings */
1690174267aSFredrik Holmqvist 
1700174267aSFredrik Holmqvist const char                  *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT] =
1710174267aSFredrik Holmqvist {
1720174267aSFredrik Holmqvist     "\\_S0_",
1730174267aSFredrik Holmqvist     "\\_S1_",
1740174267aSFredrik Holmqvist     "\\_S2_",
1750174267aSFredrik Holmqvist     "\\_S3_",
1760174267aSFredrik Holmqvist     "\\_S4_",
1770174267aSFredrik Holmqvist     "\\_S5_"
1780174267aSFredrik Holmqvist };
1790174267aSFredrik Holmqvist 
1800174267aSFredrik Holmqvist const char                  *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS] =
1810174267aSFredrik Holmqvist {
1820174267aSFredrik Holmqvist     "_S0W",
1830174267aSFredrik Holmqvist     "_S1W",
1840174267aSFredrik Holmqvist     "_S2W",
1850174267aSFredrik Holmqvist     "_S3W",
1860174267aSFredrik Holmqvist     "_S4W"
1870174267aSFredrik Holmqvist };
1880174267aSFredrik Holmqvist 
1890174267aSFredrik Holmqvist const char                  *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS] =
1900174267aSFredrik Holmqvist {
1910174267aSFredrik Holmqvist     "_S1D",
1920174267aSFredrik Holmqvist     "_S2D",
1930174267aSFredrik Holmqvist     "_S3D",
1940174267aSFredrik Holmqvist     "_S4D"
1950174267aSFredrik Holmqvist };
1960174267aSFredrik Holmqvist 
1970174267aSFredrik Holmqvist 
19874ffd18dSFredrik Holmqvist /* Hex-to-ascii */
19974ffd18dSFredrik Holmqvist 
20074ffd18dSFredrik Holmqvist const char                  AcpiGbl_LowerHexDigits[] = "0123456789abcdef";
20174ffd18dSFredrik Holmqvist const char                  AcpiGbl_UpperHexDigits[] = "0123456789ABCDEF";
20274ffd18dSFredrik Holmqvist 
20374ffd18dSFredrik Holmqvist 
2040174267aSFredrik Holmqvist /*******************************************************************************
2050174267aSFredrik Holmqvist  *
2060174267aSFredrik Holmqvist  * Namespace globals
2070174267aSFredrik Holmqvist  *
2080174267aSFredrik Holmqvist  ******************************************************************************/
2090174267aSFredrik Holmqvist 
2100174267aSFredrik Holmqvist /*
2110174267aSFredrik Holmqvist  * Predefined ACPI Names (Built-in to the Interpreter)
2120174267aSFredrik Holmqvist  *
2130174267aSFredrik Holmqvist  * NOTES:
2140174267aSFredrik Holmqvist  * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run
2150174267aSFredrik Holmqvist  *    during the initialization sequence.
2160174267aSFredrik Holmqvist  * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to
2170174267aSFredrik Holmqvist  *    perform a Notify() operation on it. 09/2010: Changed to type Device.
2180174267aSFredrik Holmqvist  *    This still allows notifies, but does not confuse host code that
2190174267aSFredrik Holmqvist  *    searches for valid ThermalZone objects.
2200174267aSFredrik Holmqvist  */
2210174267aSFredrik Holmqvist const ACPI_PREDEFINED_NAMES     AcpiGbl_PreDefinedNames[] =
2220174267aSFredrik Holmqvist {
2230174267aSFredrik Holmqvist     {"_GPE",    ACPI_TYPE_LOCAL_SCOPE,      NULL},
2240174267aSFredrik Holmqvist     {"_PR_",    ACPI_TYPE_LOCAL_SCOPE,      NULL},
2250174267aSFredrik Holmqvist     {"_SB_",    ACPI_TYPE_DEVICE,           NULL},
2260174267aSFredrik Holmqvist     {"_SI_",    ACPI_TYPE_LOCAL_SCOPE,      NULL},
2270174267aSFredrik Holmqvist     {"_TZ_",    ACPI_TYPE_DEVICE,           NULL},
228e226d1d0SFredrik Holmqvist     /*
229e226d1d0SFredrik Holmqvist      * March, 2015:
230e226d1d0SFredrik Holmqvist      * The _REV object is in the process of being deprecated, because
231e226d1d0SFredrik Holmqvist      * other ACPI implementations permanently return 2. Thus, it
232e226d1d0SFredrik Holmqvist      * has little or no value. Return 2 for compatibility with
233e226d1d0SFredrik Holmqvist      * other ACPI implementations.
234e226d1d0SFredrik Holmqvist      */
235e226d1d0SFredrik Holmqvist     {"_REV",    ACPI_TYPE_INTEGER,          ACPI_CAST_PTR (char, 2)},
2360174267aSFredrik Holmqvist     {"_OS_",    ACPI_TYPE_STRING,           ACPI_OS_NAME},
237e226d1d0SFredrik Holmqvist     {"_GL_",    ACPI_TYPE_MUTEX,            ACPI_CAST_PTR (char, 1)},
238e226d1d0SFredrik Holmqvist     {"_OSI",    ACPI_TYPE_METHOD,           ACPI_CAST_PTR (char, 1)},
2390174267aSFredrik Holmqvist 
2400174267aSFredrik Holmqvist     /* Table terminator */
2410174267aSFredrik Holmqvist 
2420174267aSFredrik Holmqvist     {NULL,      ACPI_TYPE_ANY,              NULL}
2430174267aSFredrik Holmqvist };
2440174267aSFredrik Holmqvist 
2450174267aSFredrik Holmqvist 
2466822cda0SFredrik Holmqvist #if (!ACPI_REDUCED_HARDWARE)
2470174267aSFredrik Holmqvist /******************************************************************************
2480174267aSFredrik Holmqvist  *
2490174267aSFredrik Holmqvist  * Event and Hardware globals
2500174267aSFredrik Holmqvist  *
2510174267aSFredrik Holmqvist  ******************************************************************************/
2520174267aSFredrik Holmqvist 
2530174267aSFredrik Holmqvist ACPI_BIT_REGISTER_INFO      AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG] =
2540174267aSFredrik Holmqvist {
2550174267aSFredrik Holmqvist     /* Name                                     Parent Register             Register Bit Position                   Register Bit Mask       */
2560174267aSFredrik Holmqvist 
2570174267aSFredrik Holmqvist     /* ACPI_BITREG_TIMER_STATUS         */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_TIMER_STATUS,          ACPI_BITMASK_TIMER_STATUS},
2580174267aSFredrik Holmqvist     /* ACPI_BITREG_BUS_MASTER_STATUS    */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_BUS_MASTER_STATUS,     ACPI_BITMASK_BUS_MASTER_STATUS},
2590174267aSFredrik Holmqvist     /* ACPI_BITREG_GLOBAL_LOCK_STATUS   */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_GLOBAL_LOCK_STATUS,    ACPI_BITMASK_GLOBAL_LOCK_STATUS},
2600174267aSFredrik Holmqvist     /* ACPI_BITREG_POWER_BUTTON_STATUS  */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_POWER_BUTTON_STATUS,   ACPI_BITMASK_POWER_BUTTON_STATUS},
2610174267aSFredrik Holmqvist     /* ACPI_BITREG_SLEEP_BUTTON_STATUS  */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_SLEEP_BUTTON_STATUS,   ACPI_BITMASK_SLEEP_BUTTON_STATUS},
2620174267aSFredrik Holmqvist     /* ACPI_BITREG_RT_CLOCK_STATUS      */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_RT_CLOCK_STATUS,       ACPI_BITMASK_RT_CLOCK_STATUS},
2630174267aSFredrik Holmqvist     /* ACPI_BITREG_WAKE_STATUS          */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_WAKE_STATUS,           ACPI_BITMASK_WAKE_STATUS},
2640174267aSFredrik Holmqvist     /* ACPI_BITREG_PCIEXP_WAKE_STATUS   */   {ACPI_REGISTER_PM1_STATUS,   ACPI_BITPOSITION_PCIEXP_WAKE_STATUS,    ACPI_BITMASK_PCIEXP_WAKE_STATUS},
2650174267aSFredrik Holmqvist 
2660174267aSFredrik Holmqvist     /* ACPI_BITREG_TIMER_ENABLE         */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_TIMER_ENABLE,          ACPI_BITMASK_TIMER_ENABLE},
2670174267aSFredrik Holmqvist     /* ACPI_BITREG_GLOBAL_LOCK_ENABLE   */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE,    ACPI_BITMASK_GLOBAL_LOCK_ENABLE},
2680174267aSFredrik Holmqvist     /* ACPI_BITREG_POWER_BUTTON_ENABLE  */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_POWER_BUTTON_ENABLE,   ACPI_BITMASK_POWER_BUTTON_ENABLE},
2690174267aSFredrik Holmqvist     /* ACPI_BITREG_SLEEP_BUTTON_ENABLE  */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE,   ACPI_BITMASK_SLEEP_BUTTON_ENABLE},
2700174267aSFredrik Holmqvist     /* ACPI_BITREG_RT_CLOCK_ENABLE      */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_RT_CLOCK_ENABLE,       ACPI_BITMASK_RT_CLOCK_ENABLE},
2710174267aSFredrik Holmqvist     /* ACPI_BITREG_PCIEXP_WAKE_DISABLE  */   {ACPI_REGISTER_PM1_ENABLE,   ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE,   ACPI_BITMASK_PCIEXP_WAKE_DISABLE},
2720174267aSFredrik Holmqvist 
2730174267aSFredrik Holmqvist     /* ACPI_BITREG_SCI_ENABLE           */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_SCI_ENABLE,            ACPI_BITMASK_SCI_ENABLE},
2740174267aSFredrik Holmqvist     /* ACPI_BITREG_BUS_MASTER_RLD       */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_BUS_MASTER_RLD,        ACPI_BITMASK_BUS_MASTER_RLD},
2750174267aSFredrik Holmqvist     /* ACPI_BITREG_GLOBAL_LOCK_RELEASE  */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE,   ACPI_BITMASK_GLOBAL_LOCK_RELEASE},
2760174267aSFredrik Holmqvist     /* ACPI_BITREG_SLEEP_TYPE           */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_SLEEP_TYPE,            ACPI_BITMASK_SLEEP_TYPE},
2770174267aSFredrik Holmqvist     /* ACPI_BITREG_SLEEP_ENABLE         */   {ACPI_REGISTER_PM1_CONTROL,  ACPI_BITPOSITION_SLEEP_ENABLE,          ACPI_BITMASK_SLEEP_ENABLE},
2780174267aSFredrik Holmqvist 
2790174267aSFredrik Holmqvist     /* ACPI_BITREG_ARB_DIS              */   {ACPI_REGISTER_PM2_CONTROL,  ACPI_BITPOSITION_ARB_DISABLE,           ACPI_BITMASK_ARB_DISABLE}
2800174267aSFredrik Holmqvist };
2810174267aSFredrik Holmqvist 
2820174267aSFredrik Holmqvist 
2830174267aSFredrik Holmqvist ACPI_FIXED_EVENT_INFO       AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS] =
2840174267aSFredrik Holmqvist {
2850174267aSFredrik Holmqvist     /* ACPI_EVENT_PMTIMER       */  {ACPI_BITREG_TIMER_STATUS,          ACPI_BITREG_TIMER_ENABLE,        ACPI_BITMASK_TIMER_STATUS,          ACPI_BITMASK_TIMER_ENABLE},
2860174267aSFredrik Holmqvist     /* ACPI_EVENT_GLOBAL        */  {ACPI_BITREG_GLOBAL_LOCK_STATUS,    ACPI_BITREG_GLOBAL_LOCK_ENABLE,  ACPI_BITMASK_GLOBAL_LOCK_STATUS,    ACPI_BITMASK_GLOBAL_LOCK_ENABLE},
2870174267aSFredrik Holmqvist     /* ACPI_EVENT_POWER_BUTTON  */  {ACPI_BITREG_POWER_BUTTON_STATUS,   ACPI_BITREG_POWER_BUTTON_ENABLE, ACPI_BITMASK_POWER_BUTTON_STATUS,   ACPI_BITMASK_POWER_BUTTON_ENABLE},
2880174267aSFredrik Holmqvist     /* ACPI_EVENT_SLEEP_BUTTON  */  {ACPI_BITREG_SLEEP_BUTTON_STATUS,   ACPI_BITREG_SLEEP_BUTTON_ENABLE, ACPI_BITMASK_SLEEP_BUTTON_STATUS,   ACPI_BITMASK_SLEEP_BUTTON_ENABLE},
2890174267aSFredrik Holmqvist     /* ACPI_EVENT_RTC           */  {ACPI_BITREG_RT_CLOCK_STATUS,       ACPI_BITREG_RT_CLOCK_ENABLE,     ACPI_BITMASK_RT_CLOCK_STATUS,       ACPI_BITMASK_RT_CLOCK_ENABLE},
2900174267aSFredrik Holmqvist };
2916822cda0SFredrik Holmqvist #endif /* !ACPI_REDUCED_HARDWARE */
2920174267aSFredrik Holmqvist 
29374ffd18dSFredrik Holmqvist 
29474ffd18dSFredrik Holmqvist #if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
29574ffd18dSFredrik Holmqvist 
29674ffd18dSFredrik Holmqvist /* ToPld macro: compile/disassemble strings */
29774ffd18dSFredrik Holmqvist 
29874ffd18dSFredrik Holmqvist const char              *AcpiGbl_PldPanelList[] =
29974ffd18dSFredrik Holmqvist {
30074ffd18dSFredrik Holmqvist     "TOP",
30174ffd18dSFredrik Holmqvist     "BOTTOM",
30274ffd18dSFredrik Holmqvist     "LEFT",
30374ffd18dSFredrik Holmqvist     "RIGHT",
30474ffd18dSFredrik Holmqvist     "FRONT",
30574ffd18dSFredrik Holmqvist     "BACK",
30674ffd18dSFredrik Holmqvist     "UNKNOWN",
30774ffd18dSFredrik Holmqvist     NULL
30874ffd18dSFredrik Holmqvist };
30974ffd18dSFredrik Holmqvist 
31074ffd18dSFredrik Holmqvist const char              *AcpiGbl_PldVerticalPositionList[] =
31174ffd18dSFredrik Holmqvist {
31274ffd18dSFredrik Holmqvist     "UPPER",
31374ffd18dSFredrik Holmqvist     "CENTER",
31474ffd18dSFredrik Holmqvist     "LOWER",
31574ffd18dSFredrik Holmqvist     NULL
31674ffd18dSFredrik Holmqvist };
31774ffd18dSFredrik Holmqvist 
31874ffd18dSFredrik Holmqvist const char              *AcpiGbl_PldHorizontalPositionList[] =
31974ffd18dSFredrik Holmqvist {
32074ffd18dSFredrik Holmqvist     "LEFT",
32174ffd18dSFredrik Holmqvist     "CENTER",
32274ffd18dSFredrik Holmqvist     "RIGHT",
32374ffd18dSFredrik Holmqvist     NULL
32474ffd18dSFredrik Holmqvist };
32574ffd18dSFredrik Holmqvist 
32674ffd18dSFredrik Holmqvist const char              *AcpiGbl_PldShapeList[] =
32774ffd18dSFredrik Holmqvist {
32874ffd18dSFredrik Holmqvist     "ROUND",
32974ffd18dSFredrik Holmqvist     "OVAL",
33074ffd18dSFredrik Holmqvist     "SQUARE",
33174ffd18dSFredrik Holmqvist     "VERTICALRECTANGLE",
33274ffd18dSFredrik Holmqvist     "HORIZONTALRECTANGLE",
33374ffd18dSFredrik Holmqvist     "VERTICALTRAPEZOID",
33474ffd18dSFredrik Holmqvist     "HORIZONTALTRAPEZOID",
33574ffd18dSFredrik Holmqvist     "UNKNOWN",
33674ffd18dSFredrik Holmqvist     "CHAMFERED",
33774ffd18dSFredrik Holmqvist     NULL
33874ffd18dSFredrik Holmqvist };
33974ffd18dSFredrik Holmqvist #endif
34074ffd18dSFredrik Holmqvist 
34174ffd18dSFredrik Holmqvist 
3420174267aSFredrik Holmqvist /* Public globals */
3430174267aSFredrik Holmqvist 
3440174267aSFredrik Holmqvist ACPI_EXPORT_SYMBOL (AcpiGbl_FADT)
3450174267aSFredrik Holmqvist ACPI_EXPORT_SYMBOL (AcpiDbgLevel)
3460174267aSFredrik Holmqvist ACPI_EXPORT_SYMBOL (AcpiDbgLayer)
3470174267aSFredrik Holmqvist ACPI_EXPORT_SYMBOL (AcpiGpeCount)
3480174267aSFredrik Holmqvist ACPI_EXPORT_SYMBOL (AcpiCurrentGpeCount)
349