2018-03-15 02:13:07 +03:00
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* Name : acconfig . h - Global configuration constants
*
2020-01-10 22:31:49 +03:00
* Copyright ( C ) 2000 - 2020 , Intel Corp .
2005-04-17 02:20:36 +04:00
*
2018-03-15 02:13:07 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-04-17 02:20:36 +04:00
# 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 .
*
*/
/*
* 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 */
2006-03-18 00:44:00 +03:00
# define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */
2017-04-28 03:53:22 +03:00
# define ACPI_MAX_COMMENT_CACHE_DEPTH 96 /* Comments for the -ca option */
2005-04-17 02:20:36 +04:00
/*
2006-01-28 00:43:00 +03:00
* Should the subsystem abort the loading of an ACPI table if the
2005-04-17 02:20:36 +04:00
* table checksum is incorrect ?
*/
2013-11-21 08:17:27 +04:00
# ifndef ACPI_CHECKSUM_ABORT
2005-04-17 02:20:36 +04:00
# define ACPI_CHECKSUM_ABORT FALSE
2013-11-21 08:17:27 +04:00
# endif
2005-04-17 02:20:36 +04:00
2012-02-14 14:14:27 +04:00
/*
* Generate a version of ACPICA that only supports " reduced hardware "
* platforms ( as defined in ACPI 5.0 ) . Set to TRUE to generate a specialized
* version of ACPICA that ONLY supports the ACPI 5.0 " reduced hardware "
* model . In other words , no ACPI hardware is supported .
*
* If TRUE , this means no support for the following :
* PM Event and Control registers
* SCI interrupt ( and handler )
* Fixed Events
* General Purpose Events ( GPEs )
* Global Lock
* ACPI PM timer
* FACS table ( Waking vectors and Global Lock )
*/
2013-10-29 05:30:29 +04:00
# ifndef ACPI_REDUCED_HARDWARE
2012-02-14 14:14:27 +04:00
# define ACPI_REDUCED_HARDWARE FALSE
2013-10-29 05:30:29 +04:00
# endif
2012-02-14 14:14:27 +04:00
2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* Subsystem Constants
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Version of ACPI supported */
2012-02-14 09:11:07 +04:00
# define ACPI_CA_SUPPORT_LEVEL 5
2005-04-17 02:20:36 +04:00
/* Maximum count for a semaphore object */
# define ACPI_MAX_SEMAPHORE_COUNT 256
2006-10-03 08:00:00 +04:00
/* Maximum object reference count (detects object deletion issues) */
2005-04-17 02:20:36 +04:00
2018-08-11 00:43:02 +03:00
# define ACPI_MAX_REFERENCE_COUNT 0x4000
2005-04-17 02:20:36 +04:00
2009-10-22 05:11:11 +04:00
/* Default page size for use in mapping memory for operation regions */
2005-04-17 02:20:36 +04:00
2009-10-22 05:11:11 +04:00
# define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */
2005-04-17 02:20:36 +04:00
2019-08-17 00:43:21 +03:00
/* owner_id tracking. 128 entries allows for 4095 owner_ids */
2005-12-03 02:27:00 +03:00
2019-08-17 00:43:21 +03:00
# define ACPI_NUM_OWNERID_MASKS 128
2005-12-03 02:27:00 +03:00
2007-02-02 19:48:18 +03:00
/* Size of the root table array is increased by this increment */
# define ACPI_ROOT_TABLE_SIZE_INCREMENT 4
2010-05-26 07:22:41 +04:00
/* Maximum sleep allowed via Sleep() operator */
2012-12-19 09:36:49 +04:00
# define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */
2010-05-26 07:22:41 +04:00
2012-01-12 09:10:32 +04:00
/* Address Range lists are per-space_id (Memory and I/O only) */
# define ACPI_ADDRESS_RANGE_MAX 2
2017-11-18 02:40:18 +03:00
/* Maximum time (default 30s) of While() loops before abort */
2016-08-04 11:43:13 +03:00
2017-11-18 02:40:18 +03:00
# define ACPI_MAX_LOOP_TIMEOUT 30
2016-08-04 11:43:13 +03:00
2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* ACPI Specification constants ( Do not change unless the specification changes )
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2020-10-08 05:53:57 +03:00
/* Method info (in WALK_STATE), containing local variables and arguments */
2005-04-19 06:49:35 +04:00
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
/*
* 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
2008-04-10 19:06:36 +04:00
/* Number of elements in the Result Stack frame, can be an arbitrary value */
# define ACPI_RESULTS_FRAME_OBJ_NUM 8
/*
* Maximal number of elements the Result Stack can contain ,
2019-02-16 00:36:19 +03:00
* it may be an arbitrary value not exceeding the types of
2008-04-10 19:06:36 +04:00
* result_size and result_count ( now u8 ) .
*/
# define ACPI_RESULTS_OBJ_NUM_MAX 255
2005-04-17 02:20:36 +04:00
/* 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_USER_REGION_BEGIN 0x80
/* Maximum space_ids for Operation Regions */
# define ACPI_MAX_ADDRESS_SPACE 255
2013-01-11 16:08:51 +04:00
# define ACPI_NUM_DEFAULT_SPACES 4
2005-04-17 02:20:36 +04:00
/* Array sizes. Used for range checking also */
2006-06-09 00:29:00 +04:00
# define ACPI_MAX_MATCH_OPCODE 5
2005-04-17 02:20:36 +04:00
/* RSDP checksums */
# define ACPI_RSDP_CHECKSUM_LENGTH 20
# define ACPI_RSDP_XCHECKSUM_LENGTH 36
2018-10-03 21:45:36 +03:00
/*
* SMBus , GSBus and IPMI buffer sizes . All have a 2 - byte header ,
* containing both Status and Length .
*/
# define ACPI_SERIAL_HEADER_SIZE 2 /* Common for below. Status and Length fields */
# define ACPI_SMBUS_DATA_SIZE 32
# define ACPI_SMBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_SMBUS_DATA_SIZE
# define ACPI_IPMI_DATA_SIZE 64
# define ACPI_IPMI_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_IPMI_DATA_SIZE
2005-04-17 02:20:36 +04:00
2018-10-03 21:45:36 +03:00
# define ACPI_MAX_GSBUS_DATA_SIZE 255
# define ACPI_MAX_GSBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE
2005-04-17 02:20:36 +04:00
2009-06-29 09:39:29 +04:00
/* _sx_d and _sx_w control methods */
# define ACPI_NUM_sx_d_METHODS 4
# define ACPI_NUM_sx_w_METHODS 5
2014-07-30 08:20:39 +04:00
/******************************************************************************
*
* Miscellaneous constants
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* UUID constants */
# define UUID_BUFFER_LENGTH 16 /* Length of UUID in memory */
# define UUID_STRING_LENGTH 36 /* Total length of a UUID string */
/* Positions for required hyphens (dashes) in UUID strings */
# define UUID_HYPHEN1_OFFSET 8
# define UUID_HYPHEN2_OFFSET 13
# define UUID_HYPHEN3_OFFSET 18
# define UUID_HYPHEN4_OFFSET 23
2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* ACPI AML Debugger
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2013-05-30 06:00:01 +04:00
# define ACPI_DEBUGGER_MAX_ARGS ACPI_METHOD_NUM_ARGS + 4 /* Max command line arguments */
# define ACPI_DB_LINE_BUFFER_SIZE 512
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 */