brintos

brintos / linux-shallow public Read only

0
0
Text · 7.4 KiB · 2da5f4a Raw
230 lines · c
1/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */2/******************************************************************************3 *4 * Name: acconfig.h - Global configuration constants5 *6 * Copyright (C) 2000 - 2023, Intel Corp.7 *8 *****************************************************************************/9 10#ifndef _ACCONFIG_H11#define _ACCONFIG_H12 13/******************************************************************************14 *15 * Configuration options16 *17 *****************************************************************************/18 19/*20 * ACPI_DEBUG_OUTPUT    - This switch enables all the debug facilities of the21 *                        ACPI subsystem.  This includes the DEBUG_PRINT output22 *                        statements.  When disabled, all DEBUG_PRINT23 *                        statements are compiled out.24 *25 * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run26 *                        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 check33 * for the string below.  The use of this string usually guarantees that34 * the ASL will execute down the most tested code path.  Also, there is some35 * code that will not execute the _OSI method unless _OS matches the string36 * 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 the51 * table checksum is incorrect?52 */53#ifndef ACPI_CHECKSUM_ABORT54#define ACPI_CHECKSUM_ABORT             FALSE55#endif56 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 specialized60 * 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 registers65 *      SCI interrupt (and handler)66 *      Fixed Events67 *      General Purpose Events (GPEs)68 *      Global Lock69 *      ACPI PM timer70 */71#ifndef ACPI_REDUCED_HARDWARE72#define ACPI_REDUCED_HARDWARE           FALSE73#endif74 75/******************************************************************************76 *77 * Subsystem Constants78 *79 *****************************************************************************/80 81/* Version of ACPI supported */82 83#define ACPI_CA_SUPPORT_LEVEL           584 85/* Maximum count for a semaphore object */86 87#define ACPI_MAX_SEMAPHORE_COUNT        25688 89/* Maximum object reference count (detects object deletion issues) */90 91#define ACPI_MAX_REFERENCE_COUNT        0x400092 93/* Default page size for use in mapping memory for operation regions */94 95#define ACPI_DEFAULT_PAGE_SIZE          4096	/* Must be power of 2 */96 97/* owner_id tracking. 128 entries allows for 4095 owner_ids */98 99#define ACPI_NUM_OWNERID_MASKS          128100 101/* Size of the root table array is increased by this increment */102 103#define ACPI_ROOT_TABLE_SIZE_INCREMENT  4104 105/* Maximum sleep allowed via Sleep() operator */106 107#define ACPI_MAX_SLEEP                  2000	/* 2000 millisec == two seconds */108 109/* Address Range lists are per-space_id (Memory and I/O only) */110 111#define ACPI_ADDRESS_RANGE_MAX          2112 113/* Maximum time (default 30s) of While() loops before abort */114 115#define ACPI_MAX_LOOP_TIMEOUT           30116 117/******************************************************************************118 *119 * ACPI Specification constants (Do not change unless the specification changes)120 *121 *****************************************************************************/122 123/* Method info (in WALK_STATE), containing local variables and arguments */124 125#define ACPI_METHOD_NUM_LOCALS          8126#define ACPI_METHOD_MAX_LOCAL           7127 128#define ACPI_METHOD_NUM_ARGS            7129#define ACPI_METHOD_MAX_ARG             6130 131/*132 * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG133 */134#define ACPI_OBJ_NUM_OPERANDS           8135#define ACPI_OBJ_MAX_OPERAND            7136 137/* Number of elements in the Result Stack frame, can be an arbitrary value */138 139#define ACPI_RESULTS_FRAME_OBJ_NUM      8140 141/*142 * Maximal number of elements the Result Stack can contain,143 * it may be an arbitrary value not exceeding the types of144 * result_size and result_count (now u8).145 */146#define ACPI_RESULTS_OBJ_NUM_MAX        255147 148/* Constants used in searching for the RSDP in low memory */149 150#define ACPI_EBDA_PTR_LOCATION          0x0000040E	/* Physical Address */151#define ACPI_EBDA_PTR_LENGTH            2152#define ACPI_EBDA_WINDOW_SIZE           1024153#define ACPI_HI_RSDP_WINDOW_BASE        0x000E0000	/* Physical Address */154#define ACPI_HI_RSDP_WINDOW_SIZE        0x00020000155#define ACPI_RSDP_SCAN_STEP             16156 157/* Operation regions */158 159#define ACPI_USER_REGION_BEGIN          0x80160 161/* Maximum space_ids for Operation Regions */162 163#define ACPI_MAX_ADDRESS_SPACE          255164#define ACPI_NUM_DEFAULT_SPACES         4165 166/* Array sizes.  Used for range checking also */167 168#define ACPI_MAX_MATCH_OPCODE           5169 170/* RSDP checksums */171 172#define ACPI_RSDP_CHECKSUM_LENGTH       20173#define ACPI_RSDP_XCHECKSUM_LENGTH      36174 175/*176 * SMBus, GSBus and IPMI buffer sizes. All have a 2-byte header,177 * containing both Status and Length.178 */179#define ACPI_SERIAL_HEADER_SIZE         2	/* Common for below. Status and Length fields */180 181#define ACPI_SMBUS_DATA_SIZE            32182#define ACPI_SMBUS_BUFFER_SIZE          ACPI_SERIAL_HEADER_SIZE + ACPI_SMBUS_DATA_SIZE183 184#define ACPI_IPMI_DATA_SIZE             64185#define ACPI_IPMI_BUFFER_SIZE           ACPI_SERIAL_HEADER_SIZE + ACPI_IPMI_DATA_SIZE186 187#define ACPI_MAX_GSBUS_DATA_SIZE        255188#define ACPI_MAX_GSBUS_BUFFER_SIZE      ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE189 190#define ACPI_PRM_INPUT_BUFFER_SIZE      26191 192#define ACPI_FFH_INPUT_BUFFER_SIZE      256193 194/* _sx_d and _sx_w control methods */195 196#define ACPI_NUM_sx_d_METHODS           4197#define ACPI_NUM_sx_w_METHODS           5198 199/******************************************************************************200 *201 * Miscellaneous constants202 *203 *****************************************************************************/204 205/* UUID constants */206 207#define UUID_BUFFER_LENGTH          16	/* Length of UUID in memory */208#define UUID_STRING_LENGTH          36	/* Total length of a UUID string */209 210/* Positions for required hyphens (dashes) in UUID strings */211 212#define UUID_HYPHEN1_OFFSET         8213#define UUID_HYPHEN2_OFFSET         13214#define UUID_HYPHEN3_OFFSET         18215#define UUID_HYPHEN4_OFFSET         23216 217/******************************************************************************218 *219 * ACPI AML Debugger220 *221 *****************************************************************************/222 223#define ACPI_DEBUGGER_MAX_ARGS          ACPI_METHOD_NUM_ARGS + 4	/* Max command line arguments */224#define ACPI_DB_LINE_BUFFER_SIZE        512225 226#define ACPI_DEBUGGER_COMMAND_PROMPT    '-'227#define ACPI_DEBUGGER_EXECUTE_PROMPT    '%'228 229#endif				/* _ACCONFIG_H */230