diff options
Diffstat (limited to 'include/acpi/acconfig.h')
-rw-r--r-- | include/acpi/acconfig.h | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h new file mode 100644 index 000000000000..03f14856bd09 --- /dev/null +++ b/include/acpi/acconfig.h | |||
@@ -0,0 +1,248 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * Name: acconfig.h - Global configuration constants | ||
4 | * | ||
5 | *****************************************************************************/ | ||
6 | |||
7 | /* | ||
8 | * Copyright (C) 2000 - 2012, Intel Corp. | ||
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 | |||
44 | #ifndef _ACCONFIG_H | ||
45 | #define _ACCONFIG_H | ||
46 | |||
47 | /****************************************************************************** | ||
48 | * | ||
49 | * Configuration options | ||
50 | * | ||
51 | *****************************************************************************/ | ||
52 | |||
53 | /* | ||
54 | * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the | ||
55 | * ACPI subsystem. This includes the DEBUG_PRINT output | ||
56 | * statements. When disabled, all DEBUG_PRINT | ||
57 | * statements are compiled out. | ||
58 | * | ||
59 | * ACPI_APPLICATION - Use this switch if the subsystem is going to be run | ||
60 | * at the application level. | ||
61 | * | ||
62 | */ | ||
63 | |||
64 | /* | ||
65 | * OS name, used for the _OS object. The _OS object is essentially obsolete, | ||
66 | * but there is a large base of ASL/AML code in existing machines that check | ||
67 | * for the string below. The use of this string usually guarantees that | ||
68 | * the ASL will execute down the most tested code path. Also, there is some | ||
69 | * code that will not execute the _OSI method unless _OS matches the string | ||
70 | * below. Therefore, change this string at your own risk. | ||
71 | */ | ||
72 | #define ACPI_OS_NAME "Microsoft Windows NT" | ||
73 | |||
74 | /* Maximum objects in the various object caches */ | ||
75 | |||
76 | #define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ | ||
77 | #define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ | ||
78 | #define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ | ||
79 | #define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ | ||
80 | #define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ | ||
81 | |||
82 | /* | ||
83 | * Should the subsystem abort the loading of an ACPI table if the | ||
84 | * table checksum is incorrect? | ||
85 | */ | ||
86 | #define ACPI_CHECKSUM_ABORT FALSE | ||
87 | |||
88 | /* | ||
89 | * Generate a version of ACPICA that only supports "reduced hardware" | ||
90 | * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized | ||
91 | * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" | ||
92 | * model. In other words, no ACPI hardware is supported. | ||
93 | * | ||
94 | * If TRUE, this means no support for the following: | ||
95 | * PM Event and Control registers | ||
96 | * SCI interrupt (and handler) | ||
97 | * Fixed Events | ||
98 | * General Purpose Events (GPEs) | ||
99 | * Global Lock | ||
100 | * ACPI PM timer | ||
101 | * FACS table (Waking vectors and Global Lock) | ||
102 | */ | ||
103 | #define ACPI_REDUCED_HARDWARE FALSE | ||
104 | |||
105 | /****************************************************************************** | ||
106 | * | ||
107 | * Subsystem Constants | ||
108 | * | ||
109 | *****************************************************************************/ | ||
110 | |||
111 | /* Version of ACPI supported */ | ||
112 | |||
113 | #define ACPI_CA_SUPPORT_LEVEL 5 | ||
114 | |||
115 | /* Maximum count for a semaphore object */ | ||
116 | |||
117 | #define ACPI_MAX_SEMAPHORE_COUNT 256 | ||
118 | |||
119 | /* Maximum object reference count (detects object deletion issues) */ | ||
120 | |||
121 | #define ACPI_MAX_REFERENCE_COUNT 0x1000 | ||
122 | |||
123 | /* Default page size for use in mapping memory for operation regions */ | ||
124 | |||
125 | #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ | ||
126 | |||
127 | /* owner_id tracking. 8 entries allows for 255 owner_ids */ | ||
128 | |||
129 | #define ACPI_NUM_OWNERID_MASKS 8 | ||
130 | |||
131 | /* Size of the root table array is increased by this increment */ | ||
132 | |||
133 | #define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 | ||
134 | |||
135 | /* Maximum number of While() loop iterations before forced abort */ | ||
136 | |||
137 | #define ACPI_MAX_LOOP_ITERATIONS 0xFFFF | ||
138 | |||
139 | /* Maximum sleep allowed via Sleep() operator */ | ||
140 | |||
141 | #define ACPI_MAX_SLEEP 2000 /* Two seconds */ | ||
142 | |||
143 | /* Address Range lists are per-space_id (Memory and I/O only) */ | ||
144 | |||
145 | #define ACPI_ADDRESS_RANGE_MAX 2 | ||
146 | |||
147 | /****************************************************************************** | ||
148 | * | ||
149 | * ACPI Specification constants (Do not change unless the specification changes) | ||
150 | * | ||
151 | *****************************************************************************/ | ||
152 | |||
153 | /* Number of distinct GPE register blocks and register width */ | ||
154 | |||
155 | #define ACPI_MAX_GPE_BLOCKS 2 | ||
156 | #define ACPI_GPE_REGISTER_WIDTH 8 | ||
157 | |||
158 | /* Method info (in WALK_STATE), containing local variables and argumetns */ | ||
159 | |||
160 | #define ACPI_METHOD_NUM_LOCALS 8 | ||
161 | #define ACPI_METHOD_MAX_LOCAL 7 | ||
162 | |||
163 | #define ACPI_METHOD_NUM_ARGS 7 | ||
164 | #define ACPI_METHOD_MAX_ARG 6 | ||
165 | |||
166 | /* Length of _HID, _UID, _CID, and UUID values */ | ||
167 | |||
168 | #define ACPI_DEVICE_ID_LENGTH 0x09 | ||
169 | #define ACPI_MAX_CID_LENGTH 48 | ||
170 | #define ACPI_UUID_LENGTH 16 | ||
171 | |||
172 | /* | ||
173 | * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG | ||
174 | */ | ||
175 | #define ACPI_OBJ_NUM_OPERANDS 8 | ||
176 | #define ACPI_OBJ_MAX_OPERAND 7 | ||
177 | |||
178 | /* Number of elements in the Result Stack frame, can be an arbitrary value */ | ||
179 | |||
180 | #define ACPI_RESULTS_FRAME_OBJ_NUM 8 | ||
181 | |||
182 | /* | ||
183 | * Maximal number of elements the Result Stack can contain, | ||
184 | * it may be an arbitray value not exceeding the types of | ||
185 | * result_size and result_count (now u8). | ||
186 | */ | ||
187 | #define ACPI_RESULTS_OBJ_NUM_MAX 255 | ||
188 | |||
189 | /* Names within the namespace are 4 bytes long */ | ||
190 | |||
191 | #define ACPI_NAME_SIZE 4 | ||
192 | #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ | ||
193 | #define ACPI_PATH_SEPARATOR '.' | ||
194 | |||
195 | /* Sizes for ACPI table headers */ | ||
196 | |||
197 | #define ACPI_OEM_ID_SIZE 6 | ||
198 | #define ACPI_OEM_TABLE_ID_SIZE 8 | ||
199 | |||
200 | /* Constants used in searching for the RSDP in low memory */ | ||
201 | |||
202 | #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ | ||
203 | #define ACPI_EBDA_PTR_LENGTH 2 | ||
204 | #define ACPI_EBDA_WINDOW_SIZE 1024 | ||
205 | #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ | ||
206 | #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 | ||
207 | #define ACPI_RSDP_SCAN_STEP 16 | ||
208 | |||
209 | /* Operation regions */ | ||
210 | |||
211 | #define ACPI_USER_REGION_BEGIN 0x80 | ||
212 | |||
213 | /* Maximum space_ids for Operation Regions */ | ||
214 | |||
215 | #define ACPI_MAX_ADDRESS_SPACE 255 | ||
216 | |||
217 | /* Array sizes. Used for range checking also */ | ||
218 | |||
219 | #define ACPI_MAX_MATCH_OPCODE 5 | ||
220 | |||
221 | /* RSDP checksums */ | ||
222 | |||
223 | #define ACPI_RSDP_CHECKSUM_LENGTH 20 | ||
224 | #define ACPI_RSDP_XCHECKSUM_LENGTH 36 | ||
225 | |||
226 | /* SMBus, GSBus and IPMI bidirectional buffer size */ | ||
227 | |||
228 | #define ACPI_SMBUS_BUFFER_SIZE 34 | ||
229 | #define ACPI_GSBUS_BUFFER_SIZE 34 | ||
230 | #define ACPI_IPMI_BUFFER_SIZE 66 | ||
231 | |||
232 | /* _sx_d and _sx_w control methods */ | ||
233 | |||
234 | #define ACPI_NUM_sx_d_METHODS 4 | ||
235 | #define ACPI_NUM_sx_w_METHODS 5 | ||
236 | |||
237 | /****************************************************************************** | ||
238 | * | ||
239 | * ACPI AML Debugger | ||
240 | * | ||
241 | *****************************************************************************/ | ||
242 | |||
243 | #define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ | ||
244 | |||
245 | #define ACPI_DEBUGGER_COMMAND_PROMPT '-' | ||
246 | #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' | ||
247 | |||
248 | #endif /* _ACCONFIG_H */ | ||