ReactOS
0.4.16-dev-197-g92996da
acconfig.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Name: acconfig.h - Global configuration constants
4
*
5
*****************************************************************************/
6
7
/*
8
* Copyright (C) 2000 - 2022, 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 MERCHANTABILITY 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
*
50
* Configuration options
51
*
52
*****************************************************************************/
53
54
/*
55
* ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the
56
* ACPI subsystem. This includes the DEBUG_PRINT output
57
* statements. When disabled, all DEBUG_PRINT
58
* statements are compiled out.
59
*
60
* ACPI_APPLICATION - Use this switch if the subsystem is going to be run
61
* at the application level.
62
*
63
*/
64
65
/*
66
* OS name, used for the _OS object. The _OS object is essentially obsolete,
67
* but there is a large base of ASL/AML code in existing machines that check
68
* for the string below. The use of this string usually guarantees that
69
* the ASL will execute down the most tested code path. Also, there is some
70
* code that will not execute the _OSI method unless _OS matches the string
71
* below. Therefore, change this string at your own risk.
72
*/
73
#define ACPI_OS_NAME "Microsoft Windows NT"
74
75
/* Maximum objects in the various object caches */
76
77
#define ACPI_MAX_STATE_CACHE_DEPTH 96
/* State objects */
78
#define ACPI_MAX_PARSE_CACHE_DEPTH 96
/* Parse tree objects */
79
#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96
/* Parse tree objects */
80
#define ACPI_MAX_OBJECT_CACHE_DEPTH 96
/* Interpreter operand objects */
81
#define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96
/* Namespace objects */
82
#define ACPI_MAX_COMMENT_CACHE_DEPTH 96
/* Comments for the -ca option */
83
84
/*
85
* Should the subsystem abort the loading of an ACPI table if the
86
* table checksum is incorrect?
87
*/
88
#ifndef ACPI_CHECKSUM_ABORT
89
#define ACPI_CHECKSUM_ABORT FALSE
90
#endif
91
92
/*
93
* Generate a version of ACPICA that only supports "reduced hardware"
94
* platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized
95
* version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware"
96
* model. In other words, no ACPI hardware is supported.
97
*
98
* If TRUE, this means no support for the following:
99
* PM Event and Control registers
100
* SCI interrupt (and handler)
101
* Fixed Events
102
* General Purpose Events (GPEs)
103
* Global Lock
104
* ACPI PM timer
105
* FACS table (Waking vectors and Global Lock)
106
*/
107
#ifndef ACPI_REDUCED_HARDWARE
108
#define ACPI_REDUCED_HARDWARE FALSE
109
#endif
110
111
112
/******************************************************************************
113
*
114
* Subsystem Constants
115
*
116
*****************************************************************************/
117
118
/* Version of ACPI supported */
119
120
#define ACPI_CA_SUPPORT_LEVEL 5
121
122
/* Maximum count for a semaphore object */
123
124
#define ACPI_MAX_SEMAPHORE_COUNT 256
125
126
/* Maximum object reference count (detects object deletion issues) */
127
128
#define ACPI_MAX_REFERENCE_COUNT 0x4000
129
130
/* Default page size for use in mapping memory for operation regions */
131
132
#define ACPI_DEFAULT_PAGE_SIZE 4096
/* Must be power of 2 */
133
134
/* OwnerId tracking. 128 entries allows for 4095 OwnerIds */
135
136
#define ACPI_NUM_OWNERID_MASKS 128
137
138
/* Size of the root table array is increased by this increment */
139
140
#define ACPI_ROOT_TABLE_SIZE_INCREMENT 4
141
142
/* Maximum sleep allowed via Sleep() operator */
143
144
#define ACPI_MAX_SLEEP 2000
/* 2000 millisec == two seconds */
145
146
/* Address Range lists are per-SpaceId (Memory and I/O only) */
147
148
#define ACPI_ADDRESS_RANGE_MAX 2
149
150
/* Maximum time (default 30s) of While() loops before abort */
151
152
#define ACPI_MAX_LOOP_TIMEOUT 30
153
154
155
/******************************************************************************
156
*
157
* ACPI Specification constants (Do not change unless the specification changes)
158
*
159
*****************************************************************************/
160
161
/* Method info (in WALK_STATE), containing local variables and arguments */
162
163
#define ACPI_METHOD_NUM_LOCALS 8
164
#define ACPI_METHOD_MAX_LOCAL 7
165
166
#define ACPI_METHOD_NUM_ARGS 7
167
#define ACPI_METHOD_MAX_ARG 6
168
169
/*
170
* Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG
171
*/
172
#define ACPI_OBJ_NUM_OPERANDS 8
173
#define ACPI_OBJ_MAX_OPERAND 7
174
175
/* Number of elements in the Result Stack frame, can be an arbitrary value */
176
177
#define ACPI_RESULTS_FRAME_OBJ_NUM 8
178
179
/*
180
* Maximal number of elements the Result Stack can contain,
181
* it may be an arbitrary value not exceeding the types of
182
* ResultSize and ResultCount (now UINT8).
183
*/
184
#define ACPI_RESULTS_OBJ_NUM_MAX 255
185
186
/* Constants used in searching for the RSDP in low memory */
187
188
#define ACPI_EBDA_PTR_LOCATION 0x0000040E
/* Physical Address */
189
#define ACPI_EBDA_PTR_LENGTH 2
190
#define ACPI_EBDA_WINDOW_SIZE 1024
191
#define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000
/* Physical Address */
192
#define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000
193
#define ACPI_RSDP_SCAN_STEP 16
194
195
/* Operation regions */
196
197
#define ACPI_USER_REGION_BEGIN 0x80
198
199
/* Maximum SpaceIds for Operation Regions */
200
201
#define ACPI_MAX_ADDRESS_SPACE 255
202
#define ACPI_NUM_DEFAULT_SPACES 4
203
204
/* Array sizes. Used for range checking also */
205
206
#define ACPI_MAX_MATCH_OPCODE 5
207
208
/* RSDP checksums */
209
210
#define ACPI_RSDP_CHECKSUM_LENGTH 20
211
#define ACPI_RSDP_XCHECKSUM_LENGTH 36
212
213
/*
214
* SMBus, GSBus and IPMI buffer sizes. All have a 2-byte header,
215
* containing both Status and Length.
216
*/
217
#define ACPI_SERIAL_HEADER_SIZE 2
/* Common for below. Status and Length fields */
218
219
#define ACPI_SMBUS_DATA_SIZE 32
220
#define ACPI_SMBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_SMBUS_DATA_SIZE
221
222
#define ACPI_IPMI_DATA_SIZE 64
223
#define ACPI_IPMI_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_IPMI_DATA_SIZE
224
225
#define ACPI_MAX_GSBUS_DATA_SIZE 255
226
#define ACPI_MAX_GSBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE
227
228
#define ACPI_PRM_INPUT_BUFFER_SIZE 26
229
230
#define ACPI_FFH_INPUT_BUFFER_SIZE 256
231
232
/* _SxD and _SxW control methods */
233
234
#define ACPI_NUM_SxD_METHODS 4
235
#define ACPI_NUM_SxW_METHODS 5
236
237
238
/******************************************************************************
239
*
240
* Miscellaneous constants
241
*
242
*****************************************************************************/
243
244
/* UUID constants */
245
246
#define UUID_BUFFER_LENGTH 16
/* Length of UUID in memory */
247
#define UUID_STRING_LENGTH 36
/* Total length of a UUID string */
248
249
/* Positions for required hyphens (dashes) in UUID strings */
250
251
#define UUID_HYPHEN1_OFFSET 8
252
#define UUID_HYPHEN2_OFFSET 13
253
#define UUID_HYPHEN3_OFFSET 18
254
#define UUID_HYPHEN4_OFFSET 23
255
256
257
/******************************************************************************
258
*
259
* ACPI AML Debugger
260
*
261
*****************************************************************************/
262
263
#define ACPI_DEBUGGER_MAX_ARGS ACPI_METHOD_NUM_ARGS + 4
/* Max command line arguments */
264
#define ACPI_DB_LINE_BUFFER_SIZE 512
265
266
#define ACPI_DEBUGGER_COMMAND_PROMPT '-'
267
#define ACPI_DEBUGGER_EXECUTE_PROMPT '%'
268
269
270
#endif
/* _ACCONFIG_H */
drivers
bus
acpi
acpica
include
acconfig.h
Generated on Wed Oct 30 2024 06:12:26 for ReactOS by
1.9.6