1 /****************************************************************************** 2 * 3 * Name: acconfig.h - Global configuration constants 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2004, R. Byron Moore 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 MERCHANTIBILITY 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 /* Version string */ 66 67 #define ACPI_CA_VERSION 0x20040326 68 69 /* Maximum objects in the various object caches */ 70 71 #define ACPI_MAX_STATE_CACHE_DEPTH 64 /* State objects for stacks */ 72 #define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ 73 #define ACPI_MAX_EXTPARSE_CACHE_DEPTH 64 /* Parse tree objects */ 74 #define ACPI_MAX_OBJECT_CACHE_DEPTH 64 /* Interpreter operand objects */ 75 #define ACPI_MAX_WALK_CACHE_DEPTH 4 /* Objects for parse tree walks */ 76 77 /* 78 * Should the subystem abort the loading of an ACPI table if the 79 * table checksum is incorrect? 80 */ 81 #define ACPI_CHECKSUM_ABORT FALSE 82 83 84 /****************************************************************************** 85 * 86 * Subsystem Constants 87 * 88 *****************************************************************************/ 89 90 /* Version of ACPI supported */ 91 92 #define ACPI_CA_SUPPORT_LEVEL 2 93 94 /* String size constants */ 95 96 #define ACPI_MAX_STRING_LENGTH 512 97 #define ACPI_PATHNAME_MAX 256 /* A full namespace pathname */ 98 99 /* Maximum count for a semaphore object */ 100 101 #define ACPI_MAX_SEMAPHORE_COUNT 256 102 103 /* Max reference count (for debug only) */ 104 105 #define ACPI_MAX_REFERENCE_COUNT 0x400 106 107 /* Size of cached memory mapping for system memory operation region */ 108 109 #define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096 110 111 112 /****************************************************************************** 113 * 114 * ACPI Specification constants (Do not change unless the specification changes) 115 * 116 *****************************************************************************/ 117 118 /* Number of distinct GPE register blocks and register width */ 119 120 #define ACPI_MAX_GPE_BLOCKS 2 121 #define ACPI_GPE_REGISTER_WIDTH 8 122 123 /* 124 * Method info (in WALK_STATE), containing local variables and argumetns 125 */ 126 #define ACPI_METHOD_NUM_LOCALS 8 127 #define ACPI_METHOD_MAX_LOCAL 7 128 129 #define ACPI_METHOD_NUM_ARGS 7 130 #define ACPI_METHOD_MAX_ARG 6 131 132 /* Maximum length of resulting string when converting from a buffer */ 133 134 #define ACPI_MAX_STRING_CONVERSION 200 135 136 /* Length of _HID, _UID, and _CID values */ 137 138 #define ACPI_DEVICE_ID_LENGTH 0x09 139 #define ACPI_MAX_CID_LENGTH 48 140 141 /* 142 * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG 143 */ 144 #define ACPI_OBJ_NUM_OPERANDS 8 145 #define ACPI_OBJ_MAX_OPERAND 7 146 147 /* Names within the namespace are 4 bytes long */ 148 149 #define ACPI_NAME_SIZE 4 150 #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ 151 #define ACPI_PATH_SEPARATOR '.' 152 153 /* Constants used in searching for the RSDP in low memory */ 154 155 #define ACPI_LO_RSDP_WINDOW_BASE 0 /* Physical Address */ 156 #define ACPI_HI_RSDP_WINDOW_BASE 0xE0000 /* Physical Address */ 157 #define ACPI_LO_RSDP_WINDOW_SIZE 0x400 158 #define ACPI_HI_RSDP_WINDOW_SIZE 0x20000 159 #define ACPI_RSDP_SCAN_STEP 16 160 161 /* Operation regions */ 162 163 #define ACPI_NUM_PREDEFINED_REGIONS 8 164 #define ACPI_USER_REGION_BEGIN 0x80 165 166 /* Maximum space_ids for Operation Regions */ 167 168 #define ACPI_MAX_ADDRESS_SPACE 255 169 170 /* Array sizes. Used for range checking also */ 171 172 #define ACPI_NUM_ACCESS_TYPES 6 173 #define ACPI_NUM_UPDATE_RULES 3 174 #define ACPI_NUM_LOCK_RULES 2 175 #define ACPI_NUM_MATCH_OPS 6 176 #define ACPI_NUM_OPCODES 256 177 #define ACPI_NUM_FIELD_NAMES 2 178 179 /* RSDP checksums */ 180 181 #define ACPI_RSDP_CHECKSUM_LENGTH 20 182 #define ACPI_RSDP_XCHECKSUM_LENGTH 36 183 184 /* SMBus bidirectional buffer size */ 185 186 #define ACPI_SMBUS_BUFFER_SIZE 34 187 188 /* Number of strings associated with the _OSI reserved method */ 189 190 #define ACPI_NUM_OSI_STRINGS 4 191 192 193 /****************************************************************************** 194 * 195 * ACPI AML Debugger 196 * 197 *****************************************************************************/ 198 199 #define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ 200 201 #define ACPI_DEBUGGER_COMMAND_PROMPT '-' 202 #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' 203 204 205 #endif /* _ACCONFIG_H */ 206 207