2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* Name : acconfig . h - Global configuration constants
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Copyright ( C ) 2000 - 2005 , R . Byron Moore
* All rights reserved .
*
* Redistribution and use in source and binary forms , with or without
* modification , are permitted provided that the following conditions
* are met :
* 1. Redistributions of source code must retain the above copyright
* notice , this list of conditions , and the following disclaimer ,
* without modification .
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the " NO WARRANTY " disclaimer below
* ( " Disclaimer " ) and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution .
* 3. Neither the names of the above - listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission .
*
* Alternatively , this software may be distributed under the terms of the
* GNU General Public License ( " GPL " ) version 2 as published by the Free
* Software Foundation .
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* " AS IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
* LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL , EXEMPLARY , OR CONSEQUENTIAL
* DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT ,
* STRICT LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES .
*/
# ifndef _ACCONFIG_H
# define _ACCONFIG_H
/******************************************************************************
*
* Configuration options
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the
* ACPI subsystem . This includes the DEBUG_PRINT output
* statements . When disabled , all DEBUG_PRINT
* statements are compiled out .
*
* ACPI_APPLICATION - Use this switch if the subsystem is going to be run
* at the application level .
*
*/
/* Version string */
2005-09-03 01:24:17 +04:00
# define ACPI_CA_VERSION 0x20050902
2005-04-17 02:20:36 +04:00
/*
* OS name , used for the _OS object . The _OS object is essentially obsolete ,
* but there is a large base of ASL / AML code in existing machines that check
* for the string below . The use of this string usually guarantees that
* the ASL will execute down the most tested code path . Also , there is some
* code that will not execute the _OSI method unless _OS matches the string
* below . Therefore , change this string at your own risk .
*/
# define ACPI_OS_NAME "Microsoft Windows NT"
/* Maximum objects in the various object caches */
2005-08-05 08:44:28 +04:00
# define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */
# define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */
# define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */
# define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */
2005-04-17 02:20:36 +04:00
/*
* Should the subystem abort the loading of an ACPI table if the
* table checksum is incorrect ?
*/
# define ACPI_CHECKSUM_ABORT FALSE
/******************************************************************************
*
* Subsystem Constants
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Version of ACPI supported */
# define ACPI_CA_SUPPORT_LEVEL 3
/* String size constants */
# define ACPI_MAX_STRING_LENGTH 512
2005-08-05 08:44:28 +04:00
# define ACPI_PATHNAME_MAX 256 /* A full namespace pathname */
2005-04-17 02:20:36 +04:00
/* Maximum count for a semaphore object */
# define ACPI_MAX_SEMAPHORE_COUNT 256
/* Max reference count (for debug only) */
# define ACPI_MAX_REFERENCE_COUNT 0x400
/* Size of cached memory mapping for system memory operation region */
# define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096
/******************************************************************************
*
* ACPI Specification constants ( Do not change unless the specification changes )
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Number of distinct GPE register blocks and register width */
# define ACPI_MAX_GPE_BLOCKS 2
# define ACPI_GPE_REGISTER_WIDTH 8
2005-04-19 06:49:35 +04:00
/* Method info (in WALK_STATE), containing local variables and argumetns */
2005-04-17 02:20:36 +04:00
# define ACPI_METHOD_NUM_LOCALS 8
# define ACPI_METHOD_MAX_LOCAL 7
# define ACPI_METHOD_NUM_ARGS 7
# define ACPI_METHOD_MAX_ARG 6
/* Maximum length of resulting string when converting from a buffer */
# define ACPI_MAX_STRING_CONVERSION 200
/* Length of _HID, _UID, and _CID values */
# define ACPI_DEVICE_ID_LENGTH 0x09
# define ACPI_MAX_CID_LENGTH 48
/*
* Operand Stack ( in WALK_STATE ) , Must be large enough to contain METHOD_MAX_ARG
*/
# define ACPI_OBJ_NUM_OPERANDS 8
# define ACPI_OBJ_MAX_OPERAND 7
/* Names within the namespace are 4 bytes long */
# define ACPI_NAME_SIZE 4
2005-08-05 08:44:28 +04:00
# define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */
2005-04-17 02:20:36 +04:00
# define ACPI_PATH_SEPARATOR '.'
/* Constants used in searching for the RSDP in low memory */
2005-08-05 08:44:28 +04:00
# define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */
2005-04-17 02:20:36 +04:00
# define ACPI_EBDA_PTR_LENGTH 2
# define ACPI_EBDA_WINDOW_SIZE 1024
2005-08-05 08:44:28 +04:00
# define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */
2005-04-17 02:20:36 +04:00
# define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000
# define ACPI_RSDP_SCAN_STEP 16
/* Operation regions */
# define ACPI_NUM_PREDEFINED_REGIONS 8
# define ACPI_USER_REGION_BEGIN 0x80
/* Maximum space_ids for Operation Regions */
# define ACPI_MAX_ADDRESS_SPACE 255
/* Array sizes. Used for range checking also */
# define ACPI_NUM_ACCESS_TYPES 6
# define ACPI_NUM_UPDATE_RULES 3
# define ACPI_NUM_LOCK_RULES 2
# define ACPI_NUM_MATCH_OPS 6
# define ACPI_NUM_OPCODES 256
# define ACPI_NUM_FIELD_NAMES 2
/* RSDP checksums */
# define ACPI_RSDP_CHECKSUM_LENGTH 20
# define ACPI_RSDP_XCHECKSUM_LENGTH 36
/* SMBus bidirectional buffer size */
# define ACPI_SMBUS_BUFFER_SIZE 34
/* Number of strings associated with the _OSI reserved method */
# define ACPI_NUM_OSI_STRINGS 10
/******************************************************************************
*
* ACPI AML Debugger
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-08-05 08:44:28 +04:00
# define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */
2005-04-17 02:20:36 +04:00
# define ACPI_DEBUGGER_COMMAND_PROMPT '-'
# define ACPI_DEBUGGER_EXECUTE_PROMPT '%'
2005-08-05 08:44:28 +04:00
# endif /* _ACCONFIG_H */