]>
Commit | Line | Data |
---|---|---|
95857638 | 1 | /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ |
1da177e4 LT |
2 | /****************************************************************************** |
3 | * | |
4 | * Name: acconfig.h - Global configuration constants | |
5 | * | |
840c02ca | 6 | * Copyright (C) 2000 - 2019, Intel Corp. |
1da177e4 | 7 | * |
95857638 | 8 | *****************************************************************************/ |
1da177e4 LT |
9 | |
10 | #ifndef _ACCONFIG_H | |
11 | #define _ACCONFIG_H | |
12 | ||
1da177e4 LT |
13 | /****************************************************************************** |
14 | * | |
15 | * Configuration options | |
16 | * | |
17 | *****************************************************************************/ | |
18 | ||
19 | /* | |
20 | * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the | |
21 | * ACPI subsystem. This includes the DEBUG_PRINT output | |
22 | * statements. When disabled, all DEBUG_PRINT | |
23 | * statements are compiled out. | |
24 | * | |
25 | * ACPI_APPLICATION - Use this switch if the subsystem is going to be run | |
26 | * at the application level. | |
27 | * | |
28 | */ | |
29 | ||
1da177e4 LT |
30 | /* |
31 | * OS name, used for the _OS object. The _OS object is essentially obsolete, | |
32 | * but there is a large base of ASL/AML code in existing machines that check | |
33 | * for the string below. The use of this string usually guarantees that | |
34 | * the ASL will execute down the most tested code path. Also, there is some | |
35 | * code that will not execute the _OSI method unless _OS matches the string | |
36 | * below. Therefore, change this string at your own risk. | |
37 | */ | |
38 | #define ACPI_OS_NAME "Microsoft Windows NT" | |
39 | ||
40 | /* Maximum objects in the various object caches */ | |
41 | ||
4be44fcd LB |
42 | #define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ |
43 | #define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ | |
44 | #define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ | |
45 | #define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ | |
61686124 | 46 | #define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ |
9cf7adec | 47 | #define ACPI_MAX_COMMENT_CACHE_DEPTH 96 /* Comments for the -ca option */ |
1da177e4 LT |
48 | |
49 | /* | |
b8e4d893 | 50 | * Should the subsystem abort the loading of an ACPI table if the |
1da177e4 LT |
51 | * table checksum is incorrect? |
52 | */ | |
c38f671e | 53 | #ifndef ACPI_CHECKSUM_ABORT |
1da177e4 | 54 | #define ACPI_CHECKSUM_ABORT FALSE |
c38f671e | 55 | #endif |
1da177e4 | 56 | |
33620c54 BM |
57 | /* |
58 | * Generate a version of ACPICA that only supports "reduced hardware" | |
59 | * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized | |
60 | * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" | |
61 | * model. In other words, no ACPI hardware is supported. | |
62 | * | |
63 | * If TRUE, this means no support for the following: | |
64 | * PM Event and Control registers | |
65 | * SCI interrupt (and handler) | |
66 | * Fixed Events | |
67 | * General Purpose Events (GPEs) | |
68 | * Global Lock | |
69 | * ACPI PM timer | |
70 | * FACS table (Waking vectors and Global Lock) | |
71 | */ | |
c0144dc0 | 72 | #ifndef ACPI_REDUCED_HARDWARE |
33620c54 | 73 | #define ACPI_REDUCED_HARDWARE FALSE |
c0144dc0 | 74 | #endif |
33620c54 | 75 | |
1da177e4 LT |
76 | /****************************************************************************** |
77 | * | |
78 | * Subsystem Constants | |
79 | * | |
80 | *****************************************************************************/ | |
81 | ||
82 | /* Version of ACPI supported */ | |
83 | ||
384fe875 | 84 | #define ACPI_CA_SUPPORT_LEVEL 5 |
1da177e4 | 85 | |
1da177e4 LT |
86 | /* Maximum count for a semaphore object */ |
87 | ||
88 | #define ACPI_MAX_SEMAPHORE_COUNT 256 | |
89 | ||
8313524a | 90 | /* Maximum object reference count (detects object deletion issues) */ |
1da177e4 | 91 | |
8b23570a | 92 | #define ACPI_MAX_REFERENCE_COUNT 0x4000 |
1da177e4 | 93 | |
d410ee51 | 94 | /* Default page size for use in mapping memory for operation regions */ |
1da177e4 | 95 | |
d410ee51 | 96 | #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ |
1da177e4 | 97 | |
28f55ebc BM |
98 | /* owner_id tracking. 8 entries allows for 255 owner_ids */ |
99 | ||
100 | #define ACPI_NUM_OWNERID_MASKS 8 | |
101 | ||
f3d2e786 BM |
102 | /* Size of the root table array is increased by this increment */ |
103 | ||
104 | #define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 | |
105 | ||
9cbfa18e BM |
106 | /* Maximum sleep allowed via Sleep() operator */ |
107 | ||
75c8044f | 108 | #define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */ |
9cbfa18e | 109 | |
f654c0fe LM |
110 | /* Address Range lists are per-space_id (Memory and I/O only) */ |
111 | ||
112 | #define ACPI_ADDRESS_RANGE_MAX 2 | |
113 | ||
164a08ce | 114 | /* Maximum time (default 30s) of While() loops before abort */ |
02dcdc3e | 115 | |
164a08ce | 116 | #define ACPI_MAX_LOOP_TIMEOUT 30 |
02dcdc3e | 117 | |
1da177e4 LT |
118 | /****************************************************************************** |
119 | * | |
120 | * ACPI Specification constants (Do not change unless the specification changes) | |
121 | * | |
122 | *****************************************************************************/ | |
123 | ||
44f6c012 RM |
124 | /* Method info (in WALK_STATE), containing local variables and argumetns */ |
125 | ||
1da177e4 LT |
126 | #define ACPI_METHOD_NUM_LOCALS 8 |
127 | #define ACPI_METHOD_MAX_LOCAL 7 | |
128 | ||
129 | #define ACPI_METHOD_NUM_ARGS 7 | |
130 | #define ACPI_METHOD_MAX_ARG 6 | |
131 | ||
1da177e4 LT |
132 | /* |
133 | * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG | |
134 | */ | |
135 | #define ACPI_OBJ_NUM_OPERANDS 8 | |
136 | #define ACPI_OBJ_MAX_OPERAND 7 | |
137 | ||
773069d4 BM |
138 | /* Number of elements in the Result Stack frame, can be an arbitrary value */ |
139 | ||
140 | #define ACPI_RESULTS_FRAME_OBJ_NUM 8 | |
141 | ||
142 | /* | |
143 | * Maximal number of elements the Result Stack can contain, | |
c163f90c | 144 | * it may be an arbitrary value not exceeding the types of |
773069d4 BM |
145 | * result_size and result_count (now u8). |
146 | */ | |
147 | #define ACPI_RESULTS_OBJ_NUM_MAX 255 | |
148 | ||
1da177e4 LT |
149 | /* Constants used in searching for the RSDP in low memory */ |
150 | ||
4be44fcd | 151 | #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ |
1da177e4 LT |
152 | #define ACPI_EBDA_PTR_LENGTH 2 |
153 | #define ACPI_EBDA_WINDOW_SIZE 1024 | |
4be44fcd | 154 | #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ |
1da177e4 LT |
155 | #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 |
156 | #define ACPI_RSDP_SCAN_STEP 16 | |
157 | ||
158 | /* Operation regions */ | |
159 | ||
1da177e4 LT |
160 | #define ACPI_USER_REGION_BEGIN 0x80 |
161 | ||
162 | /* Maximum space_ids for Operation Regions */ | |
163 | ||
164 | #define ACPI_MAX_ADDRESS_SPACE 255 | |
42f8fb75 | 165 | #define ACPI_NUM_DEFAULT_SPACES 4 |
1da177e4 LT |
166 | |
167 | /* Array sizes. Used for range checking also */ | |
168 | ||
4c90ece2 | 169 | #define ACPI_MAX_MATCH_OPCODE 5 |
1da177e4 LT |
170 | |
171 | /* RSDP checksums */ | |
172 | ||
173 | #define ACPI_RSDP_CHECKSUM_LENGTH 20 | |
174 | #define ACPI_RSDP_XCHECKSUM_LENGTH 36 | |
175 | ||
e324e101 BM |
176 | /* |
177 | * SMBus, GSBus and IPMI buffer sizes. All have a 2-byte header, | |
178 | * containing both Status and Length. | |
179 | */ | |
180 | #define ACPI_SERIAL_HEADER_SIZE 2 /* Common for below. Status and Length fields */ | |
181 | ||
182 | #define ACPI_SMBUS_DATA_SIZE 32 | |
183 | #define ACPI_SMBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_SMBUS_DATA_SIZE | |
184 | ||
185 | #define ACPI_IPMI_DATA_SIZE 64 | |
186 | #define ACPI_IPMI_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_IPMI_DATA_SIZE | |
1da177e4 | 187 | |
e324e101 BM |
188 | #define ACPI_MAX_GSBUS_DATA_SIZE 255 |
189 | #define ACPI_MAX_GSBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE | |
1da177e4 | 190 | |
15b8dd53 BM |
191 | /* _sx_d and _sx_w control methods */ |
192 | ||
193 | #define ACPI_NUM_sx_d_METHODS 4 | |
194 | #define ACPI_NUM_sx_w_METHODS 5 | |
195 | ||
90da690b BM |
196 | /****************************************************************************** |
197 | * | |
198 | * Miscellaneous constants | |
199 | * | |
200 | *****************************************************************************/ | |
201 | ||
202 | /* UUID constants */ | |
203 | ||
204 | #define UUID_BUFFER_LENGTH 16 /* Length of UUID in memory */ | |
205 | #define UUID_STRING_LENGTH 36 /* Total length of a UUID string */ | |
206 | ||
207 | /* Positions for required hyphens (dashes) in UUID strings */ | |
208 | ||
209 | #define UUID_HYPHEN1_OFFSET 8 | |
210 | #define UUID_HYPHEN2_OFFSET 13 | |
211 | #define UUID_HYPHEN3_OFFSET 18 | |
212 | #define UUID_HYPHEN4_OFFSET 23 | |
213 | ||
1da177e4 LT |
214 | /****************************************************************************** |
215 | * | |
216 | * ACPI AML Debugger | |
217 | * | |
218 | *****************************************************************************/ | |
219 | ||
29a241cc BM |
220 | #define ACPI_DEBUGGER_MAX_ARGS ACPI_METHOD_NUM_ARGS + 4 /* Max command line arguments */ |
221 | #define ACPI_DB_LINE_BUFFER_SIZE 512 | |
1da177e4 LT |
222 | |
223 | #define ACPI_DEBUGGER_COMMAND_PROMPT '-' | |
224 | #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' | |
225 | ||
4be44fcd | 226 | #endif /* _ACCONFIG_H */ |