linux/include/acpi/acconfig.h
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Name: acconfig.h - Global configuration constants
   4 *
   5 *****************************************************************************/
   6
   7/*
   8 * Copyright (C) 2000 - 2012, Intel Corp.
   9 * All rights reserved.
  10 *
  11 * Redistribution and use in source and binary forms, with or without
  12 * modification, are permitted provided that the following conditions
  13 * are met:
  14 * 1. Redistributions of source code must retain the above copyright
  15 *    notice, this list of conditions, and the following disclaimer,
  16 *    without modification.
  17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18 *    substantially similar to the "NO WARRANTY" disclaimer below
  19 *    ("Disclaimer") and any redistribution must be conditioned upon
  20 *    including a substantially similar Disclaimer requirement for further
  21 *    binary redistribution.
  22 * 3. Neither the names of the above-listed copyright holders nor the names
  23 *    of any contributors may be used to endorse or promote products derived
  24 *    from this software without specific prior written permission.
  25 *
  26 * Alternatively, this software may be distributed under the terms of the
  27 * GNU General Public License ("GPL") version 2 as published by the Free
  28 * Software Foundation.
  29 *
  30 * NO WARRANTY
  31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
  34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  41 * POSSIBILITY OF SUCH DAMAGES.
  42 */
  43
  44#ifndef _ACCONFIG_H
  45#define _ACCONFIG_H
  46
  47/******************************************************************************
  48 *
  49 * Configuration options
  50 *
  51 *****************************************************************************/
  52
  53/*
  54 * ACPI_DEBUG_OUTPUT    - This switch enables all the debug facilities of the
  55 *                        ACPI subsystem.  This includes the DEBUG_PRINT output
  56 *                        statements.  When disabled, all DEBUG_PRINT
  57 *                        statements are compiled out.
  58 *
  59 * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run
  60 *                        at the application level.
  61 *
  62 */
  63
  64/*
  65 * OS name, used for the _OS object.  The _OS object is essentially obsolete,
  66 * but there is a large base of ASL/AML code in existing machines that check
  67 * for the string below.  The use of this string usually guarantees that
  68 * the ASL will execute down the most tested code path.  Also, there is some
  69 * code that will not execute the _OSI method unless _OS matches the string
  70 * below.  Therefore, change this string at your own risk.
  71 */
  72#define ACPI_OS_NAME                    "Microsoft Windows NT"
  73
  74/* Maximum objects in the various object caches */
  75
  76#define ACPI_MAX_STATE_CACHE_DEPTH      96      /* State objects */
  77#define ACPI_MAX_PARSE_CACHE_DEPTH      96      /* Parse tree objects */
  78#define ACPI_MAX_EXTPARSE_CACHE_DEPTH   96      /* Parse tree objects */
  79#define ACPI_MAX_OBJECT_CACHE_DEPTH     96      /* Interpreter operand objects */
  80#define ACPI_MAX_NAMESPACE_CACHE_DEPTH  96      /* Namespace objects */
  81
  82/*
  83 * Should the subsystem abort the loading of an ACPI table if the
  84 * table checksum is incorrect?
  85 */
  86#define ACPI_CHECKSUM_ABORT             FALSE
  87
  88/*
  89 * Generate a version of ACPICA that only supports "reduced hardware"
  90 * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized
  91 * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware"
  92 * model. In other words, no ACPI hardware is supported.
  93 *
  94 * If TRUE, this means no support for the following:
  95 *      PM Event and Control registers
  96 *      SCI interrupt (and handler)
  97 *      Fixed Events
  98 *      General Purpose Events (GPEs)
  99 *      Global Lock
 100 *      ACPI PM timer
 101 *      FACS table (Waking vectors and Global Lock)
 102 */
 103#define ACPI_REDUCED_HARDWARE           FALSE
 104
 105/******************************************************************************
 106 *
 107 * Subsystem Constants
 108 *
 109 *****************************************************************************/
 110
 111/* Version of ACPI supported */
 112
 113#define ACPI_CA_SUPPORT_LEVEL           5
 114
 115/* Maximum count for a semaphore object */
 116
 117#define ACPI_MAX_SEMAPHORE_COUNT        256
 118
 119/* Maximum object reference count (detects object deletion issues) */
 120
 121#define ACPI_MAX_REFERENCE_COUNT        0x1000
 122
 123/* Default page size for use in mapping memory for operation regions */
 124
 125#define ACPI_DEFAULT_PAGE_SIZE          4096    /* Must be power of 2 */
 126
 127/* owner_id tracking. 8 entries allows for 255 owner_ids */
 128
 129#define ACPI_NUM_OWNERID_MASKS          8
 130
 131/* Size of the root table array is increased by this increment */
 132
 133#define ACPI_ROOT_TABLE_SIZE_INCREMENT  4
 134
 135/* Maximum number of While() loop iterations before forced abort */
 136
 137#define ACPI_MAX_LOOP_ITERATIONS        0xFFFF
 138
 139/* Maximum sleep allowed via Sleep() operator */
 140
 141#define ACPI_MAX_SLEEP                  2000    /* Two seconds */
 142
 143/* Address Range lists are per-space_id (Memory and I/O only) */
 144
 145#define ACPI_ADDRESS_RANGE_MAX          2
 146
 147/******************************************************************************
 148 *
 149 * ACPI Specification constants (Do not change unless the specification changes)
 150 *
 151 *****************************************************************************/
 152
 153/* Number of distinct GPE register blocks and register width */
 154
 155#define ACPI_MAX_GPE_BLOCKS             2
 156#define ACPI_GPE_REGISTER_WIDTH         8
 157
 158/* Method info (in WALK_STATE), containing local variables and argumetns */
 159
 160#define ACPI_METHOD_NUM_LOCALS          8
 161#define ACPI_METHOD_MAX_LOCAL           7
 162
 163#define ACPI_METHOD_NUM_ARGS            7
 164#define ACPI_METHOD_MAX_ARG             6
 165
 166/* Length of _HID, _UID, _CID, and UUID values */
 167
 168#define ACPI_DEVICE_ID_LENGTH           0x09
 169#define ACPI_MAX_CID_LENGTH             48
 170#define ACPI_UUID_LENGTH                16
 171
 172/*
 173 * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG
 174 */
 175#define ACPI_OBJ_NUM_OPERANDS           8
 176#define ACPI_OBJ_MAX_OPERAND            7
 177
 178/* Number of elements in the Result Stack frame, can be an arbitrary value */
 179
 180#define ACPI_RESULTS_FRAME_OBJ_NUM      8
 181
 182/*
 183 * Maximal number of elements the Result Stack can contain,
 184 * it may be an arbitray value not exceeding the types of
 185 * result_size and result_count (now u8).
 186 */
 187#define ACPI_RESULTS_OBJ_NUM_MAX        255
 188
 189/* Names within the namespace are 4 bytes long */
 190
 191#define ACPI_NAME_SIZE                  4
 192#define ACPI_PATH_SEGMENT_LENGTH        5       /* 4 chars for name + 1 char for separator */
 193#define ACPI_PATH_SEPARATOR             '.'
 194
 195/* Sizes for ACPI table headers */
 196
 197#define ACPI_OEM_ID_SIZE                6
 198#define ACPI_OEM_TABLE_ID_SIZE          8
 199
 200/* Constants used in searching for the RSDP in low memory */
 201
 202#define ACPI_EBDA_PTR_LOCATION          0x0000040E      /* Physical Address */
 203#define ACPI_EBDA_PTR_LENGTH            2
 204#define ACPI_EBDA_WINDOW_SIZE           1024
 205#define ACPI_HI_RSDP_WINDOW_BASE        0x000E0000      /* Physical Address */
 206#define ACPI_HI_RSDP_WINDOW_SIZE        0x00020000
 207#define ACPI_RSDP_SCAN_STEP             16
 208
 209/* Operation regions */
 210
 211#define ACPI_USER_REGION_BEGIN          0x80
 212
 213/* Maximum space_ids for Operation Regions */
 214
 215#define ACPI_MAX_ADDRESS_SPACE          255
 216
 217/* Array sizes.  Used for range checking also */
 218
 219#define ACPI_MAX_MATCH_OPCODE           5
 220
 221/* RSDP checksums */
 222
 223#define ACPI_RSDP_CHECKSUM_LENGTH       20
 224#define ACPI_RSDP_XCHECKSUM_LENGTH      36
 225
 226/* SMBus, GSBus and IPMI bidirectional buffer size */
 227
 228#define ACPI_SMBUS_BUFFER_SIZE          34
 229#define ACPI_GSBUS_BUFFER_SIZE          34
 230#define ACPI_IPMI_BUFFER_SIZE           66
 231
 232/* _sx_d and _sx_w control methods */
 233
 234#define ACPI_NUM_sx_d_METHODS           4
 235#define ACPI_NUM_sx_w_METHODS           5
 236
 237/******************************************************************************
 238 *
 239 * ACPI AML Debugger
 240 *
 241 *****************************************************************************/
 242
 243#define ACPI_DEBUGGER_MAX_ARGS          8       /* Must be max method args + 1 */
 244
 245#define ACPI_DEBUGGER_COMMAND_PROMPT    '-'
 246#define ACPI_DEBUGGER_EXECUTE_PROMPT    '%'
 247
 248#endif                          /* _ACCONFIG_H */
 249
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.