acconfig.h revision 117521
1238438Sdteske/****************************************************************************** 2238438Sdteske * 3249746Sdteske * Name: acconfig.h - Global configuration constants 4238438Sdteske * $Revision: 139 $ 5238438Sdteske * 6238438Sdteske *****************************************************************************/ 7238438Sdteske 8238438Sdteske/****************************************************************************** 9238438Sdteske * 10238438Sdteske * 1. Copyright Notice 11238438Sdteske * 12238438Sdteske * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp. 13238438Sdteske * All rights reserved. 14238438Sdteske * 15238438Sdteske * 2. License 16238438Sdteske * 17238438Sdteske * 2.1. This is your license from Intel Corp. under its intellectual property 18238438Sdteske * rights. You may have additional license terms from the party that provided 19238438Sdteske * you this software, covering your right to use that party's intellectual 20238438Sdteske * property rights. 21238438Sdteske * 22238438Sdteske * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 23238438Sdteske * copy of the source code appearing in this file ("Covered Code") an 24238438Sdteske * irrevocable, perpetual, worldwide license under Intel's copyrights in the 25238438Sdteske * base code distributed originally by Intel ("Original Intel Code") to copy, 26238438Sdteske * make derivatives, distribute, use and display any portion of the Covered 27238438Sdteske * Code in any form, with the right to sublicense such rights; and 28238438Sdteske * 29238438Sdteske * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 30238438Sdteske * license (with the right to sublicense), under only those claims of Intel 31240684Sdteske * patents that are infringed by the Original Intel Code, to make, use, sell, 32240684Sdteske * offer to sell, and import the Covered Code and derivative works thereof 33244675Sdteske * solely to the minimum extent necessary to exercise the above copyright 34240684Sdteske * license, and in no event shall the patent license extend to any additions 35240684Sdteske * to or modifications of the Original Intel Code. No other license or right 36240684Sdteske * is granted directly or by implication, estoppel or otherwise; 37238438Sdteske * 38240684Sdteske * The above copyright and patent license is granted only if the following 39238438Sdteske * conditions are met: 40238438Sdteske * 41243112Sdteske * 3. Conditions 42238438Sdteske * 43238438Sdteske * 3.1. Redistribution of Source with Rights to Further Distribute Source. 44238438Sdteske * Redistribution of source code of any substantial portion of the Covered 45238438Sdteske * Code or modification with rights to further distribute source must include 46238438Sdteske * the above Copyright Notice, the above License, this list of Conditions, 47238438Sdteske * and the following Disclaimer and Export Compliance provision. In addition, 48238438Sdteske * Licensee must cause all Covered Code to which Licensee contributes to 49238438Sdteske * contain a file documenting the changes Licensee made to create that Covered 50238438Sdteske * Code and the date of any change. Licensee must include in that file the 51238438Sdteske * documentation of any changes made by any predecessor Licensee. Licensee 52251190Sdteske * must include a prominent statement that the modification is derived, 53238438Sdteske * directly or indirectly, from Original Intel Code. 54238438Sdteske * 55238438Sdteske * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 56238438Sdteske * Redistribution of source code of any substantial portion of the Covered 57238438Sdteske * Code or modification without rights to further distribute source must 58238438Sdteske * include the following Disclaimer and Export Compliance provision in the 59238438Sdteske * documentation and/or other materials provided with distribution. In 60238438Sdteske * addition, Licensee may not authorize further sublicense of source of any 61238438Sdteske * portion of the Covered Code, and must include terms to the effect that the 62238438Sdteske * license from Licensee to its licensee is limited to the intellectual 63238438Sdteske * property embodied in the software Licensee provides to its licensee, and 64238438Sdteske * not to intellectual property embodied in modifications its licensee may 65251190Sdteske * make. 66251190Sdteske * 67251190Sdteske * 3.3. Redistribution of Executable. Redistribution in executable form of any 68251190Sdteske * substantial portion of the Covered Code or modification must reproduce the 69251190Sdteske * above Copyright Notice, and the following Disclaimer and Export Compliance 70251190Sdteske * provision in the documentation and/or other materials provided with the 71251190Sdteske * distribution. 72238438Sdteske * 73249751Sdteske * 3.4. Intel retains all right, title, and interest in and to the Original 74249751Sdteske * Intel Code. 75249751Sdteske * 76249751Sdteske * 3.5. Neither the name Intel nor any other trademark owned or controlled by 77249751Sdteske * Intel shall be used in advertising or otherwise to promote the sale, use or 78249751Sdteske * other dealings in products derived from or relating to the Covered Code 79249751Sdteske * without prior written authorization from Intel. 80249751Sdteske * 81249751Sdteske * 4. Disclaimer and Export Compliance 82240768Sdteske * 83240768Sdteske * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 84249751Sdteske * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 85238438Sdteske * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 86238438Sdteske * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 87238438Sdteske * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 88238438Sdteske * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 89249751Sdteske * PARTICULAR PURPOSE. 90251190Sdteske * 91251190Sdteske * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 92238438Sdteske * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 93240768Sdteske * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 94240768Sdteske * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 95240768Sdteske * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 96240768Sdteske * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 97240768Sdteske * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 98238438Sdteske * LIMITED REMEDY. 99238438Sdteske * 100238438Sdteske * 4.3. Licensee shall not export, either directly or indirectly, any of this 101238438Sdteske * software or system incorporating such software without first obtaining any 102238438Sdteske * required license or other approval from the U. S. Department of Commerce or 103238438Sdteske * any other agency or department of the United States Government. In the 104238438Sdteske * event Licensee exports any such software from the United States or 105238438Sdteske * re-exports any such software from a foreign destination, Licensee shall 106238438Sdteske * ensure that the distribution and export/re-export of the software is in 107238438Sdteske * compliance with all laws, regulations, orders, or other restrictions of the 108250633Sdteske * U.S. Export Administration Regulations. Licensee agrees that neither it nor 109238438Sdteske * any of its subsidiaries will export/re-export any technical data, process, 110238438Sdteske * software, or service, directly or indirectly, to any country for which the 111238438Sdteske * United States government or any agency thereof requires an export license, 112238438Sdteske * other governmental approval, or letter of assurance, without first obtaining 113238438Sdteske * such license, approval or letter. 114238438Sdteske * 115238438Sdteske *****************************************************************************/ 116238438Sdteske 117238438Sdteske#ifndef _ACCONFIG_H 118238438Sdteske#define _ACCONFIG_H 119238438Sdteske 120238438Sdteske 121238438Sdteske/****************************************************************************** 122238438Sdteske * 123238438Sdteske * Configuration options 124238438Sdteske * 125238438Sdteske *****************************************************************************/ 126238438Sdteske 127238438Sdteske/* 128238438Sdteske * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the 129238438Sdteske * ACPI subsystem. This includes the DEBUG_PRINT output 130238438Sdteske * statements. When disabled, all DEBUG_PRINT 131238438Sdteske * statements are compiled out. 132238438Sdteske * 133238438Sdteske * ACPI_APPLICATION - Use this switch if the subsystem is going to be run 134238438Sdteske * at the application level. 135238438Sdteske * 136238438Sdteske */ 137238438Sdteske 138238438Sdteske/* Version string */ 139238438Sdteske 140238438Sdteske#define ACPI_CA_VERSION 0x20030619 141238438Sdteske 142238438Sdteske/* Maximum objects in the various object caches */ 143238438Sdteske 144238438Sdteske#define ACPI_MAX_STATE_CACHE_DEPTH 64 /* State objects for stacks */ 145238438Sdteske#define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ 146238438Sdteske#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 64 /* Parse tree objects */ 147238438Sdteske#define ACPI_MAX_OBJECT_CACHE_DEPTH 64 /* Interpreter operand objects */ 148238438Sdteske#define ACPI_MAX_WALK_CACHE_DEPTH 4 /* Objects for parse tree walks */ 149238438Sdteske 150238438Sdteske/* 151238438Sdteske * Should the subystem abort the loading of an ACPI table if the 152238438Sdteske * table checksum is incorrect? 153238438Sdteske */ 154238438Sdteske#define ACPI_CHECKSUM_ABORT FALSE 155238438Sdteske 156238438Sdteske 157238438Sdteske/****************************************************************************** 158238438Sdteske * 159238438Sdteske * Subsystem Constants 160 * 161 *****************************************************************************/ 162 163/* Version of ACPI supported */ 164 165#define ACPI_CA_SUPPORT_LEVEL 2 166 167/* String size constants */ 168 169#define ACPI_MAX_STRING_LENGTH 512 170#define ACPI_PATHNAME_MAX 256 /* A full namespace pathname */ 171 172/* Maximum count for a semaphore object */ 173 174#define ACPI_MAX_SEMAPHORE_COUNT 256 175 176/* Max reference count (for debug only) */ 177 178#define ACPI_MAX_REFERENCE_COUNT 0x400 179 180/* Size of cached memory mapping for system memory operation region */ 181 182#define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096 183 184 185/****************************************************************************** 186 * 187 * ACPI Specification constants (Do not change unless the specification changes) 188 * 189 *****************************************************************************/ 190 191/* Number of distinct GPE register blocks and register width */ 192 193#define ACPI_MAX_GPE_BLOCKS 2 194#define ACPI_GPE_REGISTER_WIDTH 8 195 196/* 197 * Method info (in WALK_STATE), containing local variables and argumetns 198 */ 199#define ACPI_METHOD_NUM_LOCALS 8 200#define ACPI_METHOD_MAX_LOCAL 7 201 202#define ACPI_METHOD_NUM_ARGS 7 203#define ACPI_METHOD_MAX_ARG 6 204 205/* Maximum length of resulting string when converting from a buffer */ 206 207#define ACPI_MAX_STRING_CONVERSION 200 208 209/* Length of _HID, _UID, and _CID values */ 210 211#define ACPI_DEVICE_ID_LENGTH 0x09 212#define ACPI_MAX_CID_LENGTH 48 213 214/* 215 * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG 216 */ 217#define ACPI_OBJ_NUM_OPERANDS 8 218#define ACPI_OBJ_MAX_OPERAND 7 219 220/* Names within the namespace are 4 bytes long */ 221 222#define ACPI_NAME_SIZE 4 223#define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ 224#define ACPI_PATH_SEPARATOR '.' 225 226/* Constants used in searching for the RSDP in low memory */ 227 228#define ACPI_LO_RSDP_WINDOW_BASE 0 /* Physical Address */ 229#define ACPI_HI_RSDP_WINDOW_BASE 0xE0000 /* Physical Address */ 230#define ACPI_LO_RSDP_WINDOW_SIZE 0x400 231#define ACPI_HI_RSDP_WINDOW_SIZE 0x20000 232#define ACPI_RSDP_SCAN_STEP 16 233 234/* Operation regions */ 235 236#define ACPI_NUM_PREDEFINED_REGIONS 8 237#define ACPI_USER_REGION_BEGIN 0x80 238 239/* Maximum SpaceIds for Operation Regions */ 240 241#define ACPI_MAX_ADDRESS_SPACE 255 242 243/* Array sizes. Used for range checking also */ 244 245#define ACPI_NUM_ACCESS_TYPES 6 246#define ACPI_NUM_UPDATE_RULES 3 247#define ACPI_NUM_LOCK_RULES 2 248#define ACPI_NUM_MATCH_OPS 6 249#define ACPI_NUM_OPCODES 256 250#define ACPI_NUM_FIELD_NAMES 2 251 252/* RSDP checksums */ 253 254#define ACPI_RSDP_CHECKSUM_LENGTH 20 255#define ACPI_RSDP_XCHECKSUM_LENGTH 36 256 257/* SMBus bidirectional buffer size */ 258 259#define ACPI_SMBUS_BUFFER_SIZE 34 260 261 262/****************************************************************************** 263 * 264 * ACPI AML Debugger 265 * 266 *****************************************************************************/ 267 268#define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ 269 270#define ACPI_DEBUGGER_COMMAND_PROMPT '-' 271#define ACPI_DEBUGGER_EXECUTE_PROMPT '%' 272 273 274#endif /* _ACCONFIG_H */ 275 276