1 1.1 jruoho /****************************************************************************** 2 1.1 jruoho * 3 1.1 jruoho * Name: acenv.h - Host and compiler configuration 4 1.1 jruoho * 5 1.1 jruoho *****************************************************************************/ 6 1.1 jruoho 7 1.1.1.21 christos /****************************************************************************** 8 1.1.1.21 christos * 9 1.1.1.21 christos * 1. Copyright Notice 10 1.1.1.21 christos * 11 1.1.1.22 christos * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp. 12 1.1 jruoho * All rights reserved. 13 1.1 jruoho * 14 1.1.1.21 christos * 2. License 15 1.1.1.21 christos * 16 1.1.1.21 christos * 2.1. This is your license from Intel Corp. under its intellectual property 17 1.1.1.21 christos * rights. You may have additional license terms from the party that provided 18 1.1.1.21 christos * you this software, covering your right to use that party's intellectual 19 1.1.1.21 christos * property rights. 20 1.1.1.21 christos * 21 1.1.1.21 christos * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22 1.1.1.21 christos * copy of the source code appearing in this file ("Covered Code") an 23 1.1.1.21 christos * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24 1.1.1.21 christos * base code distributed originally by Intel ("Original Intel Code") to copy, 25 1.1.1.21 christos * make derivatives, distribute, use and display any portion of the Covered 26 1.1.1.21 christos * Code in any form, with the right to sublicense such rights; and 27 1.1.1.21 christos * 28 1.1.1.21 christos * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29 1.1.1.21 christos * license (with the right to sublicense), under only those claims of Intel 30 1.1.1.21 christos * patents that are infringed by the Original Intel Code, to make, use, sell, 31 1.1.1.21 christos * offer to sell, and import the Covered Code and derivative works thereof 32 1.1.1.21 christos * solely to the minimum extent necessary to exercise the above copyright 33 1.1.1.21 christos * license, and in no event shall the patent license extend to any additions 34 1.1.1.21 christos * to or modifications of the Original Intel Code. No other license or right 35 1.1.1.21 christos * is granted directly or by implication, estoppel or otherwise; 36 1.1.1.21 christos * 37 1.1.1.21 christos * The above copyright and patent license is granted only if the following 38 1.1.1.21 christos * conditions are met: 39 1.1.1.21 christos * 40 1.1.1.21 christos * 3. Conditions 41 1.1.1.21 christos * 42 1.1.1.21 christos * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43 1.1.1.21 christos * Redistribution of source code of any substantial portion of the Covered 44 1.1.1.21 christos * Code or modification with rights to further distribute source must include 45 1.1.1.21 christos * the above Copyright Notice, the above License, this list of Conditions, 46 1.1.1.21 christos * and the following Disclaimer and Export Compliance provision. In addition, 47 1.1.1.21 christos * Licensee must cause all Covered Code to which Licensee contributes to 48 1.1.1.21 christos * contain a file documenting the changes Licensee made to create that Covered 49 1.1.1.21 christos * Code and the date of any change. Licensee must include in that file the 50 1.1.1.21 christos * documentation of any changes made by any predecessor Licensee. Licensee 51 1.1.1.21 christos * must include a prominent statement that the modification is derived, 52 1.1.1.21 christos * directly or indirectly, from Original Intel Code. 53 1.1.1.21 christos * 54 1.1.1.21 christos * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55 1.1.1.21 christos * Redistribution of source code of any substantial portion of the Covered 56 1.1.1.21 christos * Code or modification without rights to further distribute source must 57 1.1.1.21 christos * include the following Disclaimer and Export Compliance provision in the 58 1.1.1.21 christos * documentation and/or other materials provided with distribution. In 59 1.1.1.21 christos * addition, Licensee may not authorize further sublicense of source of any 60 1.1.1.21 christos * portion of the Covered Code, and must include terms to the effect that the 61 1.1.1.21 christos * license from Licensee to its licensee is limited to the intellectual 62 1.1.1.21 christos * property embodied in the software Licensee provides to its licensee, and 63 1.1.1.21 christos * not to intellectual property embodied in modifications its licensee may 64 1.1.1.21 christos * make. 65 1.1.1.21 christos * 66 1.1.1.21 christos * 3.3. Redistribution of Executable. Redistribution in executable form of any 67 1.1.1.21 christos * substantial portion of the Covered Code or modification must reproduce the 68 1.1.1.21 christos * above Copyright Notice, and the following Disclaimer and Export Compliance 69 1.1.1.21 christos * provision in the documentation and/or other materials provided with the 70 1.1.1.21 christos * distribution. 71 1.1.1.21 christos * 72 1.1.1.21 christos * 3.4. Intel retains all right, title, and interest in and to the Original 73 1.1.1.21 christos * Intel Code. 74 1.1.1.21 christos * 75 1.1.1.21 christos * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76 1.1.1.21 christos * Intel shall be used in advertising or otherwise to promote the sale, use or 77 1.1.1.21 christos * other dealings in products derived from or relating to the Covered Code 78 1.1.1.21 christos * without prior written authorization from Intel. 79 1.1.1.21 christos * 80 1.1.1.21 christos * 4. Disclaimer and Export Compliance 81 1.1.1.21 christos * 82 1.1.1.21 christos * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83 1.1.1.21 christos * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84 1.1.1.21 christos * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85 1.1.1.21 christos * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86 1.1.1.21 christos * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87 1.1.1.21 christos * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88 1.1.1.21 christos * PARTICULAR PURPOSE. 89 1.1.1.21 christos * 90 1.1.1.21 christos * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91 1.1.1.21 christos * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92 1.1.1.21 christos * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93 1.1.1.21 christos * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94 1.1.1.21 christos * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95 1.1.1.21 christos * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96 1.1.1.21 christos * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97 1.1.1.21 christos * LIMITED REMEDY. 98 1.1.1.21 christos * 99 1.1.1.21 christos * 4.3. Licensee shall not export, either directly or indirectly, any of this 100 1.1.1.21 christos * software or system incorporating such software without first obtaining any 101 1.1.1.21 christos * required license or other approval from the U. S. Department of Commerce or 102 1.1.1.21 christos * any other agency or department of the United States Government. In the 103 1.1.1.21 christos * event Licensee exports any such software from the United States or 104 1.1.1.21 christos * re-exports any such software from a foreign destination, Licensee shall 105 1.1.1.21 christos * ensure that the distribution and export/re-export of the software is in 106 1.1.1.21 christos * compliance with all laws, regulations, orders, or other restrictions of the 107 1.1.1.21 christos * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108 1.1.1.21 christos * any of its subsidiaries will export/re-export any technical data, process, 109 1.1.1.21 christos * software, or service, directly or indirectly, to any country for which the 110 1.1.1.21 christos * United States government or any agency thereof requires an export license, 111 1.1.1.21 christos * other governmental approval, or letter of assurance, without first obtaining 112 1.1.1.21 christos * such license, approval or letter. 113 1.1.1.21 christos * 114 1.1.1.21 christos ***************************************************************************** 115 1.1.1.21 christos * 116 1.1.1.21 christos * Alternatively, you may choose to be licensed under the terms of the 117 1.1.1.21 christos * following license: 118 1.1.1.21 christos * 119 1.1.1.2 jruoho * Redistribution and use in source and binary forms, with or without 120 1.1.1.2 jruoho * modification, are permitted provided that the following conditions 121 1.1.1.2 jruoho * are met: 122 1.1.1.2 jruoho * 1. Redistributions of source code must retain the above copyright 123 1.1.1.2 jruoho * notice, this list of conditions, and the following disclaimer, 124 1.1.1.2 jruoho * without modification. 125 1.1.1.2 jruoho * 2. Redistributions in binary form must reproduce at minimum a disclaimer 126 1.1.1.2 jruoho * substantially similar to the "NO WARRANTY" disclaimer below 127 1.1.1.2 jruoho * ("Disclaimer") and any redistribution must be conditioned upon 128 1.1.1.2 jruoho * including a substantially similar Disclaimer requirement for further 129 1.1.1.2 jruoho * binary redistribution. 130 1.1.1.2 jruoho * 3. Neither the names of the above-listed copyright holders nor the names 131 1.1.1.2 jruoho * of any contributors may be used to endorse or promote products derived 132 1.1.1.2 jruoho * from this software without specific prior written permission. 133 1.1.1.2 jruoho * 134 1.1.1.2 jruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 135 1.1.1.2 jruoho * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 136 1.1.1.17 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 137 1.1.1.2 jruoho * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 138 1.1.1.21 christos * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 139 1.1.1.21 christos * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 140 1.1.1.21 christos * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 141 1.1.1.21 christos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 142 1.1.1.21 christos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 143 1.1.1.21 christos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 144 1.1.1.21 christos * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 145 1.1.1.21 christos * 146 1.1.1.21 christos * Alternatively, you may choose to be licensed under the terms of the 147 1.1.1.21 christos * GNU General Public License ("GPL") version 2 as published by the Free 148 1.1.1.21 christos * Software Foundation. 149 1.1.1.21 christos * 150 1.1.1.21 christos *****************************************************************************/ 151 1.1 jruoho 152 1.1 jruoho #ifndef __ACENV_H__ 153 1.1 jruoho #define __ACENV_H__ 154 1.1 jruoho 155 1.1 jruoho /* 156 1.1 jruoho * Environment configuration. The purpose of this file is to interface ACPICA 157 1.1 jruoho * to the local environment. This includes compiler-specific, OS-specific, 158 1.1 jruoho * and machine-specific configuration. 159 1.1 jruoho */ 160 1.1 jruoho 161 1.1 jruoho /* Types for ACPI_MUTEX_TYPE */ 162 1.1 jruoho 163 1.1 jruoho #define ACPI_BINARY_SEMAPHORE 0 164 1.1 jruoho #define ACPI_OSL_MUTEX 1 165 1.1 jruoho 166 1.1 jruoho /* Types for DEBUGGER_THREADING */ 167 1.1 jruoho 168 1.1 jruoho #define DEBUGGER_SINGLE_THREADED 0 169 1.1 jruoho #define DEBUGGER_MULTI_THREADED 1 170 1.1 jruoho 171 1.1 jruoho 172 1.1 jruoho /****************************************************************************** 173 1.1 jruoho * 174 1.1 jruoho * Configuration for ACPI tools and utilities 175 1.1 jruoho * 176 1.1 jruoho *****************************************************************************/ 177 1.1 jruoho 178 1.1.1.9 christos /* Common application configuration. All single threaded except for AcpiExec. */ 179 1.1.1.9 christos 180 1.1.1.9 christos #if (defined ACPI_ASL_COMPILER) || \ 181 1.1.1.9 christos (defined ACPI_BIN_APP) || \ 182 1.1.1.9 christos (defined ACPI_DUMP_APP) || \ 183 1.1.1.9 christos (defined ACPI_HELP_APP) || \ 184 1.1.1.9 christos (defined ACPI_NAMES_APP) || \ 185 1.1.1.9 christos (defined ACPI_SRC_APP) || \ 186 1.1.1.9 christos (defined ACPI_XTRACT_APP) || \ 187 1.1.1.11 christos (defined ACPI_EXAMPLE_APP) || \ 188 1.1.1.11 christos (defined ACPI_EFI_HELLO) 189 1.1.1.9 christos #define ACPI_APPLICATION 190 1.1.1.9 christos #define ACPI_SINGLE_THREADED 191 1.1.1.10 christos #define USE_NATIVE_ALLOCATE_ZEROED 192 1.1.1.9 christos #endif 193 1.1.1.9 christos 194 1.1 jruoho /* iASL configuration */ 195 1.1 jruoho 196 1.1 jruoho #ifdef ACPI_ASL_COMPILER 197 1.1 jruoho #define ACPI_DEBUG_OUTPUT 198 1.1 jruoho #define ACPI_CONSTANT_EVAL_ONLY 199 1.1 jruoho #define ACPI_LARGE_NAMESPACE_NODE 200 1.1 jruoho #define ACPI_DATA_TABLE_DISASSEMBLY 201 1.1.1.6 christos #define ACPI_32BIT_PHYSICAL_ADDRESS 202 1.1.1.8 christos #define ACPI_DISASSEMBLER 1 203 1.1 jruoho #endif 204 1.1 jruoho 205 1.1.1.3 jruoho /* AcpiExec configuration. Multithreaded with full AML debugger */ 206 1.1 jruoho 207 1.1 jruoho #ifdef ACPI_EXEC_APP 208 1.1 jruoho #define ACPI_APPLICATION 209 1.1 jruoho #define ACPI_FULL_DEBUG 210 1.1 jruoho #define ACPI_MUTEX_DEBUG 211 1.1 jruoho #define ACPI_DBG_TRACK_ALLOCATIONS 212 1.1 jruoho #endif 213 1.1 jruoho 214 1.1.1.5 christos /* AcpiHelp configuration. Error messages disabled. */ 215 1.1.1.5 christos 216 1.1.1.3 jruoho #ifdef ACPI_HELP_APP 217 1.1.1.4 christos #define ACPI_NO_ERROR_MESSAGES 218 1.1.1.2 jruoho #endif 219 1.1.1.2 jruoho 220 1.1.1.5 christos /* AcpiNames configuration. Debug output enabled. */ 221 1.1.1.5 christos 222 1.1.1.5 christos #ifdef ACPI_NAMES_APP 223 1.1.1.5 christos #define ACPI_DEBUG_OUTPUT 224 1.1.1.5 christos #endif 225 1.1.1.5 christos 226 1.1.1.5 christos /* AcpiExec/AcpiNames/Example configuration. Native RSDP used. */ 227 1.1.1.5 christos 228 1.1.1.5 christos #if (defined ACPI_EXEC_APP) || \ 229 1.1.1.5 christos (defined ACPI_EXAMPLE_APP) || \ 230 1.1.1.5 christos (defined ACPI_NAMES_APP) 231 1.1.1.5 christos #define ACPI_USE_NATIVE_RSDP_POINTER 232 1.1.1.5 christos #endif 233 1.1.1.5 christos 234 1.1.1.8 christos /* AcpiDump configuration. Native mapping used if provided by the host */ 235 1.1.1.5 christos 236 1.1.1.5 christos #ifdef ACPI_DUMP_APP 237 1.1.1.5 christos #define ACPI_USE_NATIVE_MEMORY_MAPPING 238 1.1.1.5 christos #endif 239 1.1.1.5 christos 240 1.1.1.5 christos /* AcpiNames/Example configuration. Hardware disabled */ 241 1.1.1.5 christos 242 1.1.1.5 christos #if (defined ACPI_EXAMPLE_APP) || \ 243 1.1.1.5 christos (defined ACPI_NAMES_APP) 244 1.1.1.5 christos #define ACPI_REDUCED_HARDWARE 1 245 1.1.1.5 christos #endif 246 1.1.1.5 christos 247 1.1.1.9 christos /* Linkable ACPICA library. Two versions, one with full debug. */ 248 1.1 jruoho 249 1.1 jruoho #ifdef ACPI_LIBRARY 250 1.1 jruoho #define ACPI_USE_LOCAL_CACHE 251 1.1.1.9 christos #define ACPI_DEBUGGER 1 252 1.1.1.9 christos #define ACPI_DISASSEMBLER 1 253 1.1.1.9 christos 254 1.1.1.9 christos #ifdef _DEBUG 255 1.1.1.9 christos #define ACPI_DEBUG_OUTPUT 256 1.1.1.9 christos #endif 257 1.1 jruoho #endif 258 1.1 jruoho 259 1.1 jruoho /* Common for all ACPICA applications */ 260 1.1 jruoho 261 1.1 jruoho #ifdef ACPI_APPLICATION 262 1.1 jruoho #define ACPI_USE_LOCAL_CACHE 263 1.1 jruoho #endif 264 1.1 jruoho 265 1.1.1.8 christos /* Common debug/disassembler support */ 266 1.1 jruoho 267 1.1 jruoho #ifdef ACPI_FULL_DEBUG 268 1.1 jruoho #define ACPI_DEBUG_OUTPUT 269 1.1.1.8 christos #define ACPI_DEBUGGER 1 270 1.1.1.8 christos #define ACPI_DISASSEMBLER 1 271 1.1 jruoho #endif 272 1.1 jruoho 273 1.1.1.15 christos /* 274 1.1.1.15 christos * acpisrc CR\LF support 275 1.1.1.15 christos * Unix file line endings do not include the carriage return. 276 1.1.1.15 christos * If the acpisrc utility is being built using a microsoft compiler, it means 277 1.1.1.15 christos * that it will be running on a windows machine which means that the output is 278 1.1.1.15 christos * expected to have CR/LF newlines. If the acpisrc utility is built with 279 1.1.1.15 christos * anything else, it will likely run on a system with LF newlines. This flag 280 1.1.1.15 christos * tells the acpisrc utility that newlines will be in the LF format. 281 1.1.1.15 christos */ 282 1.1.1.15 christos #if defined(ACPI_SRC_APP) && !defined(_MSC_VER) 283 1.1.1.15 christos #define ACPI_SRC_OS_LF_ONLY 1 284 1.1.1.15 christos #else 285 1.1.1.15 christos #define ACPI_SRC_OS_LF_ONLY 0 286 1.1.1.15 christos #endif 287 1.1.1.15 christos 288 1.1 jruoho /*! [Begin] no source code translation */ 289 1.1 jruoho 290 1.1 jruoho /****************************************************************************** 291 1.1 jruoho * 292 1.1 jruoho * Host configuration files. The compiler configuration files are included 293 1.1.1.10 christos * first. 294 1.1 jruoho * 295 1.1 jruoho *****************************************************************************/ 296 1.1 jruoho 297 1.1.1.10 christos #if defined(__GNUC__) && !defined(__INTEL_COMPILER) 298 1.1.1.10 christos #include "acgcc.h" 299 1.1.1.10 christos 300 1.1.1.10 christos #elif defined(_MSC_VER) 301 1.1.1.10 christos #include "acmsvc.h" 302 1.1.1.10 christos 303 1.1.1.10 christos #elif defined(__INTEL_COMPILER) 304 1.1.1.10 christos #include "acintel.h" 305 1.1.1.10 christos 306 1.1.1.10 christos #endif 307 1.1.1.10 christos 308 1.1 jruoho #if defined(_LINUX) || defined(__linux__) 309 1.1 jruoho #include "aclinux.h" 310 1.1 jruoho 311 1.1.1.4 christos #elif defined(_APPLE) || defined(__APPLE__) 312 1.1.1.4 christos #include "acmacosx.h" 313 1.1.1.4 christos 314 1.1.1.7 christos #elif defined(__DragonFly__) 315 1.1.1.7 christos #include "acdragonfly.h" 316 1.1.1.7 christos 317 1.1 jruoho #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) 318 1.1 jruoho #include "acfreebsd.h" 319 1.1 jruoho 320 1.1 jruoho #elif defined(__NetBSD__) 321 1.1 jruoho #include "acnetbsd.h" 322 1.1 jruoho 323 1.1 jruoho #elif defined(__sun) 324 1.1 jruoho #include "acsolaris.h" 325 1.1 jruoho 326 1.1 jruoho #elif defined(MODESTO) 327 1.1 jruoho #include "acmodesto.h" 328 1.1 jruoho 329 1.1 jruoho #elif defined(NETWARE) 330 1.1 jruoho #include "acnetware.h" 331 1.1 jruoho 332 1.1 jruoho #elif defined(_CYGWIN) 333 1.1 jruoho #include "accygwin.h" 334 1.1 jruoho 335 1.1 jruoho #elif defined(WIN32) 336 1.1 jruoho #include "acwin.h" 337 1.1 jruoho 338 1.1 jruoho #elif defined(WIN64) 339 1.1 jruoho #include "acwin64.h" 340 1.1 jruoho 341 1.1 jruoho #elif defined(_WRS_LIB_BUILD) 342 1.1 jruoho #include "acvxworks.h" 343 1.1 jruoho 344 1.1 jruoho #elif defined(__OS2__) 345 1.1 jruoho #include "acos2.h" 346 1.1 jruoho 347 1.1.1.4 christos #elif defined(__HAIKU__) 348 1.1.1.4 christos #include "achaiku.h" 349 1.1.1.4 christos 350 1.1.1.9 christos #elif defined(__QNX__) 351 1.1.1.9 christos #include "acqnx.h" 352 1.1.1.9 christos 353 1.1.1.10 christos /* 354 1.1.1.10 christos * EFI applications can be built with -nostdlib, in this case, it must be 355 1.1.1.10 christos * included after including all other host environmental definitions, in 356 1.1.1.10 christos * order to override the definitions. 357 1.1.1.10 christos */ 358 1.1.1.10 christos #elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI) 359 1.1.1.10 christos #include "acefi.h" 360 1.1.1.10 christos 361 1.1.1.19 christos #elif defined(__ZEPHYR__) 362 1.1.1.19 christos #include "aczephyr.h" 363 1.1 jruoho #else 364 1.1 jruoho 365 1.1 jruoho /* Unknown environment */ 366 1.1 jruoho 367 1.1 jruoho #error Unknown target environment 368 1.1 jruoho #endif 369 1.1 jruoho 370 1.1 jruoho /*! [End] no source code translation !*/ 371 1.1 jruoho 372 1.1 jruoho 373 1.1 jruoho /****************************************************************************** 374 1.1 jruoho * 375 1.1 jruoho * Setup defaults for the required symbols that were not defined in one of 376 1.1 jruoho * the host/compiler files above. 377 1.1 jruoho * 378 1.1 jruoho *****************************************************************************/ 379 1.1 jruoho 380 1.1 jruoho /* 64-bit data types */ 381 1.1 jruoho 382 1.1 jruoho #ifndef COMPILER_DEPENDENT_INT64 383 1.1 jruoho #define COMPILER_DEPENDENT_INT64 long long 384 1.1 jruoho #endif 385 1.1 jruoho 386 1.1 jruoho #ifndef COMPILER_DEPENDENT_UINT64 387 1.1 jruoho #define COMPILER_DEPENDENT_UINT64 unsigned long long 388 1.1 jruoho #endif 389 1.1 jruoho 390 1.1 jruoho /* Type of mutex supported by host. Default is binary semaphores. */ 391 1.1 jruoho 392 1.1 jruoho #ifndef ACPI_MUTEX_TYPE 393 1.1 jruoho #define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE 394 1.1 jruoho #endif 395 1.1 jruoho 396 1.1 jruoho /* Global Lock acquire/release */ 397 1.1 jruoho 398 1.1 jruoho #ifndef ACPI_ACQUIRE_GLOBAL_LOCK 399 1.1 jruoho #define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acquired) Acquired = 1 400 1.1 jruoho #endif 401 1.1 jruoho 402 1.1 jruoho #ifndef ACPI_RELEASE_GLOBAL_LOCK 403 1.1 jruoho #define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pending) Pending = 0 404 1.1 jruoho #endif 405 1.1 jruoho 406 1.1.1.20 christos /* NULL/invalid value to use for destroyed or not-yet-created semaphores. */ 407 1.1.1.20 christos 408 1.1.1.20 christos #ifndef ACPI_SEMAPHORE_NULL 409 1.1.1.20 christos #define ACPI_SEMAPHORE_NULL NULL 410 1.1.1.20 christos #endif 411 1.1.1.20 christos 412 1.1 jruoho /* Flush CPU cache - used when going to sleep. Wbinvd or similar. */ 413 1.1 jruoho 414 1.1 jruoho #ifndef ACPI_FLUSH_CPU_CACHE 415 1.1 jruoho #define ACPI_FLUSH_CPU_CACHE() 416 1.1 jruoho #endif 417 1.1 jruoho 418 1.1.1.2 jruoho /* "inline" keywords - configurable since inline is not standardized */ 419 1.1.1.2 jruoho 420 1.1.1.2 jruoho #ifndef ACPI_INLINE 421 1.1.1.2 jruoho #define ACPI_INLINE 422 1.1.1.2 jruoho #endif 423 1.1.1.2 jruoho 424 1.1.1.12 christos /* Use ordered initialization if compiler doesn't support designated. */ 425 1.1.1.12 christos #ifndef ACPI_STRUCT_INIT 426 1.1.1.12 christos #define ACPI_STRUCT_INIT(field, value) value 427 1.1.1.12 christos #endif 428 1.1.1.12 christos 429 1.1 jruoho /* 430 1.1 jruoho * Configurable calling conventions: 431 1.1 jruoho * 432 1.1 jruoho * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) 433 1.1 jruoho * ACPI_EXTERNAL_XFACE - External ACPI interfaces 434 1.1 jruoho * ACPI_INTERNAL_XFACE - Internal ACPI interfaces 435 1.1 jruoho * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces 436 1.1 jruoho */ 437 1.1 jruoho #ifndef ACPI_SYSTEM_XFACE 438 1.1 jruoho #define ACPI_SYSTEM_XFACE 439 1.1 jruoho #endif 440 1.1 jruoho 441 1.1 jruoho #ifndef ACPI_EXTERNAL_XFACE 442 1.1 jruoho #define ACPI_EXTERNAL_XFACE 443 1.1 jruoho #endif 444 1.1 jruoho 445 1.1 jruoho #ifndef ACPI_INTERNAL_XFACE 446 1.1 jruoho #define ACPI_INTERNAL_XFACE 447 1.1 jruoho #endif 448 1.1 jruoho 449 1.1 jruoho #ifndef ACPI_INTERNAL_VAR_XFACE 450 1.1 jruoho #define ACPI_INTERNAL_VAR_XFACE 451 1.1 jruoho #endif 452 1.1 jruoho 453 1.1.1.8 christos 454 1.1 jruoho /* 455 1.1 jruoho * Debugger threading model 456 1.1 jruoho * Use single threaded if the entire subsystem is contained in an application 457 1.1 jruoho * Use multiple threaded when the subsystem is running in the kernel. 458 1.1 jruoho * 459 1.1 jruoho * By default the model is single threaded if ACPI_APPLICATION is set, 460 1.1 jruoho * multi-threaded if ACPI_APPLICATION is not set. 461 1.1 jruoho */ 462 1.1 jruoho #ifndef DEBUGGER_THREADING 463 1.1.1.8 christos #if !defined (ACPI_APPLICATION) || defined (ACPI_EXEC_APP) 464 1.1.1.8 christos #define DEBUGGER_THREADING DEBUGGER_MULTI_THREADED 465 1.1 jruoho 466 1.1 jruoho #else 467 1.1.1.8 christos #define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED 468 1.1 jruoho #endif 469 1.1 jruoho #endif /* !DEBUGGER_THREADING */ 470 1.1 jruoho 471 1.1 jruoho 472 1.1 jruoho /****************************************************************************** 473 1.1 jruoho * 474 1.1 jruoho * C library configuration 475 1.1 jruoho * 476 1.1 jruoho *****************************************************************************/ 477 1.1 jruoho 478 1.1 jruoho /* 479 1.1 jruoho * ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library. 480 1.1 jruoho * Otherwise, local versions of string/memory functions will be used. 481 1.1 jruoho * ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and 482 1.1.1.10 christos * the standard header files may be used. Defining this implies that 483 1.1.1.10 christos * ACPI_USE_SYSTEM_CLIBRARY has been defined. 484 1.1 jruoho * 485 1.1.1.8 christos * The ACPICA subsystem only uses low level C library functions that do not 486 1.1.1.8 christos * call operating system services and may therefore be inlined in the code. 487 1.1 jruoho * 488 1.1 jruoho * It may be necessary to tailor these include files to the target 489 1.1 jruoho * generation environment. 490 1.1 jruoho */ 491 1.1 jruoho 492 1.1.1.4 christos /* Use the standard C library headers. We want to keep these to a minimum. */ 493 1.1 jruoho 494 1.1 jruoho #ifdef ACPI_USE_STANDARD_HEADERS 495 1.1 jruoho 496 1.1 jruoho /* Use the standard headers from the standard locations */ 497 1.1 jruoho 498 1.1 jruoho #include <stdlib.h> 499 1.1 jruoho #include <string.h> 500 1.1 jruoho #include <ctype.h> 501 1.1.1.11 christos #if defined (ACPI_APPLICATION) || defined(ACPI_LIBRARY) 502 1.1.1.10 christos #include <stdio.h> 503 1.1.1.10 christos #include <fcntl.h> 504 1.1.1.10 christos #include <errno.h> 505 1.1.1.10 christos #include <time.h> 506 1.1.1.10 christos #include <signal.h> 507 1.1.1.10 christos #endif 508 1.1 jruoho 509 1.1 jruoho #endif /* ACPI_USE_STANDARD_HEADERS */ 510 1.1 jruoho 511 1.1.1.4 christos #ifdef ACPI_APPLICATION 512 1.1.1.4 christos #define ACPI_FILE FILE * 513 1.1.1.5 christos #define ACPI_FILE_OUT stdout 514 1.1.1.5 christos #define ACPI_FILE_ERR stderr 515 1.1.1.4 christos #else 516 1.1.1.4 christos #define ACPI_FILE void * 517 1.1.1.5 christos #define ACPI_FILE_OUT NULL 518 1.1.1.5 christos #define ACPI_FILE_ERR NULL 519 1.1.1.4 christos #endif /* ACPI_APPLICATION */ 520 1.1.1.10 christos 521 1.1.1.10 christos #ifndef ACPI_INIT_FUNCTION 522 1.1.1.10 christos #define ACPI_INIT_FUNCTION 523 1.1.1.10 christos #endif 524 1.1.1.4 christos 525 1.1 jruoho #endif /* __ACENV_H__ */ 526