2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* Module Name : utglobal - Global variables for the ACPI subsystem
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
2016-01-15 03:17:03 +03:00
* Copyright ( C ) 2000 - 2016 , Intel Corp .
2005-04-17 02:20:36 +04:00
* All rights reserved .
*
* Redistribution and use in source and binary forms , with or without
* modification , are permitted provided that the following conditions
* are met :
* 1. Redistributions of source code must retain the above copyright
* notice , this list of conditions , and the following disclaimer ,
* without modification .
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the " NO WARRANTY " disclaimer below
* ( " Disclaimer " ) and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution .
* 3. Neither the names of the above - listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission .
*
* Alternatively , this software may be distributed under the terms of the
* GNU General Public License ( " GPL " ) version 2 as published by the Free
* Software Foundation .
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* " AS IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
* LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL , EXEMPLARY , OR CONSEQUENTIAL
* DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT ,
* STRICT LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES .
*/
2013-10-29 05:29:51 +04:00
# define EXPORT_ACPI_INTERFACES
2005-04-17 02:20:36 +04:00
# define DEFINE_ACPI_GLOBALS
# include <acpi/acpi.h>
2009-01-09 08:30:03 +03:00
# include "accommon.h"
2005-04-17 02:20:36 +04:00
# define _COMPONENT ACPI_UTILITIES
2008-12-30 04:45:17 +03:00
ACPI_MODULE_NAME ( " utglobal " )
2005-04-17 02:20:36 +04:00
2005-04-19 06:49:35 +04:00
/*******************************************************************************
2005-04-17 02:20:36 +04:00
*
* Static global variable initialization .
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2014-02-26 06:32:38 +04:00
/* Various state name strings */
2005-08-05 08:44:28 +04:00
const char * acpi_gbl_sleep_state_names [ ACPI_S_STATE_COUNT ] = {
2005-04-17 02:20:36 +04:00
" \\ _S0_ " ,
" \\ _S1_ " ,
" \\ _S2_ " ,
" \\ _S3_ " ,
" \\ _S4_ " ,
" \\ _S5_ "
} ;
2009-06-29 09:39:29 +04:00
const char * acpi_gbl_lowest_dstate_names [ ACPI_NUM_sx_w_METHODS ] = {
" _S0W " ,
" _S1W " ,
" _S2W " ,
" _S3W " ,
" _S4W "
} ;
const char * acpi_gbl_highest_dstate_names [ ACPI_NUM_sx_d_METHODS ] = {
2005-04-17 02:20:36 +04:00
" _S1D " ,
" _S2D " ,
" _S3D " ,
" _S4D "
} ;
2016-03-24 04:40:40 +03:00
/* Hex-to-ascii */
const char acpi_gbl_lower_hex_digits [ ] = " 0123456789abcdef " ;
const char acpi_gbl_upper_hex_digits [ ] = " 0123456789ABCDEF " ;
2007-02-02 19:48:19 +03:00
/*******************************************************************************
*
* Namespace globals
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-04-17 02:20:36 +04:00
/*
* Predefined ACPI Names ( Built - in to the Interpreter )
*
* NOTES :
* 1 ) _SB_ is defined to be a device to allow \ _SB_ . _INI to be run
* during the initialization sequence .
* 2 ) _TZ_ is defined to be a thermal zone in order to allow ASL code to
2010-10-18 04:44:34 +04:00
* perform a Notify ( ) operation on it . 09 / 2010 : Changed to type Device .
* This still allows notifies , but does not confuse host code that
* searches for valid thermal_zone objects .
2005-04-17 02:20:36 +04:00
*/
2005-10-21 08:00:00 +04:00
const struct acpi_predefined_names acpi_gbl_pre_defined_names [ ] = {
{ " _GPE " , ACPI_TYPE_LOCAL_SCOPE , NULL } ,
{ " _PR_ " , ACPI_TYPE_LOCAL_SCOPE , NULL } ,
{ " _SB_ " , ACPI_TYPE_DEVICE , NULL } ,
{ " _SI_ " , ACPI_TYPE_LOCAL_SCOPE , NULL } ,
2010-10-18 04:44:34 +04:00
{ " _TZ_ " , ACPI_TYPE_DEVICE , NULL } ,
2015-07-02 00:24:05 +03:00
/*
* March , 2015 :
* The _REV object is in the process of being deprecated , because
* other ACPI implementations permanently return 2. Thus , it
* has little or no value . Return 2 for compatibility with
* other ACPI implementations .
*/
{ " _REV " , ACPI_TYPE_INTEGER , ACPI_CAST_PTR ( char , 2 ) } ,
2005-10-21 08:00:00 +04:00
{ " _OS_ " , ACPI_TYPE_STRING , ACPI_OS_NAME } ,
2015-07-02 00:24:05 +03:00
{ " _GL_ " , ACPI_TYPE_MUTEX , ACPI_CAST_PTR ( char , 1 ) } ,
2005-04-17 02:20:36 +04:00
# if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
2015-07-02 00:24:05 +03:00
{ " _OSI " , ACPI_TYPE_METHOD , ACPI_CAST_PTR ( char , 1 ) } ,
2005-04-17 02:20:36 +04:00
# endif
2005-04-19 06:49:35 +04:00
/* Table terminator */
2005-10-21 08:00:00 +04:00
{ NULL , ACPI_TYPE_ANY , NULL }
2005-04-19 06:49:35 +04:00
} ;
2005-04-17 02:20:36 +04:00
2012-02-14 14:14:27 +04:00
# if (!ACPI_REDUCED_HARDWARE)
2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* Event and Hardware globals
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-08-05 08:44:28 +04:00
struct acpi_bit_register_info acpi_gbl_bit_register_info [ ACPI_NUM_BITREG ] = {
2005-04-17 02:20:36 +04:00
/* Name Parent Register Register Bit Position Register Bit Mask */
2005-08-05 08:44:28 +04:00
/* ACPI_BITREG_TIMER_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_TIMER_STATUS ,
ACPI_BITMASK_TIMER_STATUS } ,
/* ACPI_BITREG_BUS_MASTER_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_BUS_MASTER_STATUS ,
ACPI_BITMASK_BUS_MASTER_STATUS } ,
/* ACPI_BITREG_GLOBAL_LOCK_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_GLOBAL_LOCK_STATUS ,
ACPI_BITMASK_GLOBAL_LOCK_STATUS } ,
/* ACPI_BITREG_POWER_BUTTON_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_POWER_BUTTON_STATUS ,
ACPI_BITMASK_POWER_BUTTON_STATUS } ,
/* ACPI_BITREG_SLEEP_BUTTON_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_SLEEP_BUTTON_STATUS ,
ACPI_BITMASK_SLEEP_BUTTON_STATUS } ,
/* ACPI_BITREG_RT_CLOCK_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_RT_CLOCK_STATUS ,
ACPI_BITMASK_RT_CLOCK_STATUS } ,
/* ACPI_BITREG_WAKE_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_WAKE_STATUS ,
ACPI_BITMASK_WAKE_STATUS } ,
/* ACPI_BITREG_PCIEXP_WAKE_STATUS */ { ACPI_REGISTER_PM1_STATUS ,
ACPI_BITPOSITION_PCIEXP_WAKE_STATUS ,
ACPI_BITMASK_PCIEXP_WAKE_STATUS } ,
/* ACPI_BITREG_TIMER_ENABLE */ { ACPI_REGISTER_PM1_ENABLE ,
ACPI_BITPOSITION_TIMER_ENABLE ,
ACPI_BITMASK_TIMER_ENABLE } ,
/* ACPI_BITREG_GLOBAL_LOCK_ENABLE */ { ACPI_REGISTER_PM1_ENABLE ,
ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE ,
ACPI_BITMASK_GLOBAL_LOCK_ENABLE } ,
/* ACPI_BITREG_POWER_BUTTON_ENABLE */ { ACPI_REGISTER_PM1_ENABLE ,
ACPI_BITPOSITION_POWER_BUTTON_ENABLE ,
ACPI_BITMASK_POWER_BUTTON_ENABLE } ,
/* ACPI_BITREG_SLEEP_BUTTON_ENABLE */ { ACPI_REGISTER_PM1_ENABLE ,
ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE ,
ACPI_BITMASK_SLEEP_BUTTON_ENABLE } ,
/* ACPI_BITREG_RT_CLOCK_ENABLE */ { ACPI_REGISTER_PM1_ENABLE ,
ACPI_BITPOSITION_RT_CLOCK_ENABLE ,
ACPI_BITMASK_RT_CLOCK_ENABLE } ,
/* ACPI_BITREG_PCIEXP_WAKE_DISABLE */ { ACPI_REGISTER_PM1_ENABLE ,
ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE ,
ACPI_BITMASK_PCIEXP_WAKE_DISABLE } ,
/* ACPI_BITREG_SCI_ENABLE */ { ACPI_REGISTER_PM1_CONTROL ,
ACPI_BITPOSITION_SCI_ENABLE ,
ACPI_BITMASK_SCI_ENABLE } ,
/* ACPI_BITREG_BUS_MASTER_RLD */ { ACPI_REGISTER_PM1_CONTROL ,
ACPI_BITPOSITION_BUS_MASTER_RLD ,
ACPI_BITMASK_BUS_MASTER_RLD } ,
/* ACPI_BITREG_GLOBAL_LOCK_RELEASE */ { ACPI_REGISTER_PM1_CONTROL ,
ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE ,
ACPI_BITMASK_GLOBAL_LOCK_RELEASE } ,
2009-02-18 09:31:05 +03:00
/* ACPI_BITREG_SLEEP_TYPE */ { ACPI_REGISTER_PM1_CONTROL ,
ACPI_BITPOSITION_SLEEP_TYPE ,
ACPI_BITMASK_SLEEP_TYPE } ,
2005-08-05 08:44:28 +04:00
/* ACPI_BITREG_SLEEP_ENABLE */ { ACPI_REGISTER_PM1_CONTROL ,
ACPI_BITPOSITION_SLEEP_ENABLE ,
ACPI_BITMASK_SLEEP_ENABLE } ,
/* ACPI_BITREG_ARB_DIS */ { ACPI_REGISTER_PM2_CONTROL ,
ACPI_BITPOSITION_ARB_DISABLE ,
ACPI_BITMASK_ARB_DISABLE }
2005-04-17 02:20:36 +04:00
} ;
2005-08-05 08:44:28 +04:00
struct acpi_fixed_event_info acpi_gbl_fixed_event_info [ ACPI_NUM_FIXED_EVENTS ] = {
/* ACPI_EVENT_PMTIMER */ { ACPI_BITREG_TIMER_STATUS ,
ACPI_BITREG_TIMER_ENABLE ,
ACPI_BITMASK_TIMER_STATUS ,
ACPI_BITMASK_TIMER_ENABLE } ,
/* ACPI_EVENT_GLOBAL */ { ACPI_BITREG_GLOBAL_LOCK_STATUS ,
ACPI_BITREG_GLOBAL_LOCK_ENABLE ,
ACPI_BITMASK_GLOBAL_LOCK_STATUS ,
ACPI_BITMASK_GLOBAL_LOCK_ENABLE } ,
/* ACPI_EVENT_POWER_BUTTON */ { ACPI_BITREG_POWER_BUTTON_STATUS ,
ACPI_BITREG_POWER_BUTTON_ENABLE ,
ACPI_BITMASK_POWER_BUTTON_STATUS ,
ACPI_BITMASK_POWER_BUTTON_ENABLE } ,
/* ACPI_EVENT_SLEEP_BUTTON */ { ACPI_BITREG_SLEEP_BUTTON_STATUS ,
ACPI_BITREG_SLEEP_BUTTON_ENABLE ,
ACPI_BITMASK_SLEEP_BUTTON_STATUS ,
ACPI_BITMASK_SLEEP_BUTTON_ENABLE } ,
/* ACPI_EVENT_RTC */ { ACPI_BITREG_RT_CLOCK_STATUS ,
ACPI_BITREG_RT_CLOCK_ENABLE ,
ACPI_BITMASK_RT_CLOCK_STATUS ,
ACPI_BITMASK_RT_CLOCK_ENABLE } ,
2005-04-17 02:20:36 +04:00
} ;
2012-02-14 14:14:27 +04:00
# endif /* !ACPI_REDUCED_HARDWARE */
2005-04-17 02:20:36 +04:00
2016-03-24 04:40:05 +03:00
# if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)
/* to_pld macro: compile/disassemble strings */
const char * acpi_gbl_pld_panel_list [ ] = {
" TOP " ,
" BOTTOM " ,
" LEFT " ,
" RIGHT " ,
" FRONT " ,
" BACK " ,
" UNKNOWN " ,
NULL
} ;
const char * acpi_gbl_pld_vertical_position_list [ ] = {
" UPPER " ,
" CENTER " ,
" LOWER " ,
NULL
} ;
const char * acpi_gbl_pld_horizontal_position_list [ ] = {
" LEFT " ,
" CENTER " ,
" RIGHT " ,
NULL
} ;
const char * acpi_gbl_pld_shape_list [ ] = {
" ROUND " ,
" OVAL " ,
" SQUARE " ,
" VERTICALRECTANGLE " ,
" HORIZONTALRECTANGLE " ,
" VERTICALTRAPEZOID " ,
" HORIZONTALTRAPEZOID " ,
" UNKNOWN " ,
" CHAMFERED " ,
NULL
} ;
# endif
2012-12-19 09:36:49 +04:00
/* Public globals */
2012-12-19 09:37:15 +04:00
2008-12-30 04:45:17 +03:00
ACPI_EXPORT_SYMBOL ( acpi_gbl_FADT )
2006-10-03 08:00:00 +04:00
ACPI_EXPORT_SYMBOL ( acpi_dbg_level )
2008-09-27 07:08:41 +04:00
ACPI_EXPORT_SYMBOL ( acpi_dbg_layer )
2013-10-31 05:30:28 +04:00
ACPI_EXPORT_SYMBOL ( acpi_gpe_count )
2008-12-30 04:45:17 +03:00
ACPI_EXPORT_SYMBOL ( acpi_current_gpe_count )