acconfig.h revision 231844
1266423Sjfv/****************************************************************************** 2266423Sjfv * 3279033Sjfv * Name: acconfig.h - Global configuration constants 4266423Sjfv * 5266423Sjfv *****************************************************************************/ 6266423Sjfv 7266423Sjfv/* 8266423Sjfv * Copyright (C) 2000 - 2012, Intel Corp. 9266423Sjfv * All rights reserved. 10266423Sjfv * 11266423Sjfv * Redistribution and use in source and binary forms, with or without 12266423Sjfv * modification, are permitted provided that the following conditions 13266423Sjfv * are met: 14266423Sjfv * 1. Redistributions of source code must retain the above copyright 15266423Sjfv * notice, this list of conditions, and the following disclaimer, 16266423Sjfv * without modification. 17266423Sjfv * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18266423Sjfv * substantially similar to the "NO WARRANTY" disclaimer below 19266423Sjfv * ("Disclaimer") and any redistribution must be conditioned upon 20266423Sjfv * including a substantially similar Disclaimer requirement for further 21266423Sjfv * binary redistribution. 22266423Sjfv * 3. Neither the names of the above-listed copyright holders nor the names 23266423Sjfv * of any contributors may be used to endorse or promote products derived 24266423Sjfv * from this software without specific prior written permission. 25266423Sjfv * 26266423Sjfv * Alternatively, this software may be distributed under the terms of the 27266423Sjfv * GNU General Public License ("GPL") version 2 as published by the Free 28266423Sjfv * Software Foundation. 29266423Sjfv * 30266423Sjfv * NO WARRANTY 31266423Sjfv * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32266423Sjfv * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33266423Sjfv * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34266423Sjfv * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35266423Sjfv * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36266423Sjfv * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37266423Sjfv * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38266423Sjfv * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39266423Sjfv * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40266423Sjfv * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41266423Sjfv * POSSIBILITY OF SUCH DAMAGES. 42266423Sjfv */ 43266423Sjfv 44270346Sjfv#ifndef _ACCONFIG_H 45299549Serj#define _ACCONFIG_H 46266423Sjfv 47266423Sjfv 48266423Sjfv/****************************************************************************** 49266423Sjfv * 50266423Sjfv * Configuration options 51266423Sjfv * 52266423Sjfv *****************************************************************************/ 53266423Sjfv 54266423Sjfv/* 55266423Sjfv * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the 56266423Sjfv * ACPI subsystem. This includes the DEBUG_PRINT output 57266423Sjfv * statements. When disabled, all DEBUG_PRINT 58266423Sjfv * statements are compiled out. 59266423Sjfv * 60266423Sjfv * ACPI_APPLICATION - Use this switch if the subsystem is going to be run 61266423Sjfv * at the application level. 62266423Sjfv * 63266423Sjfv */ 64266423Sjfv 65266423Sjfv/* 66266423Sjfv * OS name, used for the _OS object. The _OS object is essentially obsolete, 67266423Sjfv * but there is a large base of ASL/AML code in existing machines that check 68266423Sjfv * for the string below. The use of this string usually guarantees that 69266423Sjfv * the ASL will execute down the most tested code path. Also, there is some 70266423Sjfv * code that will not execute the _OSI method unless _OS matches the string 71266423Sjfv * below. Therefore, change this string at your own risk. 72266423Sjfv */ 73266423Sjfv#define ACPI_OS_NAME "Microsoft Windows NT" 74266423Sjfv 75266423Sjfv/* Maximum objects in the various object caches */ 76266423Sjfv 77270346Sjfv#define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ 78270346Sjfv#define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ 79270346Sjfv#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ 80270346Sjfv#define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ 81270346Sjfv#define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ 82270346Sjfv 83270346Sjfv/* 84270346Sjfv * Should the subsystem abort the loading of an ACPI table if the 85270346Sjfv * table checksum is incorrect? 86270346Sjfv */ 87270346Sjfv#define ACPI_CHECKSUM_ABORT FALSE 88266423Sjfv 89270346Sjfv/* 90270346Sjfv * Generate a version of ACPICA that only supports "reduced hardware" 91270346Sjfv * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized 92270346Sjfv * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" 93270346Sjfv * model. In other words, no ACPI hardware is supported. 94270346Sjfv * 95270346Sjfv * If TRUE, this means no support for the following: 96270346Sjfv * PM Event and Control registers 97270346Sjfv * SCI interrupt (and handler) 98270346Sjfv * Fixed Events 99270346Sjfv * General Purpose Events (GPEs) 100266423Sjfv * Global Lock 101266423Sjfv * ACPI PM timer 102266423Sjfv * FACS table (Waking vectors and Global Lock) 103270346Sjfv */ 104270346Sjfv#define ACPI_REDUCED_HARDWARE FALSE 105270346Sjfv 106270346Sjfv 107270346Sjfv/****************************************************************************** 108270346Sjfv * 109270346Sjfv * Subsystem Constants 110270346Sjfv * 111270346Sjfv *****************************************************************************/ 112270346Sjfv 113270346Sjfv/* Version of ACPI supported */ 114270346Sjfv 115270346Sjfv#define ACPI_CA_SUPPORT_LEVEL 5 116270346Sjfv 117270346Sjfv/* Maximum count for a semaphore object */ 118270346Sjfv 119270346Sjfv#define ACPI_MAX_SEMAPHORE_COUNT 256 120270346Sjfv 121270346Sjfv/* Maximum object reference count (detects object deletion issues) */ 122270346Sjfv 123270346Sjfv#define ACPI_MAX_REFERENCE_COUNT 0x800 124270346Sjfv 125270346Sjfv/* Default page size for use in mapping memory for operation regions */ 126266423Sjfv 127266423Sjfv#define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ 128266423Sjfv 129266423Sjfv/* OwnerId tracking. 8 entries allows for 255 OwnerIds */ 130266423Sjfv 131270346Sjfv#define ACPI_NUM_OWNERID_MASKS 8 132270346Sjfv 133270346Sjfv/* Size of the root table array is increased by this increment */ 134270346Sjfv 135266423Sjfv#define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 136266423Sjfv 137270346Sjfv/* Maximum number of While() loop iterations before forced abort */ 138270346Sjfv 139266423Sjfv#define ACPI_MAX_LOOP_ITERATIONS 0xFFFF 140270346Sjfv 141270346Sjfv/* Maximum sleep allowed via Sleep() operator */ 142266423Sjfv 143266423Sjfv#define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */ 144270346Sjfv 145270346Sjfv/* Address Range lists are per-SpaceId (Memory and I/O only) */ 146266423Sjfv 147266423Sjfv#define ACPI_ADDRESS_RANGE_MAX 2 148270346Sjfv 149266423Sjfv 150266423Sjfv/****************************************************************************** 151270346Sjfv * 152270346Sjfv * ACPI Specification constants (Do not change unless the specification changes) 153270346Sjfv * 154270346Sjfv *****************************************************************************/ 155270346Sjfv 156299549Serj/* Method info (in WALK_STATE), containing local variables and argumetns */ 157266423Sjfv 158270346Sjfv#define ACPI_METHOD_NUM_LOCALS 8 159270346Sjfv#define ACPI_METHOD_MAX_LOCAL 7 160270346Sjfv 161266423Sjfv#define ACPI_METHOD_NUM_ARGS 7 162270346Sjfv#define ACPI_METHOD_MAX_ARG 6 163270346Sjfv 164270346Sjfv/* 165266423Sjfv * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG 166270346Sjfv */ 167270346Sjfv#define ACPI_OBJ_NUM_OPERANDS 8 168270346Sjfv#define ACPI_OBJ_MAX_OPERAND 7 169266423Sjfv 170270346Sjfv/* Number of elements in the Result Stack frame, can be an arbitrary value */ 171266423Sjfv 172270346Sjfv#define ACPI_RESULTS_FRAME_OBJ_NUM 8 173270346Sjfv 174270346Sjfv/* 175270346Sjfv * Maximal number of elements the Result Stack can contain, 176270346Sjfv * it may be an arbitray value not exceeding the types of 177270346Sjfv * ResultSize and ResultCount (now UINT8). 178270346Sjfv */ 179270346Sjfv#define ACPI_RESULTS_OBJ_NUM_MAX 255 180270346Sjfv 181270346Sjfv/* Constants used in searching for the RSDP in low memory */ 182270346Sjfv 183270346Sjfv#define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ 184270346Sjfv#define ACPI_EBDA_PTR_LENGTH 2 185270346Sjfv#define ACPI_EBDA_WINDOW_SIZE 1024 186266423Sjfv#define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ 187270346Sjfv#define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 188270346Sjfv#define ACPI_RSDP_SCAN_STEP 16 189266423Sjfv 190266423Sjfv/* Operation regions */ 191270346Sjfv 192270346Sjfv#define ACPI_USER_REGION_BEGIN 0x80 193266423Sjfv 194266423Sjfv/* Maximum SpaceIds for Operation Regions */ 195270346Sjfv 196270346Sjfv#define ACPI_MAX_ADDRESS_SPACE 255 197270346Sjfv 198270346Sjfv/* Array sizes. Used for range checking also */ 199270346Sjfv 200270346Sjfv#define ACPI_MAX_MATCH_OPCODE 5 201266423Sjfv 202270346Sjfv/* RSDP checksums */ 203270346Sjfv 204270346Sjfv#define ACPI_RSDP_CHECKSUM_LENGTH 20 205270346Sjfv#define ACPI_RSDP_XCHECKSUM_LENGTH 36 206270346Sjfv 207270346Sjfv/* SMBus, GSBus and IPMI bidirectional buffer size */ 208270346Sjfv 209270346Sjfv#define ACPI_SMBUS_BUFFER_SIZE 34 210270346Sjfv#define ACPI_GSBUS_BUFFER_SIZE 34 211270346Sjfv#define ACPI_IPMI_BUFFER_SIZE 66 212270346Sjfv 213266423Sjfv/* _SxD and _SxW control methods */ 214266423Sjfv 215270346Sjfv#define ACPI_NUM_SxD_METHODS 4 216270346Sjfv#define ACPI_NUM_SxW_METHODS 5 217266423Sjfv 218266423Sjfv 219270346Sjfv/****************************************************************************** 220270346Sjfv * 221270346Sjfv * ACPI AML Debugger 222270346Sjfv * 223270346Sjfv *****************************************************************************/ 224270346Sjfv 225270346Sjfv#define ACPI_DEBUGGER_MAX_ARGS ACPI_METHOD_NUM_ARGS + 2 /* Max command line arguments */ 226270346Sjfv#define ACPI_DB_LINE_BUFFER_SIZE 512 227270346Sjfv 228270346Sjfv#define ACPI_DEBUGGER_COMMAND_PROMPT '-' 229270346Sjfv#define ACPI_DEBUGGER_EXECUTE_PROMPT '%' 230270346Sjfv 231270346Sjfv 232299549Serj#endif /* _ACCONFIG_H */ 233266423Sjfv 234266423Sjfv