Home | History | Annotate | Line # | Download | only in compiler
aslcompiler.h revision 1.4
      1  1.1    jruoho /******************************************************************************
      2  1.1    jruoho  *
      3  1.1    jruoho  * Module Name: aslcompiler.h - common include file for iASL
      4  1.1    jruoho  *
      5  1.1    jruoho  *****************************************************************************/
      6  1.1    jruoho 
      7  1.2  christos /*
      8  1.4  christos  * Copyright (C) 2000 - 2016, Intel Corp.
      9  1.1    jruoho  * All rights reserved.
     10  1.1    jruoho  *
     11  1.2  christos  * Redistribution and use in source and binary forms, with or without
     12  1.2  christos  * modification, are permitted provided that the following conditions
     13  1.2  christos  * are met:
     14  1.2  christos  * 1. Redistributions of source code must retain the above copyright
     15  1.2  christos  *    notice, this list of conditions, and the following disclaimer,
     16  1.2  christos  *    without modification.
     17  1.2  christos  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18  1.2  christos  *    substantially similar to the "NO WARRANTY" disclaimer below
     19  1.2  christos  *    ("Disclaimer") and any redistribution must be conditioned upon
     20  1.2  christos  *    including a substantially similar Disclaimer requirement for further
     21  1.2  christos  *    binary redistribution.
     22  1.2  christos  * 3. Neither the names of the above-listed copyright holders nor the names
     23  1.2  christos  *    of any contributors may be used to endorse or promote products derived
     24  1.2  christos  *    from this software without specific prior written permission.
     25  1.2  christos  *
     26  1.2  christos  * Alternatively, this software may be distributed under the terms of the
     27  1.2  christos  * GNU General Public License ("GPL") version 2 as published by the Free
     28  1.2  christos  * Software Foundation.
     29  1.2  christos  *
     30  1.2  christos  * NO WARRANTY
     31  1.2  christos  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32  1.2  christos  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33  1.2  christos  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     34  1.2  christos  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35  1.2  christos  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36  1.2  christos  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37  1.2  christos  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  1.2  christos  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  1.2  christos  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40  1.2  christos  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41  1.2  christos  * POSSIBILITY OF SUCH DAMAGES.
     42  1.2  christos  */
     43  1.1    jruoho 
     44  1.1    jruoho #ifndef __ASLCOMPILER_H
     45  1.1    jruoho #define __ASLCOMPILER_H
     46  1.1    jruoho 
     47  1.2  christos #include "acpi.h"
     48  1.2  christos #include "accommon.h"
     49  1.2  christos #include "amlresrc.h"
     50  1.2  christos #include "acdebug.h"
     51  1.1    jruoho 
     52  1.1    jruoho /* Microsoft-specific */
     53  1.1    jruoho 
     54  1.1    jruoho #if (defined WIN32 || defined WIN64)
     55  1.1    jruoho 
     56  1.1    jruoho /* warn : used #pragma pack */
     57  1.1    jruoho #pragma warning(disable:4103)
     58  1.1    jruoho 
     59  1.1    jruoho /* warn : named type definition in parentheses */
     60  1.1    jruoho #pragma warning(disable:4115)
     61  1.1    jruoho #endif
     62  1.1    jruoho 
     63  1.1    jruoho #include <stdio.h>
     64  1.1    jruoho #include <stdlib.h>
     65  1.1    jruoho #include <stdarg.h>
     66  1.1    jruoho #include <string.h>
     67  1.1    jruoho #include <errno.h>
     68  1.1    jruoho #include <ctype.h>
     69  1.1    jruoho 
     70  1.1    jruoho /* Compiler headers */
     71  1.1    jruoho 
     72  1.1    jruoho #include "asldefine.h"
     73  1.1    jruoho #include "asltypes.h"
     74  1.2  christos #include "aslmessages.h"
     75  1.1    jruoho #include "aslglobal.h"
     76  1.2  christos #include "preprocess.h"
     77  1.1    jruoho 
     78  1.1    jruoho 
     79  1.1    jruoho /*******************************************************************************
     80  1.1    jruoho  *
     81  1.1    jruoho  * Compiler prototypes
     82  1.1    jruoho  *
     83  1.1    jruoho  ******************************************************************************/
     84  1.1    jruoho 
     85  1.1    jruoho /*
     86  1.2  christos  * Main ASL parser - generated from flex/bison, lex/yacc, etc.
     87  1.1    jruoho  */
     88  1.1    jruoho ACPI_PARSE_OBJECT *
     89  1.1    jruoho AslDoError (
     90  1.1    jruoho     void);
     91  1.1    jruoho 
     92  1.1    jruoho int
     93  1.1    jruoho AslCompilerlex(
     94  1.1    jruoho     void);
     95  1.1    jruoho 
     96  1.1    jruoho void
     97  1.2  christos AslResetCurrentLineBuffer (
     98  1.1    jruoho     void);
     99  1.1    jruoho 
    100  1.1    jruoho void
    101  1.2  christos AslInsertLineBuffer (
    102  1.1    jruoho     int                     SourceChar);
    103  1.1    jruoho 
    104  1.1    jruoho int
    105  1.1    jruoho AslPopInputFileStack (
    106  1.1    jruoho     void);
    107  1.1    jruoho 
    108  1.1    jruoho void
    109  1.1    jruoho AslPushInputFileStack (
    110  1.1    jruoho     FILE                    *InputFile,
    111  1.1    jruoho     char                    *Filename);
    112  1.1    jruoho 
    113  1.2  christos void
    114  1.2  christos AslParserCleanup (
    115  1.2  christos     void);
    116  1.2  christos 
    117  1.2  christos 
    118  1.1    jruoho /*
    119  1.2  christos  * aslstartup - entered from main()
    120  1.1    jruoho  */
    121  1.2  christos void
    122  1.2  christos AslInitializeGlobals (
    123  1.2  christos     void);
    124  1.2  christos 
    125  1.2  christos typedef
    126  1.2  christos ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
    127  1.2  christos     char *);
    128  1.1    jruoho 
    129  1.1    jruoho ACPI_STATUS
    130  1.1    jruoho AslDoOneFile (
    131  1.1    jruoho     char                    *Filename);
    132  1.1    jruoho 
    133  1.2  christos ACPI_STATUS
    134  1.2  christos AslCheckForErrorExit (
    135  1.2  christos     void);
    136  1.2  christos 
    137  1.2  christos 
    138  1.1    jruoho /*
    139  1.1    jruoho  * aslcompile - compile mainline
    140  1.1    jruoho  */
    141  1.1    jruoho void
    142  1.1    jruoho AslCompilerSignon (
    143  1.1    jruoho     UINT32                  FileId);
    144  1.1    jruoho 
    145  1.1    jruoho void
    146  1.1    jruoho AslCompilerFileHeader (
    147  1.1    jruoho     UINT32                  FileId);
    148  1.1    jruoho 
    149  1.1    jruoho int
    150  1.1    jruoho CmDoCompile (
    151  1.1    jruoho     void);
    152  1.1    jruoho 
    153  1.1    jruoho void
    154  1.1    jruoho CmDoOutputFiles (
    155  1.1    jruoho     void);
    156  1.1    jruoho 
    157  1.1    jruoho void
    158  1.1    jruoho CmCleanupAndExit (
    159  1.1    jruoho     void);
    160  1.1    jruoho 
    161  1.2  christos void
    162  1.2  christos CmDeleteCaches (
    163  1.2  christos     void);
    164  1.2  christos 
    165  1.2  christos 
    166  1.2  christos /*
    167  1.2  christos  * aslascii - ascii support
    168  1.2  christos  */
    169  1.2  christos ACPI_STATUS
    170  1.4  christos FlIsFileAsciiSource (
    171  1.2  christos     char                    *Filename,
    172  1.2  christos     BOOLEAN                 DisplayErrors);
    173  1.1    jruoho 
    174  1.1    jruoho 
    175  1.1    jruoho /*
    176  1.2  christos  * aslwalks - semantic analysis and parse tree walks
    177  1.1    jruoho  */
    178  1.1    jruoho ACPI_STATUS
    179  1.1    jruoho AnOtherSemanticAnalysisWalkBegin (
    180  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    181  1.1    jruoho     UINT32                  Level,
    182  1.1    jruoho     void                    *Context);
    183  1.1    jruoho 
    184  1.1    jruoho ACPI_STATUS
    185  1.1    jruoho AnOtherSemanticAnalysisWalkEnd (
    186  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    187  1.1    jruoho     UINT32                  Level,
    188  1.1    jruoho     void                    *Context);
    189  1.1    jruoho 
    190  1.1    jruoho ACPI_STATUS
    191  1.2  christos AnOperandTypecheckWalkEnd (
    192  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    193  1.1    jruoho     UINT32                  Level,
    194  1.1    jruoho     void                    *Context);
    195  1.1    jruoho 
    196  1.1    jruoho ACPI_STATUS
    197  1.2  christos AnMethodTypingWalkEnd (
    198  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    199  1.1    jruoho     UINT32                  Level,
    200  1.1    jruoho     void                    *Context);
    201  1.1    jruoho 
    202  1.2  christos 
    203  1.2  christos /*
    204  1.2  christos  * aslmethod - Control method analysis walk
    205  1.2  christos  */
    206  1.1    jruoho ACPI_STATUS
    207  1.2  christos MtMethodAnalysisWalkBegin (
    208  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    209  1.1    jruoho     UINT32                  Level,
    210  1.1    jruoho     void                    *Context);
    211  1.1    jruoho 
    212  1.1    jruoho ACPI_STATUS
    213  1.2  christos MtMethodAnalysisWalkEnd (
    214  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    215  1.1    jruoho     UINT32                  Level,
    216  1.1    jruoho     void                    *Context);
    217  1.1    jruoho 
    218  1.2  christos 
    219  1.2  christos /*
    220  1.2  christos  * aslbtypes - bitfield data types
    221  1.2  christos  */
    222  1.2  christos UINT32
    223  1.2  christos AnMapObjTypeToBtype (
    224  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    225  1.2  christos 
    226  1.2  christos UINT32
    227  1.2  christos AnMapArgTypeToBtype (
    228  1.2  christos     UINT32                  ArgType);
    229  1.2  christos 
    230  1.2  christos UINT32
    231  1.2  christos AnGetBtype (
    232  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    233  1.2  christos 
    234  1.2  christos void
    235  1.2  christos AnFormatBtype (
    236  1.2  christos     char                    *Buffer,
    237  1.2  christos     UINT32                  Btype);
    238  1.2  christos 
    239  1.2  christos 
    240  1.2  christos /*
    241  1.2  christos  * aslanalyze - Support functions for parse tree walks
    242  1.2  christos  */
    243  1.2  christos void
    244  1.2  christos AnCheckId (
    245  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    246  1.2  christos     ACPI_NAME               Type);
    247  1.2  christos 
    248  1.2  christos /* Values for Type argument above */
    249  1.2  christos 
    250  1.2  christos #define ASL_TYPE_HID        0
    251  1.2  christos #define ASL_TYPE_CID        1
    252  1.2  christos 
    253  1.2  christos BOOLEAN
    254  1.2  christos AnIsInternalMethod (
    255  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    256  1.2  christos 
    257  1.2  christos UINT32
    258  1.2  christos AnGetInternalMethodReturnType (
    259  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    260  1.2  christos 
    261  1.2  christos BOOLEAN
    262  1.2  christos AnLastStatementIsReturn (
    263  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    264  1.1    jruoho 
    265  1.2  christos void
    266  1.2  christos AnCheckMethodReturnValue (
    267  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    268  1.2  christos     const ACPI_OPCODE_INFO  *OpInfo,
    269  1.2  christos     ACPI_PARSE_OBJECT       *ArgOp,
    270  1.2  christos     UINT32                  RequiredBtypes,
    271  1.2  christos     UINT32                  ThisNodeBtype);
    272  1.2  christos 
    273  1.2  christos BOOLEAN
    274  1.2  christos AnIsResultUsed (
    275  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    276  1.2  christos 
    277  1.2  christos void
    278  1.2  christos ApCheckForGpeNameConflict (
    279  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    280  1.2  christos 
    281  1.2  christos void
    282  1.2  christos ApCheckRegMethod (
    283  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    284  1.2  christos 
    285  1.2  christos BOOLEAN
    286  1.2  christos ApFindNameInScope (
    287  1.2  christos     char                    *Name,
    288  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    289  1.1    jruoho 
    290  1.1    jruoho 
    291  1.1    jruoho /*
    292  1.1    jruoho  * aslerror - error handling/reporting
    293  1.1    jruoho  */
    294  1.1    jruoho void
    295  1.2  christos AslAbort (
    296  1.2  christos     void);
    297  1.2  christos 
    298  1.2  christos void
    299  1.1    jruoho AslError (
    300  1.1    jruoho     UINT8                   Level,
    301  1.2  christos     UINT16                  MessageId,
    302  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    303  1.1    jruoho     char                    *ExtraMessage);
    304  1.1    jruoho 
    305  1.2  christos ACPI_STATUS
    306  1.2  christos AslDisableException (
    307  1.2  christos     char                    *MessageIdString);
    308  1.2  christos 
    309  1.2  christos BOOLEAN
    310  1.2  christos AslIsExceptionDisabled (
    311  1.2  christos     UINT8                   Level,
    312  1.2  christos     UINT16                  MessageId);
    313  1.2  christos 
    314  1.1    jruoho void
    315  1.1    jruoho AslCoreSubsystemError (
    316  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    317  1.1    jruoho     ACPI_STATUS             Status,
    318  1.1    jruoho     char                    *ExtraMessage,
    319  1.1    jruoho     BOOLEAN                 Abort);
    320  1.1    jruoho 
    321  1.1    jruoho int
    322  1.1    jruoho AslCompilererror(
    323  1.2  christos     const char              *s);
    324  1.1    jruoho 
    325  1.1    jruoho void
    326  1.1    jruoho AslCommonError (
    327  1.1    jruoho     UINT8                   Level,
    328  1.2  christos     UINT16                  MessageId,
    329  1.1    jruoho     UINT32                  CurrentLineNumber,
    330  1.1    jruoho     UINT32                  LogicalLineNumber,
    331  1.1    jruoho     UINT32                  LogicalByteOffset,
    332  1.1    jruoho     UINT32                  Column,
    333  1.1    jruoho     char                    *Filename,
    334  1.1    jruoho     char                    *ExtraMessage);
    335  1.1    jruoho 
    336  1.1    jruoho void
    337  1.2  christos AslCommonError2 (
    338  1.2  christos     UINT8                   Level,
    339  1.2  christos     UINT16                  MessageId,
    340  1.2  christos     UINT32                  LineNumber,
    341  1.2  christos     UINT32                  Column,
    342  1.2  christos     char                    *SourceLine,
    343  1.2  christos     char                    *Filename,
    344  1.2  christos     char                    *ExtraMessage);
    345  1.2  christos 
    346  1.2  christos void
    347  1.1    jruoho AePrintException (
    348  1.1    jruoho     UINT32                  FileId,
    349  1.1    jruoho     ASL_ERROR_MSG           *Enode,
    350  1.1    jruoho     char                    *Header);
    351  1.1    jruoho 
    352  1.1    jruoho void
    353  1.1    jruoho AePrintErrorLog (
    354  1.1    jruoho     UINT32                  FileId);
    355  1.1    jruoho 
    356  1.1    jruoho void
    357  1.1    jruoho AeClearErrorLog (
    358  1.1    jruoho     void);
    359  1.1    jruoho 
    360  1.1    jruoho 
    361  1.1    jruoho /*
    362  1.1    jruoho  * asllisting - generate all "listing" type files
    363  1.1    jruoho  */
    364  1.1    jruoho void
    365  1.1    jruoho LsDoListings (
    366  1.1    jruoho     void);
    367  1.1    jruoho 
    368  1.1    jruoho void
    369  1.1    jruoho LsWriteNodeToAsmListing (
    370  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    371  1.1    jruoho 
    372  1.1    jruoho void
    373  1.1    jruoho LsWriteNode (
    374  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    375  1.1    jruoho     UINT32                  FileId);
    376  1.1    jruoho 
    377  1.1    jruoho void
    378  1.2  christos LsDumpParseTree (
    379  1.2  christos     void);
    380  1.2  christos 
    381  1.2  christos 
    382  1.2  christos /*
    383  1.2  christos  * asllistsup - Listing file support utilities
    384  1.2  christos  */
    385  1.2  christos void
    386  1.2  christos LsDumpAscii (
    387  1.2  christos     UINT32                  FileId,
    388  1.2  christos     UINT32                  Count,
    389  1.2  christos     UINT8                   *Buffer);
    390  1.2  christos 
    391  1.2  christos void
    392  1.2  christos LsDumpAsciiInComment (
    393  1.2  christos     UINT32                  FileId,
    394  1.2  christos     UINT32                  Count,
    395  1.2  christos     UINT8                   *Buffer);
    396  1.2  christos 
    397  1.2  christos void
    398  1.2  christos LsCheckException (
    399  1.2  christos     UINT32                  LineNumber,
    400  1.2  christos     UINT32                  FileId);
    401  1.2  christos 
    402  1.2  christos void
    403  1.2  christos LsFlushListingBuffer (
    404  1.2  christos     UINT32                  FileId);
    405  1.2  christos 
    406  1.2  christos void
    407  1.2  christos LsWriteListingHexBytes (
    408  1.2  christos     UINT8                   *Buffer,
    409  1.2  christos     UINT32                  Length,
    410  1.2  christos     UINT32                  FileId);
    411  1.2  christos 
    412  1.2  christos void
    413  1.2  christos LsWriteSourceLines (
    414  1.2  christos     UINT32                  ToLineNumber,
    415  1.2  christos     UINT32                  ToLogicalLineNumber,
    416  1.2  christos     UINT32                  FileId);
    417  1.2  christos 
    418  1.2  christos UINT32
    419  1.2  christos LsWriteOneSourceLine (
    420  1.2  christos     UINT32                  FileId);
    421  1.2  christos 
    422  1.2  christos void
    423  1.2  christos LsPushNode (
    424  1.2  christos     char                    *Filename);
    425  1.2  christos 
    426  1.2  christos ASL_LISTING_NODE *
    427  1.2  christos LsPopNode (
    428  1.1    jruoho     void);
    429  1.1    jruoho 
    430  1.2  christos 
    431  1.2  christos /*
    432  1.2  christos  * aslhex - generate all "hex" output files (C, ASM, ASL)
    433  1.2  christos  */
    434  1.1    jruoho void
    435  1.2  christos HxDoHexOutput (
    436  1.1    jruoho     void);
    437  1.1    jruoho 
    438  1.2  christos 
    439  1.1    jruoho /*
    440  1.1    jruoho  * aslfold - constant folding
    441  1.1    jruoho  */
    442  1.1    jruoho ACPI_STATUS
    443  1.1    jruoho OpcAmlConstantWalk (
    444  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    445  1.1    jruoho     UINT32                  Level,
    446  1.1    jruoho     void                    *Context);
    447  1.1    jruoho 
    448  1.1    jruoho 
    449  1.1    jruoho /*
    450  1.2  christos  * aslmessages - exception strings
    451  1.2  christos  */
    452  1.2  christos const char *
    453  1.2  christos AeDecodeMessageId (
    454  1.2  christos     UINT16                  MessageId);
    455  1.2  christos 
    456  1.2  christos const char *
    457  1.2  christos AeDecodeExceptionLevel (
    458  1.2  christos     UINT8                   Level);
    459  1.2  christos 
    460  1.2  christos UINT16
    461  1.2  christos AeBuildFullExceptionCode (
    462  1.2  christos     UINT8                   Level,
    463  1.2  christos     UINT16                  MessageId);
    464  1.2  christos 
    465  1.2  christos /*
    466  1.2  christos  * asloffset - generate C offset file for BIOS support
    467  1.2  christos  */
    468  1.2  christos ACPI_STATUS
    469  1.2  christos LsAmlOffsetWalk (
    470  1.2  christos     ACPI_PARSE_OBJECT       *Op,
    471  1.2  christos     UINT32                  Level,
    472  1.2  christos     void                    *Context);
    473  1.2  christos 
    474  1.2  christos void
    475  1.2  christos LsDoOffsetTableHeader (
    476  1.2  christos     UINT32                  FileId);
    477  1.2  christos 
    478  1.2  christos void
    479  1.2  christos LsDoOffsetTableFooter (
    480  1.2  christos     UINT32                  FileId);
    481  1.2  christos 
    482  1.2  christos 
    483  1.2  christos /*
    484  1.1    jruoho  * aslopcodes - generate AML opcodes
    485  1.1    jruoho  */
    486  1.1    jruoho ACPI_STATUS
    487  1.1    jruoho OpcAmlOpcodeWalk (
    488  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    489  1.1    jruoho     UINT32                  Level,
    490  1.1    jruoho     void                    *Context);
    491  1.1    jruoho 
    492  1.1    jruoho ACPI_STATUS
    493  1.1    jruoho OpcAmlOpcodeUpdateWalk (
    494  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    495  1.1    jruoho     UINT32                  Level,
    496  1.1    jruoho     void                    *Context);
    497  1.1    jruoho 
    498  1.1    jruoho void
    499  1.1    jruoho OpcGenerateAmlOpcode (
    500  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    501  1.1    jruoho 
    502  1.1    jruoho UINT32
    503  1.1    jruoho OpcSetOptimalIntegerSize (
    504  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    505  1.1    jruoho 
    506  1.1    jruoho void
    507  1.1    jruoho OpcGetIntegerWidth (
    508  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    509  1.1    jruoho 
    510  1.1    jruoho 
    511  1.1    jruoho /*
    512  1.1    jruoho  * asloperands - generate AML operands for the AML opcodes
    513  1.1    jruoho  */
    514  1.1    jruoho ACPI_PARSE_OBJECT  *
    515  1.1    jruoho UtGetArg (
    516  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    517  1.1    jruoho     UINT32                  Argn);
    518  1.1    jruoho 
    519  1.1    jruoho void
    520  1.1    jruoho OpnGenerateAmlOperands (
    521  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    522  1.1    jruoho 
    523  1.1    jruoho void
    524  1.1    jruoho OpnDoPackage (
    525  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    526  1.1    jruoho 
    527  1.1    jruoho 
    528  1.1    jruoho /*
    529  1.1    jruoho  * aslopt - optmization
    530  1.1    jruoho  */
    531  1.1    jruoho void
    532  1.1    jruoho OptOptimizeNamePath (
    533  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    534  1.1    jruoho     UINT32                  Flags,
    535  1.1    jruoho     ACPI_WALK_STATE         *WalkState,
    536  1.1    jruoho     char                    *AmlNameString,
    537  1.1    jruoho     ACPI_NAMESPACE_NODE     *TargetNode);
    538  1.1    jruoho 
    539  1.1    jruoho 
    540  1.1    jruoho /*
    541  1.2  christos  * aslprintf - Printf/Fprintf macros
    542  1.2  christos  */
    543  1.2  christos void
    544  1.2  christos OpcDoPrintf (
    545  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    546  1.2  christos 
    547  1.2  christos void
    548  1.2  christos OpcDoFprintf (
    549  1.2  christos     ACPI_PARSE_OBJECT       *Op);
    550  1.2  christos 
    551  1.2  christos 
    552  1.2  christos /*
    553  1.2  christos  * aslprune - parse tree pruner
    554  1.2  christos  */
    555  1.2  christos void
    556  1.2  christos AslPruneParseTree (
    557  1.2  christos     UINT32                  PruneDepth,
    558  1.2  christos     UINT32                  Type);
    559  1.2  christos 
    560  1.2  christos 
    561  1.2  christos /*
    562  1.1    jruoho  * aslcodegen - code generation
    563  1.1    jruoho  */
    564  1.1    jruoho void
    565  1.1    jruoho CgGenerateAmlOutput (
    566  1.1    jruoho     void);
    567  1.1    jruoho 
    568  1.1    jruoho 
    569  1.1    jruoho /*
    570  1.1    jruoho  * aslfile
    571  1.1    jruoho  */
    572  1.1    jruoho void
    573  1.1    jruoho FlOpenFile (
    574  1.1    jruoho     UINT32                  FileId,
    575  1.1    jruoho     char                    *Filename,
    576  1.1    jruoho     char                    *Mode);
    577  1.1    jruoho 
    578  1.1    jruoho 
    579  1.1    jruoho /*
    580  1.1    jruoho  * asllength - calculate/adjust AML package lengths
    581  1.1    jruoho  */
    582  1.1    jruoho ACPI_STATUS
    583  1.1    jruoho LnPackageLengthWalk (
    584  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    585  1.1    jruoho     UINT32                  Level,
    586  1.1    jruoho     void                    *Context);
    587  1.1    jruoho 
    588  1.1    jruoho ACPI_STATUS
    589  1.1    jruoho LnInitLengthsWalk (
    590  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    591  1.1    jruoho     UINT32                  Level,
    592  1.1    jruoho     void                    *Context);
    593  1.1    jruoho 
    594  1.1    jruoho void
    595  1.1    jruoho CgGenerateAmlLengths (
    596  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    597  1.1    jruoho 
    598  1.1    jruoho 
    599  1.1    jruoho /*
    600  1.1    jruoho  * aslmap - opcode mappings and reserved method names
    601  1.1    jruoho  */
    602  1.1    jruoho ACPI_OBJECT_TYPE
    603  1.1    jruoho AslMapNamedOpcodeToDataType (
    604  1.1    jruoho     UINT16                  Opcode);
    605  1.1    jruoho 
    606  1.1    jruoho 
    607  1.1    jruoho /*
    608  1.1    jruoho  * aslpredef - ACPI predefined names support
    609  1.1    jruoho  */
    610  1.2  christos BOOLEAN
    611  1.1    jruoho ApCheckForPredefinedMethod (
    612  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    613  1.1    jruoho     ASL_METHOD_INFO         *MethodInfo);
    614  1.1    jruoho 
    615  1.1    jruoho void
    616  1.1    jruoho ApCheckPredefinedReturnValue (
    617  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    618  1.1    jruoho     ASL_METHOD_INFO         *MethodInfo);
    619  1.1    jruoho 
    620  1.1    jruoho UINT32
    621  1.1    jruoho ApCheckForPredefinedName (
    622  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    623  1.1    jruoho     char                    *Name);
    624  1.1    jruoho 
    625  1.1    jruoho void
    626  1.1    jruoho ApCheckForPredefinedObject (
    627  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    628  1.1    jruoho     char                    *Name);
    629  1.1    jruoho 
    630  1.2  christos ACPI_STATUS
    631  1.2  christos ApCheckObjectType (
    632  1.2  christos     const char              *PredefinedName,
    633  1.2  christos     ACPI_PARSE_OBJECT       *Op,
    634  1.2  christos     UINT32                  ExpectedBtypes,
    635  1.2  christos     UINT32                  PackageIndex);
    636  1.2  christos 
    637  1.1    jruoho void
    638  1.1    jruoho ApDisplayReservedNames (
    639  1.1    jruoho     void);
    640  1.1    jruoho 
    641  1.1    jruoho 
    642  1.1    jruoho /*
    643  1.2  christos  * aslprepkg - ACPI predefined names support for packages
    644  1.2  christos  */
    645  1.2  christos void
    646  1.2  christos ApCheckPackage (
    647  1.2  christos     ACPI_PARSE_OBJECT           *ParentOp,
    648  1.2  christos     const ACPI_PREDEFINED_INFO  *Predefined);
    649  1.2  christos 
    650  1.2  christos 
    651  1.2  christos /*
    652  1.1    jruoho  * asltransform - parse tree transformations
    653  1.1    jruoho  */
    654  1.1    jruoho ACPI_STATUS
    655  1.1    jruoho TrAmlTransformWalk (
    656  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    657  1.1    jruoho     UINT32                  Level,
    658  1.1    jruoho     void                    *Context);
    659  1.1    jruoho 
    660  1.1    jruoho 
    661  1.1    jruoho /*
    662  1.1    jruoho  * asltree - parse tree support
    663  1.1    jruoho  */
    664  1.1    jruoho ACPI_STATUS
    665  1.1    jruoho TrWalkParseTree (
    666  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    667  1.1    jruoho     UINT32                  Visitation,
    668  1.1    jruoho     ASL_WALK_CALLBACK       DescendingCallback,
    669  1.1    jruoho     ASL_WALK_CALLBACK       AscendingCallback,
    670  1.1    jruoho     void                    *Context);
    671  1.1    jruoho 
    672  1.1    jruoho /* Values for "Visitation" parameter above */
    673  1.1    jruoho 
    674  1.1    jruoho #define ASL_WALK_VISIT_DOWNWARD     0x01
    675  1.1    jruoho #define ASL_WALK_VISIT_UPWARD       0x02
    676  1.1    jruoho #define ASL_WALK_VISIT_TWICE        (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
    677  1.1    jruoho 
    678  1.1    jruoho 
    679  1.1    jruoho ACPI_PARSE_OBJECT *
    680  1.1    jruoho TrAllocateNode (
    681  1.1    jruoho     UINT32                  ParseOpcode);
    682  1.1    jruoho 
    683  1.1    jruoho void
    684  1.2  christos TrPrintNodeCompileFlags (
    685  1.2  christos     UINT32                  Flags);
    686  1.2  christos 
    687  1.2  christos void
    688  1.1    jruoho TrReleaseNode (
    689  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    690  1.1    jruoho 
    691  1.1    jruoho ACPI_PARSE_OBJECT *
    692  1.1    jruoho TrUpdateNode (
    693  1.1    jruoho     UINT32                  ParseOpcode,
    694  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    695  1.1    jruoho 
    696  1.1    jruoho ACPI_PARSE_OBJECT *
    697  1.1    jruoho TrCreateNode (
    698  1.1    jruoho     UINT32                  ParseOpcode,
    699  1.1    jruoho     UINT32                  NumChildren,
    700  1.1    jruoho     ...);
    701  1.1    jruoho 
    702  1.1    jruoho ACPI_PARSE_OBJECT *
    703  1.1    jruoho TrCreateLeafNode (
    704  1.1    jruoho     UINT32                  ParseOpcode);
    705  1.1    jruoho 
    706  1.1    jruoho ACPI_PARSE_OBJECT *
    707  1.2  christos TrCreateNullTarget (
    708  1.2  christos     void);
    709  1.2  christos 
    710  1.2  christos ACPI_PARSE_OBJECT *
    711  1.2  christos TrCreateAssignmentNode (
    712  1.2  christos     ACPI_PARSE_OBJECT       *Target,
    713  1.2  christos     ACPI_PARSE_OBJECT       *Source);
    714  1.2  christos 
    715  1.2  christos ACPI_PARSE_OBJECT *
    716  1.2  christos TrCreateTargetOperand (
    717  1.2  christos     ACPI_PARSE_OBJECT       *OriginalOp,
    718  1.2  christos     ACPI_PARSE_OBJECT       *ParentOp);
    719  1.2  christos 
    720  1.2  christos ACPI_PARSE_OBJECT *
    721  1.1    jruoho TrCreateValuedLeafNode (
    722  1.1    jruoho     UINT32                  ParseOpcode,
    723  1.1    jruoho     UINT64                  Value);
    724  1.1    jruoho 
    725  1.1    jruoho ACPI_PARSE_OBJECT *
    726  1.2  christos TrCreateConstantLeafNode (
    727  1.2  christos     UINT32                  ParseOpcode);
    728  1.2  christos 
    729  1.2  christos ACPI_PARSE_OBJECT *
    730  1.1    jruoho TrLinkChildren (
    731  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    732  1.1    jruoho     UINT32                  NumChildren,
    733  1.1    jruoho     ...);
    734  1.1    jruoho 
    735  1.1    jruoho void
    736  1.1    jruoho TrSetEndLineNumber (
    737  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    738  1.1    jruoho 
    739  1.1    jruoho void
    740  1.4  christos TrSetCurrentFilename (
    741  1.4  christos     ACPI_PARSE_OBJECT       *Op);
    742  1.4  christos 
    743  1.4  christos void
    744  1.1    jruoho TrWalkTree (
    745  1.1    jruoho     void);
    746  1.1    jruoho 
    747  1.1    jruoho ACPI_PARSE_OBJECT *
    748  1.1    jruoho TrLinkPeerNode (
    749  1.1    jruoho     ACPI_PARSE_OBJECT       *Op1,
    750  1.1    jruoho     ACPI_PARSE_OBJECT       *Op2);
    751  1.1    jruoho 
    752  1.1    jruoho ACPI_PARSE_OBJECT *
    753  1.1    jruoho TrLinkChildNode (
    754  1.1    jruoho     ACPI_PARSE_OBJECT       *Op1,
    755  1.1    jruoho     ACPI_PARSE_OBJECT       *Op2);
    756  1.1    jruoho 
    757  1.1    jruoho ACPI_PARSE_OBJECT *
    758  1.1    jruoho TrSetNodeFlags (
    759  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
    760  1.1    jruoho     UINT32                  Flags);
    761  1.1    jruoho 
    762  1.1    jruoho ACPI_PARSE_OBJECT *
    763  1.2  christos TrSetNodeAmlLength (
    764  1.2  christos     ACPI_PARSE_OBJECT       *Op,
    765  1.2  christos     UINT32                  Length);
    766  1.2  christos 
    767  1.2  christos ACPI_PARSE_OBJECT *
    768  1.1    jruoho TrLinkPeerNodes (
    769  1.1    jruoho     UINT32                  NumPeers,
    770  1.1    jruoho     ...);
    771  1.1    jruoho 
    772  1.1    jruoho 
    773  1.1    jruoho /*
    774  1.1    jruoho  * aslfiles - File I/O support
    775  1.1    jruoho  */
    776  1.1    jruoho void
    777  1.1    jruoho FlAddIncludeDirectory (
    778  1.1    jruoho     char                    *Dir);
    779  1.1    jruoho 
    780  1.2  christos char *
    781  1.2  christos FlMergePathnames (
    782  1.2  christos     char                    *PrefixDir,
    783  1.2  christos     char                    *FilePathname);
    784  1.2  christos 
    785  1.1    jruoho void
    786  1.1    jruoho FlOpenIncludeFile (
    787  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    788  1.1    jruoho 
    789  1.1    jruoho void
    790  1.1    jruoho FlFileError (
    791  1.1    jruoho     UINT32                  FileId,
    792  1.1    jruoho     UINT8                   ErrorId);
    793  1.1    jruoho 
    794  1.1    jruoho UINT32
    795  1.1    jruoho FlGetFileSize (
    796  1.1    jruoho     UINT32                  FileId);
    797  1.1    jruoho 
    798  1.1    jruoho ACPI_STATUS
    799  1.1    jruoho FlReadFile (
    800  1.1    jruoho     UINT32                  FileId,
    801  1.1    jruoho     void                    *Buffer,
    802  1.1    jruoho     UINT32                  Length);
    803  1.1    jruoho 
    804  1.1    jruoho void
    805  1.1    jruoho FlWriteFile (
    806  1.1    jruoho     UINT32                  FileId,
    807  1.1    jruoho     void                    *Buffer,
    808  1.1    jruoho     UINT32                  Length);
    809  1.1    jruoho 
    810  1.1    jruoho void
    811  1.1    jruoho FlSeekFile (
    812  1.1    jruoho     UINT32                  FileId,
    813  1.1    jruoho     long                    Offset);
    814  1.1    jruoho 
    815  1.1    jruoho void
    816  1.1    jruoho FlCloseFile (
    817  1.1    jruoho     UINT32                  FileId);
    818  1.1    jruoho 
    819  1.1    jruoho void
    820  1.1    jruoho FlPrintFile (
    821  1.1    jruoho     UINT32                  FileId,
    822  1.1    jruoho     char                    *Format,
    823  1.1    jruoho     ...);
    824  1.1    jruoho 
    825  1.1    jruoho void
    826  1.2  christos FlDeleteFile (
    827  1.2  christos     UINT32                  FileId);
    828  1.2  christos 
    829  1.2  christos void
    830  1.1    jruoho FlSetLineNumber (
    831  1.2  christos     UINT32                  LineNumber);
    832  1.2  christos 
    833  1.2  christos void
    834  1.2  christos FlSetFilename (
    835  1.2  christos     char                    *Filename);
    836  1.1    jruoho 
    837  1.1    jruoho ACPI_STATUS
    838  1.1    jruoho FlOpenInputFile (
    839  1.1    jruoho     char                    *InputFilename);
    840  1.1    jruoho 
    841  1.1    jruoho ACPI_STATUS
    842  1.1    jruoho FlOpenAmlOutputFile (
    843  1.1    jruoho     char                    *InputFilename);
    844  1.1    jruoho 
    845  1.1    jruoho ACPI_STATUS
    846  1.1    jruoho FlOpenMiscOutputFiles (
    847  1.1    jruoho     char                    *InputFilename);
    848  1.1    jruoho 
    849  1.2  christos /*
    850  1.2  christos  * aslhwmap - hardware map summary
    851  1.2  christos  */
    852  1.2  christos void
    853  1.2  christos MpEmitMappingInfo (
    854  1.2  christos     void);
    855  1.2  christos 
    856  1.1    jruoho 
    857  1.1    jruoho /*
    858  1.1    jruoho  * asload - load namespace in prep for cross reference
    859  1.1    jruoho  */
    860  1.1    jruoho ACPI_STATUS
    861  1.1    jruoho LdLoadNamespace (
    862  1.1    jruoho     ACPI_PARSE_OBJECT       *RootOp);
    863  1.1    jruoho 
    864  1.1    jruoho 
    865  1.1    jruoho /*
    866  1.2  christos  * asllookup - namespace lookup functions
    867  1.2  christos  */
    868  1.2  christos void
    869  1.2  christos LkFindUnreferencedObjects (
    870  1.2  christos     void);
    871  1.2  christos 
    872  1.2  christos /*
    873  1.2  christos  * aslmain - startup
    874  1.2  christos  */
    875  1.2  christos void
    876  1.2  christos Usage (
    877  1.2  christos     void);
    878  1.2  christos 
    879  1.2  christos void
    880  1.2  christos AslFilenameHelp (
    881  1.2  christos     void);
    882  1.2  christos 
    883  1.2  christos 
    884  1.2  christos /*
    885  1.2  christos  * aslnamesp - namespace output file generation
    886  1.1    jruoho  */
    887  1.1    jruoho ACPI_STATUS
    888  1.2  christos NsDisplayNamespace (
    889  1.1    jruoho     void);
    890  1.1    jruoho 
    891  1.1    jruoho void
    892  1.2  christos NsSetupNamespaceListing (
    893  1.2  christos     void                    *Handle);
    894  1.2  christos 
    895  1.2  christos /*
    896  1.2  christos  * asloptions - command line processing
    897  1.2  christos  */
    898  1.2  christos int
    899  1.2  christos AslCommandLine (
    900  1.2  christos     int                     argc,
    901  1.2  christos     char                    **argv);
    902  1.1    jruoho 
    903  1.2  christos /*
    904  1.2  christos  * aslxref - namespace cross reference
    905  1.2  christos  */
    906  1.1    jruoho ACPI_STATUS
    907  1.2  christos XfCrossReferenceNamespace (
    908  1.1    jruoho     void);
    909  1.1    jruoho 
    910  1.1    jruoho 
    911  1.1    jruoho /*
    912  1.1    jruoho  * aslutils - common compiler utilites
    913  1.1    jruoho  */
    914  1.1    jruoho void
    915  1.1    jruoho DbgPrint (
    916  1.1    jruoho     UINT32                  Type,
    917  1.1    jruoho     char                    *Format,
    918  1.1    jruoho     ...);
    919  1.1    jruoho 
    920  1.1    jruoho /* Type values for above */
    921  1.1    jruoho 
    922  1.1    jruoho #define ASL_DEBUG_OUTPUT    0
    923  1.1    jruoho #define ASL_PARSE_OUTPUT    1
    924  1.1    jruoho #define ASL_TREE_OUTPUT     2
    925  1.1    jruoho 
    926  1.4  christos BOOLEAN
    927  1.4  christos UtQueryForOverwrite (
    928  1.4  christos     char                    *Pathname);
    929  1.4  christos 
    930  1.1    jruoho void
    931  1.2  christos UtDisplaySupportedTables (
    932  1.2  christos     void);
    933  1.2  christos 
    934  1.2  christos void
    935  1.1    jruoho UtDisplayConstantOpcodes (
    936  1.1    jruoho     void);
    937  1.1    jruoho 
    938  1.1    jruoho UINT8
    939  1.1    jruoho UtBeginEvent (
    940  1.1    jruoho     char                    *Name);
    941  1.1    jruoho 
    942  1.1    jruoho void
    943  1.1    jruoho UtEndEvent (
    944  1.1    jruoho     UINT8                   Event);
    945  1.1    jruoho 
    946  1.1    jruoho void *
    947  1.1    jruoho UtLocalCalloc (
    948  1.1    jruoho     UINT32                  Size);
    949  1.1    jruoho 
    950  1.1    jruoho void
    951  1.2  christos UtLocalFree (
    952  1.2  christos     void		    *Allocated,
    953  1.2  christos     UINT32                  Size);
    954  1.2  christos 
    955  1.2  christos void
    956  1.1    jruoho UtPrintFormattedName (
    957  1.1    jruoho     UINT16                  ParseOpcode,
    958  1.1    jruoho     UINT32                  Level);
    959  1.1    jruoho 
    960  1.1    jruoho void
    961  1.1    jruoho UtDisplaySummary (
    962  1.1    jruoho     UINT32                  FileId);
    963  1.1    jruoho 
    964  1.1    jruoho void
    965  1.1    jruoho UtConvertByteToHex (
    966  1.1    jruoho     UINT8                   RawByte,
    967  1.1    jruoho     UINT8                   *Buffer);
    968  1.1    jruoho 
    969  1.1    jruoho void
    970  1.1    jruoho UtConvertByteToAsmHex (
    971  1.1    jruoho     UINT8                   RawByte,
    972  1.1    jruoho     UINT8                   *Buffer);
    973  1.1    jruoho 
    974  1.1    jruoho char *
    975  1.1    jruoho UtGetOpName (
    976  1.1    jruoho     UINT32                  ParseOpcode);
    977  1.1    jruoho 
    978  1.1    jruoho void
    979  1.1    jruoho UtSetParseOpName (
    980  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
    981  1.1    jruoho 
    982  1.1    jruoho char *
    983  1.2  christos UtStringCacheCalloc (
    984  1.1    jruoho     UINT32                  Length);
    985  1.1    jruoho 
    986  1.2  christos void
    987  1.2  christos UtExpandLineBuffers (
    988  1.2  christos     void);
    989  1.2  christos 
    990  1.2  christos void
    991  1.2  christos UtFreeLineBuffers (
    992  1.2  christos     void);
    993  1.2  christos 
    994  1.1    jruoho ACPI_STATUS
    995  1.1    jruoho UtInternalizeName (
    996  1.1    jruoho     char                    *ExternalName,
    997  1.1    jruoho     char                    **ConvertedName);
    998  1.1    jruoho 
    999  1.1    jruoho void
   1000  1.1    jruoho UtAttachNamepathToOwner (
   1001  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1002  1.1    jruoho     ACPI_PARSE_OBJECT       *NameNode);
   1003  1.1    jruoho 
   1004  1.1    jruoho ACPI_PARSE_OBJECT *
   1005  1.1    jruoho UtCheckIntegerRange (
   1006  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1007  1.1    jruoho     UINT32                  LowValue,
   1008  1.1    jruoho     UINT32                  HighValue);
   1009  1.1    jruoho 
   1010  1.1    jruoho UINT64
   1011  1.1    jruoho UtDoConstant (
   1012  1.1    jruoho     char                    *String);
   1013  1.1    jruoho 
   1014  1.2  christos ACPI_STATUS
   1015  1.3  christos stroul64 (
   1016  1.2  christos     char                    *String,
   1017  1.2  christos     UINT32                  Base,
   1018  1.2  christos     UINT64                  *RetInteger);
   1019  1.2  christos 
   1020  1.2  christos 
   1021  1.2  christos /*
   1022  1.2  christos  * asluuid - UUID support
   1023  1.2  christos  */
   1024  1.2  christos ACPI_STATUS
   1025  1.2  christos AuValidateUuid (
   1026  1.2  christos     char                    *InString);
   1027  1.2  christos 
   1028  1.2  christos ACPI_STATUS
   1029  1.2  christos AuConvertUuidToString (
   1030  1.2  christos     char                    *UuIdBuffer,
   1031  1.2  christos     char                    *OutString);
   1032  1.1    jruoho 
   1033  1.1    jruoho /*
   1034  1.1    jruoho  * aslresource - Resource template generation utilities
   1035  1.1    jruoho  */
   1036  1.1    jruoho void
   1037  1.1    jruoho RsSmallAddressCheck (
   1038  1.1    jruoho     UINT8                   Type,
   1039  1.1    jruoho     UINT32                  Minimum,
   1040  1.1    jruoho     UINT32                  Maximum,
   1041  1.1    jruoho     UINT32                  Length,
   1042  1.1    jruoho     UINT32                  Alignment,
   1043  1.1    jruoho     ACPI_PARSE_OBJECT       *MinOp,
   1044  1.1    jruoho     ACPI_PARSE_OBJECT       *MaxOp,
   1045  1.1    jruoho     ACPI_PARSE_OBJECT       *LengthOp,
   1046  1.2  christos     ACPI_PARSE_OBJECT       *AlignOp,
   1047  1.2  christos     ACPI_PARSE_OBJECT       *Op);
   1048  1.1    jruoho 
   1049  1.1    jruoho void
   1050  1.1    jruoho RsLargeAddressCheck (
   1051  1.1    jruoho     UINT64                  Minimum,
   1052  1.1    jruoho     UINT64                  Maximum,
   1053  1.1    jruoho     UINT64                  Length,
   1054  1.1    jruoho     UINT64                  Granularity,
   1055  1.1    jruoho     UINT8                   Flags,
   1056  1.1    jruoho     ACPI_PARSE_OBJECT       *MinOp,
   1057  1.1    jruoho     ACPI_PARSE_OBJECT       *MaxOp,
   1058  1.1    jruoho     ACPI_PARSE_OBJECT       *LengthOp,
   1059  1.2  christos     ACPI_PARSE_OBJECT       *GranOp,
   1060  1.2  christos     ACPI_PARSE_OBJECT       *Op);
   1061  1.1    jruoho 
   1062  1.1    jruoho UINT16
   1063  1.1    jruoho RsGetStringDataLength (
   1064  1.1    jruoho     ACPI_PARSE_OBJECT       *InitializerOp);
   1065  1.1    jruoho 
   1066  1.1    jruoho ASL_RESOURCE_NODE *
   1067  1.1    jruoho RsAllocateResourceNode (
   1068  1.1    jruoho     UINT32                  Size);
   1069  1.1    jruoho 
   1070  1.1    jruoho void
   1071  1.2  christos RsCreateResourceField (
   1072  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1073  1.1    jruoho     char                    *Name,
   1074  1.1    jruoho     UINT32                  ByteOffset,
   1075  1.2  christos     UINT32                  BitOffset,
   1076  1.2  christos     UINT32                  BitLength);
   1077  1.1    jruoho 
   1078  1.1    jruoho void
   1079  1.2  christos RsSetFlagBits (
   1080  1.2  christos     UINT8                   *Flags,
   1081  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1082  1.2  christos     UINT8                   Position,
   1083  1.2  christos     UINT8                   DefaultBit);
   1084  1.1    jruoho 
   1085  1.1    jruoho void
   1086  1.2  christos RsSetFlagBits16 (
   1087  1.2  christos     UINT16                  *Flags,
   1088  1.1    jruoho     ACPI_PARSE_OBJECT       *Op,
   1089  1.1    jruoho     UINT8                   Position,
   1090  1.1    jruoho     UINT8                   DefaultBit);
   1091  1.1    jruoho 
   1092  1.1    jruoho ACPI_PARSE_OBJECT *
   1093  1.1    jruoho RsCompleteNodeAndGetNext (
   1094  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
   1095  1.1    jruoho 
   1096  1.1    jruoho void
   1097  1.1    jruoho RsCheckListForDuplicates (
   1098  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
   1099  1.1    jruoho 
   1100  1.1    jruoho ASL_RESOURCE_NODE *
   1101  1.1    jruoho RsDoOneResourceDescriptor (
   1102  1.2  christos     ASL_RESOURCE_INFO       *Info,
   1103  1.1    jruoho     UINT8                   *State);
   1104  1.1    jruoho 
   1105  1.1    jruoho /* Values for State above */
   1106  1.1    jruoho 
   1107  1.1    jruoho #define ACPI_RSTATE_NORMAL              0
   1108  1.1    jruoho #define ACPI_RSTATE_START_DEPENDENT     1
   1109  1.1    jruoho #define ACPI_RSTATE_DEPENDENT_LIST      2
   1110  1.1    jruoho 
   1111  1.1    jruoho UINT32
   1112  1.1    jruoho RsLinkDescriptorChain (
   1113  1.1    jruoho     ASL_RESOURCE_NODE       **PreviousRnode,
   1114  1.1    jruoho     ASL_RESOURCE_NODE       *Rnode);
   1115  1.1    jruoho 
   1116  1.1    jruoho void
   1117  1.1    jruoho RsDoResourceTemplate (
   1118  1.1    jruoho     ACPI_PARSE_OBJECT       *Op);
   1119  1.1    jruoho 
   1120  1.1    jruoho 
   1121  1.1    jruoho /*
   1122  1.1    jruoho  * aslrestype1 - Miscellaneous Small descriptors
   1123  1.1    jruoho  */
   1124  1.1    jruoho ASL_RESOURCE_NODE *
   1125  1.1    jruoho RsDoEndTagDescriptor (
   1126  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1127  1.1    jruoho 
   1128  1.1    jruoho ASL_RESOURCE_NODE *
   1129  1.1    jruoho RsDoEndDependentDescriptor (
   1130  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1131  1.1    jruoho 
   1132  1.1    jruoho ASL_RESOURCE_NODE *
   1133  1.1    jruoho RsDoMemory24Descriptor (
   1134  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1135  1.1    jruoho 
   1136  1.1    jruoho ASL_RESOURCE_NODE *
   1137  1.1    jruoho RsDoMemory32Descriptor (
   1138  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1139  1.1    jruoho 
   1140  1.1    jruoho ASL_RESOURCE_NODE *
   1141  1.1    jruoho RsDoMemory32FixedDescriptor (
   1142  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1143  1.1    jruoho 
   1144  1.1    jruoho ASL_RESOURCE_NODE *
   1145  1.1    jruoho RsDoStartDependentDescriptor (
   1146  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1147  1.1    jruoho 
   1148  1.1    jruoho ASL_RESOURCE_NODE *
   1149  1.1    jruoho RsDoStartDependentNoPriDescriptor (
   1150  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1151  1.1    jruoho 
   1152  1.1    jruoho ASL_RESOURCE_NODE *
   1153  1.1    jruoho RsDoVendorSmallDescriptor (
   1154  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1155  1.1    jruoho 
   1156  1.1    jruoho 
   1157  1.1    jruoho /*
   1158  1.1    jruoho  * aslrestype1i - I/O-related Small descriptors
   1159  1.1    jruoho  */
   1160  1.1    jruoho ASL_RESOURCE_NODE *
   1161  1.1    jruoho RsDoDmaDescriptor (
   1162  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1163  1.2  christos 
   1164  1.2  christos ASL_RESOURCE_NODE *
   1165  1.2  christos RsDoFixedDmaDescriptor (
   1166  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1167  1.1    jruoho 
   1168  1.1    jruoho ASL_RESOURCE_NODE *
   1169  1.1    jruoho RsDoFixedIoDescriptor (
   1170  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1171  1.1    jruoho 
   1172  1.1    jruoho ASL_RESOURCE_NODE *
   1173  1.1    jruoho RsDoIoDescriptor (
   1174  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1175  1.1    jruoho 
   1176  1.1    jruoho ASL_RESOURCE_NODE *
   1177  1.1    jruoho RsDoIrqDescriptor (
   1178  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1179  1.1    jruoho 
   1180  1.1    jruoho ASL_RESOURCE_NODE *
   1181  1.1    jruoho RsDoIrqNoFlagsDescriptor (
   1182  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1183  1.1    jruoho 
   1184  1.1    jruoho 
   1185  1.1    jruoho /*
   1186  1.1    jruoho  * aslrestype2 - Large resource descriptors
   1187  1.1    jruoho  */
   1188  1.1    jruoho ASL_RESOURCE_NODE *
   1189  1.1    jruoho RsDoInterruptDescriptor (
   1190  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1191  1.1    jruoho 
   1192  1.1    jruoho ASL_RESOURCE_NODE *
   1193  1.1    jruoho RsDoVendorLargeDescriptor (
   1194  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1195  1.1    jruoho 
   1196  1.1    jruoho ASL_RESOURCE_NODE *
   1197  1.1    jruoho RsDoGeneralRegisterDescriptor (
   1198  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1199  1.2  christos 
   1200  1.2  christos ASL_RESOURCE_NODE *
   1201  1.2  christos RsDoGpioIntDescriptor (
   1202  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1203  1.2  christos 
   1204  1.2  christos ASL_RESOURCE_NODE *
   1205  1.2  christos RsDoGpioIoDescriptor (
   1206  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1207  1.2  christos 
   1208  1.2  christos ASL_RESOURCE_NODE *
   1209  1.2  christos RsDoI2cSerialBusDescriptor (
   1210  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1211  1.2  christos 
   1212  1.2  christos ASL_RESOURCE_NODE *
   1213  1.2  christos RsDoSpiSerialBusDescriptor (
   1214  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1215  1.1    jruoho 
   1216  1.2  christos ASL_RESOURCE_NODE *
   1217  1.2  christos RsDoUartSerialBusDescriptor (
   1218  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1219  1.1    jruoho 
   1220  1.1    jruoho /*
   1221  1.1    jruoho  * aslrestype2d - DWord address descriptors
   1222  1.1    jruoho  */
   1223  1.1    jruoho ASL_RESOURCE_NODE *
   1224  1.1    jruoho RsDoDwordIoDescriptor (
   1225  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1226  1.1    jruoho 
   1227  1.1    jruoho ASL_RESOURCE_NODE *
   1228  1.1    jruoho RsDoDwordMemoryDescriptor (
   1229  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1230  1.1    jruoho 
   1231  1.1    jruoho ASL_RESOURCE_NODE *
   1232  1.1    jruoho RsDoDwordSpaceDescriptor (
   1233  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1234  1.1    jruoho 
   1235  1.1    jruoho 
   1236  1.1    jruoho /*
   1237  1.1    jruoho  * aslrestype2e - Extended address descriptors
   1238  1.1    jruoho  */
   1239  1.1    jruoho ASL_RESOURCE_NODE *
   1240  1.1    jruoho RsDoExtendedIoDescriptor (
   1241  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1242  1.1    jruoho 
   1243  1.1    jruoho ASL_RESOURCE_NODE *
   1244  1.1    jruoho RsDoExtendedMemoryDescriptor (
   1245  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1246  1.1    jruoho 
   1247  1.1    jruoho ASL_RESOURCE_NODE *
   1248  1.1    jruoho RsDoExtendedSpaceDescriptor (
   1249  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1250  1.1    jruoho 
   1251  1.1    jruoho 
   1252  1.1    jruoho /*
   1253  1.1    jruoho  * aslrestype2q - QWord address descriptors
   1254  1.1    jruoho  */
   1255  1.1    jruoho ASL_RESOURCE_NODE *
   1256  1.1    jruoho RsDoQwordIoDescriptor (
   1257  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1258  1.1    jruoho 
   1259  1.1    jruoho ASL_RESOURCE_NODE *
   1260  1.1    jruoho RsDoQwordMemoryDescriptor (
   1261  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1262  1.1    jruoho 
   1263  1.1    jruoho ASL_RESOURCE_NODE *
   1264  1.1    jruoho RsDoQwordSpaceDescriptor (
   1265  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1266  1.1    jruoho 
   1267  1.1    jruoho 
   1268  1.1    jruoho /*
   1269  1.1    jruoho  * aslrestype2w - Word address descriptors
   1270  1.1    jruoho  */
   1271  1.1    jruoho ASL_RESOURCE_NODE *
   1272  1.1    jruoho RsDoWordIoDescriptor (
   1273  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1274  1.1    jruoho 
   1275  1.1    jruoho ASL_RESOURCE_NODE *
   1276  1.1    jruoho RsDoWordSpaceDescriptor (
   1277  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1278  1.1    jruoho 
   1279  1.1    jruoho ASL_RESOURCE_NODE *
   1280  1.1    jruoho RsDoWordBusNumberDescriptor (
   1281  1.2  christos     ASL_RESOURCE_INFO       *Info);
   1282  1.2  christos 
   1283  1.1    jruoho 
   1284  1.1    jruoho /*
   1285  1.1    jruoho  * Entry to data table compiler subsystem
   1286  1.1    jruoho  */
   1287  1.1    jruoho ACPI_STATUS
   1288  1.1    jruoho DtDoCompile(
   1289  1.1    jruoho     void);
   1290  1.1    jruoho 
   1291  1.2  christos ACPI_STATUS
   1292  1.2  christos DtCreateTemplates (
   1293  1.4  christos     char                    **argv);
   1294  1.2  christos 
   1295  1.1    jruoho #endif /*  __ASLCOMPILER_H */
   1296