root/include/acpi/acconfig.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
   2 /******************************************************************************
   3  *
   4  * Name: acconfig.h - Global configuration constants
   5  *
   6  * Copyright (C) 2000 - 2019, Intel Corp.
   7  *
   8  *****************************************************************************/
   9 
  10 #ifndef _ACCONFIG_H
  11 #define _ACCONFIG_H
  12 
  13 /******************************************************************************
  14  *
  15  * Configuration options
  16  *
  17  *****************************************************************************/
  18 
  19 /*
  20  * ACPI_DEBUG_OUTPUT    - This switch enables all the debug facilities of the
  21  *                        ACPI subsystem.  This includes the DEBUG_PRINT output
  22  *                        statements.  When disabled, all DEBUG_PRINT
  23  *                        statements are compiled out.
  24  *
  25  * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run
  26  *                        at the application level.
  27  *
  28  */
  29 
  30 /*
  31  * OS name, used for the _OS object.  The _OS object is essentially obsolete,
  32  * but there is a large base of ASL/AML code in existing machines that check
  33  * for the string below.  The use of this string usually guarantees that
  34  * the ASL will execute down the most tested code path.  Also, there is some
  35  * code that will not execute the _OSI method unless _OS matches the string
  36  * below.  Therefore, change this string at your own risk.
  37  */
  38 #define ACPI_OS_NAME                    "Microsoft Windows NT"
  39 
  40 /* Maximum objects in the various object caches */
  41 
  42 #define ACPI_MAX_STATE_CACHE_DEPTH      96      /* State objects */
  43 #define ACPI_MAX_PARSE_CACHE_DEPTH      96      /* Parse tree objects */
  44 #define ACPI_MAX_EXTPARSE_CACHE_DEPTH   96      /* Parse tree objects */
  45 #define ACPI_MAX_OBJECT_CACHE_DEPTH     96      /* Interpreter operand objects */
  46 #define ACPI_MAX_NAMESPACE_CACHE_DEPTH  96      /* Namespace objects */
  47 #define ACPI_MAX_COMMENT_CACHE_DEPTH    96      /* Comments for the -ca option */
  48 
  49 /*
  50  * Should the subsystem abort the loading of an ACPI table if the
  51  * table checksum is incorrect?
  52  */
  53 #ifndef ACPI_CHECKSUM_ABORT
  54 #define ACPI_CHECKSUM_ABORT             FALSE
  55 #endif
  56 
  57 /*
  58  * Generate a version of ACPICA that only supports "reduced hardware"
  59  * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized
  60  * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware"
  61  * model. In other words, no ACPI hardware is supported.
  62  *
  63  * If TRUE, this means no support for the following:
  64  *      PM Event and Control registers
  65  *      SCI interrupt (and handler)
  66  *      Fixed Events
  67  *      General Purpose Events (GPEs)
  68  *      Global Lock
  69  *      ACPI PM timer
  70  *      FACS table (Waking vectors and Global Lock)
  71  */
  72 #ifndef ACPI_REDUCED_HARDWARE
  73 #define ACPI_REDUCED_HARDWARE           FALSE
  74 #endif
  75 
  76 /******************************************************************************
  77  *
  78  * Subsystem Constants
  79  *
  80  *****************************************************************************/
  81 
  82 /* Version of ACPI supported */
  83 
  84 #define ACPI_CA_SUPPORT_LEVEL           5
  85 
  86 /* Maximum count for a semaphore object */
  87 
  88 #define ACPI_MAX_SEMAPHORE_COUNT        256
  89 
  90 /* Maximum object reference count (detects object deletion issues) */
  91 
  92 #define ACPI_MAX_REFERENCE_COUNT        0x4000
  93 
  94 /* Default page size for use in mapping memory for operation regions */
  95 
  96 #define ACPI_DEFAULT_PAGE_SIZE          4096    /* Must be power of 2 */
  97 
  98 /* owner_id tracking. 128 entries allows for 4095 owner_ids */
  99 
 100 #define ACPI_NUM_OWNERID_MASKS          128
 101 
 102 /* Size of the root table array is increased by this increment */
 103 
 104 #define ACPI_ROOT_TABLE_SIZE_INCREMENT  4
 105 
 106 /* Maximum sleep allowed via Sleep() operator */
 107 
 108 #define ACPI_MAX_SLEEP                  2000    /* 2000 millisec == two seconds */
 109 
 110 /* Address Range lists are per-space_id (Memory and I/O only) */
 111 
 112 #define ACPI_ADDRESS_RANGE_MAX          2
 113 
 114 /* Maximum time (default 30s) of While() loops before abort */
 115 
 116 #define ACPI_MAX_LOOP_TIMEOUT           30
 117 
 118 /******************************************************************************
 119  *
 120  * ACPI Specification constants (Do not change unless the specification changes)
 121  *
 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 /*
 133  * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG
 134  */
 135 #define ACPI_OBJ_NUM_OPERANDS           8
 136 #define ACPI_OBJ_MAX_OPERAND            7
 137 
 138 /* Number of elements in the Result Stack frame, can be an arbitrary value */
 139 
 140 #define ACPI_RESULTS_FRAME_OBJ_NUM      8
 141 
 142 /*
 143  * Maximal number of elements the Result Stack can contain,
 144  * it may be an arbitrary value not exceeding the types of
 145  * result_size and result_count (now u8).
 146  */
 147 #define ACPI_RESULTS_OBJ_NUM_MAX        255
 148 
 149 /* Constants used in searching for the RSDP in low memory */
 150 
 151 #define ACPI_EBDA_PTR_LOCATION          0x0000040E      /* Physical Address */
 152 #define ACPI_EBDA_PTR_LENGTH            2
 153 #define ACPI_EBDA_WINDOW_SIZE           1024
 154 #define ACPI_HI_RSDP_WINDOW_BASE        0x000E0000      /* Physical Address */
 155 #define ACPI_HI_RSDP_WINDOW_SIZE        0x00020000
 156 #define ACPI_RSDP_SCAN_STEP             16
 157 
 158 /* Operation regions */
 159 
 160 #define ACPI_USER_REGION_BEGIN          0x80
 161 
 162 /* Maximum space_ids for Operation Regions */
 163 
 164 #define ACPI_MAX_ADDRESS_SPACE          255
 165 #define ACPI_NUM_DEFAULT_SPACES         4
 166 
 167 /* Array sizes.  Used for range checking also */
 168 
 169 #define ACPI_MAX_MATCH_OPCODE           5
 170 
 171 /* RSDP checksums */
 172 
 173 #define ACPI_RSDP_CHECKSUM_LENGTH       20
 174 #define ACPI_RSDP_XCHECKSUM_LENGTH      36
 175 
 176 /*
 177  * SMBus, GSBus and IPMI buffer sizes. All have a 2-byte header,
 178  * containing both Status and Length.
 179  */
 180 #define ACPI_SERIAL_HEADER_SIZE         2       /* Common for below. Status and Length fields */
 181 
 182 #define ACPI_SMBUS_DATA_SIZE            32
 183 #define ACPI_SMBUS_BUFFER_SIZE          ACPI_SERIAL_HEADER_SIZE + ACPI_SMBUS_DATA_SIZE
 184 
 185 #define ACPI_IPMI_DATA_SIZE             64
 186 #define ACPI_IPMI_BUFFER_SIZE           ACPI_SERIAL_HEADER_SIZE + ACPI_IPMI_DATA_SIZE
 187 
 188 #define ACPI_MAX_GSBUS_DATA_SIZE        255
 189 #define ACPI_MAX_GSBUS_BUFFER_SIZE      ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE
 190 
 191 /* _sx_d and _sx_w control methods */
 192 
 193 #define ACPI_NUM_sx_d_METHODS           4
 194 #define ACPI_NUM_sx_w_METHODS           5
 195 
 196 /******************************************************************************
 197  *
 198  * Miscellaneous constants
 199  *
 200  *****************************************************************************/
 201 
 202 /* UUID constants */
 203 
 204 #define UUID_BUFFER_LENGTH          16  /* Length of UUID in memory */
 205 #define UUID_STRING_LENGTH          36  /* Total length of a UUID string */
 206 
 207 /* Positions for required hyphens (dashes) in UUID strings */
 208 
 209 #define UUID_HYPHEN1_OFFSET         8
 210 #define UUID_HYPHEN2_OFFSET         13
 211 #define UUID_HYPHEN3_OFFSET         18
 212 #define UUID_HYPHEN4_OFFSET         23
 213 
 214 /******************************************************************************
 215  *
 216  * ACPI AML Debugger
 217  *
 218  *****************************************************************************/
 219 
 220 #define ACPI_DEBUGGER_MAX_ARGS          ACPI_METHOD_NUM_ARGS + 4        /* Max command line arguments */
 221 #define ACPI_DB_LINE_BUFFER_SIZE        512
 222 
 223 #define ACPI_DEBUGGER_COMMAND_PROMPT    '-'
 224 #define ACPI_DEBUGGER_EXECUTE_PROMPT    '%'
 225 
 226 #endif                          /* _ACCONFIG_H */

/* [<][>][^][v][top][bottom][index][help] */