]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /****************************************************************************** |
2 | * | |
3 | * Name: acconfig.h - Global configuration constants | |
4 | * | |
5 | *****************************************************************************/ | |
6 | ||
7 | /* | |
75a44ce0 | 8 | * Copyright (C) 2000 - 2008, 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 LT |
105 | |
106 | /* Size of cached memory mapping for system memory operation region */ | |
107 | ||
108 | #define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096 | |
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 | ||
1da177e4 LT |
122 | /****************************************************************************** |
123 | * | |
124 | * ACPI Specification constants (Do not change unless the specification changes) | |
125 | * | |
126 | *****************************************************************************/ | |
127 | ||
128 | /* Number of distinct GPE register blocks and register width */ | |
129 | ||
130 | #define ACPI_MAX_GPE_BLOCKS 2 | |
131 | #define ACPI_GPE_REGISTER_WIDTH 8 | |
132 | ||
44f6c012 RM |
133 | /* Method info (in WALK_STATE), containing local variables and argumetns */ |
134 | ||
1da177e4 LT |
135 | #define ACPI_METHOD_NUM_LOCALS 8 |
136 | #define ACPI_METHOD_MAX_LOCAL 7 | |
137 | ||
138 | #define ACPI_METHOD_NUM_ARGS 7 | |
139 | #define ACPI_METHOD_MAX_ARG 6 | |
140 | ||
c51a4de8 | 141 | /* Length of _HID, _UID, _CID, and UUID values */ |
1da177e4 LT |
142 | |
143 | #define ACPI_DEVICE_ID_LENGTH 0x09 | |
144 | #define ACPI_MAX_CID_LENGTH 48 | |
c51a4de8 | 145 | #define ACPI_UUID_LENGTH 16 |
1da177e4 LT |
146 | |
147 | /* | |
148 | * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG | |
149 | */ | |
150 | #define ACPI_OBJ_NUM_OPERANDS 8 | |
151 | #define ACPI_OBJ_MAX_OPERAND 7 | |
152 | ||
773069d4 BM |
153 | /* Number of elements in the Result Stack frame, can be an arbitrary value */ |
154 | ||
155 | #define ACPI_RESULTS_FRAME_OBJ_NUM 8 | |
156 | ||
157 | /* | |
158 | * Maximal number of elements the Result Stack can contain, | |
159 | * it may be an arbitray value not exceeding the types of | |
160 | * result_size and result_count (now u8). | |
161 | */ | |
162 | #define ACPI_RESULTS_OBJ_NUM_MAX 255 | |
163 | ||
1da177e4 LT |
164 | /* Names within the namespace are 4 bytes long */ |
165 | ||
166 | #define ACPI_NAME_SIZE 4 | |
4be44fcd | 167 | #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ |
1da177e4 LT |
168 | #define ACPI_PATH_SEPARATOR '.' |
169 | ||
f3d2e786 BM |
170 | /* Sizes for ACPI table headers */ |
171 | ||
0eaa14c0 BM |
172 | #define ACPI_OEM_ID_SIZE 6 |
173 | #define ACPI_OEM_TABLE_ID_SIZE 8 | |
f3d2e786 | 174 | |
1da177e4 LT |
175 | /* Constants used in searching for the RSDP in low memory */ |
176 | ||
4be44fcd | 177 | #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ |
1da177e4 LT |
178 | #define ACPI_EBDA_PTR_LENGTH 2 |
179 | #define ACPI_EBDA_WINDOW_SIZE 1024 | |
4be44fcd | 180 | #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ |
1da177e4 LT |
181 | #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 |
182 | #define ACPI_RSDP_SCAN_STEP 16 | |
183 | ||
184 | /* Operation regions */ | |
185 | ||
3db20bed | 186 | #define ACPI_NUM_PREDEFINED_REGIONS 9 |
1da177e4 LT |
187 | #define ACPI_USER_REGION_BEGIN 0x80 |
188 | ||
189 | /* Maximum space_ids for Operation Regions */ | |
190 | ||
191 | #define ACPI_MAX_ADDRESS_SPACE 255 | |
192 | ||
193 | /* Array sizes. Used for range checking also */ | |
194 | ||
4c90ece2 | 195 | #define ACPI_MAX_MATCH_OPCODE 5 |
1da177e4 LT |
196 | |
197 | /* RSDP checksums */ | |
198 | ||
199 | #define ACPI_RSDP_CHECKSUM_LENGTH 20 | |
200 | #define ACPI_RSDP_XCHECKSUM_LENGTH 36 | |
201 | ||
6557a49a | 202 | /* SMBus and IPMI bidirectional buffer size */ |
1da177e4 LT |
203 | |
204 | #define ACPI_SMBUS_BUFFER_SIZE 34 | |
6557a49a | 205 | #define ACPI_IPMI_BUFFER_SIZE 66 |
1da177e4 | 206 | |
15b8dd53 BM |
207 | /* _sx_d and _sx_w control methods */ |
208 | ||
209 | #define ACPI_NUM_sx_d_METHODS 4 | |
210 | #define ACPI_NUM_sx_w_METHODS 5 | |
211 | ||
1da177e4 LT |
212 | /****************************************************************************** |
213 | * | |
214 | * ACPI AML Debugger | |
215 | * | |
216 | *****************************************************************************/ | |
217 | ||
4be44fcd | 218 | #define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ |
1da177e4 LT |
219 | |
220 | #define ACPI_DEBUGGER_COMMAND_PROMPT '-' | |
221 | #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' | |
222 | ||
4be44fcd | 223 | #endif /* _ACCONFIG_H */ |