133620c54SBob Moore /****************************************************************************** 233620c54SBob Moore * 333620c54SBob Moore * Name: acconfig.h - Global configuration constants 433620c54SBob Moore * 533620c54SBob Moore *****************************************************************************/ 633620c54SBob Moore 733620c54SBob Moore /* 833620c54SBob Moore * Copyright (C) 2000 - 2012, Intel Corp. 933620c54SBob Moore * All rights reserved. 1033620c54SBob Moore * 1133620c54SBob Moore * Redistribution and use in source and binary forms, with or without 1233620c54SBob Moore * modification, are permitted provided that the following conditions 1333620c54SBob Moore * are met: 1433620c54SBob Moore * 1. Redistributions of source code must retain the above copyright 1533620c54SBob Moore * notice, this list of conditions, and the following disclaimer, 1633620c54SBob Moore * without modification. 1733620c54SBob Moore * 2. Redistributions in binary form must reproduce at minimum a disclaimer 1833620c54SBob Moore * substantially similar to the "NO WARRANTY" disclaimer below 1933620c54SBob Moore * ("Disclaimer") and any redistribution must be conditioned upon 2033620c54SBob Moore * including a substantially similar Disclaimer requirement for further 2133620c54SBob Moore * binary redistribution. 2233620c54SBob Moore * 3. Neither the names of the above-listed copyright holders nor the names 2333620c54SBob Moore * of any contributors may be used to endorse or promote products derived 2433620c54SBob Moore * from this software without specific prior written permission. 2533620c54SBob Moore * 2633620c54SBob Moore * Alternatively, this software may be distributed under the terms of the 2733620c54SBob Moore * GNU General Public License ("GPL") version 2 as published by the Free 2833620c54SBob Moore * Software Foundation. 2933620c54SBob Moore * 3033620c54SBob Moore * NO WARRANTY 3133620c54SBob Moore * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 3233620c54SBob Moore * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3333620c54SBob Moore * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 3433620c54SBob Moore * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 3533620c54SBob Moore * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3633620c54SBob Moore * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3733620c54SBob Moore * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3833620c54SBob Moore * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 3933620c54SBob Moore * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 4033620c54SBob Moore * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 4133620c54SBob Moore * POSSIBILITY OF SUCH DAMAGES. 4233620c54SBob Moore */ 4333620c54SBob Moore 4433620c54SBob Moore #ifndef _ACCONFIG_H 4533620c54SBob Moore #define _ACCONFIG_H 4633620c54SBob Moore 4733620c54SBob Moore /****************************************************************************** 4833620c54SBob Moore * 4933620c54SBob Moore * Configuration options 5033620c54SBob Moore * 5133620c54SBob Moore *****************************************************************************/ 5233620c54SBob Moore 5333620c54SBob Moore /* 5433620c54SBob Moore * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the 5533620c54SBob Moore * ACPI subsystem. This includes the DEBUG_PRINT output 5633620c54SBob Moore * statements. When disabled, all DEBUG_PRINT 5733620c54SBob Moore * statements are compiled out. 5833620c54SBob Moore * 5933620c54SBob Moore * ACPI_APPLICATION - Use this switch if the subsystem is going to be run 6033620c54SBob Moore * at the application level. 6133620c54SBob Moore * 6233620c54SBob Moore */ 6333620c54SBob Moore 6433620c54SBob Moore /* 6533620c54SBob Moore * OS name, used for the _OS object. The _OS object is essentially obsolete, 6633620c54SBob Moore * but there is a large base of ASL/AML code in existing machines that check 6733620c54SBob Moore * for the string below. The use of this string usually guarantees that 6833620c54SBob Moore * the ASL will execute down the most tested code path. Also, there is some 6933620c54SBob Moore * code that will not execute the _OSI method unless _OS matches the string 7033620c54SBob Moore * below. Therefore, change this string at your own risk. 7133620c54SBob Moore */ 7233620c54SBob Moore #define ACPI_OS_NAME "Microsoft Windows NT" 7333620c54SBob Moore 7433620c54SBob Moore /* Maximum objects in the various object caches */ 7533620c54SBob Moore 7633620c54SBob Moore #define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ 7733620c54SBob Moore #define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ 7833620c54SBob Moore #define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ 7933620c54SBob Moore #define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ 8033620c54SBob Moore #define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ 8133620c54SBob Moore 8233620c54SBob Moore /* 8333620c54SBob Moore * Should the subsystem abort the loading of an ACPI table if the 8433620c54SBob Moore * table checksum is incorrect? 8533620c54SBob Moore */ 8633620c54SBob Moore #define ACPI_CHECKSUM_ABORT FALSE 8733620c54SBob Moore 8833620c54SBob Moore /* 8933620c54SBob Moore * Generate a version of ACPICA that only supports "reduced hardware" 9033620c54SBob Moore * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized 9133620c54SBob Moore * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" 9233620c54SBob Moore * model. In other words, no ACPI hardware is supported. 9333620c54SBob Moore * 9433620c54SBob Moore * If TRUE, this means no support for the following: 9533620c54SBob Moore * PM Event and Control registers 9633620c54SBob Moore * SCI interrupt (and handler) 9733620c54SBob Moore * Fixed Events 9833620c54SBob Moore * General Purpose Events (GPEs) 9933620c54SBob Moore * Global Lock 10033620c54SBob Moore * ACPI PM timer 10133620c54SBob Moore * FACS table (Waking vectors and Global Lock) 10233620c54SBob Moore */ 10333620c54SBob Moore #define ACPI_REDUCED_HARDWARE FALSE 10433620c54SBob Moore 10533620c54SBob Moore /****************************************************************************** 10633620c54SBob Moore * 10733620c54SBob Moore * Subsystem Constants 10833620c54SBob Moore * 10933620c54SBob Moore *****************************************************************************/ 11033620c54SBob Moore 11133620c54SBob Moore /* Version of ACPI supported */ 11233620c54SBob Moore 11333620c54SBob Moore #define ACPI_CA_SUPPORT_LEVEL 5 11433620c54SBob Moore 11533620c54SBob Moore /* Maximum count for a semaphore object */ 11633620c54SBob Moore 11733620c54SBob Moore #define ACPI_MAX_SEMAPHORE_COUNT 256 11833620c54SBob Moore 11933620c54SBob Moore /* Maximum object reference count (detects object deletion issues) */ 12033620c54SBob Moore 12133620c54SBob Moore #define ACPI_MAX_REFERENCE_COUNT 0x1000 12233620c54SBob Moore 12333620c54SBob Moore /* Default page size for use in mapping memory for operation regions */ 12433620c54SBob Moore 12533620c54SBob Moore #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ 12633620c54SBob Moore 12733620c54SBob Moore /* owner_id tracking. 8 entries allows for 255 owner_ids */ 12833620c54SBob Moore 12933620c54SBob Moore #define ACPI_NUM_OWNERID_MASKS 8 13033620c54SBob Moore 13133620c54SBob Moore /* Size of the root table array is increased by this increment */ 13233620c54SBob Moore 13333620c54SBob Moore #define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 13433620c54SBob Moore 13533620c54SBob Moore /* Maximum number of While() loop iterations before forced abort */ 13633620c54SBob Moore 13733620c54SBob Moore #define ACPI_MAX_LOOP_ITERATIONS 0xFFFF 13833620c54SBob Moore 13933620c54SBob Moore /* Maximum sleep allowed via Sleep() operator */ 14033620c54SBob Moore 141*75c8044fSLv Zheng #define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */ 14233620c54SBob Moore 14333620c54SBob Moore /* Address Range lists are per-space_id (Memory and I/O only) */ 14433620c54SBob Moore 14533620c54SBob Moore #define ACPI_ADDRESS_RANGE_MAX 2 14633620c54SBob Moore 14733620c54SBob Moore /****************************************************************************** 14833620c54SBob Moore * 14933620c54SBob Moore * ACPI Specification constants (Do not change unless the specification changes) 15033620c54SBob Moore * 15133620c54SBob Moore *****************************************************************************/ 15233620c54SBob Moore 15333620c54SBob Moore /* Number of distinct GPE register blocks and register width */ 15433620c54SBob Moore 15533620c54SBob Moore #define ACPI_MAX_GPE_BLOCKS 2 15633620c54SBob Moore #define ACPI_GPE_REGISTER_WIDTH 8 15733620c54SBob Moore 15833620c54SBob Moore /* Method info (in WALK_STATE), containing local variables and argumetns */ 15933620c54SBob Moore 16033620c54SBob Moore #define ACPI_METHOD_NUM_LOCALS 8 16133620c54SBob Moore #define ACPI_METHOD_MAX_LOCAL 7 16233620c54SBob Moore 16333620c54SBob Moore #define ACPI_METHOD_NUM_ARGS 7 16433620c54SBob Moore #define ACPI_METHOD_MAX_ARG 6 16533620c54SBob Moore 16633620c54SBob Moore /* Length of _HID, _UID, _CID, and UUID values */ 16733620c54SBob Moore 16833620c54SBob Moore #define ACPI_DEVICE_ID_LENGTH 0x09 16933620c54SBob Moore #define ACPI_MAX_CID_LENGTH 48 17033620c54SBob Moore #define ACPI_UUID_LENGTH 16 17133620c54SBob Moore 17233620c54SBob Moore /* 17333620c54SBob Moore * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG 17433620c54SBob Moore */ 17533620c54SBob Moore #define ACPI_OBJ_NUM_OPERANDS 8 17633620c54SBob Moore #define ACPI_OBJ_MAX_OPERAND 7 17733620c54SBob Moore 17833620c54SBob Moore /* Number of elements in the Result Stack frame, can be an arbitrary value */ 17933620c54SBob Moore 18033620c54SBob Moore #define ACPI_RESULTS_FRAME_OBJ_NUM 8 18133620c54SBob Moore 18233620c54SBob Moore /* 18333620c54SBob Moore * Maximal number of elements the Result Stack can contain, 18433620c54SBob Moore * it may be an arbitray value not exceeding the types of 18533620c54SBob Moore * result_size and result_count (now u8). 18633620c54SBob Moore */ 18733620c54SBob Moore #define ACPI_RESULTS_OBJ_NUM_MAX 255 18833620c54SBob Moore 18933620c54SBob Moore /* Names within the namespace are 4 bytes long */ 19033620c54SBob Moore 19133620c54SBob Moore #define ACPI_NAME_SIZE 4 19233620c54SBob Moore #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ 19333620c54SBob Moore #define ACPI_PATH_SEPARATOR '.' 19433620c54SBob Moore 19533620c54SBob Moore /* Sizes for ACPI table headers */ 19633620c54SBob Moore 19733620c54SBob Moore #define ACPI_OEM_ID_SIZE 6 19833620c54SBob Moore #define ACPI_OEM_TABLE_ID_SIZE 8 19933620c54SBob Moore 20033620c54SBob Moore /* Constants used in searching for the RSDP in low memory */ 20133620c54SBob Moore 20233620c54SBob Moore #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ 20333620c54SBob Moore #define ACPI_EBDA_PTR_LENGTH 2 20433620c54SBob Moore #define ACPI_EBDA_WINDOW_SIZE 1024 20533620c54SBob Moore #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ 20633620c54SBob Moore #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 20733620c54SBob Moore #define ACPI_RSDP_SCAN_STEP 16 20833620c54SBob Moore 20933620c54SBob Moore /* Operation regions */ 21033620c54SBob Moore 21133620c54SBob Moore #define ACPI_USER_REGION_BEGIN 0x80 21233620c54SBob Moore 21333620c54SBob Moore /* Maximum space_ids for Operation Regions */ 21433620c54SBob Moore 21533620c54SBob Moore #define ACPI_MAX_ADDRESS_SPACE 255 21633620c54SBob Moore 21733620c54SBob Moore /* Array sizes. Used for range checking also */ 21833620c54SBob Moore 21933620c54SBob Moore #define ACPI_MAX_MATCH_OPCODE 5 22033620c54SBob Moore 22133620c54SBob Moore /* RSDP checksums */ 22233620c54SBob Moore 22333620c54SBob Moore #define ACPI_RSDP_CHECKSUM_LENGTH 20 22433620c54SBob Moore #define ACPI_RSDP_XCHECKSUM_LENGTH 36 22533620c54SBob Moore 22633620c54SBob Moore /* SMBus, GSBus and IPMI bidirectional buffer size */ 22733620c54SBob Moore 22833620c54SBob Moore #define ACPI_SMBUS_BUFFER_SIZE 34 22933620c54SBob Moore #define ACPI_GSBUS_BUFFER_SIZE 34 23033620c54SBob Moore #define ACPI_IPMI_BUFFER_SIZE 66 23133620c54SBob Moore 23233620c54SBob Moore /* _sx_d and _sx_w control methods */ 23333620c54SBob Moore 23433620c54SBob Moore #define ACPI_NUM_sx_d_METHODS 4 23533620c54SBob Moore #define ACPI_NUM_sx_w_METHODS 5 23633620c54SBob Moore 23733620c54SBob Moore /****************************************************************************** 23833620c54SBob Moore * 23933620c54SBob Moore * ACPI AML Debugger 24033620c54SBob Moore * 24133620c54SBob Moore *****************************************************************************/ 24233620c54SBob Moore 24333620c54SBob Moore #define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ 244f540fadfSLv Zheng #define ACPI_DB_LINE_BUFFER_SIZE 512 24533620c54SBob Moore 24633620c54SBob Moore #define ACPI_DEBUGGER_COMMAND_PROMPT '-' 24733620c54SBob Moore #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' 24833620c54SBob Moore 24933620c54SBob Moore #endif /* _ACCONFIG_H */ 250