acconfig.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:5k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /******************************************************************************
  2.  *
  3.  * Name: acconfig.h - Global configuration constants
  4.  *       $Revision: 74 $
  5.  *
  6.  *****************************************************************************/
  7. /*
  8.  *  Copyright (C) 2000, 2001 R. Byron Moore
  9.  *
  10.  *  This program is free software; you can redistribute it and/or modify
  11.  *  it under the terms of the GNU General Public License as published by
  12.  *  the Free Software Foundation; either version 2 of the License, or
  13.  *  (at your option) any later version.
  14.  *
  15.  *  This program is distributed in the hope that it will be useful,
  16.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  *  GNU General Public License for more details.
  19.  *
  20.  *  You should have received a copy of the GNU General Public License
  21.  *  along with this program; if not, write to the Free Software
  22.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  23.  */
  24. #ifndef _ACCONFIG_H
  25. #define _ACCONFIG_H
  26. /******************************************************************************
  27.  *
  28.  * Compile-time options
  29.  *
  30.  *****************************************************************************/
  31. /*
  32.  * ACPI_DEBUG           - This switch enables all the debug facilities of the ACPI
  33.  *                          subsystem.  This includes the DEBUG_PRINT output statements
  34.  *                          When disabled, all DEBUG_PRINT statements are compiled out.
  35.  *
  36.  * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run
  37.  *                          at the application level.
  38.  *
  39.  */
  40. /******************************************************************************
  41.  *
  42.  * Subsystem Constants
  43.  *
  44.  *****************************************************************************/
  45. /* Version string */
  46. #define ACPI_CA_VERSION             0x20011018
  47. /* Version of ACPI supported */
  48. #define ACPI_CA_SUPPORT_LEVEL       2
  49. /* Maximum objects in the various object caches */
  50. #define MAX_STATE_CACHE_DEPTH       64         /* State objects for stacks */
  51. #define MAX_PARSE_CACHE_DEPTH       96          /* Parse tree objects */
  52. #define MAX_EXTPARSE_CACHE_DEPTH    64          /* Parse tree objects */
  53. #define MAX_OBJECT_CACHE_DEPTH      64          /* Interpreter operand objects */
  54. #define MAX_WALK_CACHE_DEPTH        4           /* Objects for parse tree walks (method execution) */
  55. /* String size constants */
  56. #define MAX_STRING_LENGTH           512
  57. #define PATHNAME_MAX                256     /* A full namespace pathname */
  58. /* Maximum count for a semaphore object */
  59. #define MAX_SEMAPHORE_COUNT         256
  60. /* Max reference count (for debug only) */
  61. #define MAX_REFERENCE_COUNT         0x400
  62. /* Size of cached memory mapping for system memory operation region */
  63. #define SYSMEM_REGION_WINDOW_SIZE   4096
  64. /*
  65.  * Debugger threading model
  66.  * Use single threaded if the entire subsystem is contained in an application
  67.  * Use multiple threaded when the subsystem is running in the kernel.
  68.  *
  69.  * By default the model is single threaded if ACPI_APPLICATION is set,
  70.  * multi-threaded if ACPI_APPLICATION is not set.
  71.  */
  72. #define DEBUGGER_SINGLE_THREADED    0
  73. #define DEBUGGER_MULTI_THREADED     1
  74. #ifdef ACPI_APPLICATION
  75. #define DEBUGGER_THREADING          DEBUGGER_SINGLE_THREADED
  76. #else
  77. #define DEBUGGER_THREADING          DEBUGGER_MULTI_THREADED
  78. #endif
  79. /******************************************************************************
  80.  *
  81.  * ACPI Specification constants (Do not change unless the specification changes)
  82.  *
  83.  *****************************************************************************/
  84. /*
  85.  * Method info (in WALK_STATE), containing local variables and argumetns
  86.  */
  87. #define MTH_NUM_LOCALS              8
  88. #define MTH_MAX_LOCAL               7
  89. #define MTH_NUM_ARGS                7
  90. #define MTH_MAX_ARG                 6
  91. /* Maximum length of resulting string when converting from a buffer */
  92. #define ACPI_MAX_STRING_CONVERSION  200
  93. /*
  94.  * Operand Stack (in WALK_STATE), Must be large enough to contain MTH_MAX_ARG
  95.  */
  96. #define OBJ_NUM_OPERANDS            8
  97. #define OBJ_MAX_OPERAND             7
  98. /* Names within the namespace are 4 bytes long */
  99. #define ACPI_NAME_SIZE              4
  100. #define PATH_SEGMENT_LENGTH         5           /* 4 chars for name + 1 s8 for separator */
  101. #define PATH_SEPARATOR              '.'
  102. /* Constants used in searching for the RSDP in low memory */
  103. #define LO_RSDP_WINDOW_BASE         0           /* Physical Address */
  104. #define HI_RSDP_WINDOW_BASE         0xE0000     /* Physical Address */
  105. #define LO_RSDP_WINDOW_SIZE         0x400
  106. #define HI_RSDP_WINDOW_SIZE         0x20000
  107. #define RSDP_SCAN_STEP              16
  108. /* Maximum Space_ids for Operation Regions */
  109. #define ACPI_MAX_ADDRESS_SPACE      255
  110. #define ACPI_NUM_ADDRESS_SPACES     256
  111. #endif /* _ACCONFIG_H */