Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /****************************************************************************** |
2 | * | |
3 | * Name: acconfig.h - Global configuration constants | |
4 | * | |
5 | *****************************************************************************/ | |
6 | ||
7 | /* | |
b4e104ea | 8 | * Copyright (C) 2000 - 2011, 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 | */ | |
86 | #define ACPI_CHECKSUM_ABORT FALSE | |
87 | ||
1da177e4 LT |
88 | /****************************************************************************** |
89 | * | |
90 | * Subsystem Constants | |
91 | * | |
92 | *****************************************************************************/ | |
93 | ||
94 | /* Version of ACPI supported */ | |
95 | ||
96 | #define ACPI_CA_SUPPORT_LEVEL 3 | |
97 | ||
1da177e4 LT |
98 | /* Maximum count for a semaphore object */ |
99 | ||
100 | #define ACPI_MAX_SEMAPHORE_COUNT 256 | |
101 | ||
8313524a | 102 | /* Maximum object reference count (detects object deletion issues) */ |
1da177e4 | 103 | |
9a654b52 | 104 | #define ACPI_MAX_REFERENCE_COUNT 0x1000 |
1da177e4 | 105 | |
d410ee51 | 106 | /* Default page size for use in mapping memory for operation regions */ |
1da177e4 | 107 | |
d410ee51 | 108 | #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ |
1da177e4 | 109 | |
28f55ebc BM |
110 | /* owner_id tracking. 8 entries allows for 255 owner_ids */ |
111 | ||
112 | #define ACPI_NUM_OWNERID_MASKS 8 | |
113 | ||
f3d2e786 BM |
114 | /* Size of the root table array is increased by this increment */ |
115 | ||
116 | #define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 | |
117 | ||
fc374457 BM |
118 | /* Maximum number of While() loop iterations before forced abort */ |
119 | ||
120 | #define ACPI_MAX_LOOP_ITERATIONS 0xFFFF | |
121 | ||
9cbfa18e BM |
122 | /* Maximum sleep allowed via Sleep() operator */ |
123 | ||
b33c25d6 | 124 | #define ACPI_MAX_SLEEP 2000 /* Two seconds */ |
9cbfa18e | 125 | |
1da177e4 LT |
126 | /****************************************************************************** |
127 | * | |
128 | * ACPI Specification constants (Do not change unless the specification changes) | |
129 | * | |
130 | *****************************************************************************/ | |
131 | ||
132 | /* Number of distinct GPE register blocks and register width */ | |
133 | ||
134 | #define ACPI_MAX_GPE_BLOCKS 2 | |
135 | #define ACPI_GPE_REGISTER_WIDTH 8 | |
136 | ||
44f6c012 RM |
137 | /* Method info (in WALK_STATE), containing local variables and argumetns */ |
138 | ||
1da177e4 LT |
139 | #define ACPI_METHOD_NUM_LOCALS 8 |
140 | #define ACPI_METHOD_MAX_LOCAL 7 | |
141 | ||
142 | #define ACPI_METHOD_NUM_ARGS 7 | |
143 | #define ACPI_METHOD_MAX_ARG 6 | |
144 | ||
c51a4de8 | 145 | /* Length of _HID, _UID, _CID, and UUID values */ |
1da177e4 LT |
146 | |
147 | #define ACPI_DEVICE_ID_LENGTH 0x09 | |
148 | #define ACPI_MAX_CID_LENGTH 48 | |
c51a4de8 | 149 | #define ACPI_UUID_LENGTH 16 |
1da177e4 LT |
150 | |
151 | /* | |
152 | * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG | |
153 | */ | |
154 | #define ACPI_OBJ_NUM_OPERANDS 8 | |
155 | #define ACPI_OBJ_MAX_OPERAND 7 | |
156 | ||
773069d4 BM |
157 | /* Number of elements in the Result Stack frame, can be an arbitrary value */ |
158 | ||
159 | #define ACPI_RESULTS_FRAME_OBJ_NUM 8 | |
160 | ||
161 | /* | |
162 | * Maximal number of elements the Result Stack can contain, | |
163 | * it may be an arbitray value not exceeding the types of | |
164 | * result_size and result_count (now u8). | |
165 | */ | |
166 | #define ACPI_RESULTS_OBJ_NUM_MAX 255 | |
167 | ||
1da177e4 LT |
168 | /* Names within the namespace are 4 bytes long */ |
169 | ||
170 | #define ACPI_NAME_SIZE 4 | |
4be44fcd | 171 | #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ |
1da177e4 LT |
172 | #define ACPI_PATH_SEPARATOR '.' |
173 | ||
f3d2e786 BM |
174 | /* Sizes for ACPI table headers */ |
175 | ||
0eaa14c0 BM |
176 | #define ACPI_OEM_ID_SIZE 6 |
177 | #define ACPI_OEM_TABLE_ID_SIZE 8 | |
f3d2e786 | 178 | |
1da177e4 LT |
179 | /* Constants used in searching for the RSDP in low memory */ |
180 | ||
4be44fcd | 181 | #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ |
1da177e4 LT |
182 | #define ACPI_EBDA_PTR_LENGTH 2 |
183 | #define ACPI_EBDA_WINDOW_SIZE 1024 | |
4be44fcd | 184 | #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ |
1da177e4 LT |
185 | #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 |
186 | #define ACPI_RSDP_SCAN_STEP 16 | |
187 | ||
188 | /* Operation regions */ | |
189 | ||
1da177e4 LT |
190 | #define ACPI_USER_REGION_BEGIN 0x80 |
191 | ||
192 | /* Maximum space_ids for Operation Regions */ | |
193 | ||
194 | #define ACPI_MAX_ADDRESS_SPACE 255 | |
195 | ||
196 | /* Array sizes. Used for range checking also */ | |
197 | ||
4c90ece2 | 198 | #define ACPI_MAX_MATCH_OPCODE 5 |
1da177e4 LT |
199 | |
200 | /* RSDP checksums */ | |
201 | ||
202 | #define ACPI_RSDP_CHECKSUM_LENGTH 20 | |
203 | #define ACPI_RSDP_XCHECKSUM_LENGTH 36 | |
204 | ||
2da120b6 | 205 | /* SMBus, GSBus and IPMI bidirectional buffer size */ |
1da177e4 LT |
206 | |
207 | #define ACPI_SMBUS_BUFFER_SIZE 34 | |
2da120b6 | 208 | #define ACPI_GSBUS_BUFFER_SIZE 34 |
6557a49a | 209 | #define ACPI_IPMI_BUFFER_SIZE 66 |
1da177e4 | 210 | |
15b8dd53 BM |
211 | /* _sx_d and _sx_w control methods */ |
212 | ||
213 | #define ACPI_NUM_sx_d_METHODS 4 | |
214 | #define ACPI_NUM_sx_w_METHODS 5 | |
215 | ||
1da177e4 LT |
216 | /****************************************************************************** |
217 | * | |
218 | * ACPI AML Debugger | |
219 | * | |
220 | *****************************************************************************/ | |
221 | ||
4be44fcd | 222 | #define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ |
1da177e4 LT |
223 | |
224 | #define ACPI_DEBUGGER_COMMAND_PROMPT '-' | |
225 | #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' | |
226 | ||
4be44fcd | 227 | #endif /* _ACCONFIG_H */ |