153289f6aSNate Lawson 253289f6aSNate Lawson /****************************************************************************** 353289f6aSNate Lawson * 4fba7fc7eSJung-uk Kim * Module Name: aslcompiler.h - common include file for iASL 553289f6aSNate Lawson * 653289f6aSNate Lawson *****************************************************************************/ 753289f6aSNate Lawson 853289f6aSNate Lawson /****************************************************************************** 953289f6aSNate Lawson * 1053289f6aSNate Lawson * 1. Copyright Notice 1153289f6aSNate Lawson * 129a179dd8SJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp. 1353289f6aSNate Lawson * All rights reserved. 1453289f6aSNate Lawson * 1553289f6aSNate Lawson * 2. License 1653289f6aSNate Lawson * 1753289f6aSNate Lawson * 2.1. This is your license from Intel Corp. under its intellectual property 1853289f6aSNate Lawson * rights. You may have additional license terms from the party that provided 1953289f6aSNate Lawson * you this software, covering your right to use that party's intellectual 2053289f6aSNate Lawson * property rights. 2153289f6aSNate Lawson * 2253289f6aSNate Lawson * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 2353289f6aSNate Lawson * copy of the source code appearing in this file ("Covered Code") an 2453289f6aSNate Lawson * irrevocable, perpetual, worldwide license under Intel's copyrights in the 2553289f6aSNate Lawson * base code distributed originally by Intel ("Original Intel Code") to copy, 2653289f6aSNate Lawson * make derivatives, distribute, use and display any portion of the Covered 2753289f6aSNate Lawson * Code in any form, with the right to sublicense such rights; and 2853289f6aSNate Lawson * 2953289f6aSNate Lawson * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 3053289f6aSNate Lawson * license (with the right to sublicense), under only those claims of Intel 3153289f6aSNate Lawson * patents that are infringed by the Original Intel Code, to make, use, sell, 3253289f6aSNate Lawson * offer to sell, and import the Covered Code and derivative works thereof 3353289f6aSNate Lawson * solely to the minimum extent necessary to exercise the above copyright 3453289f6aSNate Lawson * license, and in no event shall the patent license extend to any additions 3553289f6aSNate Lawson * to or modifications of the Original Intel Code. No other license or right 3653289f6aSNate Lawson * is granted directly or by implication, estoppel or otherwise; 3753289f6aSNate Lawson * 3853289f6aSNate Lawson * The above copyright and patent license is granted only if the following 3953289f6aSNate Lawson * conditions are met: 4053289f6aSNate Lawson * 4153289f6aSNate Lawson * 3. Conditions 4253289f6aSNate Lawson * 4353289f6aSNate Lawson * 3.1. Redistribution of Source with Rights to Further Distribute Source. 4453289f6aSNate Lawson * Redistribution of source code of any substantial portion of the Covered 4553289f6aSNate Lawson * Code or modification with rights to further distribute source must include 4653289f6aSNate Lawson * the above Copyright Notice, the above License, this list of Conditions, 4753289f6aSNate Lawson * and the following Disclaimer and Export Compliance provision. In addition, 4853289f6aSNate Lawson * Licensee must cause all Covered Code to which Licensee contributes to 4953289f6aSNate Lawson * contain a file documenting the changes Licensee made to create that Covered 5053289f6aSNate Lawson * Code and the date of any change. Licensee must include in that file the 5153289f6aSNate Lawson * documentation of any changes made by any predecessor Licensee. Licensee 5253289f6aSNate Lawson * must include a prominent statement that the modification is derived, 5353289f6aSNate Lawson * directly or indirectly, from Original Intel Code. 5453289f6aSNate Lawson * 5553289f6aSNate Lawson * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 5653289f6aSNate Lawson * Redistribution of source code of any substantial portion of the Covered 5753289f6aSNate Lawson * Code or modification without rights to further distribute source must 5853289f6aSNate Lawson * include the following Disclaimer and Export Compliance provision in the 5953289f6aSNate Lawson * documentation and/or other materials provided with distribution. In 6053289f6aSNate Lawson * addition, Licensee may not authorize further sublicense of source of any 6153289f6aSNate Lawson * portion of the Covered Code, and must include terms to the effect that the 6253289f6aSNate Lawson * license from Licensee to its licensee is limited to the intellectual 6353289f6aSNate Lawson * property embodied in the software Licensee provides to its licensee, and 6453289f6aSNate Lawson * not to intellectual property embodied in modifications its licensee may 6553289f6aSNate Lawson * make. 6653289f6aSNate Lawson * 6753289f6aSNate Lawson * 3.3. Redistribution of Executable. Redistribution in executable form of any 6853289f6aSNate Lawson * substantial portion of the Covered Code or modification must reproduce the 6953289f6aSNate Lawson * above Copyright Notice, and the following Disclaimer and Export Compliance 7053289f6aSNate Lawson * provision in the documentation and/or other materials provided with the 7153289f6aSNate Lawson * distribution. 7253289f6aSNate Lawson * 7353289f6aSNate Lawson * 3.4. Intel retains all right, title, and interest in and to the Original 7453289f6aSNate Lawson * Intel Code. 7553289f6aSNate Lawson * 7653289f6aSNate Lawson * 3.5. Neither the name Intel nor any other trademark owned or controlled by 7753289f6aSNate Lawson * Intel shall be used in advertising or otherwise to promote the sale, use or 7853289f6aSNate Lawson * other dealings in products derived from or relating to the Covered Code 7953289f6aSNate Lawson * without prior written authorization from Intel. 8053289f6aSNate Lawson * 8153289f6aSNate Lawson * 4. Disclaimer and Export Compliance 8253289f6aSNate Lawson * 8353289f6aSNate Lawson * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 8453289f6aSNate Lawson * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 8553289f6aSNate Lawson * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 8653289f6aSNate Lawson * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 8753289f6aSNate Lawson * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 8853289f6aSNate Lawson * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 8953289f6aSNate Lawson * PARTICULAR PURPOSE. 9053289f6aSNate Lawson * 9153289f6aSNate Lawson * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 9253289f6aSNate Lawson * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 9353289f6aSNate Lawson * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 9453289f6aSNate Lawson * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 9553289f6aSNate Lawson * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 9653289f6aSNate Lawson * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 9753289f6aSNate Lawson * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 9853289f6aSNate Lawson * LIMITED REMEDY. 9953289f6aSNate Lawson * 10053289f6aSNate Lawson * 4.3. Licensee shall not export, either directly or indirectly, any of this 10153289f6aSNate Lawson * software or system incorporating such software without first obtaining any 10253289f6aSNate Lawson * required license or other approval from the U. S. Department of Commerce or 10353289f6aSNate Lawson * any other agency or department of the United States Government. In the 10453289f6aSNate Lawson * event Licensee exports any such software from the United States or 10553289f6aSNate Lawson * re-exports any such software from a foreign destination, Licensee shall 10653289f6aSNate Lawson * ensure that the distribution and export/re-export of the software is in 10753289f6aSNate Lawson * compliance with all laws, regulations, orders, or other restrictions of the 10853289f6aSNate Lawson * U.S. Export Administration Regulations. Licensee agrees that neither it nor 10953289f6aSNate Lawson * any of its subsidiaries will export/re-export any technical data, process, 11053289f6aSNate Lawson * software, or service, directly or indirectly, to any country for which the 11153289f6aSNate Lawson * United States government or any agency thereof requires an export license, 11253289f6aSNate Lawson * other governmental approval, or letter of assurance, without first obtaining 11353289f6aSNate Lawson * such license, approval or letter. 11453289f6aSNate Lawson * 11553289f6aSNate Lawson *****************************************************************************/ 11653289f6aSNate Lawson 11753289f6aSNate Lawson 11853289f6aSNate Lawson #ifndef __ASLCOMPILER_H 11953289f6aSNate Lawson #define __ASLCOMPILER_H 12053289f6aSNate Lawson 12153289f6aSNate Lawson 12253289f6aSNate Lawson /* Microsoft-specific */ 12353289f6aSNate Lawson 12453289f6aSNate Lawson #if (defined WIN32 || defined WIN64) 12553289f6aSNate Lawson 12653289f6aSNate Lawson /* warn : used #pragma pack */ 12753289f6aSNate Lawson #pragma warning(disable:4103) 12853289f6aSNate Lawson 12953289f6aSNate Lawson /* warn : named type definition in parentheses */ 13053289f6aSNate Lawson #pragma warning(disable:4115) 13153289f6aSNate Lawson #endif 13253289f6aSNate Lawson 13353289f6aSNate Lawson #include <stdio.h> 13453289f6aSNate Lawson #include <stdlib.h> 13553289f6aSNate Lawson #include <stdarg.h> 13653289f6aSNate Lawson #include <string.h> 13753289f6aSNate Lawson #include <errno.h> 13853289f6aSNate Lawson #include <ctype.h> 13953289f6aSNate Lawson 14053289f6aSNate Lawson 141ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h> 142ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h> 143ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/amlresrc.h> 144ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/acdebug.h> 14553289f6aSNate Lawson 146fba7fc7eSJung-uk Kim /* Compiler headers */ 14753289f6aSNate Lawson 148ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/asldefine.h> 149ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/asltypes.h> 150ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/aslglobal.h> 15153289f6aSNate Lawson 15253289f6aSNate Lawson 15353289f6aSNate Lawson /******************************************************************************* 15453289f6aSNate Lawson * 15553289f6aSNate Lawson * Compiler prototypes 15653289f6aSNate Lawson * 15753289f6aSNate Lawson ******************************************************************************/ 15853289f6aSNate Lawson 159fba7fc7eSJung-uk Kim /* 160fba7fc7eSJung-uk Kim * parser - generated from flex/bison, lex/yacc, etc. 161fba7fc7eSJung-uk Kim */ 16253289f6aSNate Lawson int 16353289f6aSNate Lawson AslCompilerparse( 16453289f6aSNate Lawson void); 16553289f6aSNate Lawson 16653289f6aSNate Lawson ACPI_PARSE_OBJECT * 16753289f6aSNate Lawson AslDoError ( 16853289f6aSNate Lawson void); 16953289f6aSNate Lawson 17053289f6aSNate Lawson int 17153289f6aSNate Lawson AslCompilerlex( 17253289f6aSNate Lawson void); 17353289f6aSNate Lawson 17453289f6aSNate Lawson void 17553289f6aSNate Lawson ResetCurrentLineBuffer ( 17653289f6aSNate Lawson void); 17753289f6aSNate Lawson 17853289f6aSNate Lawson void 17953289f6aSNate Lawson InsertLineBuffer ( 18053289f6aSNate Lawson int SourceChar); 18153289f6aSNate Lawson 18253289f6aSNate Lawson int 18353289f6aSNate Lawson AslPopInputFileStack ( 18453289f6aSNate Lawson void); 18553289f6aSNate Lawson 18653289f6aSNate Lawson void 18753289f6aSNate Lawson AslPushInputFileStack ( 18853289f6aSNate Lawson FILE *InputFile, 18953289f6aSNate Lawson char *Filename); 19053289f6aSNate Lawson 191a9f12690SJung-uk Kim /* 192a9f12690SJung-uk Kim * aslstartup - called from main 193a9f12690SJung-uk Kim */ 194a9f12690SJung-uk Kim ACPI_STATUS 195a9f12690SJung-uk Kim AslDoOnePathname ( 196a9f12690SJung-uk Kim char *Pathname); 197a9f12690SJung-uk Kim 198a9f12690SJung-uk Kim ACPI_STATUS 199a9f12690SJung-uk Kim AslDoOneFile ( 200a9f12690SJung-uk Kim char *Filename); 20153289f6aSNate Lawson 202fba7fc7eSJung-uk Kim /* 203fba7fc7eSJung-uk Kim * aslcompile - compile mainline 204fba7fc7eSJung-uk Kim */ 20553289f6aSNate Lawson void 20653289f6aSNate Lawson AslCompilerSignon ( 20753289f6aSNate Lawson UINT32 FileId); 20853289f6aSNate Lawson 20953289f6aSNate Lawson void 21053289f6aSNate Lawson AslCompilerFileHeader ( 21153289f6aSNate Lawson UINT32 FileId); 21253289f6aSNate Lawson 21353289f6aSNate Lawson int 214fba7fc7eSJung-uk Kim CmDoCompile ( 21553289f6aSNate Lawson void); 21653289f6aSNate Lawson 21753289f6aSNate Lawson void 218fba7fc7eSJung-uk Kim CmDoOutputFiles ( 21953289f6aSNate Lawson void); 22053289f6aSNate Lawson 22153289f6aSNate Lawson void 222fba7fc7eSJung-uk Kim CmCleanupAndExit ( 22353289f6aSNate Lawson void); 22453289f6aSNate Lawson 22553289f6aSNate Lawson 22653289f6aSNate Lawson /* 227fba7fc7eSJung-uk Kim * aslanalyze - semantic analysis 22853289f6aSNate Lawson */ 22953289f6aSNate Lawson ACPI_STATUS 23053289f6aSNate Lawson AnOtherSemanticAnalysisWalkBegin ( 23153289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 23253289f6aSNate Lawson UINT32 Level, 23353289f6aSNate Lawson void *Context); 23453289f6aSNate Lawson 23553289f6aSNate Lawson ACPI_STATUS 23653289f6aSNate Lawson AnOtherSemanticAnalysisWalkEnd ( 23753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 23853289f6aSNate Lawson UINT32 Level, 23953289f6aSNate Lawson void *Context); 24053289f6aSNate Lawson 24153289f6aSNate Lawson ACPI_STATUS 24253289f6aSNate Lawson AnOperandTypecheckWalkBegin ( 24353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 24453289f6aSNate Lawson UINT32 Level, 24553289f6aSNate Lawson void *Context); 24653289f6aSNate Lawson 24753289f6aSNate Lawson ACPI_STATUS 24853289f6aSNate Lawson AnOperandTypecheckWalkEnd ( 24953289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 25053289f6aSNate Lawson UINT32 Level, 25153289f6aSNate Lawson void *Context); 25253289f6aSNate Lawson 25353289f6aSNate Lawson ACPI_STATUS 25453289f6aSNate Lawson AnMethodAnalysisWalkBegin ( 25553289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 25653289f6aSNate Lawson UINT32 Level, 25753289f6aSNate Lawson void *Context); 25853289f6aSNate Lawson 25953289f6aSNate Lawson ACPI_STATUS 26053289f6aSNate Lawson AnMethodAnalysisWalkEnd ( 26153289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 26253289f6aSNate Lawson UINT32 Level, 26353289f6aSNate Lawson void *Context); 26453289f6aSNate Lawson 26553289f6aSNate Lawson ACPI_STATUS 26653289f6aSNate Lawson AnMethodTypingWalkBegin ( 26753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 26853289f6aSNate Lawson UINT32 Level, 26953289f6aSNate Lawson void *Context); 27053289f6aSNate Lawson 27153289f6aSNate Lawson ACPI_STATUS 27253289f6aSNate Lawson AnMethodTypingWalkEnd ( 27353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 27453289f6aSNate Lawson UINT32 Level, 27553289f6aSNate Lawson void *Context); 27653289f6aSNate Lawson 27753289f6aSNate Lawson 27853289f6aSNate Lawson /* 279fba7fc7eSJung-uk Kim * aslerror - error handling/reporting 28053289f6aSNate Lawson */ 281fba7fc7eSJung-uk Kim void 282fba7fc7eSJung-uk Kim AslError ( 283fba7fc7eSJung-uk Kim UINT8 Level, 284fba7fc7eSJung-uk Kim UINT8 MessageId, 285fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 286fba7fc7eSJung-uk Kim char *ExtraMessage); 28753289f6aSNate Lawson 28853289f6aSNate Lawson void 289fba7fc7eSJung-uk Kim AslCoreSubsystemError ( 290fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 291fba7fc7eSJung-uk Kim ACPI_STATUS Status, 292fba7fc7eSJung-uk Kim char *ExtraMessage, 293fba7fc7eSJung-uk Kim BOOLEAN Abort); 29453289f6aSNate Lawson 295fba7fc7eSJung-uk Kim int 296fba7fc7eSJung-uk Kim AslCompilererror( 297fba7fc7eSJung-uk Kim char *s); 298fba7fc7eSJung-uk Kim 299fba7fc7eSJung-uk Kim void 300fba7fc7eSJung-uk Kim AslCommonError ( 301fba7fc7eSJung-uk Kim UINT8 Level, 302fba7fc7eSJung-uk Kim UINT8 MessageId, 303fba7fc7eSJung-uk Kim UINT32 CurrentLineNumber, 304fba7fc7eSJung-uk Kim UINT32 LogicalLineNumber, 305fba7fc7eSJung-uk Kim UINT32 LogicalByteOffset, 306fba7fc7eSJung-uk Kim UINT32 Column, 307fba7fc7eSJung-uk Kim char *Filename, 308fba7fc7eSJung-uk Kim char *ExtraMessage); 309fba7fc7eSJung-uk Kim 310fba7fc7eSJung-uk Kim void 311fba7fc7eSJung-uk Kim AePrintException ( 312fba7fc7eSJung-uk Kim UINT32 FileId, 313fba7fc7eSJung-uk Kim ASL_ERROR_MSG *Enode, 314fba7fc7eSJung-uk Kim char *Header); 315fba7fc7eSJung-uk Kim 316fba7fc7eSJung-uk Kim void 317fba7fc7eSJung-uk Kim AePrintErrorLog ( 318fba7fc7eSJung-uk Kim UINT32 FileId); 319fba7fc7eSJung-uk Kim 320a9f12690SJung-uk Kim void 321a9f12690SJung-uk Kim AeClearErrorLog ( 322a9f12690SJung-uk Kim void); 323a9f12690SJung-uk Kim 3241a39cfb0SJung-uk Kim ACPI_PHYSICAL_ADDRESS 325fba7fc7eSJung-uk Kim AeLocalGetRootPointer ( 3261a39cfb0SJung-uk Kim void); 327fba7fc7eSJung-uk Kim 328fba7fc7eSJung-uk Kim 329fba7fc7eSJung-uk Kim /* 330fba7fc7eSJung-uk Kim * asllisting - generate all "listing" type files 331fba7fc7eSJung-uk Kim */ 332fba7fc7eSJung-uk Kim void 333fba7fc7eSJung-uk Kim LsDoListings ( 334fba7fc7eSJung-uk Kim void); 335fba7fc7eSJung-uk Kim 336fba7fc7eSJung-uk Kim void 337fba7fc7eSJung-uk Kim LsWriteNodeToAsmListing ( 338fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 339fba7fc7eSJung-uk Kim 340fba7fc7eSJung-uk Kim void 341fba7fc7eSJung-uk Kim LsWriteNode ( 342fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 343fba7fc7eSJung-uk Kim UINT32 FileId); 344fba7fc7eSJung-uk Kim 345fba7fc7eSJung-uk Kim void 346fba7fc7eSJung-uk Kim LsDoHexOutput ( 347fba7fc7eSJung-uk Kim void); 348fba7fc7eSJung-uk Kim 3491a39cfb0SJung-uk Kim void 3501a39cfb0SJung-uk Kim LsDumpParseTree ( 3511a39cfb0SJung-uk Kim void); 352fba7fc7eSJung-uk Kim 353fba7fc7eSJung-uk Kim /* 354fba7fc7eSJung-uk Kim * aslfold - constant folding 355fba7fc7eSJung-uk Kim */ 356fba7fc7eSJung-uk Kim ACPI_STATUS 357fba7fc7eSJung-uk Kim OpcAmlConstantWalk ( 358fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 359fba7fc7eSJung-uk Kim UINT32 Level, 360fba7fc7eSJung-uk Kim void *Context); 361fba7fc7eSJung-uk Kim 362fba7fc7eSJung-uk Kim 363fba7fc7eSJung-uk Kim /* 364fba7fc7eSJung-uk Kim * aslopcodes - generate AML opcodes 365fba7fc7eSJung-uk Kim */ 366fba7fc7eSJung-uk Kim ACPI_STATUS 367fba7fc7eSJung-uk Kim OpcAmlOpcodeWalk ( 368fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 369fba7fc7eSJung-uk Kim UINT32 Level, 370fba7fc7eSJung-uk Kim void *Context); 371fba7fc7eSJung-uk Kim 372fba7fc7eSJung-uk Kim ACPI_STATUS 373fba7fc7eSJung-uk Kim OpcAmlOpcodeUpdateWalk ( 374fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 375fba7fc7eSJung-uk Kim UINT32 Level, 376fba7fc7eSJung-uk Kim void *Context); 377fba7fc7eSJung-uk Kim 378fba7fc7eSJung-uk Kim void 379fba7fc7eSJung-uk Kim OpcGenerateAmlOpcode ( 380fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 381fba7fc7eSJung-uk Kim 382fba7fc7eSJung-uk Kim UINT32 383fba7fc7eSJung-uk Kim OpcSetOptimalIntegerSize ( 384fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 385fba7fc7eSJung-uk Kim 386fba7fc7eSJung-uk Kim void 387fba7fc7eSJung-uk Kim OpcGetIntegerWidth ( 388fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 389fba7fc7eSJung-uk Kim 390fba7fc7eSJung-uk Kim 391fba7fc7eSJung-uk Kim /* 392fba7fc7eSJung-uk Kim * asloperands - generate AML operands for the AML opcodes 393fba7fc7eSJung-uk Kim */ 394fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 395fba7fc7eSJung-uk Kim UtGetArg ( 396fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 397fba7fc7eSJung-uk Kim UINT32 Argn); 398fba7fc7eSJung-uk Kim 399fba7fc7eSJung-uk Kim void 400fba7fc7eSJung-uk Kim OpnGenerateAmlOperands ( 401fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 402fba7fc7eSJung-uk Kim 403fba7fc7eSJung-uk Kim void 404fba7fc7eSJung-uk Kim OpnDoPackage ( 405fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 406fba7fc7eSJung-uk Kim 407fba7fc7eSJung-uk Kim 408fba7fc7eSJung-uk Kim /* 409fba7fc7eSJung-uk Kim * aslopt - optmization 410fba7fc7eSJung-uk Kim */ 411fba7fc7eSJung-uk Kim void 412fba7fc7eSJung-uk Kim OptOptimizeNamePath ( 413fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 414fba7fc7eSJung-uk Kim UINT32 Flags, 415fba7fc7eSJung-uk Kim ACPI_WALK_STATE *WalkState, 416fba7fc7eSJung-uk Kim char *AmlNameString, 417fba7fc7eSJung-uk Kim ACPI_NAMESPACE_NODE *TargetNode); 418fba7fc7eSJung-uk Kim 419fba7fc7eSJung-uk Kim 420fba7fc7eSJung-uk Kim /* 421fba7fc7eSJung-uk Kim * aslcodegen - code generation 422fba7fc7eSJung-uk Kim */ 423fba7fc7eSJung-uk Kim void 424fba7fc7eSJung-uk Kim CgGenerateAmlOutput ( 425fba7fc7eSJung-uk Kim void); 426fba7fc7eSJung-uk Kim 427fba7fc7eSJung-uk Kim 428fba7fc7eSJung-uk Kim /* 429fba7fc7eSJung-uk Kim * asllength - calculate/adjust AML package lengths 430fba7fc7eSJung-uk Kim */ 431fba7fc7eSJung-uk Kim ACPI_STATUS 432fba7fc7eSJung-uk Kim LnPackageLengthWalk ( 433fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 434fba7fc7eSJung-uk Kim UINT32 Level, 435fba7fc7eSJung-uk Kim void *Context); 436fba7fc7eSJung-uk Kim 437fba7fc7eSJung-uk Kim ACPI_STATUS 438fba7fc7eSJung-uk Kim LnInitLengthsWalk ( 439fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 440fba7fc7eSJung-uk Kim UINT32 Level, 441fba7fc7eSJung-uk Kim void *Context); 442fba7fc7eSJung-uk Kim 443fba7fc7eSJung-uk Kim void 444fba7fc7eSJung-uk Kim CgGenerateAmlLengths ( 445fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 446fba7fc7eSJung-uk Kim 447fba7fc7eSJung-uk Kim 448fba7fc7eSJung-uk Kim /* 449fba7fc7eSJung-uk Kim * aslmap - opcode mappings and reserved method names 450fba7fc7eSJung-uk Kim */ 451fba7fc7eSJung-uk Kim ACPI_OBJECT_TYPE 452fba7fc7eSJung-uk Kim AslMapNamedOpcodeToDataType ( 453fba7fc7eSJung-uk Kim UINT16 Opcode); 454fba7fc7eSJung-uk Kim 455fba7fc7eSJung-uk Kim void 456fba7fc7eSJung-uk Kim MpDisplayReservedNames ( 457fba7fc7eSJung-uk Kim void); 458fba7fc7eSJung-uk Kim 459fba7fc7eSJung-uk Kim 460fba7fc7eSJung-uk Kim /* 461fba7fc7eSJung-uk Kim * asltransform - parse tree transformations 462fba7fc7eSJung-uk Kim */ 463fba7fc7eSJung-uk Kim ACPI_STATUS 464fba7fc7eSJung-uk Kim TrAmlTransformWalk ( 465fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 466fba7fc7eSJung-uk Kim UINT32 Level, 467fba7fc7eSJung-uk Kim void *Context); 468fba7fc7eSJung-uk Kim 469fba7fc7eSJung-uk Kim 470fba7fc7eSJung-uk Kim /* 471fba7fc7eSJung-uk Kim * asltree - parse tree support 472fba7fc7eSJung-uk Kim */ 473fba7fc7eSJung-uk Kim ACPI_STATUS 474fba7fc7eSJung-uk Kim TrWalkParseTree ( 475fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 476fba7fc7eSJung-uk Kim UINT32 Visitation, 477fba7fc7eSJung-uk Kim ASL_WALK_CALLBACK DescendingCallback, 478fba7fc7eSJung-uk Kim ASL_WALK_CALLBACK AscendingCallback, 479fba7fc7eSJung-uk Kim void *Context); 480fba7fc7eSJung-uk Kim 481fba7fc7eSJung-uk Kim /* Values for "Visitation" parameter above */ 482fba7fc7eSJung-uk Kim 483fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_DOWNWARD 0x01 484fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_UPWARD 0x02 485fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD) 486fba7fc7eSJung-uk Kim 487fba7fc7eSJung-uk Kim 488fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 489fba7fc7eSJung-uk Kim TrAllocateNode ( 490fba7fc7eSJung-uk Kim UINT32 ParseOpcode); 491fba7fc7eSJung-uk Kim 492fba7fc7eSJung-uk Kim void 493fba7fc7eSJung-uk Kim TrReleaseNode ( 494fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 495fba7fc7eSJung-uk Kim 496fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 497fba7fc7eSJung-uk Kim TrUpdateNode ( 498fba7fc7eSJung-uk Kim UINT32 ParseOpcode, 499fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 500fba7fc7eSJung-uk Kim 501fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 502fba7fc7eSJung-uk Kim TrCreateNode ( 503fba7fc7eSJung-uk Kim UINT32 ParseOpcode, 504fba7fc7eSJung-uk Kim UINT32 NumChildren, 505fba7fc7eSJung-uk Kim ...); 506fba7fc7eSJung-uk Kim 507fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 508fba7fc7eSJung-uk Kim TrCreateLeafNode ( 509fba7fc7eSJung-uk Kim UINT32 ParseOpcode); 510fba7fc7eSJung-uk Kim 511fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 512fba7fc7eSJung-uk Kim TrCreateValuedLeafNode ( 513fba7fc7eSJung-uk Kim UINT32 ParseOpcode, 5149a179dd8SJung-uk Kim UINT64 Value); 515fba7fc7eSJung-uk Kim 516fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 517fba7fc7eSJung-uk Kim TrLinkChildren ( 518fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 519fba7fc7eSJung-uk Kim UINT32 NumChildren, 520fba7fc7eSJung-uk Kim ...); 521fba7fc7eSJung-uk Kim 522fba7fc7eSJung-uk Kim void 523fba7fc7eSJung-uk Kim TrSetEndLineNumber ( 524fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 525fba7fc7eSJung-uk Kim 526fba7fc7eSJung-uk Kim void 527fba7fc7eSJung-uk Kim TrWalkTree ( 528fba7fc7eSJung-uk Kim void); 529fba7fc7eSJung-uk Kim 530fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 531fba7fc7eSJung-uk Kim TrLinkPeerNode ( 532fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op1, 533fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op2); 534fba7fc7eSJung-uk Kim 535fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 536fba7fc7eSJung-uk Kim TrLinkChildNode ( 537fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op1, 538fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op2); 539fba7fc7eSJung-uk Kim 540fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 541fba7fc7eSJung-uk Kim TrSetNodeFlags ( 542fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 543fba7fc7eSJung-uk Kim UINT32 Flags); 544fba7fc7eSJung-uk Kim 545fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 546fba7fc7eSJung-uk Kim TrLinkPeerNodes ( 547fba7fc7eSJung-uk Kim UINT32 NumPeers, 548fba7fc7eSJung-uk Kim ...); 549fba7fc7eSJung-uk Kim 550fba7fc7eSJung-uk Kim 551fba7fc7eSJung-uk Kim /* 552fba7fc7eSJung-uk Kim * aslfiles - File I/O support 553fba7fc7eSJung-uk Kim */ 554fba7fc7eSJung-uk Kim void 555fba7fc7eSJung-uk Kim AslAbort ( 556fba7fc7eSJung-uk Kim void); 55753289f6aSNate Lawson 55853289f6aSNate Lawson void 559d6dd1baeSJung-uk Kim FlAddIncludeDirectory ( 560d6dd1baeSJung-uk Kim char *Dir); 561d6dd1baeSJung-uk Kim 562d6dd1baeSJung-uk Kim void 56353289f6aSNate Lawson FlOpenIncludeFile ( 56453289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 56553289f6aSNate Lawson 56653289f6aSNate Lawson void 56753289f6aSNate Lawson FlFileError ( 56853289f6aSNate Lawson UINT32 FileId, 56953289f6aSNate Lawson UINT8 ErrorId); 57053289f6aSNate Lawson 57153289f6aSNate Lawson ACPI_STATUS 57253289f6aSNate Lawson FlReadFile ( 57353289f6aSNate Lawson UINT32 FileId, 57453289f6aSNate Lawson void *Buffer, 57553289f6aSNate Lawson UINT32 Length); 57653289f6aSNate Lawson 57753289f6aSNate Lawson void 57853289f6aSNate Lawson FlWriteFile ( 57953289f6aSNate Lawson UINT32 FileId, 58053289f6aSNate Lawson void *Buffer, 58153289f6aSNate Lawson UINT32 Length); 58253289f6aSNate Lawson 58353289f6aSNate Lawson void 58453289f6aSNate Lawson FlSeekFile ( 58553289f6aSNate Lawson UINT32 FileId, 58653289f6aSNate Lawson long Offset); 58753289f6aSNate Lawson 58853289f6aSNate Lawson void 58953289f6aSNate Lawson FlCloseFile ( 59053289f6aSNate Lawson UINT32 FileId); 59153289f6aSNate Lawson 59253289f6aSNate Lawson void 59353289f6aSNate Lawson FlPrintFile ( 59453289f6aSNate Lawson UINT32 FileId, 59553289f6aSNate Lawson char *Format, 59653289f6aSNate Lawson ...); 59753289f6aSNate Lawson 59853289f6aSNate Lawson void 59953289f6aSNate Lawson FlSetLineNumber ( 60053289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 60153289f6aSNate Lawson 60253289f6aSNate Lawson ACPI_STATUS 60353289f6aSNate Lawson FlOpenInputFile ( 60453289f6aSNate Lawson char *InputFilename); 60553289f6aSNate Lawson 60653289f6aSNate Lawson ACPI_STATUS 60753289f6aSNate Lawson FlOpenAmlOutputFile ( 60853289f6aSNate Lawson char *InputFilename); 60953289f6aSNate Lawson 61053289f6aSNate Lawson ACPI_STATUS 61153289f6aSNate Lawson FlOpenMiscOutputFiles ( 61253289f6aSNate Lawson char *InputFilename); 61353289f6aSNate Lawson 61453289f6aSNate Lawson 615fba7fc7eSJung-uk Kim /* 616fba7fc7eSJung-uk Kim * asload - load namespace in prep for cross reference 617fba7fc7eSJung-uk Kim */ 61853289f6aSNate Lawson ACPI_STATUS 61953289f6aSNate Lawson LdLoadNamespace ( 62053289f6aSNate Lawson ACPI_PARSE_OBJECT *RootOp); 62153289f6aSNate Lawson 62253289f6aSNate Lawson 623fba7fc7eSJung-uk Kim /* 624fba7fc7eSJung-uk Kim * asllookup - namespace cross reference 625fba7fc7eSJung-uk Kim */ 62653289f6aSNate Lawson ACPI_STATUS 627fba7fc7eSJung-uk Kim LkCrossReferenceNamespace ( 628fba7fc7eSJung-uk Kim void); 62953289f6aSNate Lawson 6301a39cfb0SJung-uk Kim void 6311a39cfb0SJung-uk Kim LkFindUnreferencedObjects ( 6321a39cfb0SJung-uk Kim void); 6331a39cfb0SJung-uk Kim 63453289f6aSNate Lawson ACPI_STATUS 63553289f6aSNate Lawson LsDisplayNamespace ( 63653289f6aSNate Lawson void); 63753289f6aSNate Lawson 63853289f6aSNate Lawson 639fba7fc7eSJung-uk Kim /* 640fba7fc7eSJung-uk Kim * aslutils - common compiler utilites 641fba7fc7eSJung-uk Kim */ 642fba7fc7eSJung-uk Kim void 643fba7fc7eSJung-uk Kim DbgPrint ( 644fba7fc7eSJung-uk Kim UINT32 Type, 645fba7fc7eSJung-uk Kim char *Format, 646fba7fc7eSJung-uk Kim ...); 64753289f6aSNate Lawson 648fba7fc7eSJung-uk Kim /* Type values for above */ 649fba7fc7eSJung-uk Kim 650fba7fc7eSJung-uk Kim #define ASL_DEBUG_OUTPUT 0 651fba7fc7eSJung-uk Kim #define ASL_PARSE_OUTPUT 1 652fba7fc7eSJung-uk Kim #define ASL_TREE_OUTPUT 2 65353289f6aSNate Lawson 65453289f6aSNate Lawson void 65553289f6aSNate Lawson UtDisplayConstantOpcodes ( 65653289f6aSNate Lawson void); 65753289f6aSNate Lawson 658fba7fc7eSJung-uk Kim UINT8 65953289f6aSNate Lawson UtBeginEvent ( 66053289f6aSNate Lawson char *Name); 66153289f6aSNate Lawson 66253289f6aSNate Lawson void 66353289f6aSNate Lawson UtEndEvent ( 664fba7fc7eSJung-uk Kim UINT8 Event); 66553289f6aSNate Lawson 66653289f6aSNate Lawson void * 66753289f6aSNate Lawson UtLocalCalloc ( 66853289f6aSNate Lawson UINT32 Size); 66953289f6aSNate Lawson 67053289f6aSNate Lawson void 67153289f6aSNate Lawson UtPrintFormattedName ( 67253289f6aSNate Lawson UINT16 ParseOpcode, 67353289f6aSNate Lawson UINT32 Level); 67453289f6aSNate Lawson 67553289f6aSNate Lawson void 67653289f6aSNate Lawson UtDisplaySummary ( 67753289f6aSNate Lawson UINT32 FileId); 67853289f6aSNate Lawson 67953289f6aSNate Lawson UINT8 68053289f6aSNate Lawson UtHexCharToValue ( 681fba7fc7eSJung-uk Kim int HexChar); 68253289f6aSNate Lawson 68353289f6aSNate Lawson void 68453289f6aSNate Lawson UtConvertByteToHex ( 68553289f6aSNate Lawson UINT8 RawByte, 68653289f6aSNate Lawson UINT8 *Buffer); 68753289f6aSNate Lawson 68853289f6aSNate Lawson void 68953289f6aSNate Lawson UtConvertByteToAsmHex ( 69053289f6aSNate Lawson UINT8 RawByte, 69153289f6aSNate Lawson UINT8 *Buffer); 69253289f6aSNate Lawson 69353289f6aSNate Lawson char * 69453289f6aSNate Lawson UtGetOpName ( 69553289f6aSNate Lawson UINT32 ParseOpcode); 69653289f6aSNate Lawson 69753289f6aSNate Lawson void 69853289f6aSNate Lawson UtSetParseOpName ( 69953289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 70053289f6aSNate Lawson 70153289f6aSNate Lawson char * 70253289f6aSNate Lawson UtGetStringBuffer ( 70353289f6aSNate Lawson UINT32 Length); 70453289f6aSNate Lawson 70553289f6aSNate Lawson ACPI_STATUS 70653289f6aSNate Lawson UtInternalizeName ( 70753289f6aSNate Lawson char *ExternalName, 70853289f6aSNate Lawson char **ConvertedName); 70953289f6aSNate Lawson 71053289f6aSNate Lawson void 71153289f6aSNate Lawson UtAttachNamepathToOwner ( 71253289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 71353289f6aSNate Lawson ACPI_PARSE_OBJECT *NameNode); 71453289f6aSNate Lawson 71553289f6aSNate Lawson ACPI_PARSE_OBJECT * 71653289f6aSNate Lawson UtCheckIntegerRange ( 71753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 71853289f6aSNate Lawson UINT32 LowValue, 71953289f6aSNate Lawson UINT32 HighValue); 72053289f6aSNate Lawson 7219a179dd8SJung-uk Kim UINT64 72253289f6aSNate Lawson UtDoConstant ( 72353289f6aSNate Lawson char *String); 72453289f6aSNate Lawson 72553289f6aSNate Lawson 72653289f6aSNate Lawson /* 727fba7fc7eSJung-uk Kim * aslresource - Resource template generation utilities 72853289f6aSNate Lawson */ 72953289f6aSNate Lawson ASL_RESOURCE_NODE * 73053289f6aSNate Lawson RsAllocateResourceNode ( 73153289f6aSNate Lawson UINT32 Size); 73253289f6aSNate Lawson 73353289f6aSNate Lawson void 73453289f6aSNate Lawson RsCreateBitField ( 73553289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 73653289f6aSNate Lawson char *Name, 73753289f6aSNate Lawson UINT32 ByteOffset, 73853289f6aSNate Lawson UINT32 BitOffset); 73953289f6aSNate Lawson 74053289f6aSNate Lawson void 74153289f6aSNate Lawson RsCreateByteField ( 74253289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 74353289f6aSNate Lawson char *Name, 74453289f6aSNate Lawson UINT32 ByteOffset); 74553289f6aSNate Lawson 74653289f6aSNate Lawson void 74753289f6aSNate Lawson RsSetFlagBits ( 74853289f6aSNate Lawson UINT8 *Flags, 74953289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 75053289f6aSNate Lawson UINT8 Position, 75153289f6aSNate Lawson UINT8 DefaultBit); 75253289f6aSNate Lawson 75353289f6aSNate Lawson ACPI_PARSE_OBJECT * 75453289f6aSNate Lawson RsCompleteNodeAndGetNext ( 75553289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 75653289f6aSNate Lawson 757fba7fc7eSJung-uk Kim void 758fba7fc7eSJung-uk Kim RsCheckListForDuplicates ( 759fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 760fba7fc7eSJung-uk Kim 76153289f6aSNate Lawson ASL_RESOURCE_NODE * 76253289f6aSNate Lawson RsDoOneResourceDescriptor ( 76353289f6aSNate Lawson ACPI_PARSE_OBJECT *DescriptorTypeOp, 76453289f6aSNate Lawson UINT32 CurrentByteOffset, 76553289f6aSNate Lawson UINT8 *State); 76653289f6aSNate Lawson 767fba7fc7eSJung-uk Kim /* Values for State above */ 768fba7fc7eSJung-uk Kim 76953289f6aSNate Lawson #define ACPI_RSTATE_NORMAL 0 77053289f6aSNate Lawson #define ACPI_RSTATE_START_DEPENDENT 1 77153289f6aSNate Lawson #define ACPI_RSTATE_DEPENDENT_LIST 2 77253289f6aSNate Lawson 77353289f6aSNate Lawson UINT32 77453289f6aSNate Lawson RsLinkDescriptorChain ( 77553289f6aSNate Lawson ASL_RESOURCE_NODE **PreviousRnode, 77653289f6aSNate Lawson ASL_RESOURCE_NODE *Rnode); 77753289f6aSNate Lawson 778fba7fc7eSJung-uk Kim void 779fba7fc7eSJung-uk Kim RsDoResourceTemplate ( 780fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 781fba7fc7eSJung-uk Kim 78253289f6aSNate Lawson 78353289f6aSNate Lawson /* 784fba7fc7eSJung-uk Kim * aslrestype1 - generate Small descriptors 78553289f6aSNate Lawson */ 78653289f6aSNate Lawson ASL_RESOURCE_NODE * 7871a39cfb0SJung-uk Kim RsDoEndTagDescriptor ( 7881a39cfb0SJung-uk Kim ACPI_PARSE_OBJECT *Op, 7891a39cfb0SJung-uk Kim UINT32 CurrentByteOffset); 7901a39cfb0SJung-uk Kim 7911a39cfb0SJung-uk Kim ASL_RESOURCE_NODE * 79253289f6aSNate Lawson RsDoDmaDescriptor ( 79353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 79453289f6aSNate Lawson UINT32 CurrentByteOffset); 79553289f6aSNate Lawson 79653289f6aSNate Lawson ASL_RESOURCE_NODE * 79753289f6aSNate Lawson RsDoEndDependentDescriptor ( 79853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 79953289f6aSNate Lawson UINT32 CurrentByteOffset); 80053289f6aSNate Lawson 80153289f6aSNate Lawson ASL_RESOURCE_NODE * 80253289f6aSNate Lawson RsDoFixedIoDescriptor ( 80353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 80453289f6aSNate Lawson UINT32 CurrentByteOffset); 80553289f6aSNate Lawson 80653289f6aSNate Lawson ASL_RESOURCE_NODE * 80753289f6aSNate Lawson RsDoIoDescriptor ( 80853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 80953289f6aSNate Lawson UINT32 CurrentByteOffset); 81053289f6aSNate Lawson 81153289f6aSNate Lawson ASL_RESOURCE_NODE * 81253289f6aSNate Lawson RsDoIrqDescriptor ( 81353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 81453289f6aSNate Lawson UINT32 CurrentByteOffset); 81553289f6aSNate Lawson 81653289f6aSNate Lawson ASL_RESOURCE_NODE * 81753289f6aSNate Lawson RsDoIrqNoFlagsDescriptor ( 81853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 81953289f6aSNate Lawson UINT32 CurrentByteOffset); 82053289f6aSNate Lawson 82153289f6aSNate Lawson ASL_RESOURCE_NODE * 82253289f6aSNate Lawson RsDoMemory24Descriptor ( 82353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 82453289f6aSNate Lawson UINT32 CurrentByteOffset); 82553289f6aSNate Lawson 82653289f6aSNate Lawson ASL_RESOURCE_NODE * 82753289f6aSNate Lawson RsDoMemory32Descriptor ( 82853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 82953289f6aSNate Lawson UINT32 CurrentByteOffset); 83053289f6aSNate Lawson 83153289f6aSNate Lawson ASL_RESOURCE_NODE * 83253289f6aSNate Lawson RsDoMemory32FixedDescriptor ( 83353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 83453289f6aSNate Lawson UINT32 CurrentByteOffset); 83553289f6aSNate Lawson 83653289f6aSNate Lawson ASL_RESOURCE_NODE * 83753289f6aSNate Lawson RsDoStartDependentDescriptor ( 83853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 83953289f6aSNate Lawson UINT32 CurrentByteOffset); 84053289f6aSNate Lawson 84153289f6aSNate Lawson ASL_RESOURCE_NODE * 84253289f6aSNate Lawson RsDoStartDependentNoPriDescriptor ( 84353289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 84453289f6aSNate Lawson UINT32 CurrentByteOffset); 84553289f6aSNate Lawson 84653289f6aSNate Lawson ASL_RESOURCE_NODE * 84753289f6aSNate Lawson RsDoVendorSmallDescriptor ( 84853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 84953289f6aSNate Lawson UINT32 CurrentByteOffset); 85053289f6aSNate Lawson 85153289f6aSNate Lawson 85253289f6aSNate Lawson /* 853fba7fc7eSJung-uk Kim * aslrestype2 - generate Large descriptors 85453289f6aSNate Lawson */ 855fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 856fba7fc7eSJung-uk Kim RsDoInterruptDescriptor ( 857fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 858fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 85953289f6aSNate Lawson 86053289f6aSNate Lawson ASL_RESOURCE_NODE * 86153289f6aSNate Lawson RsDoDwordIoDescriptor ( 86253289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 86353289f6aSNate Lawson UINT32 CurrentByteOffset); 86453289f6aSNate Lawson 86553289f6aSNate Lawson ASL_RESOURCE_NODE * 86653289f6aSNate Lawson RsDoDwordMemoryDescriptor ( 86753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 86853289f6aSNate Lawson UINT32 CurrentByteOffset); 86953289f6aSNate Lawson 87053289f6aSNate Lawson ASL_RESOURCE_NODE * 871fba7fc7eSJung-uk Kim RsDoDwordSpaceDescriptor ( 872fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 873fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 874fba7fc7eSJung-uk Kim 875fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 876fba7fc7eSJung-uk Kim RsDoExtendedIoDescriptor ( 877fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 878fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 879fba7fc7eSJung-uk Kim 880fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 881fba7fc7eSJung-uk Kim RsDoExtendedMemoryDescriptor ( 882fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 883fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 884fba7fc7eSJung-uk Kim 885fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 886fba7fc7eSJung-uk Kim RsDoExtendedSpaceDescriptor ( 887fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 888fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 889fba7fc7eSJung-uk Kim 890fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 89153289f6aSNate Lawson RsDoQwordIoDescriptor ( 89253289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 89353289f6aSNate Lawson UINT32 CurrentByteOffset); 89453289f6aSNate Lawson 89553289f6aSNate Lawson ASL_RESOURCE_NODE * 89653289f6aSNate Lawson RsDoQwordMemoryDescriptor ( 89753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 89853289f6aSNate Lawson UINT32 CurrentByteOffset); 89953289f6aSNate Lawson 90053289f6aSNate Lawson ASL_RESOURCE_NODE * 901fba7fc7eSJung-uk Kim RsDoQwordSpaceDescriptor ( 902fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 903fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 904fba7fc7eSJung-uk Kim 905fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 90653289f6aSNate Lawson RsDoWordIoDescriptor ( 90753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 90853289f6aSNate Lawson UINT32 CurrentByteOffset); 90953289f6aSNate Lawson 91053289f6aSNate Lawson ASL_RESOURCE_NODE * 911fba7fc7eSJung-uk Kim RsDoWordSpaceDescriptor ( 912fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 913fba7fc7eSJung-uk Kim UINT32 CurrentByteOffset); 914fba7fc7eSJung-uk Kim 915fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 91653289f6aSNate Lawson RsDoWordBusNumberDescriptor ( 91753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 91853289f6aSNate Lawson UINT32 CurrentByteOffset); 91953289f6aSNate Lawson 92053289f6aSNate Lawson ASL_RESOURCE_NODE * 92153289f6aSNate Lawson RsDoVendorLargeDescriptor ( 92253289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 92353289f6aSNate Lawson UINT32 CurrentByteOffset); 92453289f6aSNate Lawson 92553289f6aSNate Lawson ASL_RESOURCE_NODE * 92653289f6aSNate Lawson RsDoGeneralRegisterDescriptor ( 92753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 92853289f6aSNate Lawson UINT32 CurrentByteOffset); 92953289f6aSNate Lawson 93053289f6aSNate Lawson #endif /* __ASLCOMPILER_H */ 93153289f6aSNate Lawson 932