1 /******************************************************************************
3 * Name: acconfig.h - Global configuration constants
6 *****************************************************************************/
9 * Copyright (C) 2000, 2001 R. Byron Moore
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 /******************************************************************************
32 * Compile-time options
34 *****************************************************************************/
37 * ACPI_DEBUG - This switch enables all the debug facilities of the ACPI
38 * subsystem. This includes the DEBUG_PRINT output statements
39 * When disabled, all DEBUG_PRINT statements are compiled out.
41 * ACPI_APPLICATION - Use this switch if the subsystem is going to be run
42 * at the application level.
47 /******************************************************************************
51 *****************************************************************************/
56 #define ACPI_CA_VERSION 0x20010313
59 /* Maximum objects in the various object caches */
61 #define MAX_STATE_CACHE_DEPTH 64 /* State objects for stacks */
62 #define MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */
63 #define MAX_EXTPARSE_CACHE_DEPTH 64 /* Parse tree objects */
64 #define MAX_OBJECT_CACHE_DEPTH 64 /* Interpreter operand objects */
65 #define MAX_WALK_CACHE_DEPTH 2 /* Objects for parse tree walks (method execution) */
68 /* String size constants */
70 #define MAX_STRING_LENGTH 512
71 #define PATHNAME_MAX 256 /* A full namespace pathname */
74 /* Maximum count for a semaphore object */
76 #define MAX_SEMAPHORE_COUNT 256
79 /* Max reference count (for debug only) */
81 #define MAX_REFERENCE_COUNT 0x200
84 /* Size of cached memory mapping for system memory operation region */
86 #define SYSMEM_REGION_WINDOW_SIZE 4096
90 * Debugger threading model
91 * Use single threaded if the entire subsystem is contained in an application
92 * Use multiple threaded when the subsystem is running in the kernel.
94 * By default the model is single threaded if ACPI_APPLICATION is set,
95 * multi-threaded if ACPI_APPLICATION is not set.
98 #define DEBUGGER_SINGLE_THREADED 0
99 #define DEBUGGER_MULTI_THREADED 1
101 #ifdef ACPI_APPLICATION
102 #define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED
105 #define DEBUGGER_THREADING DEBUGGER_MULTI_THREADED
109 /******************************************************************************
111 * ACPI Specification constants (Do not change unless the specification changes)
113 *****************************************************************************/
116 * Method info (in WALK_STATE), containing local variables and argumetns
119 #define MTH_NUM_LOCALS 8
120 #define MTH_MAX_LOCAL 7
122 #define MTH_NUM_ARGS 7
123 #define MTH_MAX_ARG 6
125 /* Maximum length of resulting string when converting from a buffer */
127 #define ACPI_MAX_STRING_CONVERSION 200
130 * Operand Stack (in WALK_STATE), Must be large enough to contain MTH_MAX_ARG
133 #define OBJ_NUM_OPERANDS 8
134 #define OBJ_MAX_OPERAND 7
136 /* Names within the namespace are 4 bytes long */
138 #define ACPI_NAME_SIZE 4
139 #define PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 s8 for separator */
140 #define PATH_SEPARATOR '.'
143 /* Constants used in searching for the RSDP in low memory */
145 #define LO_RSDP_WINDOW_BASE 0 /* Physical Address */
146 #define HI_RSDP_WINDOW_BASE 0xE0000 /* Physical Address */
147 #define LO_RSDP_WINDOW_SIZE 0x400
148 #define HI_RSDP_WINDOW_SIZE 0x20000
149 #define RSDP_SCAN_STEP 16
151 #endif /* _ACCONFIG_H */