Home | History | Annotate | Line # | Download | only in platform
      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