Home | History | Annotate | Line # | Download | only in compiler
aslglobal.h revision 1.1.1.2.4.2
      1  1.1.1.2.4.2  rmind 
      2  1.1.1.2.4.2  rmind 
      3  1.1.1.2.4.2  rmind /******************************************************************************
      4  1.1.1.2.4.2  rmind  *
      5  1.1.1.2.4.2  rmind  * Module Name: aslglobal.h - Global variable definitions
      6  1.1.1.2.4.2  rmind  *
      7  1.1.1.2.4.2  rmind  *****************************************************************************/
      8  1.1.1.2.4.2  rmind 
      9  1.1.1.2.4.2  rmind /*
     10  1.1.1.2.4.2  rmind  * Copyright (C) 2000 - 2011, Intel Corp.
     11  1.1.1.2.4.2  rmind  * All rights reserved.
     12  1.1.1.2.4.2  rmind  *
     13  1.1.1.2.4.2  rmind  * Redistribution and use in source and binary forms, with or without
     14  1.1.1.2.4.2  rmind  * modification, are permitted provided that the following conditions
     15  1.1.1.2.4.2  rmind  * are met:
     16  1.1.1.2.4.2  rmind  * 1. Redistributions of source code must retain the above copyright
     17  1.1.1.2.4.2  rmind  *    notice, this list of conditions, and the following disclaimer,
     18  1.1.1.2.4.2  rmind  *    without modification.
     19  1.1.1.2.4.2  rmind  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     20  1.1.1.2.4.2  rmind  *    substantially similar to the "NO WARRANTY" disclaimer below
     21  1.1.1.2.4.2  rmind  *    ("Disclaimer") and any redistribution must be conditioned upon
     22  1.1.1.2.4.2  rmind  *    including a substantially similar Disclaimer requirement for further
     23  1.1.1.2.4.2  rmind  *    binary redistribution.
     24  1.1.1.2.4.2  rmind  * 3. Neither the names of the above-listed copyright holders nor the names
     25  1.1.1.2.4.2  rmind  *    of any contributors may be used to endorse or promote products derived
     26  1.1.1.2.4.2  rmind  *    from this software without specific prior written permission.
     27  1.1.1.2.4.2  rmind  *
     28  1.1.1.2.4.2  rmind  * Alternatively, this software may be distributed under the terms of the
     29  1.1.1.2.4.2  rmind  * GNU General Public License ("GPL") version 2 as published by the Free
     30  1.1.1.2.4.2  rmind  * Software Foundation.
     31  1.1.1.2.4.2  rmind  *
     32  1.1.1.2.4.2  rmind  * NO WARRANTY
     33  1.1.1.2.4.2  rmind  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     34  1.1.1.2.4.2  rmind  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     35  1.1.1.2.4.2  rmind  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     36  1.1.1.2.4.2  rmind  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     37  1.1.1.2.4.2  rmind  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     38  1.1.1.2.4.2  rmind  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     39  1.1.1.2.4.2  rmind  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     40  1.1.1.2.4.2  rmind  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     41  1.1.1.2.4.2  rmind  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     42  1.1.1.2.4.2  rmind  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     43  1.1.1.2.4.2  rmind  * POSSIBILITY OF SUCH DAMAGES.
     44  1.1.1.2.4.2  rmind  */
     45  1.1.1.2.4.2  rmind 
     46  1.1.1.2.4.2  rmind 
     47  1.1.1.2.4.2  rmind #ifndef __ASLGLOBAL_H
     48  1.1.1.2.4.2  rmind #define __ASLGLOBAL_H
     49  1.1.1.2.4.2  rmind 
     50  1.1.1.2.4.2  rmind 
     51  1.1.1.2.4.2  rmind /*
     52  1.1.1.2.4.2  rmind  * Global variables.  Defined in aslmain.c only, externed in all other files
     53  1.1.1.2.4.2  rmind  */
     54  1.1.1.2.4.2  rmind 
     55  1.1.1.2.4.2  rmind #undef ASL_EXTERN
     56  1.1.1.2.4.2  rmind 
     57  1.1.1.2.4.2  rmind #ifdef _DECLARE_GLOBALS
     58  1.1.1.2.4.2  rmind #define ASL_EXTERN
     59  1.1.1.2.4.2  rmind #define ASL_INIT_GLOBAL(a,b)        (a)=(b)
     60  1.1.1.2.4.2  rmind #else
     61  1.1.1.2.4.2  rmind #define ASL_EXTERN                  extern
     62  1.1.1.2.4.2  rmind #define ASL_INIT_GLOBAL(a,b)        (a)
     63  1.1.1.2.4.2  rmind #endif
     64  1.1.1.2.4.2  rmind 
     65  1.1.1.2.4.2  rmind 
     66  1.1.1.2.4.2  rmind /*
     67  1.1.1.2.4.2  rmind  * Parser and other externals
     68  1.1.1.2.4.2  rmind  */
     69  1.1.1.2.4.2  rmind extern int                          yydebug;
     70  1.1.1.2.4.2  rmind extern FILE                         *AslCompilerin;
     71  1.1.1.2.4.2  rmind extern int                          AslCompilerdebug;
     72  1.1.1.2.4.2  rmind extern const ASL_MAPPING_ENTRY      AslKeywordMapping[];
     73  1.1.1.2.4.2  rmind extern char                         *AslCompilertext;
     74  1.1.1.2.4.2  rmind 
     75  1.1.1.2.4.2  rmind #define ASL_LINE_BUFFER_SIZE        1024
     76  1.1.1.2.4.2  rmind #define ASL_MSG_BUFFER_SIZE         4096
     77  1.1.1.2.4.2  rmind #define HEX_TABLE_LINE_SIZE         8
     78  1.1.1.2.4.2  rmind #define HEX_LISTING_LINE_SIZE       8
     79  1.1.1.2.4.2  rmind 
     80  1.1.1.2.4.2  rmind 
     81  1.1.1.2.4.2  rmind /* Source code buffers and pointers for error reporting */
     82  1.1.1.2.4.2  rmind 
     83  1.1.1.2.4.2  rmind ASL_EXTERN char                     Gbl_CurrentLineBuffer[ASL_LINE_BUFFER_SIZE];
     84  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_CurrentColumn, 0);
     85  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_CurrentLineNumber, 1);
     86  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_LogicalLineNumber, 1);
     87  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_CurrentLineOffset, 0);
     88  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_LineBufPtr, Gbl_CurrentLineBuffer);
     89  1.1.1.2.4.2  rmind 
     90  1.1.1.2.4.2  rmind 
     91  1.1.1.2.4.2  rmind /* Exception reporting */
     92  1.1.1.2.4.2  rmind 
     93  1.1.1.2.4.2  rmind ASL_EXTERN ASL_ERROR_MSG            ASL_INIT_GLOBAL (*Gbl_ErrorLog,NULL);
     94  1.1.1.2.4.2  rmind ASL_EXTERN ASL_ERROR_MSG            ASL_INIT_GLOBAL (*Gbl_NextError,NULL);
     95  1.1.1.2.4.2  rmind 
     96  1.1.1.2.4.2  rmind 
     97  1.1.1.2.4.2  rmind /* Option flags */
     98  1.1.1.2.4.2  rmind 
     99  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DoCompile, TRUE);
    100  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DoSignon, TRUE);
    101  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DisassembleAll, FALSE);
    102  1.1.1.2.4.2  rmind 
    103  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_Acpi2, FALSE);
    104  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_UseDefaultAmlFilename, TRUE);
    105  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_NsOutputFlag, FALSE);
    106  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DebugFlag, FALSE);
    107  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_AsmOutputFlag, FALSE);
    108  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_C_OutputFlag, FALSE);
    109  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_AsmIncludeOutputFlag, FALSE);
    110  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_C_IncludeOutputFlag, FALSE);
    111  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_ListingFlag, FALSE);
    112  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_IgnoreErrors, FALSE);
    113  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_SourceOutputFlag, FALSE);
    114  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_ParseOnlyFlag, FALSE);
    115  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_CompileTimesFlag, FALSE);
    116  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_FoldConstants, TRUE);
    117  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_VerboseErrors, TRUE);
    118  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_NoErrors, FALSE);
    119  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_NoResourceChecking, FALSE);
    120  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DisasmFlag, FALSE);
    121  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_GetAllTables, FALSE);
    122  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_IntegerOptimizationFlag, TRUE);
    123  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_ReferenceOptimizationFlag, TRUE);
    124  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DisplayRemarks, TRUE);
    125  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DisplayOptimizations, FALSE);
    126  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    ASL_INIT_GLOBAL (Gbl_WarningLevel, ASL_WARNING);
    127  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_UseOriginalCompilerId, FALSE);
    128  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_VerboseTemplates, FALSE);
    129  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_DoTemplates, FALSE);
    130  1.1.1.2.4.2  rmind 
    131  1.1.1.2.4.2  rmind 
    132  1.1.1.2.4.2  rmind #define HEX_OUTPUT_NONE         0
    133  1.1.1.2.4.2  rmind #define HEX_OUTPUT_C            1
    134  1.1.1.2.4.2  rmind #define HEX_OUTPUT_ASM          2
    135  1.1.1.2.4.2  rmind #define HEX_OUTPUT_ASL          3
    136  1.1.1.2.4.2  rmind 
    137  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_HexOutputFlag, HEX_OUTPUT_NONE);
    138  1.1.1.2.4.2  rmind 
    139  1.1.1.2.4.2  rmind 
    140  1.1.1.2.4.2  rmind /* Files */
    141  1.1.1.2.4.2  rmind 
    142  1.1.1.2.4.2  rmind ASL_EXTERN ASL_FILE_INFO            Gbl_Files [ASL_NUM_FILES];
    143  1.1.1.2.4.2  rmind 
    144  1.1.1.2.4.2  rmind ASL_EXTERN char                     *Gbl_DirectoryPath;
    145  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_IncludeFilename, NULL);
    146  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_OutputFilenamePrefix, NULL);
    147  1.1.1.2.4.2  rmind ASL_EXTERN ASL_INCLUDE_DIR          ASL_INIT_GLOBAL (*Gbl_IncludeDirList, NULL);
    148  1.1.1.2.4.2  rmind ASL_EXTERN char                     *Gbl_CurrentInputFilename;
    149  1.1.1.2.4.2  rmind 
    150  1.1.1.2.4.2  rmind ASL_EXTERN BOOLEAN                  ASL_INIT_GLOBAL (Gbl_HasIncludeFiles, FALSE);
    151  1.1.1.2.4.2  rmind 
    152  1.1.1.2.4.2  rmind 
    153  1.1.1.2.4.2  rmind /* Statistics */
    154  1.1.1.2.4.2  rmind 
    155  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_InputByteCount, 0);
    156  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_InputFieldCount, 0);
    157  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_NsLookupCount, 0);
    158  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalKeywords, 0);
    159  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalNamedObjects, 0);
    160  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalExecutableOpcodes, 0);
    161  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalParseNodes, 0);
    162  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalMethods, 0);
    163  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalAllocations, 0);
    164  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalAllocated, 0);
    165  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (TotalFolds, 0);
    166  1.1.1.2.4.2  rmind 
    167  1.1.1.2.4.2  rmind 
    168  1.1.1.2.4.2  rmind /* Misc */
    169  1.1.1.2.4.2  rmind 
    170  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    ASL_INIT_GLOBAL (Gbl_RevisionOverride, 0);
    171  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    ASL_INIT_GLOBAL (Gbl_TempCount, 0);
    172  1.1.1.2.4.2  rmind ASL_EXTERN ACPI_PARSE_OBJECT        ASL_INIT_GLOBAL (*RootNode, NULL);
    173  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_TableLength, 0);
    174  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_SourceLine, 0);
    175  1.1.1.2.4.2  rmind ASL_EXTERN ASL_LISTING_NODE         ASL_INIT_GLOBAL (*Gbl_ListingNode, NULL);
    176  1.1.1.2.4.2  rmind ASL_EXTERN ACPI_PARSE_OBJECT        ASL_INIT_GLOBAL (*Gbl_NodeCacheNext, NULL);
    177  1.1.1.2.4.2  rmind ASL_EXTERN ACPI_PARSE_OBJECT        ASL_INIT_GLOBAL (*Gbl_NodeCacheLast, NULL);
    178  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_StringCacheNext, NULL);
    179  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_StringCacheLast, NULL);
    180  1.1.1.2.4.2  rmind ASL_EXTERN ACPI_PARSE_OBJECT        *Gbl_FirstLevelInsertionNode;
    181  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    ASL_INIT_GLOBAL (Gbl_FileType, 0);
    182  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_Signature, NULL);
    183  1.1.1.2.4.2  rmind ASL_EXTERN char                     *Gbl_TemplateSignature;
    184  1.1.1.2.4.2  rmind 
    185  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_CurrentHexColumn, 0);
    186  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_CurrentAmlOffset, 0);
    187  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_CurrentLine, 0);
    188  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    ASL_INIT_GLOBAL (Gbl_HexBytesWereWritten, FALSE);
    189  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_NumNamespaceObjects, 0);
    190  1.1.1.2.4.2  rmind ASL_EXTERN UINT32                   ASL_INIT_GLOBAL (Gbl_ReservedMethods, 0);
    191  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_TableSignature, "NO_SIG");
    192  1.1.1.2.4.2  rmind ASL_EXTERN char                     ASL_INIT_GLOBAL (*Gbl_TableId, "NO_ID");
    193  1.1.1.2.4.2  rmind ASL_EXTERN FILE                     *AcpiGbl_DebugFile; /* Placeholder for oswinxf only */
    194  1.1.1.2.4.2  rmind 
    195  1.1.1.2.4.2  rmind 
    196  1.1.1.2.4.2  rmind /* Static structures */
    197  1.1.1.2.4.2  rmind 
    198  1.1.1.2.4.2  rmind ASL_EXTERN ASL_ANALYSIS_WALK_INFO   AnalysisWalkInfo;
    199  1.1.1.2.4.2  rmind ASL_EXTERN ACPI_TABLE_HEADER        TableHeader;
    200  1.1.1.2.4.2  rmind extern char                         AslHexLookup[];
    201  1.1.1.2.4.2  rmind 
    202  1.1.1.2.4.2  rmind /* Event timing */
    203  1.1.1.2.4.2  rmind 
    204  1.1.1.2.4.2  rmind #define ASL_NUM_EVENTS              19
    205  1.1.1.2.4.2  rmind ASL_EXTERN ASL_EVENT_INFO           AslGbl_Events[ASL_NUM_EVENTS];
    206  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    AslGbl_NextEvent;
    207  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    AslGbl_NamespaceEvent;
    208  1.1.1.2.4.2  rmind 
    209  1.1.1.2.4.2  rmind /* Scratch buffers */
    210  1.1.1.2.4.2  rmind 
    211  1.1.1.2.4.2  rmind ASL_EXTERN UINT8                    Gbl_AmlBuffer[HEX_LISTING_LINE_SIZE];
    212  1.1.1.2.4.2  rmind ASL_EXTERN char                     MsgBuffer[ASL_MSG_BUFFER_SIZE];
    213  1.1.1.2.4.2  rmind ASL_EXTERN char                     StringBuffer[ASL_MSG_BUFFER_SIZE];
    214  1.1.1.2.4.2  rmind ASL_EXTERN char                     StringBuffer2[ASL_MSG_BUFFER_SIZE];
    215  1.1.1.2.4.2  rmind 
    216  1.1.1.2.4.2  rmind 
    217  1.1.1.2.4.2  rmind #ifdef _DECLARE_GLOBALS
    218  1.1.1.2.4.2  rmind UINT32                              Gbl_ExceptionCount[ASL_NUM_REPORT_LEVELS] = {0,0,0,0,0,0};
    219  1.1.1.2.4.2  rmind #else
    220  1.1.1.2.4.2  rmind extern UINT32                       Gbl_ExceptionCount[ASL_NUM_REPORT_LEVELS];
    221  1.1.1.2.4.2  rmind #endif
    222  1.1.1.2.4.2  rmind 
    223  1.1.1.2.4.2  rmind #endif /* __ASLGLOBAL_H */
    224  1.1.1.2.4.2  rmind 
    225