import of ftp.dlink.com/GPL/DSMG-600_reB/ppclinux.tar.gz
[linux-2.4.21-pre4.git] / drivers / acpi / include / acconfig.h
1 /******************************************************************************
2  *
3  * Name: acconfig.h - Global configuration constants
4  *       $Revision: 1.1.1.1 $
5  *
6  *****************************************************************************/
7
8 /*
9  *  Copyright (C) 2000, 2001 R. Byron Moore
10  *
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.
15  *
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.
20  *
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
24  */
25
26 #ifndef _ACCONFIG_H
27 #define _ACCONFIG_H
28
29
30 /******************************************************************************
31  *
32  * Compile-time options
33  *
34  *****************************************************************************/
35
36 /*
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.
40  *
41  * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run
42  *                          at the application level.
43  *
44  */
45
46
47 /******************************************************************************
48  *
49  * Subsystem Constants
50  *
51  *****************************************************************************/
52
53
54 /* Version string */
55
56 #define ACPI_CA_VERSION             0x20011018
57
58 /* Version of ACPI supported */
59
60 #define ACPI_CA_SUPPORT_LEVEL       2
61
62
63 /* Maximum objects in the various object caches */
64
65 #define MAX_STATE_CACHE_DEPTH       64         /* State objects for stacks */
66 #define MAX_PARSE_CACHE_DEPTH       96          /* Parse tree objects */
67 #define MAX_EXTPARSE_CACHE_DEPTH    64          /* Parse tree objects */
68 #define MAX_OBJECT_CACHE_DEPTH      64          /* Interpreter operand objects */
69 #define MAX_WALK_CACHE_DEPTH        4           /* Objects for parse tree walks (method execution) */
70
71
72 /* String size constants */
73
74 #define MAX_STRING_LENGTH           512
75 #define PATHNAME_MAX                256     /* A full namespace pathname */
76
77
78 /* Maximum count for a semaphore object */
79
80 #define MAX_SEMAPHORE_COUNT         256
81
82
83 /* Max reference count (for debug only) */
84
85 #define MAX_REFERENCE_COUNT         0x400
86
87
88 /* Size of cached memory mapping for system memory operation region */
89
90 #define SYSMEM_REGION_WINDOW_SIZE   4096
91
92
93 /*
94  * Debugger threading model
95  * Use single threaded if the entire subsystem is contained in an application
96  * Use multiple threaded when the subsystem is running in the kernel.
97  *
98  * By default the model is single threaded if ACPI_APPLICATION is set,
99  * multi-threaded if ACPI_APPLICATION is not set.
100  */
101
102 #define DEBUGGER_SINGLE_THREADED    0
103 #define DEBUGGER_MULTI_THREADED     1
104
105 #ifdef ACPI_APPLICATION
106 #define DEBUGGER_THREADING          DEBUGGER_SINGLE_THREADED
107
108 #else
109 #define DEBUGGER_THREADING          DEBUGGER_MULTI_THREADED
110 #endif
111
112
113 /******************************************************************************
114  *
115  * ACPI Specification constants (Do not change unless the specification changes)
116  *
117  *****************************************************************************/
118
119 /*
120  * Method info (in WALK_STATE), containing local variables and argumetns
121  */
122
123 #define MTH_NUM_LOCALS              8
124 #define MTH_MAX_LOCAL               7
125
126 #define MTH_NUM_ARGS                7
127 #define MTH_MAX_ARG                 6
128
129 /* Maximum length of resulting string when converting from a buffer */
130
131 #define ACPI_MAX_STRING_CONVERSION  200
132
133 /*
134  * Operand Stack (in WALK_STATE), Must be large enough to contain MTH_MAX_ARG
135  */
136
137 #define OBJ_NUM_OPERANDS            8
138 #define OBJ_MAX_OPERAND             7
139
140 /* Names within the namespace are 4 bytes long */
141
142 #define ACPI_NAME_SIZE              4
143 #define PATH_SEGMENT_LENGTH         5           /* 4 chars for name + 1 s8 for separator */
144 #define PATH_SEPARATOR              '.'
145
146
147 /* Constants used in searching for the RSDP in low memory */
148
149 #define LO_RSDP_WINDOW_BASE         0           /* Physical Address */
150 #define HI_RSDP_WINDOW_BASE         0xE0000     /* Physical Address */
151 #define LO_RSDP_WINDOW_SIZE         0x400
152 #define HI_RSDP_WINDOW_SIZE         0x20000
153 #define RSDP_SCAN_STEP              16
154
155 /* Maximum Space_ids for Operation Regions */
156
157 #define ACPI_MAX_ADDRESS_SPACE      255
158 #define ACPI_NUM_ADDRESS_SPACES     256
159
160
161 #endif /* _ACCONFIG_H */
162