]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /****************************************************************************** |
2 | * | |
3 | * Module Name: utglobal - Global variables for the ACPI subsystem | |
4 | * | |
5 | *****************************************************************************/ | |
6 | ||
7 | /* | |
c8100dc4 | 8 | * Copyright (C) 2000 - 2016, Intel Corp. |
1da177e4 LT |
9 | * All rights reserved. |
10 | * | |
11 | * Redistribution and use in source and binary forms, with or without | |
12 | * modification, are permitted provided that the following conditions | |
13 | * are met: | |
14 | * 1. Redistributions of source code must retain the above copyright | |
15 | * notice, this list of conditions, and the following disclaimer, | |
16 | * without modification. | |
17 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer | |
18 | * substantially similar to the "NO WARRANTY" disclaimer below | |
19 | * ("Disclaimer") and any redistribution must be conditioned upon | |
20 | * including a substantially similar Disclaimer requirement for further | |
21 | * binary redistribution. | |
22 | * 3. Neither the names of the above-listed copyright holders nor the names | |
23 | * of any contributors may be used to endorse or promote products derived | |
24 | * from this software without specific prior written permission. | |
25 | * | |
26 | * Alternatively, this software may be distributed under the terms of the | |
27 | * GNU General Public License ("GPL") version 2 as published by the Free | |
28 | * Software Foundation. | |
29 | * | |
30 | * NO WARRANTY | |
31 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
32 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
33 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR | |
34 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
35 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
36 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
37 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
38 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | |
39 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | |
40 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
41 | * POSSIBILITY OF SUCH DAMAGES. | |
42 | */ | |
43 | ||
839e928f | 44 | #define EXPORT_ACPI_INTERFACES |
1da177e4 LT |
45 | #define DEFINE_ACPI_GLOBALS |
46 | ||
1da177e4 | 47 | #include <acpi/acpi.h> |
e2f7a777 | 48 | #include "accommon.h" |
1da177e4 LT |
49 | |
50 | #define _COMPONENT ACPI_UTILITIES | |
e97d6bf1 | 51 | ACPI_MODULE_NAME("utglobal") |
1da177e4 | 52 | |
44f6c012 | 53 | /******************************************************************************* |
1da177e4 LT |
54 | * |
55 | * Static global variable initialization. | |
56 | * | |
57 | ******************************************************************************/ | |
3aa0b085 | 58 | /* Various state name strings */ |
4be44fcd | 59 | const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT] = { |
1da177e4 LT |
60 | "\\_S0_", |
61 | "\\_S1_", | |
62 | "\\_S2_", | |
63 | "\\_S3_", | |
64 | "\\_S4_", | |
65 | "\\_S5_" | |
66 | }; | |
67 | ||
15b8dd53 BM |
68 | const char *acpi_gbl_lowest_dstate_names[ACPI_NUM_sx_w_METHODS] = { |
69 | "_S0W", | |
70 | "_S1W", | |
71 | "_S2W", | |
72 | "_S3W", | |
73 | "_S4W" | |
74 | }; | |
75 | ||
76 | const char *acpi_gbl_highest_dstate_names[ACPI_NUM_sx_d_METHODS] = { | |
1da177e4 LT |
77 | "_S1D", |
78 | "_S2D", | |
79 | "_S3D", | |
80 | "_S4D" | |
81 | }; | |
82 | ||
84fb2c97 BM |
83 | /******************************************************************************* |
84 | * | |
85 | * Namespace globals | |
86 | * | |
87 | ******************************************************************************/ | |
1da177e4 LT |
88 | /* |
89 | * Predefined ACPI Names (Built-in to the Interpreter) | |
90 | * | |
91 | * NOTES: | |
92 | * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run | |
93 | * during the initialization sequence. | |
94 | * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to | |
81256669 BM |
95 | * perform a Notify() operation on it. 09/2010: Changed to type Device. |
96 | * This still allows notifies, but does not confuse host code that | |
97 | * searches for valid thermal_zone objects. | |
1da177e4 | 98 | */ |
0897831b BM |
99 | const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = { |
100 | {"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL}, | |
101 | {"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL}, | |
102 | {"_SB_", ACPI_TYPE_DEVICE, NULL}, | |
103 | {"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL}, | |
81256669 | 104 | {"_TZ_", ACPI_TYPE_DEVICE, NULL}, |
ea7d5215 RW |
105 | /* |
106 | * March, 2015: | |
107 | * The _REV object is in the process of being deprecated, because | |
108 | * other ACPI implementations permanently return 2. Thus, it | |
109 | * has little or no value. Return 2 for compatibility with | |
110 | * other ACPI implementations. | |
111 | */ | |
112 | {"_REV", ACPI_TYPE_INTEGER, ACPI_CAST_PTR(char, 2)}, | |
0897831b | 113 | {"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME}, |
ea7d5215 | 114 | {"_GL_", ACPI_TYPE_MUTEX, ACPI_CAST_PTR(char, 1)}, |
1da177e4 LT |
115 | |
116 | #if !defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY) | |
ea7d5215 | 117 | {"_OSI", ACPI_TYPE_METHOD, ACPI_CAST_PTR(char, 1)}, |
1da177e4 | 118 | #endif |
1da177e4 | 119 | |
44f6c012 RM |
120 | /* Table terminator */ |
121 | ||
0897831b | 122 | {NULL, ACPI_TYPE_ANY, NULL} |
44f6c012 | 123 | }; |
1da177e4 | 124 | |
33620c54 | 125 | #if (!ACPI_REDUCED_HARDWARE) |
1da177e4 LT |
126 | /****************************************************************************** |
127 | * | |
128 | * Event and Hardware globals | |
129 | * | |
130 | ******************************************************************************/ | |
131 | ||
4be44fcd | 132 | struct acpi_bit_register_info acpi_gbl_bit_register_info[ACPI_NUM_BITREG] = { |
1da177e4 LT |
133 | /* Name Parent Register Register Bit Position Register Bit Mask */ |
134 | ||
4be44fcd LB |
135 | /* ACPI_BITREG_TIMER_STATUS */ {ACPI_REGISTER_PM1_STATUS, |
136 | ACPI_BITPOSITION_TIMER_STATUS, | |
137 | ACPI_BITMASK_TIMER_STATUS}, | |
138 | /* ACPI_BITREG_BUS_MASTER_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
139 | ACPI_BITPOSITION_BUS_MASTER_STATUS, | |
140 | ACPI_BITMASK_BUS_MASTER_STATUS}, | |
141 | /* ACPI_BITREG_GLOBAL_LOCK_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
142 | ACPI_BITPOSITION_GLOBAL_LOCK_STATUS, | |
143 | ACPI_BITMASK_GLOBAL_LOCK_STATUS}, | |
144 | /* ACPI_BITREG_POWER_BUTTON_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
145 | ACPI_BITPOSITION_POWER_BUTTON_STATUS, | |
146 | ACPI_BITMASK_POWER_BUTTON_STATUS}, | |
147 | /* ACPI_BITREG_SLEEP_BUTTON_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
148 | ACPI_BITPOSITION_SLEEP_BUTTON_STATUS, | |
149 | ACPI_BITMASK_SLEEP_BUTTON_STATUS}, | |
150 | /* ACPI_BITREG_RT_CLOCK_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
151 | ACPI_BITPOSITION_RT_CLOCK_STATUS, | |
152 | ACPI_BITMASK_RT_CLOCK_STATUS}, | |
153 | /* ACPI_BITREG_WAKE_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
154 | ACPI_BITPOSITION_WAKE_STATUS, | |
155 | ACPI_BITMASK_WAKE_STATUS}, | |
156 | /* ACPI_BITREG_PCIEXP_WAKE_STATUS */ {ACPI_REGISTER_PM1_STATUS, | |
157 | ACPI_BITPOSITION_PCIEXP_WAKE_STATUS, | |
158 | ACPI_BITMASK_PCIEXP_WAKE_STATUS}, | |
159 | ||
160 | /* ACPI_BITREG_TIMER_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, | |
161 | ACPI_BITPOSITION_TIMER_ENABLE, | |
162 | ACPI_BITMASK_TIMER_ENABLE}, | |
163 | /* ACPI_BITREG_GLOBAL_LOCK_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, | |
164 | ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE, | |
165 | ACPI_BITMASK_GLOBAL_LOCK_ENABLE}, | |
166 | /* ACPI_BITREG_POWER_BUTTON_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, | |
167 | ACPI_BITPOSITION_POWER_BUTTON_ENABLE, | |
168 | ACPI_BITMASK_POWER_BUTTON_ENABLE}, | |
169 | /* ACPI_BITREG_SLEEP_BUTTON_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, | |
170 | ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE, | |
171 | ACPI_BITMASK_SLEEP_BUTTON_ENABLE}, | |
172 | /* ACPI_BITREG_RT_CLOCK_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, | |
173 | ACPI_BITPOSITION_RT_CLOCK_ENABLE, | |
174 | ACPI_BITMASK_RT_CLOCK_ENABLE}, | |
4be44fcd LB |
175 | /* ACPI_BITREG_PCIEXP_WAKE_DISABLE */ {ACPI_REGISTER_PM1_ENABLE, |
176 | ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE, | |
177 | ACPI_BITMASK_PCIEXP_WAKE_DISABLE}, | |
178 | ||
179 | /* ACPI_BITREG_SCI_ENABLE */ {ACPI_REGISTER_PM1_CONTROL, | |
180 | ACPI_BITPOSITION_SCI_ENABLE, | |
181 | ACPI_BITMASK_SCI_ENABLE}, | |
182 | /* ACPI_BITREG_BUS_MASTER_RLD */ {ACPI_REGISTER_PM1_CONTROL, | |
183 | ACPI_BITPOSITION_BUS_MASTER_RLD, | |
184 | ACPI_BITMASK_BUS_MASTER_RLD}, | |
185 | /* ACPI_BITREG_GLOBAL_LOCK_RELEASE */ {ACPI_REGISTER_PM1_CONTROL, | |
186 | ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE, | |
187 | ACPI_BITMASK_GLOBAL_LOCK_RELEASE}, | |
82d79b86 BM |
188 | /* ACPI_BITREG_SLEEP_TYPE */ {ACPI_REGISTER_PM1_CONTROL, |
189 | ACPI_BITPOSITION_SLEEP_TYPE, | |
190 | ACPI_BITMASK_SLEEP_TYPE}, | |
4be44fcd LB |
191 | /* ACPI_BITREG_SLEEP_ENABLE */ {ACPI_REGISTER_PM1_CONTROL, |
192 | ACPI_BITPOSITION_SLEEP_ENABLE, | |
193 | ACPI_BITMASK_SLEEP_ENABLE}, | |
194 | ||
195 | /* ACPI_BITREG_ARB_DIS */ {ACPI_REGISTER_PM2_CONTROL, | |
196 | ACPI_BITPOSITION_ARB_DISABLE, | |
197 | ACPI_BITMASK_ARB_DISABLE} | |
1da177e4 LT |
198 | }; |
199 | ||
4be44fcd LB |
200 | struct acpi_fixed_event_info acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS] = { |
201 | /* ACPI_EVENT_PMTIMER */ {ACPI_BITREG_TIMER_STATUS, | |
202 | ACPI_BITREG_TIMER_ENABLE, | |
203 | ACPI_BITMASK_TIMER_STATUS, | |
204 | ACPI_BITMASK_TIMER_ENABLE}, | |
205 | /* ACPI_EVENT_GLOBAL */ {ACPI_BITREG_GLOBAL_LOCK_STATUS, | |
206 | ACPI_BITREG_GLOBAL_LOCK_ENABLE, | |
207 | ACPI_BITMASK_GLOBAL_LOCK_STATUS, | |
208 | ACPI_BITMASK_GLOBAL_LOCK_ENABLE}, | |
209 | /* ACPI_EVENT_POWER_BUTTON */ {ACPI_BITREG_POWER_BUTTON_STATUS, | |
210 | ACPI_BITREG_POWER_BUTTON_ENABLE, | |
211 | ACPI_BITMASK_POWER_BUTTON_STATUS, | |
212 | ACPI_BITMASK_POWER_BUTTON_ENABLE}, | |
213 | /* ACPI_EVENT_SLEEP_BUTTON */ {ACPI_BITREG_SLEEP_BUTTON_STATUS, | |
214 | ACPI_BITREG_SLEEP_BUTTON_ENABLE, | |
215 | ACPI_BITMASK_SLEEP_BUTTON_STATUS, | |
216 | ACPI_BITMASK_SLEEP_BUTTON_ENABLE}, | |
217 | /* ACPI_EVENT_RTC */ {ACPI_BITREG_RT_CLOCK_STATUS, | |
218 | ACPI_BITREG_RT_CLOCK_ENABLE, | |
219 | ACPI_BITMASK_RT_CLOCK_STATUS, | |
220 | ACPI_BITMASK_RT_CLOCK_ENABLE}, | |
1da177e4 | 221 | }; |
33620c54 | 222 | #endif /* !ACPI_REDUCED_HARDWARE */ |
1da177e4 | 223 | |
75c8044f | 224 | /* Public globals */ |
3e8214e5 | 225 | |
e97d6bf1 | 226 | ACPI_EXPORT_SYMBOL(acpi_gbl_FADT) |
8313524a | 227 | ACPI_EXPORT_SYMBOL(acpi_dbg_level) |
1044f1f6 | 228 | ACPI_EXPORT_SYMBOL(acpi_dbg_layer) |
9187a415 | 229 | ACPI_EXPORT_SYMBOL(acpi_gpe_count) |
e97d6bf1 | 230 | ACPI_EXPORT_SYMBOL(acpi_current_gpe_count) |