Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /****************************************************************************** |
2 | * | |
3 | * Name: acconfig.h - Global configuration constants | |
4 | * | |
5 | *****************************************************************************/ | |
6 | ||
7 | /* | |
fbb7a2dc | 8 | * Copyright (C) 2000 - 2014, 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 | ||
44 | #ifndef _ACCONFIG_H | |
45 | #define _ACCONFIG_H | |
46 | ||
1da177e4 LT |
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 | ||
1da177e4 LT |
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 | ||
4be44fcd LB |
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 */ | |
61686124 | 80 | #define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ |
1da177e4 LT |
81 | |
82 | /* | |
b8e4d893 | 83 | * Should the subsystem abort the loading of an ACPI table if the |
1da177e4 LT |
84 | * table checksum is incorrect? |
85 | */ | |
c38f671e | 86 | #ifndef ACPI_CHECKSUM_ABORT |
1da177e4 | 87 | #define ACPI_CHECKSUM_ABORT FALSE |
c38f671e | 88 | #endif |
1da177e4 | 89 | |
33620c54 BM |
90 | /* |
91 | * Generate a version of ACPICA that only supports "reduced hardware" | |
92 | * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized | |
93 | * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" | |
94 | * model. In other words, no ACPI hardware is supported. | |
95 | * | |
96 | * If TRUE, this means no support for the following: | |
97 | * PM Event and Control registers | |
98 | * SCI interrupt (and handler) | |
99 | * Fixed Events | |
100 | * General Purpose Events (GPEs) | |
101 | * Global Lock | |
102 | * ACPI PM timer | |
103 | * FACS table (Waking vectors and Global Lock) | |
104 | */ | |
c0144dc0 | 105 | #ifndef ACPI_REDUCED_HARDWARE |
33620c54 | 106 | #define ACPI_REDUCED_HARDWARE FALSE |
c0144dc0 | 107 | #endif |
33620c54 | 108 | |
1da177e4 LT |
109 | /****************************************************************************** |
110 | * | |
111 | * Subsystem Constants | |
112 | * | |
113 | *****************************************************************************/ | |
114 | ||
115 | /* Version of ACPI supported */ | |
116 | ||
384fe875 | 117 | #define ACPI_CA_SUPPORT_LEVEL 5 |
1da177e4 | 118 | |
1da177e4 LT |
119 | /* Maximum count for a semaphore object */ |
120 | ||
121 | #define ACPI_MAX_SEMAPHORE_COUNT 256 | |
122 | ||
8313524a | 123 | /* Maximum object reference count (detects object deletion issues) */ |
1da177e4 | 124 | |
9a654b52 | 125 | #define ACPI_MAX_REFERENCE_COUNT 0x1000 |
1da177e4 | 126 | |
d410ee51 | 127 | /* Default page size for use in mapping memory for operation regions */ |
1da177e4 | 128 | |
d410ee51 | 129 | #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ |
1da177e4 | 130 | |
28f55ebc BM |
131 | /* owner_id tracking. 8 entries allows for 255 owner_ids */ |
132 | ||
133 | #define ACPI_NUM_OWNERID_MASKS 8 | |
134 | ||
f3d2e786 BM |
135 | /* Size of the root table array is increased by this increment */ |
136 | ||
137 | #define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 | |
138 | ||
fc374457 BM |
139 | /* Maximum number of While() loop iterations before forced abort */ |
140 | ||
141 | #define ACPI_MAX_LOOP_ITERATIONS 0xFFFF | |
142 | ||
9cbfa18e BM |
143 | /* Maximum sleep allowed via Sleep() operator */ |
144 | ||
75c8044f | 145 | #define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */ |
9cbfa18e | 146 | |
f654c0fe LM |
147 | /* Address Range lists are per-space_id (Memory and I/O only) */ |
148 | ||
149 | #define ACPI_ADDRESS_RANGE_MAX 2 | |
150 | ||
1da177e4 LT |
151 | /****************************************************************************** |
152 | * | |
153 | * ACPI Specification constants (Do not change unless the specification changes) | |
154 | * | |
155 | *****************************************************************************/ | |
156 | ||
44f6c012 RM |
157 | /* Method info (in WALK_STATE), containing local variables and argumetns */ |
158 | ||
1da177e4 LT |
159 | #define ACPI_METHOD_NUM_LOCALS 8 |
160 | #define ACPI_METHOD_MAX_LOCAL 7 | |
161 | ||
162 | #define ACPI_METHOD_NUM_ARGS 7 | |
163 | #define ACPI_METHOD_MAX_ARG 6 | |
164 | ||
1da177e4 LT |
165 | /* |
166 | * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG | |
167 | */ | |
168 | #define ACPI_OBJ_NUM_OPERANDS 8 | |
169 | #define ACPI_OBJ_MAX_OPERAND 7 | |
170 | ||
773069d4 BM |
171 | /* Number of elements in the Result Stack frame, can be an arbitrary value */ |
172 | ||
173 | #define ACPI_RESULTS_FRAME_OBJ_NUM 8 | |
174 | ||
175 | /* | |
176 | * Maximal number of elements the Result Stack can contain, | |
177 | * it may be an arbitray value not exceeding the types of | |
178 | * result_size and result_count (now u8). | |
179 | */ | |
180 | #define ACPI_RESULTS_OBJ_NUM_MAX 255 | |
181 | ||
1da177e4 LT |
182 | /* Constants used in searching for the RSDP in low memory */ |
183 | ||
4be44fcd | 184 | #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ |
1da177e4 LT |
185 | #define ACPI_EBDA_PTR_LENGTH 2 |
186 | #define ACPI_EBDA_WINDOW_SIZE 1024 | |
4be44fcd | 187 | #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ |
1da177e4 LT |
188 | #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 |
189 | #define ACPI_RSDP_SCAN_STEP 16 | |
190 | ||
191 | /* Operation regions */ | |
192 | ||
1da177e4 LT |
193 | #define ACPI_USER_REGION_BEGIN 0x80 |
194 | ||
195 | /* Maximum space_ids for Operation Regions */ | |
196 | ||
197 | #define ACPI_MAX_ADDRESS_SPACE 255 | |
42f8fb75 | 198 | #define ACPI_NUM_DEFAULT_SPACES 4 |
1da177e4 LT |
199 | |
200 | /* Array sizes. Used for range checking also */ | |
201 | ||
4c90ece2 | 202 | #define ACPI_MAX_MATCH_OPCODE 5 |
1da177e4 LT |
203 | |
204 | /* RSDP checksums */ | |
205 | ||
206 | #define ACPI_RSDP_CHECKSUM_LENGTH 20 | |
207 | #define ACPI_RSDP_XCHECKSUM_LENGTH 36 | |
208 | ||
2da120b6 | 209 | /* SMBus, GSBus and IPMI bidirectional buffer size */ |
1da177e4 LT |
210 | |
211 | #define ACPI_SMBUS_BUFFER_SIZE 34 | |
2da120b6 | 212 | #define ACPI_GSBUS_BUFFER_SIZE 34 |
6557a49a | 213 | #define ACPI_IPMI_BUFFER_SIZE 66 |
1da177e4 | 214 | |
15b8dd53 BM |
215 | /* _sx_d and _sx_w control methods */ |
216 | ||
217 | #define ACPI_NUM_sx_d_METHODS 4 | |
218 | #define ACPI_NUM_sx_w_METHODS 5 | |
219 | ||
1da177e4 LT |
220 | /****************************************************************************** |
221 | * | |
222 | * ACPI AML Debugger | |
223 | * | |
224 | *****************************************************************************/ | |
225 | ||
29a241cc BM |
226 | #define ACPI_DEBUGGER_MAX_ARGS ACPI_METHOD_NUM_ARGS + 4 /* Max command line arguments */ |
227 | #define ACPI_DB_LINE_BUFFER_SIZE 512 | |
1da177e4 LT |
228 | |
229 | #define ACPI_DEBUGGER_COMMAND_PROMPT '-' | |
230 | #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' | |
231 | ||
4be44fcd | 232 | #endif /* _ACCONFIG_H */ |