acconfig.h revision 84491
126219Swpaul/******************************************************************************
250476Speter *
348794Snik * Name: acconfig.h - Global configuration constants
471175Sru *       $Revision: 71 $
571175Sru *
671175Sru *****************************************************************************/
771175Sru
871175Sru/******************************************************************************
971175Sru *
1071175Sru * 1. Copyright Notice
1171175Sru *
1271175Sru * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
1384306Sru * All rights reserved.
1471175Sru *
1571175Sru * 2. License
1671175Sru *
1771175Sru * 2.1. This is your license from Intel Corp. under its intellectual property
1871175Sru * rights.  You may have additional license terms from the party that provided
1971175Sru * you this software, covering your right to use that party's intellectual
2071175Sru * property rights.
21108037Sru *
2271175Sru * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
2326219Swpaul * copy of the source code appearing in this file ("Covered Code") an
2471175Sru * irrevocable, perpetual, worldwide license under Intel's copyrights in the
25108037Sru * base code distributed originally by Intel ("Original Intel Code") to copy,
2626219Swpaul * make derivatives, distribute, use and display any portion of the Covered
2771175Sru * Code in any form, with the right to sublicense such rights; and
2871175Sru *
2926219Swpaul * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
3026219Swpaul * license (with the right to sublicense), under only those claims of Intel
3171175Sru * patents that are infringed by the Original Intel Code, to make, use, sell,
3226219Swpaul * offer to sell, and import the Covered Code and derivative works thereof
3371175Sru * solely to the minimum extent necessary to exercise the above copyright
3426219Swpaul * license, and in no event shall the patent license extend to any additions
35108037Sru * to or modifications of the Original Intel Code.  No other license or right
3671175Sru * is granted directly or by implication, estoppel or otherwise;
37108037Sru *
3826219Swpaul * The above copyright and patent license is granted only if the following
3971175Sru * conditions are met:
4026219Swpaul *
4126219Swpaul * 3. Conditions
42108037Sru *
4371175Sru * 3.1. Redistribution of Source with Rights to Further Distribute Source.
44108037Sru * Redistribution of source code of any substantial portion of the Covered
4526219Swpaul * Code or modification with rights to further distribute source must include
4671175Sru * the above Copyright Notice, the above License, this list of Conditions,
4726219Swpaul * and the following Disclaimer and Export Compliance provision.  In addition,
4826219Swpaul * Licensee must cause all Covered Code to which Licensee contributes to
4926219Swpaul * contain a file documenting the changes Licensee made to create that Covered
5071175Sru * Code and the date of any change.  Licensee must include in that file the
5126219Swpaul * documentation of any changes made by any predecessor Licensee.  Licensee
5257686Ssheldonh * must include a prominent statement that the modification is derived,
5357686Ssheldonh * directly or indirectly, from Original Intel Code.
5426219Swpaul *
5571175Sru * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
5671175Sru * Redistribution of source code of any substantial portion of the Covered
57108087Sru * Code or modification without rights to further distribute source must
5871175Sru * include the following Disclaimer and Export Compliance provision in the
5926219Swpaul * documentation and/or other materials provided with distribution.  In
6026219Swpaul * addition, Licensee may not authorize further sublicense of source of any
6171175Sru * portion of the Covered Code, and must include terms to the effect that the
6226219Swpaul * license from Licensee to its licensee is limited to the intellectual
6371175Sru * property embodied in the software Licensee provides to its licensee, and
64108087Sru * not to intellectual property embodied in modifications its licensee may
6571175Sru * make.
6657686Ssheldonh *
6757686Ssheldonh * 3.3. Redistribution of Executable. Redistribution in executable form of any
68108087Sru * substantial portion of the Covered Code or modification must reproduce the
6971175Sru * above Copyright Notice, and the following Disclaimer and Export Compliance
7026219Swpaul * provision in the documentation and/or other materials provided with the
7171175Sru * distribution.
7271175Sru *
73108087Sru * 3.4. Intel retains all right, title, and interest in and to the Original
7471175Sru * Intel Code.
7526219Swpaul *
7671175Sru * 3.5. Neither the name Intel nor any other trademark owned or controlled by
7771175Sru * Intel shall be used in advertising or otherwise to promote the sale, use or
7871175Sru * other dealings in products derived from or relating to the Covered Code
7971175Sru * without prior written authorization from Intel.
8071175Sru *
8171175Sru * 4. Disclaimer and Export Compliance
8226219Swpaul *
8371175Sru * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
8426219Swpaul * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
8571175Sru * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
8671175Sru * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
8771175Sru * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
8871175Sru * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
8926219Swpaul * PARTICULAR PURPOSE.
9071175Sru *
9126219Swpaul * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
9271175Sru * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
9326219Swpaul * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
9426219Swpaul * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
9571175Sru * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
9626219Swpaul * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
9771175Sru * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
98108087Sru * LIMITED REMEDY.
9971175Sru *
100108087Sru * 4.3. Licensee shall not export, either directly or indirectly, any of this
10178686Sdd * software or system incorporating such software without first obtaining any
10271175Sru * required license or other approval from the U. S. Department of Commerce or
10371175Sru * any other agency or department of the United States Government.  In the
10426219Swpaul * event Licensee exports any such software from the United States or
10571175Sru * re-exports any such software from a foreign destination, Licensee shall
10671175Sru * ensure that the distribution and export/re-export of the software is in
10771175Sru * compliance with all laws, regulations, orders, or other restrictions of the
10826219Swpaul * U.S. Export Administration Regulations. Licensee agrees that neither it nor
10971175Sru * any of its subsidiaries will export/re-export any technical data, process,
11026219Swpaul * software, or service, directly or indirectly, to any country for which the
11171175Sru * United States government or any agency thereof requires an export license,
11226219Swpaul * other governmental approval, or letter of assurance, without first obtaining
11371175Sru * such license, approval or letter.
114108087Sru *
11571175Sru *****************************************************************************/
11671175Sru
11726219Swpaul#ifndef _ACCONFIG_H
11871175Sru#define _ACCONFIG_H
11926219Swpaul
12071175Sru
12126219Swpaul/******************************************************************************
12271175Sru *
12371175Sru * Compile-time options
12471175Sru *
12571175Sru *****************************************************************************/
12626219Swpaul
12771175Sru/*
12871175Sru * ACPI_DEBUG           - This switch enables all the debug facilities of the ACPI
12971175Sru *                          subsystem.  This includes the DEBUG_PRINT output statements
13026219Swpaul *                          When disabled, all DEBUG_PRINT statements are compiled out.
131 *
132 * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run
133 *                          at the application level.
134 *
135 */
136
137
138/******************************************************************************
139 *
140 * Subsystem Constants
141 *
142 *****************************************************************************/
143
144
145/* Version string */
146
147#define ACPI_CA_VERSION             0x20010920
148
149
150/* Maximum objects in the various object caches */
151
152#define MAX_STATE_CACHE_DEPTH       64         /* State objects for stacks */
153#define MAX_PARSE_CACHE_DEPTH       96          /* Parse tree objects */
154#define MAX_EXTPARSE_CACHE_DEPTH    64          /* Parse tree objects */
155#define MAX_OBJECT_CACHE_DEPTH      64          /* Interpreter operand objects */
156#define MAX_WALK_CACHE_DEPTH        4           /* Objects for parse tree walks (method execution) */
157
158
159/* String size constants */
160
161#define MAX_STRING_LENGTH           512
162#define PATHNAME_MAX                256     /* A full namespace pathname */
163
164
165/* Maximum count for a semaphore object */
166
167#define MAX_SEMAPHORE_COUNT         256
168
169
170/* Max reference count (for debug only) */
171
172#define MAX_REFERENCE_COUNT         0x400
173
174
175/* Size of cached memory mapping for system memory operation region */
176
177#define SYSMEM_REGION_WINDOW_SIZE   4096
178
179
180/*
181 * Debugger threading model
182 * Use single threaded if the entire subsystem is contained in an application
183 * Use multiple threaded when the subsystem is running in the kernel.
184 *
185 * By default the model is single threaded if ACPI_APPLICATION is set,
186 * multi-threaded if ACPI_APPLICATION is not set.
187 */
188
189#define DEBUGGER_SINGLE_THREADED    0
190#define DEBUGGER_MULTI_THREADED     1
191
192#ifdef ACPI_APPLICATION
193#define DEBUGGER_THREADING          DEBUGGER_SINGLE_THREADED
194
195#else
196#define DEBUGGER_THREADING          DEBUGGER_MULTI_THREADED
197#endif
198
199
200/******************************************************************************
201 *
202 * ACPI Specification constants (Do not change unless the specification changes)
203 *
204 *****************************************************************************/
205
206/*
207 * Method info (in WALK_STATE), containing local variables and argumetns
208 */
209
210#define MTH_NUM_LOCALS              8
211#define MTH_MAX_LOCAL               7
212
213#define MTH_NUM_ARGS                7
214#define MTH_MAX_ARG                 6
215
216/* Maximum length of resulting string when converting from a buffer */
217
218#define ACPI_MAX_STRING_CONVERSION  200
219
220/*
221 * Operand Stack (in WALK_STATE), Must be large enough to contain MTH_MAX_ARG
222 */
223
224#define OBJ_NUM_OPERANDS            8
225#define OBJ_MAX_OPERAND             7
226
227/* Names within the namespace are 4 bytes long */
228
229#define ACPI_NAME_SIZE              4
230#define PATH_SEGMENT_LENGTH         5           /* 4 chars for name + 1 INT8 for separator */
231#define PATH_SEPARATOR              '.'
232
233
234/* Constants used in searching for the RSDP in low memory */
235
236#define LO_RSDP_WINDOW_BASE         0           /* Physical Address */
237#define HI_RSDP_WINDOW_BASE         0xE0000     /* Physical Address */
238#define LO_RSDP_WINDOW_SIZE         0x400
239#define HI_RSDP_WINDOW_SIZE         0x20000
240#define RSDP_SCAN_STEP              16
241
242/* Maximum SpaceIds for Operation Regions */
243
244#define ACPI_MAX_ADDRESS_SPACE      255
245#define ACPI_NUM_ADDRESS_SPACES     256
246
247
248#endif /* _ACCONFIG_H */
249
250