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