153289f6aSNate Lawson /****************************************************************************** 253289f6aSNate Lawson * 3fba7fc7eSJung-uk Kim * Module Name: aslcompiler.h - common include file for iASL 453289f6aSNate Lawson * 553289f6aSNate Lawson *****************************************************************************/ 653289f6aSNate Lawson 70d84335fSJung-uk Kim /****************************************************************************** 80d84335fSJung-uk Kim * 90d84335fSJung-uk Kim * 1. Copyright Notice 100d84335fSJung-uk Kim * 11f425b8beSJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp. 1253289f6aSNate Lawson * All rights reserved. 1353289f6aSNate Lawson * 140d84335fSJung-uk Kim * 2. License 150d84335fSJung-uk Kim * 160d84335fSJung-uk Kim * 2.1. This is your license from Intel Corp. under its intellectual property 170d84335fSJung-uk Kim * rights. You may have additional license terms from the party that provided 180d84335fSJung-uk Kim * you this software, covering your right to use that party's intellectual 190d84335fSJung-uk Kim * property rights. 200d84335fSJung-uk Kim * 210d84335fSJung-uk Kim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 220d84335fSJung-uk Kim * copy of the source code appearing in this file ("Covered Code") an 230d84335fSJung-uk Kim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 240d84335fSJung-uk Kim * base code distributed originally by Intel ("Original Intel Code") to copy, 250d84335fSJung-uk Kim * make derivatives, distribute, use and display any portion of the Covered 260d84335fSJung-uk Kim * Code in any form, with the right to sublicense such rights; and 270d84335fSJung-uk Kim * 280d84335fSJung-uk Kim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 290d84335fSJung-uk Kim * license (with the right to sublicense), under only those claims of Intel 300d84335fSJung-uk Kim * patents that are infringed by the Original Intel Code, to make, use, sell, 310d84335fSJung-uk Kim * offer to sell, and import the Covered Code and derivative works thereof 320d84335fSJung-uk Kim * solely to the minimum extent necessary to exercise the above copyright 330d84335fSJung-uk Kim * license, and in no event shall the patent license extend to any additions 340d84335fSJung-uk Kim * to or modifications of the Original Intel Code. No other license or right 350d84335fSJung-uk Kim * is granted directly or by implication, estoppel or otherwise; 360d84335fSJung-uk Kim * 370d84335fSJung-uk Kim * The above copyright and patent license is granted only if the following 380d84335fSJung-uk Kim * conditions are met: 390d84335fSJung-uk Kim * 400d84335fSJung-uk Kim * 3. Conditions 410d84335fSJung-uk Kim * 420d84335fSJung-uk Kim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 430d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 440d84335fSJung-uk Kim * Code or modification with rights to further distribute source must include 450d84335fSJung-uk Kim * the above Copyright Notice, the above License, this list of Conditions, 460d84335fSJung-uk Kim * and the following Disclaimer and Export Compliance provision. In addition, 470d84335fSJung-uk Kim * Licensee must cause all Covered Code to which Licensee contributes to 480d84335fSJung-uk Kim * contain a file documenting the changes Licensee made to create that Covered 490d84335fSJung-uk Kim * Code and the date of any change. Licensee must include in that file the 500d84335fSJung-uk Kim * documentation of any changes made by any predecessor Licensee. Licensee 510d84335fSJung-uk Kim * must include a prominent statement that the modification is derived, 520d84335fSJung-uk Kim * directly or indirectly, from Original Intel Code. 530d84335fSJung-uk Kim * 540d84335fSJung-uk Kim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 550d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 560d84335fSJung-uk Kim * Code or modification without rights to further distribute source must 570d84335fSJung-uk Kim * include the following Disclaimer and Export Compliance provision in the 580d84335fSJung-uk Kim * documentation and/or other materials provided with distribution. In 590d84335fSJung-uk Kim * addition, Licensee may not authorize further sublicense of source of any 600d84335fSJung-uk Kim * portion of the Covered Code, and must include terms to the effect that the 610d84335fSJung-uk Kim * license from Licensee to its licensee is limited to the intellectual 620d84335fSJung-uk Kim * property embodied in the software Licensee provides to its licensee, and 630d84335fSJung-uk Kim * not to intellectual property embodied in modifications its licensee may 640d84335fSJung-uk Kim * make. 650d84335fSJung-uk Kim * 660d84335fSJung-uk Kim * 3.3. Redistribution of Executable. Redistribution in executable form of any 670d84335fSJung-uk Kim * substantial portion of the Covered Code or modification must reproduce the 680d84335fSJung-uk Kim * above Copyright Notice, and the following Disclaimer and Export Compliance 690d84335fSJung-uk Kim * provision in the documentation and/or other materials provided with the 700d84335fSJung-uk Kim * distribution. 710d84335fSJung-uk Kim * 720d84335fSJung-uk Kim * 3.4. Intel retains all right, title, and interest in and to the Original 730d84335fSJung-uk Kim * Intel Code. 740d84335fSJung-uk Kim * 750d84335fSJung-uk Kim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 760d84335fSJung-uk Kim * Intel shall be used in advertising or otherwise to promote the sale, use or 770d84335fSJung-uk Kim * other dealings in products derived from or relating to the Covered Code 780d84335fSJung-uk Kim * without prior written authorization from Intel. 790d84335fSJung-uk Kim * 800d84335fSJung-uk Kim * 4. Disclaimer and Export Compliance 810d84335fSJung-uk Kim * 820d84335fSJung-uk Kim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 830d84335fSJung-uk Kim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 840d84335fSJung-uk Kim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 850d84335fSJung-uk Kim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 860d84335fSJung-uk Kim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 870d84335fSJung-uk Kim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 880d84335fSJung-uk Kim * PARTICULAR PURPOSE. 890d84335fSJung-uk Kim * 900d84335fSJung-uk Kim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 910d84335fSJung-uk Kim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 920d84335fSJung-uk Kim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 930d84335fSJung-uk Kim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 940d84335fSJung-uk Kim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 950d84335fSJung-uk Kim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 960d84335fSJung-uk Kim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 970d84335fSJung-uk Kim * LIMITED REMEDY. 980d84335fSJung-uk Kim * 990d84335fSJung-uk Kim * 4.3. Licensee shall not export, either directly or indirectly, any of this 1000d84335fSJung-uk Kim * software or system incorporating such software without first obtaining any 1010d84335fSJung-uk Kim * required license or other approval from the U. S. Department of Commerce or 1020d84335fSJung-uk Kim * any other agency or department of the United States Government. In the 1030d84335fSJung-uk Kim * event Licensee exports any such software from the United States or 1040d84335fSJung-uk Kim * re-exports any such software from a foreign destination, Licensee shall 1050d84335fSJung-uk Kim * ensure that the distribution and export/re-export of the software is in 1060d84335fSJung-uk Kim * compliance with all laws, regulations, orders, or other restrictions of the 1070d84335fSJung-uk Kim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1080d84335fSJung-uk Kim * any of its subsidiaries will export/re-export any technical data, process, 1090d84335fSJung-uk Kim * software, or service, directly or indirectly, to any country for which the 1100d84335fSJung-uk Kim * United States government or any agency thereof requires an export license, 1110d84335fSJung-uk Kim * other governmental approval, or letter of assurance, without first obtaining 1120d84335fSJung-uk Kim * such license, approval or letter. 1130d84335fSJung-uk Kim * 1140d84335fSJung-uk Kim ***************************************************************************** 1150d84335fSJung-uk Kim * 1160d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 1170d84335fSJung-uk Kim * following license: 1180d84335fSJung-uk Kim * 119d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 120d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 121d244b227SJung-uk Kim * are met: 122d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 123d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 124d244b227SJung-uk Kim * without modification. 125d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 126d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 127d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 128d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 129d244b227SJung-uk Kim * binary redistribution. 130d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 131d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 132d244b227SJung-uk Kim * from this software without specific prior written permission. 13353289f6aSNate Lawson * 1340d84335fSJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1350d84335fSJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1360d84335fSJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1370d84335fSJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1380d84335fSJung-uk Kim * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1390d84335fSJung-uk Kim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1400d84335fSJung-uk Kim * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1410d84335fSJung-uk Kim * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1420d84335fSJung-uk Kim * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1430d84335fSJung-uk Kim * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1440d84335fSJung-uk Kim * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1450d84335fSJung-uk Kim * 1460d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 147d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 148d244b227SJung-uk Kim * Software Foundation. 14953289f6aSNate Lawson * 1500d84335fSJung-uk Kim *****************************************************************************/ 15153289f6aSNate Lawson 15253289f6aSNate Lawson #ifndef __ASLCOMPILER_H 15353289f6aSNate Lawson #define __ASLCOMPILER_H 15453289f6aSNate Lawson 155d244b227SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h> 156d244b227SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h> 157d244b227SJung-uk Kim #include <contrib/dev/acpica/include/amlresrc.h> 158d244b227SJung-uk Kim #include <contrib/dev/acpica/include/acdebug.h> 15953289f6aSNate Lawson 16053289f6aSNate Lawson /* Microsoft-specific */ 16153289f6aSNate Lawson 16253289f6aSNate Lawson #if (defined WIN32 || defined WIN64) 16353289f6aSNate Lawson 16453289f6aSNate Lawson /* warn : used #pragma pack */ 16553289f6aSNate Lawson #pragma warning(disable:4103) 16653289f6aSNate Lawson 16753289f6aSNate Lawson /* warn : named type definition in parentheses */ 16853289f6aSNate Lawson #pragma warning(disable:4115) 16953289f6aSNate Lawson #endif 17053289f6aSNate Lawson 17153289f6aSNate Lawson #include <stdio.h> 17253289f6aSNate Lawson #include <stdlib.h> 17353289f6aSNate Lawson #include <string.h> 17453289f6aSNate Lawson #include <errno.h> 17553289f6aSNate Lawson #include <ctype.h> 17653289f6aSNate Lawson 177fba7fc7eSJung-uk Kim /* Compiler headers */ 17853289f6aSNate Lawson 179ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/asldefine.h> 180ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/asltypes.h> 1813c1812acSJung-uk Kim #include <contrib/dev/acpica/compiler/aslmessages.h> 182ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/aslglobal.h> 1834c52cad2SJung-uk Kim #include <contrib/dev/acpica/compiler/preprocess.h> 18467d9aa44SJung-uk Kim #include <contrib/dev/acpica/compiler/dtcompiler.h> 18553289f6aSNate Lawson 18653289f6aSNate Lawson 18753289f6aSNate Lawson /******************************************************************************* 18853289f6aSNate Lawson * 18953289f6aSNate Lawson * Compiler prototypes 19053289f6aSNate Lawson * 19153289f6aSNate Lawson ******************************************************************************/ 19253289f6aSNate Lawson 193fba7fc7eSJung-uk Kim /* 1944c52cad2SJung-uk Kim * Main ASL parser - generated from flex/bison, lex/yacc, etc. 195fba7fc7eSJung-uk Kim */ 19653289f6aSNate Lawson ACPI_PARSE_OBJECT * 19753289f6aSNate Lawson AslDoError ( 19853289f6aSNate Lawson void); 19953289f6aSNate Lawson 20053289f6aSNate Lawson int 20153289f6aSNate Lawson AslCompilerlex( 20253289f6aSNate Lawson void); 20353289f6aSNate Lawson 20453289f6aSNate Lawson void 205eef1b955SJung-uk Kim AslResetCurrentLineBuffer ( 20653289f6aSNate Lawson void); 20753289f6aSNate Lawson 20853289f6aSNate Lawson void 209eef1b955SJung-uk Kim AslInsertLineBuffer ( 21053289f6aSNate Lawson int SourceChar); 21153289f6aSNate Lawson 21253289f6aSNate Lawson int 21353289f6aSNate Lawson AslPopInputFileStack ( 21453289f6aSNate Lawson void); 21553289f6aSNate Lawson 21653289f6aSNate Lawson void 21753289f6aSNate Lawson AslPushInputFileStack ( 21853289f6aSNate Lawson FILE *InputFile, 21953289f6aSNate Lawson char *Filename); 22053289f6aSNate Lawson 221313a0c13SJung-uk Kim void 222313a0c13SJung-uk Kim AslParserCleanup ( 223313a0c13SJung-uk Kim void); 224313a0c13SJung-uk Kim 225313a0c13SJung-uk Kim 226a9f12690SJung-uk Kim /* 227a88e22b7SJung-uk Kim * aslstartup - entered from main() 228a9f12690SJung-uk Kim */ 229a88e22b7SJung-uk Kim void 230a88e22b7SJung-uk Kim AslInitializeGlobals ( 231a88e22b7SJung-uk Kim void); 232a88e22b7SJung-uk Kim 233709fac06SJung-uk Kim typedef 234709fac06SJung-uk Kim ACPI_STATUS (*ASL_PATHNAME_CALLBACK) ( 235709fac06SJung-uk Kim char *); 236709fac06SJung-uk Kim 237a9f12690SJung-uk Kim ACPI_STATUS 238a9f12690SJung-uk Kim AslDoOneFile ( 239a9f12690SJung-uk Kim char *Filename); 24053289f6aSNate Lawson 241eef1b955SJung-uk Kim ACPI_STATUS 242eef1b955SJung-uk Kim AslCheckForErrorExit ( 243eef1b955SJung-uk Kim void); 244eef1b955SJung-uk Kim 245eef1b955SJung-uk Kim 246fba7fc7eSJung-uk Kim /* 247fba7fc7eSJung-uk Kim * aslcompile - compile mainline 248fba7fc7eSJung-uk Kim */ 24953289f6aSNate Lawson void 25053289f6aSNate Lawson AslCompilerSignon ( 25153289f6aSNate Lawson UINT32 FileId); 25253289f6aSNate Lawson 25353289f6aSNate Lawson void 25453289f6aSNate Lawson AslCompilerFileHeader ( 25553289f6aSNate Lawson UINT32 FileId); 25653289f6aSNate Lawson 25744b0f624SJung-uk Kim ACPI_STATUS 258fba7fc7eSJung-uk Kim CmDoCompile ( 25953289f6aSNate Lawson void); 26053289f6aSNate Lawson 26144b0f624SJung-uk Kim int 26244b0f624SJung-uk Kim CmDoAslMiddleAndBackEnd ( 26344b0f624SJung-uk Kim void); 26444b0f624SJung-uk Kim 26553289f6aSNate Lawson void 266fba7fc7eSJung-uk Kim CmDoOutputFiles ( 26753289f6aSNate Lawson void); 26853289f6aSNate Lawson 269a009b7dcSJung-uk Kim int 270fba7fc7eSJung-uk Kim CmCleanupAndExit ( 27153289f6aSNate Lawson void); 27253289f6aSNate Lawson 27344b0f624SJung-uk Kim ACPI_STATUS 27444b0f624SJung-uk Kim AslDoDisassembly ( 27544b0f624SJung-uk Kim void); 27644b0f624SJung-uk Kim 27767d9aa44SJung-uk Kim 27867d9aa44SJung-uk Kim /* 27967d9aa44SJung-uk Kim * aslallocate - memory allocation 28067d9aa44SJung-uk Kim */ 28167d9aa44SJung-uk Kim void * 28267d9aa44SJung-uk Kim UtLocalCalloc ( 28367d9aa44SJung-uk Kim UINT32 Size); 28467d9aa44SJung-uk Kim 285313a0c13SJung-uk Kim void 28667d9aa44SJung-uk Kim UtExpandLineBuffers ( 28767d9aa44SJung-uk Kim void); 28867d9aa44SJung-uk Kim 28967d9aa44SJung-uk Kim void 29067d9aa44SJung-uk Kim UtReallocLineBuffers ( 29167d9aa44SJung-uk Kim char **Buffer, 29267d9aa44SJung-uk Kim UINT32 OldSize, 29367d9aa44SJung-uk Kim UINT32 NewSize); 29467d9aa44SJung-uk Kim 29567d9aa44SJung-uk Kim void 29667d9aa44SJung-uk Kim UtFreeLineBuffers ( 29767d9aa44SJung-uk Kim void); 29867d9aa44SJung-uk Kim 29967d9aa44SJung-uk Kim 30067d9aa44SJung-uk Kim /* 30167d9aa44SJung-uk Kim * aslcache - local cache support 30267d9aa44SJung-uk Kim */ 30367d9aa44SJung-uk Kim char * 30467d9aa44SJung-uk Kim UtLocalCacheCalloc ( 30567d9aa44SJung-uk Kim UINT32 Length); 30667d9aa44SJung-uk Kim 30767d9aa44SJung-uk Kim ACPI_PARSE_OBJECT * 30867d9aa44SJung-uk Kim UtParseOpCacheCalloc ( 30967d9aa44SJung-uk Kim void); 31067d9aa44SJung-uk Kim 31167d9aa44SJung-uk Kim DT_SUBTABLE * 31267d9aa44SJung-uk Kim UtSubtableCacheCalloc ( 31367d9aa44SJung-uk Kim void); 31467d9aa44SJung-uk Kim 31567d9aa44SJung-uk Kim DT_FIELD * 31667d9aa44SJung-uk Kim UtFieldCacheCalloc ( 31767d9aa44SJung-uk Kim void); 31867d9aa44SJung-uk Kim 31967d9aa44SJung-uk Kim void 32067d9aa44SJung-uk Kim UtDeleteLocalCaches ( 321313a0c13SJung-uk Kim void); 322313a0c13SJung-uk Kim 323313a0c13SJung-uk Kim 324313a0c13SJung-uk Kim /* 325313a0c13SJung-uk Kim * aslascii - ascii support 326313a0c13SJung-uk Kim */ 327a88e22b7SJung-uk Kim ACPI_STATUS 328f8146b88SJung-uk Kim FlIsFileAsciiSource ( 329a7a3b383SJung-uk Kim char *Filename, 330a7a3b383SJung-uk Kim BOOLEAN DisplayErrors); 331a88e22b7SJung-uk Kim 33253289f6aSNate Lawson 33353289f6aSNate Lawson /* 3340b94ba42SJung-uk Kim * aslwalks - semantic analysis and parse tree walks 33553289f6aSNate Lawson */ 33653289f6aSNate Lawson ACPI_STATUS 33753289f6aSNate Lawson AnOtherSemanticAnalysisWalkBegin ( 33853289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 33953289f6aSNate Lawson UINT32 Level, 34053289f6aSNate Lawson void *Context); 34153289f6aSNate Lawson 34253289f6aSNate Lawson ACPI_STATUS 34353289f6aSNate Lawson AnOtherSemanticAnalysisWalkEnd ( 34453289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 34553289f6aSNate Lawson UINT32 Level, 34653289f6aSNate Lawson void *Context); 34753289f6aSNate Lawson 34853289f6aSNate Lawson ACPI_STATUS 34953289f6aSNate Lawson AnOperandTypecheckWalkEnd ( 35053289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 35153289f6aSNate Lawson UINT32 Level, 35253289f6aSNate Lawson void *Context); 35353289f6aSNate Lawson 35453289f6aSNate Lawson ACPI_STATUS 35553289f6aSNate Lawson AnMethodTypingWalkEnd ( 35653289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 35753289f6aSNate Lawson UINT32 Level, 35853289f6aSNate Lawson void *Context); 35953289f6aSNate Lawson 36053289f6aSNate Lawson 36153289f6aSNate Lawson /* 362efcc2a30SJung-uk Kim * aslmethod - Control method analysis walk 363efcc2a30SJung-uk Kim */ 364efcc2a30SJung-uk Kim ACPI_STATUS 365efcc2a30SJung-uk Kim MtMethodAnalysisWalkBegin ( 366efcc2a30SJung-uk Kim ACPI_PARSE_OBJECT *Op, 367efcc2a30SJung-uk Kim UINT32 Level, 368efcc2a30SJung-uk Kim void *Context); 369efcc2a30SJung-uk Kim 370efcc2a30SJung-uk Kim ACPI_STATUS 371efcc2a30SJung-uk Kim MtMethodAnalysisWalkEnd ( 372efcc2a30SJung-uk Kim ACPI_PARSE_OBJECT *Op, 373efcc2a30SJung-uk Kim UINT32 Level, 374efcc2a30SJung-uk Kim void *Context); 375efcc2a30SJung-uk Kim 376*ec0234b4SJung-uk Kim UINT32 377*ec0234b4SJung-uk Kim MtProcessTypeOp ( 378*ec0234b4SJung-uk Kim ACPI_PARSE_OBJECT *TypeOp); 379*ec0234b4SJung-uk Kim 380*ec0234b4SJung-uk Kim UINT8 381*ec0234b4SJung-uk Kim MtProcessParameterTypeList ( 382*ec0234b4SJung-uk Kim ACPI_PARSE_OBJECT *ParamTypeOp, 383*ec0234b4SJung-uk Kim UINT32 *TypeList); 384*ec0234b4SJung-uk Kim 385efcc2a30SJung-uk Kim 386efcc2a30SJung-uk Kim /* 3870b94ba42SJung-uk Kim * aslbtypes - bitfield data types 3880b94ba42SJung-uk Kim */ 3890b94ba42SJung-uk Kim UINT32 3900b94ba42SJung-uk Kim AnMapObjTypeToBtype ( 3910b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 3920b94ba42SJung-uk Kim 3930b94ba42SJung-uk Kim UINT32 3940b94ba42SJung-uk Kim AnMapArgTypeToBtype ( 3950b94ba42SJung-uk Kim UINT32 ArgType); 3960b94ba42SJung-uk Kim 3970b94ba42SJung-uk Kim UINT32 3980b94ba42SJung-uk Kim AnGetBtype ( 3990b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4000b94ba42SJung-uk Kim 4010b94ba42SJung-uk Kim void 4020b94ba42SJung-uk Kim AnFormatBtype ( 4030b94ba42SJung-uk Kim char *Buffer, 4040b94ba42SJung-uk Kim UINT32 Btype); 4050b94ba42SJung-uk Kim 4060b94ba42SJung-uk Kim 4070b94ba42SJung-uk Kim /* 4080b94ba42SJung-uk Kim * aslanalyze - Support functions for parse tree walks 4090b94ba42SJung-uk Kim */ 4100b94ba42SJung-uk Kim void 4110b94ba42SJung-uk Kim AnCheckId ( 4120b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op, 4130b94ba42SJung-uk Kim ACPI_NAME Type); 4140b94ba42SJung-uk Kim 4150b94ba42SJung-uk Kim /* Values for Type argument above */ 4160b94ba42SJung-uk Kim 4170b94ba42SJung-uk Kim #define ASL_TYPE_HID 0 4180b94ba42SJung-uk Kim #define ASL_TYPE_CID 1 4190b94ba42SJung-uk Kim 4200b94ba42SJung-uk Kim BOOLEAN 4210b94ba42SJung-uk Kim AnIsInternalMethod ( 4220b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4230b94ba42SJung-uk Kim 4240b94ba42SJung-uk Kim UINT32 4250b94ba42SJung-uk Kim AnGetInternalMethodReturnType ( 4260b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4270b94ba42SJung-uk Kim 4280b94ba42SJung-uk Kim BOOLEAN 4290b94ba42SJung-uk Kim AnLastStatementIsReturn ( 4300b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4310b94ba42SJung-uk Kim 4320b94ba42SJung-uk Kim void 4330b94ba42SJung-uk Kim AnCheckMethodReturnValue ( 4340b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op, 4350b94ba42SJung-uk Kim const ACPI_OPCODE_INFO *OpInfo, 4360b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *ArgOp, 4370b94ba42SJung-uk Kim UINT32 RequiredBtypes, 4380b94ba42SJung-uk Kim UINT32 ThisNodeBtype); 4390b94ba42SJung-uk Kim 4400b94ba42SJung-uk Kim BOOLEAN 4410b94ba42SJung-uk Kim AnIsResultUsed ( 4420b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4430b94ba42SJung-uk Kim 4440b94ba42SJung-uk Kim void 4450b94ba42SJung-uk Kim ApCheckForGpeNameConflict ( 4460b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4470b94ba42SJung-uk Kim 448d052a1ccSJung-uk Kim void 449d052a1ccSJung-uk Kim ApCheckRegMethod ( 450d052a1ccSJung-uk Kim ACPI_PARSE_OBJECT *Op); 451d052a1ccSJung-uk Kim 452313a0c13SJung-uk Kim BOOLEAN 453313a0c13SJung-uk Kim ApFindNameInScope ( 454313a0c13SJung-uk Kim char *Name, 455313a0c13SJung-uk Kim ACPI_PARSE_OBJECT *Op); 456313a0c13SJung-uk Kim 457f8146b88SJung-uk Kim BOOLEAN 458f8146b88SJung-uk Kim ApFindNameInDeviceTree ( 459f8146b88SJung-uk Kim char *Name, 460f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op); 4610b94ba42SJung-uk Kim 4620b94ba42SJung-uk Kim /* 463fba7fc7eSJung-uk Kim * aslerror - error handling/reporting 46453289f6aSNate Lawson */ 465fba7fc7eSJung-uk Kim void 466313a0c13SJung-uk Kim AslAbort ( 467313a0c13SJung-uk Kim void); 468313a0c13SJung-uk Kim 469313a0c13SJung-uk Kim void 47067d9aa44SJung-uk Kim AslDualParseOpError ( 47167d9aa44SJung-uk Kim UINT8 Level, 47267d9aa44SJung-uk Kim UINT16 MainMessageId, 47367d9aa44SJung-uk Kim ACPI_PARSE_OBJECT *MainOp, 47467d9aa44SJung-uk Kim char *MainMessage, 47567d9aa44SJung-uk Kim UINT16 SecondMessageId, 47667d9aa44SJung-uk Kim ACPI_PARSE_OBJECT *SecondOp, 47767d9aa44SJung-uk Kim char *SecondaryMessage); 47867d9aa44SJung-uk Kim 47967d9aa44SJung-uk Kim void 480fba7fc7eSJung-uk Kim AslError ( 481fba7fc7eSJung-uk Kim UINT8 Level, 482313a0c13SJung-uk Kim UINT16 MessageId, 483fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 484fba7fc7eSJung-uk Kim char *ExtraMessage); 48553289f6aSNate Lawson 4865f9b24faSJung-uk Kim void 4875f9b24faSJung-uk Kim AslCheckExpectedExceptions ( 4885f9b24faSJung-uk Kim void); 4895f9b24faSJung-uk Kim 4905f9b24faSJung-uk Kim ACPI_STATUS 4915f9b24faSJung-uk Kim AslExpectException ( 4925f9b24faSJung-uk Kim char *MessageIdString); 4935f9b24faSJung-uk Kim 494a9d8d09cSJung-uk Kim ACPI_STATUS 49590b566fdSJung-uk Kim AslElevateException ( 49690b566fdSJung-uk Kim char *MessageIdString); 49790b566fdSJung-uk Kim 49890b566fdSJung-uk Kim ACPI_STATUS 499a9d8d09cSJung-uk Kim AslDisableException ( 500a9d8d09cSJung-uk Kim char *MessageIdString); 501a9d8d09cSJung-uk Kim 502a9d8d09cSJung-uk Kim BOOLEAN 5035f9b24faSJung-uk Kim AslIsExceptionIgnored ( 504a9d8d09cSJung-uk Kim UINT8 Level, 505313a0c13SJung-uk Kim UINT16 MessageId); 506a9d8d09cSJung-uk Kim 50753289f6aSNate Lawson void 508fba7fc7eSJung-uk Kim AslCoreSubsystemError ( 509fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 510fba7fc7eSJung-uk Kim ACPI_STATUS Status, 511fba7fc7eSJung-uk Kim char *ExtraMessage, 512fba7fc7eSJung-uk Kim BOOLEAN Abort); 51353289f6aSNate Lawson 514fba7fc7eSJung-uk Kim int 515fba7fc7eSJung-uk Kim AslCompilererror( 5163f0275a0SJung-uk Kim const char *s); 517fba7fc7eSJung-uk Kim 518fba7fc7eSJung-uk Kim void 519fba7fc7eSJung-uk Kim AslCommonError ( 520fba7fc7eSJung-uk Kim UINT8 Level, 521313a0c13SJung-uk Kim UINT16 MessageId, 522fba7fc7eSJung-uk Kim UINT32 CurrentLineNumber, 523fba7fc7eSJung-uk Kim UINT32 LogicalLineNumber, 524fba7fc7eSJung-uk Kim UINT32 LogicalByteOffset, 525fba7fc7eSJung-uk Kim UINT32 Column, 526fba7fc7eSJung-uk Kim char *Filename, 527fba7fc7eSJung-uk Kim char *ExtraMessage); 528fba7fc7eSJung-uk Kim 529fba7fc7eSJung-uk Kim void 5304c52cad2SJung-uk Kim AslCommonError2 ( 5314c52cad2SJung-uk Kim UINT8 Level, 532313a0c13SJung-uk Kim UINT16 MessageId, 5334c52cad2SJung-uk Kim UINT32 LineNumber, 5344c52cad2SJung-uk Kim UINT32 Column, 5354c52cad2SJung-uk Kim char *SourceLine, 5364c52cad2SJung-uk Kim char *Filename, 5374c52cad2SJung-uk Kim char *ExtraMessage); 5384c52cad2SJung-uk Kim 5394c52cad2SJung-uk Kim void 540fba7fc7eSJung-uk Kim AePrintException ( 541fba7fc7eSJung-uk Kim UINT32 FileId, 542fba7fc7eSJung-uk Kim ASL_ERROR_MSG *Enode, 543fba7fc7eSJung-uk Kim char *Header); 544fba7fc7eSJung-uk Kim 545fba7fc7eSJung-uk Kim void 546fba7fc7eSJung-uk Kim AePrintErrorLog ( 547fba7fc7eSJung-uk Kim UINT32 FileId); 548fba7fc7eSJung-uk Kim 549a9f12690SJung-uk Kim void 550a9f12690SJung-uk Kim AeClearErrorLog ( 551a9f12690SJung-uk Kim void); 552a9f12690SJung-uk Kim 553fba7fc7eSJung-uk Kim 554fba7fc7eSJung-uk Kim /* 555fba7fc7eSJung-uk Kim * asllisting - generate all "listing" type files 556fba7fc7eSJung-uk Kim */ 557fba7fc7eSJung-uk Kim void 558fba7fc7eSJung-uk Kim LsDoListings ( 559fba7fc7eSJung-uk Kim void); 560fba7fc7eSJung-uk Kim 561fba7fc7eSJung-uk Kim void 562fba7fc7eSJung-uk Kim LsWriteNodeToAsmListing ( 563fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 564fba7fc7eSJung-uk Kim 565fba7fc7eSJung-uk Kim void 566fba7fc7eSJung-uk Kim LsWriteNode ( 567fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 568fba7fc7eSJung-uk Kim UINT32 FileId); 569fba7fc7eSJung-uk Kim 570fba7fc7eSJung-uk Kim void 5711a39cfb0SJung-uk Kim LsDumpParseTree ( 5721a39cfb0SJung-uk Kim void); 573fba7fc7eSJung-uk Kim 574efcc2a30SJung-uk Kim 575efcc2a30SJung-uk Kim /* 5769c7c683cSJung-uk Kim * asllistsup - Listing file support utilities 5779c7c683cSJung-uk Kim */ 5789c7c683cSJung-uk Kim void 5799c7c683cSJung-uk Kim LsDumpAscii ( 5809c7c683cSJung-uk Kim UINT32 FileId, 5819c7c683cSJung-uk Kim UINT32 Count, 5829c7c683cSJung-uk Kim UINT8 *Buffer); 5839c7c683cSJung-uk Kim 5849c7c683cSJung-uk Kim void 5859c7c683cSJung-uk Kim LsDumpAsciiInComment ( 5869c7c683cSJung-uk Kim UINT32 FileId, 5879c7c683cSJung-uk Kim UINT32 Count, 5889c7c683cSJung-uk Kim UINT8 *Buffer); 5899c7c683cSJung-uk Kim 5909c7c683cSJung-uk Kim void 5919c7c683cSJung-uk Kim LsCheckException ( 5929c7c683cSJung-uk Kim UINT32 LineNumber, 5939c7c683cSJung-uk Kim UINT32 FileId); 5949c7c683cSJung-uk Kim 5959c7c683cSJung-uk Kim void 5969c7c683cSJung-uk Kim LsFlushListingBuffer ( 5979c7c683cSJung-uk Kim UINT32 FileId); 5989c7c683cSJung-uk Kim 5999c7c683cSJung-uk Kim void 6009c7c683cSJung-uk Kim LsWriteListingHexBytes ( 6019c7c683cSJung-uk Kim UINT8 *Buffer, 6029c7c683cSJung-uk Kim UINT32 Length, 6039c7c683cSJung-uk Kim UINT32 FileId); 6049c7c683cSJung-uk Kim 6059c7c683cSJung-uk Kim void 6069c7c683cSJung-uk Kim LsWriteSourceLines ( 6079c7c683cSJung-uk Kim UINT32 ToLineNumber, 6089c7c683cSJung-uk Kim UINT32 ToLogicalLineNumber, 6099c7c683cSJung-uk Kim UINT32 FileId); 6109c7c683cSJung-uk Kim 6119c7c683cSJung-uk Kim UINT32 6129c7c683cSJung-uk Kim LsWriteOneSourceLine ( 6139c7c683cSJung-uk Kim UINT32 FileId); 6149c7c683cSJung-uk Kim 6159c7c683cSJung-uk Kim void 6169c7c683cSJung-uk Kim LsPushNode ( 6179c7c683cSJung-uk Kim char *Filename); 6189c7c683cSJung-uk Kim 6199c7c683cSJung-uk Kim ASL_LISTING_NODE * 6209c7c683cSJung-uk Kim LsPopNode ( 6219c7c683cSJung-uk Kim void); 6229c7c683cSJung-uk Kim 6239c7c683cSJung-uk Kim 6249c7c683cSJung-uk Kim /* 625efcc2a30SJung-uk Kim * aslhex - generate all "hex" output files (C, ASM, ASL) 626efcc2a30SJung-uk Kim */ 627efcc2a30SJung-uk Kim void 628efcc2a30SJung-uk Kim HxDoHexOutput ( 629efcc2a30SJung-uk Kim void); 630efcc2a30SJung-uk Kim 631efcc2a30SJung-uk Kim 632fba7fc7eSJung-uk Kim /* 633fba7fc7eSJung-uk Kim * aslfold - constant folding 634fba7fc7eSJung-uk Kim */ 635fba7fc7eSJung-uk Kim ACPI_STATUS 636fba7fc7eSJung-uk Kim OpcAmlConstantWalk ( 637fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 638fba7fc7eSJung-uk Kim UINT32 Level, 639fba7fc7eSJung-uk Kim void *Context); 640fba7fc7eSJung-uk Kim 641fba7fc7eSJung-uk Kim 642fba7fc7eSJung-uk Kim /* 643313a0c13SJung-uk Kim * aslmessages - exception strings 644313a0c13SJung-uk Kim */ 645313a0c13SJung-uk Kim const char * 646313a0c13SJung-uk Kim AeDecodeMessageId ( 647313a0c13SJung-uk Kim UINT16 MessageId); 648313a0c13SJung-uk Kim 649313a0c13SJung-uk Kim const char * 650313a0c13SJung-uk Kim AeDecodeExceptionLevel ( 651313a0c13SJung-uk Kim UINT8 Level); 652313a0c13SJung-uk Kim 653313a0c13SJung-uk Kim UINT16 654313a0c13SJung-uk Kim AeBuildFullExceptionCode ( 655313a0c13SJung-uk Kim UINT8 Level, 656313a0c13SJung-uk Kim UINT16 MessageId); 657313a0c13SJung-uk Kim 658313a0c13SJung-uk Kim /* 6599c7c683cSJung-uk Kim * asloffset - generate C offset file for BIOS support 6609c7c683cSJung-uk Kim */ 6619c7c683cSJung-uk Kim ACPI_STATUS 6629c7c683cSJung-uk Kim LsAmlOffsetWalk ( 6639c7c683cSJung-uk Kim ACPI_PARSE_OBJECT *Op, 6649c7c683cSJung-uk Kim UINT32 Level, 6659c7c683cSJung-uk Kim void *Context); 6669c7c683cSJung-uk Kim 6679c7c683cSJung-uk Kim void 6689c7c683cSJung-uk Kim LsDoOffsetTableHeader ( 6699c7c683cSJung-uk Kim UINT32 FileId); 6709c7c683cSJung-uk Kim 6719c7c683cSJung-uk Kim void 6729c7c683cSJung-uk Kim LsDoOffsetTableFooter ( 6739c7c683cSJung-uk Kim UINT32 FileId); 6749c7c683cSJung-uk Kim 6759c7c683cSJung-uk Kim 6769c7c683cSJung-uk Kim /* 677fba7fc7eSJung-uk Kim * aslopcodes - generate AML opcodes 678fba7fc7eSJung-uk Kim */ 679fba7fc7eSJung-uk Kim ACPI_STATUS 680fba7fc7eSJung-uk Kim OpcAmlOpcodeWalk ( 681fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 682fba7fc7eSJung-uk Kim UINT32 Level, 683fba7fc7eSJung-uk Kim void *Context); 684fba7fc7eSJung-uk Kim 685fba7fc7eSJung-uk Kim ACPI_STATUS 686fba7fc7eSJung-uk Kim OpcAmlOpcodeUpdateWalk ( 687fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 688fba7fc7eSJung-uk Kim UINT32 Level, 689fba7fc7eSJung-uk Kim void *Context); 690fba7fc7eSJung-uk Kim 691fba7fc7eSJung-uk Kim void 692fba7fc7eSJung-uk Kim OpcGenerateAmlOpcode ( 693fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 694fba7fc7eSJung-uk Kim 695fba7fc7eSJung-uk Kim UINT32 696fba7fc7eSJung-uk Kim OpcSetOptimalIntegerSize ( 697fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 698fba7fc7eSJung-uk Kim 699fba7fc7eSJung-uk Kim void 700fba7fc7eSJung-uk Kim OpcGetIntegerWidth ( 701fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 702fba7fc7eSJung-uk Kim 703fba7fc7eSJung-uk Kim 704fba7fc7eSJung-uk Kim /* 705fba7fc7eSJung-uk Kim * asloperands - generate AML operands for the AML opcodes 706fba7fc7eSJung-uk Kim */ 707fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 708fba7fc7eSJung-uk Kim UtGetArg ( 709fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 710fba7fc7eSJung-uk Kim UINT32 Argn); 711fba7fc7eSJung-uk Kim 712fba7fc7eSJung-uk Kim void 713fba7fc7eSJung-uk Kim OpnGenerateAmlOperands ( 714fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 715fba7fc7eSJung-uk Kim 716fba7fc7eSJung-uk Kim void 717fba7fc7eSJung-uk Kim OpnDoPackage ( 718fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 719fba7fc7eSJung-uk Kim 720fba7fc7eSJung-uk Kim 721fba7fc7eSJung-uk Kim /* 722cd6518c7SJung-uk Kim * aslopt - optimization 723fba7fc7eSJung-uk Kim */ 724fba7fc7eSJung-uk Kim void 725fba7fc7eSJung-uk Kim OptOptimizeNamePath ( 726fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 727fba7fc7eSJung-uk Kim UINT32 Flags, 728fba7fc7eSJung-uk Kim ACPI_WALK_STATE *WalkState, 729fba7fc7eSJung-uk Kim char *AmlNameString, 730fba7fc7eSJung-uk Kim ACPI_NAMESPACE_NODE *TargetNode); 731fba7fc7eSJung-uk Kim 732fba7fc7eSJung-uk Kim 733fba7fc7eSJung-uk Kim /* 734f8146b88SJung-uk Kim * aslpld - ToPLD macro support 735f8146b88SJung-uk Kim */ 736f8146b88SJung-uk Kim void 737f8146b88SJung-uk Kim OpcDoPld ( 738f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op); 739f8146b88SJung-uk Kim 740f8146b88SJung-uk Kim 741f8146b88SJung-uk Kim /* 7421c0e1b6dSJung-uk Kim * aslprintf - Printf/Fprintf macros 7431c0e1b6dSJung-uk Kim */ 7441c0e1b6dSJung-uk Kim void 7451c0e1b6dSJung-uk Kim OpcDoPrintf ( 7461c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *Op); 7471c0e1b6dSJung-uk Kim 7481c0e1b6dSJung-uk Kim void 7491c0e1b6dSJung-uk Kim OpcDoFprintf ( 7501c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *Op); 7511c0e1b6dSJung-uk Kim 7521c0e1b6dSJung-uk Kim 7531c0e1b6dSJung-uk Kim /* 7541c0e1b6dSJung-uk Kim * aslprune - parse tree pruner 7551c0e1b6dSJung-uk Kim */ 7561c0e1b6dSJung-uk Kim void 7571c0e1b6dSJung-uk Kim AslPruneParseTree ( 7581c0e1b6dSJung-uk Kim UINT32 PruneDepth, 7591c0e1b6dSJung-uk Kim UINT32 Type); 7601c0e1b6dSJung-uk Kim 7611c0e1b6dSJung-uk Kim 7621c0e1b6dSJung-uk Kim /* 763fba7fc7eSJung-uk Kim * aslcodegen - code generation 764fba7fc7eSJung-uk Kim */ 765fba7fc7eSJung-uk Kim void 766fba7fc7eSJung-uk Kim CgGenerateAmlOutput ( 767fba7fc7eSJung-uk Kim void); 768fba7fc7eSJung-uk Kim 7690d84335fSJung-uk Kim void 7700d84335fSJung-uk Kim CgLocalWriteAmlData ( 7710d84335fSJung-uk Kim ACPI_PARSE_OBJECT *Op, 7720d84335fSJung-uk Kim void *Buffer, 7730d84335fSJung-uk Kim UINT32 Length); 7740d84335fSJung-uk Kim 775fba7fc7eSJung-uk Kim 776fba7fc7eSJung-uk Kim /* 777a88e22b7SJung-uk Kim * aslfile 778a88e22b7SJung-uk Kim */ 779a88e22b7SJung-uk Kim void 780a88e22b7SJung-uk Kim FlOpenFile ( 781a88e22b7SJung-uk Kim UINT32 FileId, 782a88e22b7SJung-uk Kim char *Filename, 783a88e22b7SJung-uk Kim char *Mode); 784a88e22b7SJung-uk Kim 785a88e22b7SJung-uk Kim 786a88e22b7SJung-uk Kim /* 787fba7fc7eSJung-uk Kim * asllength - calculate/adjust AML package lengths 788fba7fc7eSJung-uk Kim */ 789fba7fc7eSJung-uk Kim ACPI_STATUS 790fba7fc7eSJung-uk Kim LnPackageLengthWalk ( 791fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 792fba7fc7eSJung-uk Kim UINT32 Level, 793fba7fc7eSJung-uk Kim void *Context); 794fba7fc7eSJung-uk Kim 795fba7fc7eSJung-uk Kim ACPI_STATUS 796fba7fc7eSJung-uk Kim LnInitLengthsWalk ( 797fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 798fba7fc7eSJung-uk Kim UINT32 Level, 799fba7fc7eSJung-uk Kim void *Context); 800fba7fc7eSJung-uk Kim 801fba7fc7eSJung-uk Kim void 802fba7fc7eSJung-uk Kim CgGenerateAmlLengths ( 803fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 804fba7fc7eSJung-uk Kim 805fba7fc7eSJung-uk Kim 806fba7fc7eSJung-uk Kim /* 807fba7fc7eSJung-uk Kim * aslmap - opcode mappings and reserved method names 808fba7fc7eSJung-uk Kim */ 809fba7fc7eSJung-uk Kim ACPI_OBJECT_TYPE 810fba7fc7eSJung-uk Kim AslMapNamedOpcodeToDataType ( 811fba7fc7eSJung-uk Kim UINT16 Opcode); 812fba7fc7eSJung-uk Kim 813ca3cf4faSJung-uk Kim 814ca3cf4faSJung-uk Kim /* 815ca3cf4faSJung-uk Kim * aslpredef - ACPI predefined names support 816ca3cf4faSJung-uk Kim */ 817d052a1ccSJung-uk Kim BOOLEAN 818ca3cf4faSJung-uk Kim ApCheckForPredefinedMethod ( 819ca3cf4faSJung-uk Kim ACPI_PARSE_OBJECT *Op, 820ca3cf4faSJung-uk Kim ASL_METHOD_INFO *MethodInfo); 821ca3cf4faSJung-uk Kim 8228c8be05fSJung-uk Kim void 8238c8be05fSJung-uk Kim ApCheckPredefinedReturnValue ( 8248c8be05fSJung-uk Kim ACPI_PARSE_OBJECT *Op, 8258c8be05fSJung-uk Kim ASL_METHOD_INFO *MethodInfo); 8268c8be05fSJung-uk Kim 827ca3cf4faSJung-uk Kim UINT32 828ca3cf4faSJung-uk Kim ApCheckForPredefinedName ( 829ca3cf4faSJung-uk Kim ACPI_PARSE_OBJECT *Op, 830ca3cf4faSJung-uk Kim char *Name); 831ca3cf4faSJung-uk Kim 832ca3cf4faSJung-uk Kim void 833ca3cf4faSJung-uk Kim ApCheckForPredefinedObject ( 834ca3cf4faSJung-uk Kim ACPI_PARSE_OBJECT *Op, 835ca3cf4faSJung-uk Kim char *Name); 836ca3cf4faSJung-uk Kim 8379c48c75eSJung-uk Kim ACPI_STATUS 8389c48c75eSJung-uk Kim ApCheckObjectType ( 8399c48c75eSJung-uk Kim const char *PredefinedName, 8409c48c75eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 8419c48c75eSJung-uk Kim UINT32 ExpectedBtypes, 8429c48c75eSJung-uk Kim UINT32 PackageIndex); 8439c48c75eSJung-uk Kim 844ca3cf4faSJung-uk Kim void 845ca3cf4faSJung-uk Kim ApDisplayReservedNames ( 846fba7fc7eSJung-uk Kim void); 847fba7fc7eSJung-uk Kim 848fba7fc7eSJung-uk Kim 849fba7fc7eSJung-uk Kim /* 8509c48c75eSJung-uk Kim * aslprepkg - ACPI predefined names support for packages 8519c48c75eSJung-uk Kim */ 8529c48c75eSJung-uk Kim void 8539c48c75eSJung-uk Kim ApCheckPackage ( 8549c48c75eSJung-uk Kim ACPI_PARSE_OBJECT *ParentOp, 8559c48c75eSJung-uk Kim const ACPI_PREDEFINED_INFO *Predefined); 8569c48c75eSJung-uk Kim 8579c48c75eSJung-uk Kim 8589c48c75eSJung-uk Kim /* 859fba7fc7eSJung-uk Kim * asltransform - parse tree transformations 860fba7fc7eSJung-uk Kim */ 861fba7fc7eSJung-uk Kim ACPI_STATUS 862f8146b88SJung-uk Kim TrAmlTransformWalkBegin ( 863f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 864f8146b88SJung-uk Kim UINT32 Level, 865f8146b88SJung-uk Kim void *Context); 866f8146b88SJung-uk Kim 867f8146b88SJung-uk Kim ACPI_STATUS 868f8146b88SJung-uk Kim TrAmlTransformWalkEnd ( 869fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 870fba7fc7eSJung-uk Kim UINT32 Level, 871fba7fc7eSJung-uk Kim void *Context); 872fba7fc7eSJung-uk Kim 873fba7fc7eSJung-uk Kim 874fba7fc7eSJung-uk Kim /* 875f8146b88SJung-uk Kim * aslexternal - External opcode support 876f8146b88SJung-uk Kim */ 877f8146b88SJung-uk Kim ACPI_STATUS 878f8146b88SJung-uk Kim ExAmlExternalWalkBegin ( 879f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 880f8146b88SJung-uk Kim UINT32 Level, 881f8146b88SJung-uk Kim void *Context); 882f8146b88SJung-uk Kim 883f8146b88SJung-uk Kim ACPI_STATUS 884f8146b88SJung-uk Kim ExAmlExternalWalkEnd ( 885f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 886f8146b88SJung-uk Kim UINT32 Level, 887f8146b88SJung-uk Kim void *Context); 888f8146b88SJung-uk Kim 889f8146b88SJung-uk Kim void 890f8146b88SJung-uk Kim ExDoExternal ( 891f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op); 892f8146b88SJung-uk Kim 893fba7fc7eSJung-uk Kim /* Values for "Visitation" parameter above */ 894fba7fc7eSJung-uk Kim 895fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_DOWNWARD 0x01 896fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_UPWARD 0x02 89744b0f624SJung-uk Kim #define ASL_WALK_VISIT_DB_SEPARATELY 0x04 898fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD) 899fba7fc7eSJung-uk Kim 900fba7fc7eSJung-uk Kim 9015f9b24faSJung-uk Kim /* 9025f9b24faSJung-uk Kim * aslparseop.c - Parse op create/allocate/cache 9035f9b24faSJung-uk Kim */ 904fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9055f9b24faSJung-uk Kim TrCreateOp ( 906fba7fc7eSJung-uk Kim UINT32 ParseOpcode, 907fba7fc7eSJung-uk Kim UINT32 NumChildren, 908fba7fc7eSJung-uk Kim ...); 909fba7fc7eSJung-uk Kim 910fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9115f9b24faSJung-uk Kim TrCreateLeafOp ( 912fba7fc7eSJung-uk Kim UINT32 ParseOpcode); 913fba7fc7eSJung-uk Kim 914fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9155f9b24faSJung-uk Kim TrCreateNullTargetOp ( 9167cf3e94aSJung-uk Kim void); 9177cf3e94aSJung-uk Kim 9187cf3e94aSJung-uk Kim ACPI_PARSE_OBJECT * 9195f9b24faSJung-uk Kim TrCreateAssignmentOp ( 9201c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *Target, 9211c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *Source); 9221c0e1b6dSJung-uk Kim 9231c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT * 9245f9b24faSJung-uk Kim TrCreateTargetOp ( 9251c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *OriginalOp, 9261c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *ParentOp); 9271c0e1b6dSJung-uk Kim 9281c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT * 9295f9b24faSJung-uk Kim TrCreateValuedLeafOp ( 930fba7fc7eSJung-uk Kim UINT32 ParseOpcode, 9319a179dd8SJung-uk Kim UINT64 Value); 932fba7fc7eSJung-uk Kim 933fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9345f9b24faSJung-uk Kim TrCreateConstantLeafOp ( 9350b94ba42SJung-uk Kim UINT32 ParseOpcode); 9360b94ba42SJung-uk Kim 9370b94ba42SJung-uk Kim ACPI_PARSE_OBJECT * 9385f9b24faSJung-uk Kim TrAllocateOp ( 9395f9b24faSJung-uk Kim UINT32 ParseOpcode); 9405f9b24faSJung-uk Kim 9415f9b24faSJung-uk Kim void 9425f9b24faSJung-uk Kim TrPrintOpFlags ( 9435f9b24faSJung-uk Kim UINT32 Flags, 9445f9b24faSJung-uk Kim UINT32 OutputLevel); 9455f9b24faSJung-uk Kim 9465f9b24faSJung-uk Kim 9475f9b24faSJung-uk Kim /* 9485f9b24faSJung-uk Kim * asltree.c - Parse tree management 9495f9b24faSJung-uk Kim */ 9505f9b24faSJung-uk Kim void 9515f9b24faSJung-uk Kim TrSetOpParent ( 9525f9b24faSJung-uk Kim ACPI_PARSE_OBJECT *Op, 9535f9b24faSJung-uk Kim ACPI_PARSE_OBJECT *ParentOp); 9545f9b24faSJung-uk Kim 9555f9b24faSJung-uk Kim ACPI_PARSE_OBJECT * 9565f9b24faSJung-uk Kim TrSetOpIntegerValue ( 9575f9b24faSJung-uk Kim UINT32 ParseOpcode, 9585f9b24faSJung-uk Kim ACPI_PARSE_OBJECT *Op); 9595f9b24faSJung-uk Kim 9605f9b24faSJung-uk Kim void 9615f9b24faSJung-uk Kim TrSetOpEndLineNumber ( 9625f9b24faSJung-uk Kim ACPI_PARSE_OBJECT *Op); 9635f9b24faSJung-uk Kim 9645f9b24faSJung-uk Kim void 9655f9b24faSJung-uk Kim TrSetOpCurrentFilename ( 9665f9b24faSJung-uk Kim ACPI_PARSE_OBJECT *Op); 9675f9b24faSJung-uk Kim 9682f6a1a81SJung-uk Kim void 9692f6a1a81SJung-uk Kim TrSetOpIntegerWidth ( 9702f6a1a81SJung-uk Kim ACPI_PARSE_OBJECT *TableSignature, 9712f6a1a81SJung-uk Kim ACPI_PARSE_OBJECT *Revision); 9722f6a1a81SJung-uk Kim 9735f9b24faSJung-uk Kim ACPI_PARSE_OBJECT * 9745f9b24faSJung-uk Kim TrLinkOpChildren ( 975fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 976fba7fc7eSJung-uk Kim UINT32 NumChildren, 977fba7fc7eSJung-uk Kim ...); 978fba7fc7eSJung-uk Kim 979fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9805f9b24faSJung-uk Kim TrLinkPeerOp ( 981fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op1, 982fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op2); 983fba7fc7eSJung-uk Kim 984fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9855f9b24faSJung-uk Kim TrLinkChildOp ( 986fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op1, 987fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op2); 988fba7fc7eSJung-uk Kim 989fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9905f9b24faSJung-uk Kim TrSetOpFlags ( 991fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op, 992fba7fc7eSJung-uk Kim UINT32 Flags); 993fba7fc7eSJung-uk Kim 994fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT * 9955f9b24faSJung-uk Kim TrSetOpAmlLength ( 9961df130f1SJung-uk Kim ACPI_PARSE_OBJECT *Op, 9971df130f1SJung-uk Kim UINT32 Length); 9981df130f1SJung-uk Kim 9991df130f1SJung-uk Kim ACPI_PARSE_OBJECT * 10005f9b24faSJung-uk Kim TrLinkPeerOps ( 1001fba7fc7eSJung-uk Kim UINT32 NumPeers, 1002fba7fc7eSJung-uk Kim ...); 1003fba7fc7eSJung-uk Kim 10045f9b24faSJung-uk Kim ACPI_STATUS 10055f9b24faSJung-uk Kim TrWalkParseTree ( 10065f9b24faSJung-uk Kim ACPI_PARSE_OBJECT *Op, 10075f9b24faSJung-uk Kim UINT32 Visitation, 10085f9b24faSJung-uk Kim ASL_WALK_CALLBACK DescendingCallback, 10095f9b24faSJung-uk Kim ASL_WALK_CALLBACK AscendingCallback, 10105f9b24faSJung-uk Kim void *Context); 10115f9b24faSJung-uk Kim 1012fba7fc7eSJung-uk Kim 1013fba7fc7eSJung-uk Kim /* 1014fba7fc7eSJung-uk Kim * aslfiles - File I/O support 1015fba7fc7eSJung-uk Kim */ 1016fba7fc7eSJung-uk Kim void 1017d6dd1baeSJung-uk Kim FlAddIncludeDirectory ( 1018d6dd1baeSJung-uk Kim char *Dir); 1019d6dd1baeSJung-uk Kim 1020a7a3b383SJung-uk Kim char * 1021a7a3b383SJung-uk Kim FlMergePathnames ( 1022a7a3b383SJung-uk Kim char *PrefixDir, 1023a7a3b383SJung-uk Kim char *FilePathname); 1024a7a3b383SJung-uk Kim 1025d6dd1baeSJung-uk Kim void 102653289f6aSNate Lawson FlOpenIncludeFile ( 102753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 102853289f6aSNate Lawson 102953289f6aSNate Lawson void 103053289f6aSNate Lawson FlFileError ( 103153289f6aSNate Lawson UINT32 FileId, 103253289f6aSNate Lawson UINT8 ErrorId); 103353289f6aSNate Lawson 10343f5e024cSJung-uk Kim UINT32 10353f5e024cSJung-uk Kim FlGetFileSize ( 10363f5e024cSJung-uk Kim UINT32 FileId); 10373f5e024cSJung-uk Kim 103853289f6aSNate Lawson ACPI_STATUS 103953289f6aSNate Lawson FlReadFile ( 104053289f6aSNate Lawson UINT32 FileId, 104153289f6aSNate Lawson void *Buffer, 104253289f6aSNate Lawson UINT32 Length); 104353289f6aSNate Lawson 104453289f6aSNate Lawson void 104553289f6aSNate Lawson FlWriteFile ( 104653289f6aSNate Lawson UINT32 FileId, 104753289f6aSNate Lawson void *Buffer, 104853289f6aSNate Lawson UINT32 Length); 104953289f6aSNate Lawson 105053289f6aSNate Lawson void 105153289f6aSNate Lawson FlSeekFile ( 105253289f6aSNate Lawson UINT32 FileId, 105353289f6aSNate Lawson long Offset); 105453289f6aSNate Lawson 105553289f6aSNate Lawson void 105644b0f624SJung-uk Kim FlSeekFileSet ( 105744b0f624SJung-uk Kim UINT32 FileId, 105844b0f624SJung-uk Kim long Offset); 105944b0f624SJung-uk Kim 106044b0f624SJung-uk Kim void 106153289f6aSNate Lawson FlCloseFile ( 106253289f6aSNate Lawson UINT32 FileId); 106353289f6aSNate Lawson 1064a009b7dcSJung-uk Kim ACPI_PRINTF_LIKE (2) 106553289f6aSNate Lawson void 106653289f6aSNate Lawson FlPrintFile ( 106753289f6aSNate Lawson UINT32 FileId, 106853289f6aSNate Lawson char *Format, 106953289f6aSNate Lawson ...); 107053289f6aSNate Lawson 107153289f6aSNate Lawson void 1072042ff955SJung-uk Kim FlDeleteFile ( 1073042ff955SJung-uk Kim UINT32 FileId); 1074042ff955SJung-uk Kim 1075042ff955SJung-uk Kim void 107653289f6aSNate Lawson FlSetLineNumber ( 1077eef1b955SJung-uk Kim UINT32 LineNumber); 1078eef1b955SJung-uk Kim 1079eef1b955SJung-uk Kim void 1080eef1b955SJung-uk Kim FlSetFilename ( 1081eef1b955SJung-uk Kim char *Filename); 108253289f6aSNate Lawson 108353289f6aSNate Lawson ACPI_STATUS 108453289f6aSNate Lawson FlOpenInputFile ( 108553289f6aSNate Lawson char *InputFilename); 108653289f6aSNate Lawson 108753289f6aSNate Lawson ACPI_STATUS 108853289f6aSNate Lawson FlOpenAmlOutputFile ( 108953289f6aSNate Lawson char *InputFilename); 109053289f6aSNate Lawson 109153289f6aSNate Lawson ACPI_STATUS 109253289f6aSNate Lawson FlOpenMiscOutputFiles ( 109353289f6aSNate Lawson char *InputFilename); 109453289f6aSNate Lawson 109544b0f624SJung-uk Kim ACPI_STATUS 109644b0f624SJung-uk Kim FlInitOneFile ( 109744b0f624SJung-uk Kim char *InputFilename); 109844b0f624SJung-uk Kim 109944b0f624SJung-uk Kim ASL_FILE_SWITCH_STATUS 110044b0f624SJung-uk Kim FlSwitchFileSet ( 110144b0f624SJung-uk Kim char *InputFilename); 110244b0f624SJung-uk Kim 110344b0f624SJung-uk Kim FILE * 110444b0f624SJung-uk Kim FlGetFileHandle ( 110544b0f624SJung-uk Kim UINT32 OutFileId, 110644b0f624SJung-uk Kim UINT32 InFileId, 110744b0f624SJung-uk Kim char *Filename); 110844b0f624SJung-uk Kim 110944b0f624SJung-uk Kim ASL_GLOBAL_FILE_NODE * 111044b0f624SJung-uk Kim FlGetFileNode ( 111144b0f624SJung-uk Kim UINT32 FileId, 111244b0f624SJung-uk Kim char *Filename); 111344b0f624SJung-uk Kim 111444b0f624SJung-uk Kim ASL_GLOBAL_FILE_NODE * 111544b0f624SJung-uk Kim FlGetCurrentFileNode ( 111644b0f624SJung-uk Kim void); 111744b0f624SJung-uk Kim 111844b0f624SJung-uk Kim 1119313a0c13SJung-uk Kim /* 1120313a0c13SJung-uk Kim * aslhwmap - hardware map summary 1121313a0c13SJung-uk Kim */ 1122313a0c13SJung-uk Kim void 1123313a0c13SJung-uk Kim MpEmitMappingInfo ( 1124313a0c13SJung-uk Kim void); 1125313a0c13SJung-uk Kim 112653289f6aSNate Lawson 1127fba7fc7eSJung-uk Kim /* 1128fba7fc7eSJung-uk Kim * asload - load namespace in prep for cross reference 1129fba7fc7eSJung-uk Kim */ 113053289f6aSNate Lawson ACPI_STATUS 113153289f6aSNate Lawson LdLoadNamespace ( 113253289f6aSNate Lawson ACPI_PARSE_OBJECT *RootOp); 113353289f6aSNate Lawson 1134fba7fc7eSJung-uk Kim /* 1135efcc2a30SJung-uk Kim * asllookup - namespace lookup functions 1136fba7fc7eSJung-uk Kim */ 11371a39cfb0SJung-uk Kim void 11381a39cfb0SJung-uk Kim LkFindUnreferencedObjects ( 11391a39cfb0SJung-uk Kim void); 11401a39cfb0SJung-uk Kim 114144b0f624SJung-uk Kim 1142a9d8d09cSJung-uk Kim /* 1143493deb39SJung-uk Kim * aslhelp - help screens 1144a9d8d09cSJung-uk Kim */ 1145a9d8d09cSJung-uk Kim void 1146a9d8d09cSJung-uk Kim Usage ( 1147a9d8d09cSJung-uk Kim void); 1148a9d8d09cSJung-uk Kim 1149a9d8d09cSJung-uk Kim void 1150a9d8d09cSJung-uk Kim AslFilenameHelp ( 1151a9d8d09cSJung-uk Kim void); 1152a9d8d09cSJung-uk Kim 1153493deb39SJung-uk Kim void 1154493deb39SJung-uk Kim AslDisassemblyHelp ( 1155493deb39SJung-uk Kim void); 1156493deb39SJung-uk Kim 1157efcc2a30SJung-uk Kim 1158efcc2a30SJung-uk Kim /* 1159efcc2a30SJung-uk Kim * aslnamesp - namespace output file generation 1160efcc2a30SJung-uk Kim */ 116153289f6aSNate Lawson ACPI_STATUS 1162efcc2a30SJung-uk Kim NsDisplayNamespace ( 116353289f6aSNate Lawson void); 116453289f6aSNate Lawson 116542fecd12SJung-uk Kim void 1166efcc2a30SJung-uk Kim NsSetupNamespaceListing ( 116742fecd12SJung-uk Kim void *Handle); 116842fecd12SJung-uk Kim 116944b0f624SJung-uk Kim 1170a9d8d09cSJung-uk Kim /* 1171a9d8d09cSJung-uk Kim * asloptions - command line processing 1172a9d8d09cSJung-uk Kim */ 1173a9d8d09cSJung-uk Kim int 1174a9d8d09cSJung-uk Kim AslCommandLine ( 1175a9d8d09cSJung-uk Kim int argc, 1176a9d8d09cSJung-uk Kim char **argv); 117753289f6aSNate Lawson 117844b0f624SJung-uk Kim 1179fba7fc7eSJung-uk Kim /* 1180efcc2a30SJung-uk Kim * aslxref - namespace cross reference 1181efcc2a30SJung-uk Kim */ 1182efcc2a30SJung-uk Kim ACPI_STATUS 1183efcc2a30SJung-uk Kim XfCrossReferenceNamespace ( 1184efcc2a30SJung-uk Kim void); 1185efcc2a30SJung-uk Kim 1186efcc2a30SJung-uk Kim 1187efcc2a30SJung-uk Kim /* 1188f8146b88SJung-uk Kim * aslxrefout 1189f8146b88SJung-uk Kim */ 1190f8146b88SJung-uk Kim void 1191f8146b88SJung-uk Kim OtPrintHeaders ( 1192f8146b88SJung-uk Kim char *Message); 1193f8146b88SJung-uk Kim 1194f8146b88SJung-uk Kim void 1195f8146b88SJung-uk Kim OtCreateXrefFile ( 1196f8146b88SJung-uk Kim void); 1197f8146b88SJung-uk Kim 1198f8146b88SJung-uk Kim void 1199f8146b88SJung-uk Kim OtXrefWalkPart1 ( 1200f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 1201f8146b88SJung-uk Kim UINT32 Level, 1202f8146b88SJung-uk Kim ASL_METHOD_INFO *MethodInfo); 1203f8146b88SJung-uk Kim 1204f8146b88SJung-uk Kim 1205f8146b88SJung-uk Kim /* 1206cd6518c7SJung-uk Kim * aslutils - common compiler utilities 1207fba7fc7eSJung-uk Kim */ 1208a009b7dcSJung-uk Kim ACPI_PRINTF_LIKE(2) 1209fba7fc7eSJung-uk Kim void 1210fba7fc7eSJung-uk Kim DbgPrint ( 1211fba7fc7eSJung-uk Kim UINT32 Type, 1212fba7fc7eSJung-uk Kim char *Format, 1213fba7fc7eSJung-uk Kim ...); 121453289f6aSNate Lawson 1215fba7fc7eSJung-uk Kim /* Type values for above */ 1216fba7fc7eSJung-uk Kim 1217fba7fc7eSJung-uk Kim #define ASL_DEBUG_OUTPUT 0 1218fba7fc7eSJung-uk Kim #define ASL_PARSE_OUTPUT 1 1219fba7fc7eSJung-uk Kim #define ASL_TREE_OUTPUT 2 122053289f6aSNate Lawson 1221f8146b88SJung-uk Kim UINT8 1222f8146b88SJung-uk Kim UtIsBigEndianMachine ( 1223f8146b88SJung-uk Kim void); 1224f8146b88SJung-uk Kim 1225f8146b88SJung-uk Kim BOOLEAN 1226f8146b88SJung-uk Kim UtQueryForOverwrite ( 1227f8146b88SJung-uk Kim char *Pathname); 1228f8146b88SJung-uk Kim 1229f8146b88SJung-uk Kim void 1230f8146b88SJung-uk Kim UtDumpStringOp ( 1231f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 1232f8146b88SJung-uk Kim UINT32 Level); 1233f8146b88SJung-uk Kim 1234f8146b88SJung-uk Kim void 1235f8146b88SJung-uk Kim UtDumpIntegerOp ( 1236f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 1237f8146b88SJung-uk Kim UINT32 Level, 1238f8146b88SJung-uk Kim UINT32 IntegerLength); 1239f8146b88SJung-uk Kim 1240f8146b88SJung-uk Kim void 1241f8146b88SJung-uk Kim UtDumpBasicOp ( 1242f8146b88SJung-uk Kim ACPI_PARSE_OBJECT *Op, 1243f8146b88SJung-uk Kim UINT32 Level); 1244f8146b88SJung-uk Kim 1245*ec0234b4SJung-uk Kim ACPI_NAMESPACE_NODE * 1246*ec0234b4SJung-uk Kim UtGetParentMethodNode ( 1247835b56bfSJung-uk Kim ACPI_NAMESPACE_NODE *Node); 1248835b56bfSJung-uk Kim 1249*ec0234b4SJung-uk Kim ACPI_PARSE_OBJECT * 1250*ec0234b4SJung-uk Kim UtGetParentMethodOp ( 1251*ec0234b4SJung-uk Kim ACPI_PARSE_OBJECT *Op); 1252*ec0234b4SJung-uk Kim 1253835b56bfSJung-uk Kim BOOLEAN 1254835b56bfSJung-uk Kim UtNodeIsDescendantOf ( 1255835b56bfSJung-uk Kim ACPI_NAMESPACE_NODE *Node1, 1256835b56bfSJung-uk Kim ACPI_NAMESPACE_NODE *Node2); 1257835b56bfSJung-uk Kim 125853289f6aSNate Lawson void 1259a88e22b7SJung-uk Kim UtDisplaySupportedTables ( 1260a88e22b7SJung-uk Kim void); 1261a88e22b7SJung-uk Kim 1262a88e22b7SJung-uk Kim void 126353289f6aSNate Lawson UtDisplayConstantOpcodes ( 126453289f6aSNate Lawson void); 126553289f6aSNate Lawson 1266fba7fc7eSJung-uk Kim UINT8 126753289f6aSNate Lawson UtBeginEvent ( 126853289f6aSNate Lawson char *Name); 126953289f6aSNate Lawson 127053289f6aSNate Lawson void 127153289f6aSNate Lawson UtEndEvent ( 1272fba7fc7eSJung-uk Kim UINT8 Event); 127353289f6aSNate Lawson 127453289f6aSNate Lawson void 127553289f6aSNate Lawson UtDisplaySummary ( 127653289f6aSNate Lawson UINT32 FileId); 127753289f6aSNate Lawson 127853289f6aSNate Lawson void 127944b0f624SJung-uk Kim UtDisplayOneSummary ( 128044b0f624SJung-uk Kim UINT32 FileId, 128144b0f624SJung-uk Kim BOOLEAN DisplayErrorSummary); 128244b0f624SJung-uk Kim 128344b0f624SJung-uk Kim void 128453289f6aSNate Lawson UtConvertByteToHex ( 128553289f6aSNate Lawson UINT8 RawByte, 128653289f6aSNate Lawson UINT8 *Buffer); 128753289f6aSNate Lawson 128853289f6aSNate Lawson void 128953289f6aSNate Lawson UtConvertByteToAsmHex ( 129053289f6aSNate Lawson UINT8 RawByte, 129153289f6aSNate Lawson UINT8 *Buffer); 129253289f6aSNate Lawson 129353289f6aSNate Lawson char * 129453289f6aSNate Lawson UtGetOpName ( 129553289f6aSNate Lawson UINT32 ParseOpcode); 129653289f6aSNate Lawson 129753289f6aSNate Lawson void 129853289f6aSNate Lawson UtSetParseOpName ( 129953289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 130053289f6aSNate Lawson 130153289f6aSNate Lawson ACPI_STATUS 130253289f6aSNate Lawson UtInternalizeName ( 130353289f6aSNate Lawson char *ExternalName, 130453289f6aSNate Lawson char **ConvertedName); 130553289f6aSNate Lawson 1306a009b7dcSJung-uk Kim BOOLEAN 1307a009b7dcSJung-uk Kim UtNameContainsAllPrefix ( 1308a009b7dcSJung-uk Kim ACPI_PARSE_OBJECT *Op); 1309a009b7dcSJung-uk Kim 131053289f6aSNate Lawson void 131153289f6aSNate Lawson UtAttachNamepathToOwner ( 131253289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 131353289f6aSNate Lawson ACPI_PARSE_OBJECT *NameNode); 131453289f6aSNate Lawson 131553289f6aSNate Lawson ACPI_PARSE_OBJECT * 131653289f6aSNate Lawson UtCheckIntegerRange ( 131753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 131853289f6aSNate Lawson UINT32 LowValue, 131953289f6aSNate Lawson UINT32 HighValue); 132053289f6aSNate Lawson 13219a179dd8SJung-uk Kim UINT64 132253289f6aSNate Lawson UtDoConstant ( 132353289f6aSNate Lawson char *String); 132453289f6aSNate Lawson 1325a009b7dcSJung-uk Kim char * 1326a009b7dcSJung-uk Kim AcpiUtStrdup ( 1327a009b7dcSJung-uk Kim char *String); 1328a009b7dcSJung-uk Kim 1329a009b7dcSJung-uk Kim char * 1330a009b7dcSJung-uk Kim AcpiUtStrcat ( 1331a009b7dcSJung-uk Kim char *String1, 1332a009b7dcSJung-uk Kim char *String2); 1333a009b7dcSJung-uk Kim 1334d052a1ccSJung-uk Kim 1335d244b227SJung-uk Kim /* 1336d244b227SJung-uk Kim * asluuid - UUID support 1337d244b227SJung-uk Kim */ 1338d244b227SJung-uk Kim ACPI_STATUS 1339d244b227SJung-uk Kim AuValidateUuid ( 1340d244b227SJung-uk Kim char *InString); 1341d244b227SJung-uk Kim 1342d244b227SJung-uk Kim ACPI_STATUS 1343d244b227SJung-uk Kim AuConvertUuidToString ( 1344d244b227SJung-uk Kim char *UuIdBuffer, 1345d244b227SJung-uk Kim char *OutString); 134653289f6aSNate Lawson 134744b0f624SJung-uk Kim 134853289f6aSNate Lawson /* 1349fba7fc7eSJung-uk Kim * aslresource - Resource template generation utilities 135053289f6aSNate Lawson */ 13513f5e024cSJung-uk Kim void 13523f5e024cSJung-uk Kim RsSmallAddressCheck ( 13533f5e024cSJung-uk Kim UINT8 Type, 13543f5e024cSJung-uk Kim UINT32 Minimum, 13553f5e024cSJung-uk Kim UINT32 Maximum, 13563f5e024cSJung-uk Kim UINT32 Length, 13573f5e024cSJung-uk Kim UINT32 Alignment, 13583f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *MinOp, 13593f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *MaxOp, 13603f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *LengthOp, 13613c1812acSJung-uk Kim ACPI_PARSE_OBJECT *AlignOp, 13623c1812acSJung-uk Kim ACPI_PARSE_OBJECT *Op); 13633f5e024cSJung-uk Kim 13643f5e024cSJung-uk Kim void 13653f5e024cSJung-uk Kim RsLargeAddressCheck ( 13663f5e024cSJung-uk Kim UINT64 Minimum, 13673f5e024cSJung-uk Kim UINT64 Maximum, 13683f5e024cSJung-uk Kim UINT64 Length, 13693f5e024cSJung-uk Kim UINT64 Granularity, 13703f5e024cSJung-uk Kim UINT8 Flags, 13713f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *MinOp, 13723f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *MaxOp, 13733f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *LengthOp, 13743c1812acSJung-uk Kim ACPI_PARSE_OBJECT *GranOp, 13753c1812acSJung-uk Kim ACPI_PARSE_OBJECT *Op); 13763f5e024cSJung-uk Kim 13773f5e024cSJung-uk Kim UINT16 13783f5e024cSJung-uk Kim RsGetStringDataLength ( 13793f5e024cSJung-uk Kim ACPI_PARSE_OBJECT *InitializerOp); 13803f5e024cSJung-uk Kim 138153289f6aSNate Lawson ASL_RESOURCE_NODE * 138253289f6aSNate Lawson RsAllocateResourceNode ( 138353289f6aSNate Lawson UINT32 Size); 138453289f6aSNate Lawson 138553289f6aSNate Lawson void 13863f0275a0SJung-uk Kim RsCreateResourceField ( 138753289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 138853289f6aSNate Lawson char *Name, 138953289f6aSNate Lawson UINT32 ByteOffset, 13903f0275a0SJung-uk Kim UINT32 BitOffset, 13913f0275a0SJung-uk Kim UINT32 BitLength); 139253289f6aSNate Lawson 139353289f6aSNate Lawson void 139453289f6aSNate Lawson RsSetFlagBits ( 139553289f6aSNate Lawson UINT8 *Flags, 139653289f6aSNate Lawson ACPI_PARSE_OBJECT *Op, 139753289f6aSNate Lawson UINT8 Position, 139853289f6aSNate Lawson UINT8 DefaultBit); 139953289f6aSNate Lawson 14003f0275a0SJung-uk Kim void 14013f0275a0SJung-uk Kim RsSetFlagBits16 ( 14023f0275a0SJung-uk Kim UINT16 *Flags, 14033f0275a0SJung-uk Kim ACPI_PARSE_OBJECT *Op, 14043f0275a0SJung-uk Kim UINT8 Position, 14053f0275a0SJung-uk Kim UINT8 DefaultBit); 14063f0275a0SJung-uk Kim 140753289f6aSNate Lawson ACPI_PARSE_OBJECT * 140853289f6aSNate Lawson RsCompleteNodeAndGetNext ( 140953289f6aSNate Lawson ACPI_PARSE_OBJECT *Op); 141053289f6aSNate Lawson 1411fba7fc7eSJung-uk Kim void 1412fba7fc7eSJung-uk Kim RsCheckListForDuplicates ( 1413fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 1414fba7fc7eSJung-uk Kim 141553289f6aSNate Lawson ASL_RESOURCE_NODE * 141653289f6aSNate Lawson RsDoOneResourceDescriptor ( 1417313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info, 141853289f6aSNate Lawson UINT8 *State); 141953289f6aSNate Lawson 1420fba7fc7eSJung-uk Kim /* Values for State above */ 1421fba7fc7eSJung-uk Kim 142253289f6aSNate Lawson #define ACPI_RSTATE_NORMAL 0 142353289f6aSNate Lawson #define ACPI_RSTATE_START_DEPENDENT 1 142453289f6aSNate Lawson #define ACPI_RSTATE_DEPENDENT_LIST 2 142553289f6aSNate Lawson 142653289f6aSNate Lawson UINT32 142753289f6aSNate Lawson RsLinkDescriptorChain ( 142853289f6aSNate Lawson ASL_RESOURCE_NODE **PreviousRnode, 142953289f6aSNate Lawson ASL_RESOURCE_NODE *Rnode); 143053289f6aSNate Lawson 1431fba7fc7eSJung-uk Kim void 1432fba7fc7eSJung-uk Kim RsDoResourceTemplate ( 1433fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *Op); 1434fba7fc7eSJung-uk Kim 143553289f6aSNate Lawson 143653289f6aSNate Lawson /* 14373f5e024cSJung-uk Kim * aslrestype1 - Miscellaneous Small descriptors 143853289f6aSNate Lawson */ 143953289f6aSNate Lawson ASL_RESOURCE_NODE * 14401a39cfb0SJung-uk Kim RsDoEndTagDescriptor ( 1441313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14421a39cfb0SJung-uk Kim 14431a39cfb0SJung-uk Kim ASL_RESOURCE_NODE * 144453289f6aSNate Lawson RsDoEndDependentDescriptor ( 1445313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 144653289f6aSNate Lawson 144753289f6aSNate Lawson ASL_RESOURCE_NODE * 144853289f6aSNate Lawson RsDoMemory24Descriptor ( 1449313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 145053289f6aSNate Lawson 145153289f6aSNate Lawson ASL_RESOURCE_NODE * 145253289f6aSNate Lawson RsDoMemory32Descriptor ( 1453313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 145453289f6aSNate Lawson 145553289f6aSNate Lawson ASL_RESOURCE_NODE * 145653289f6aSNate Lawson RsDoMemory32FixedDescriptor ( 1457313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 145853289f6aSNate Lawson 145953289f6aSNate Lawson ASL_RESOURCE_NODE * 146053289f6aSNate Lawson RsDoStartDependentDescriptor ( 1461313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 146253289f6aSNate Lawson 146353289f6aSNate Lawson ASL_RESOURCE_NODE * 146453289f6aSNate Lawson RsDoStartDependentNoPriDescriptor ( 1465313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 146653289f6aSNate Lawson 146753289f6aSNate Lawson ASL_RESOURCE_NODE * 146853289f6aSNate Lawson RsDoVendorSmallDescriptor ( 1469313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 147053289f6aSNate Lawson 147153289f6aSNate Lawson 147253289f6aSNate Lawson /* 14733f5e024cSJung-uk Kim * aslrestype1i - I/O-related Small descriptors 14743f5e024cSJung-uk Kim */ 14753f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 14763f5e024cSJung-uk Kim RsDoDmaDescriptor ( 1477313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14783f5e024cSJung-uk Kim 14793f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 14803f0275a0SJung-uk Kim RsDoFixedDmaDescriptor ( 1481313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14823f0275a0SJung-uk Kim 14833f0275a0SJung-uk Kim ASL_RESOURCE_NODE * 14843f5e024cSJung-uk Kim RsDoFixedIoDescriptor ( 1485313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14863f5e024cSJung-uk Kim 14873f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 14883f5e024cSJung-uk Kim RsDoIoDescriptor ( 1489313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14903f5e024cSJung-uk Kim 14913f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 14923f5e024cSJung-uk Kim RsDoIrqDescriptor ( 1493313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14943f5e024cSJung-uk Kim 14953f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 14963f5e024cSJung-uk Kim RsDoIrqNoFlagsDescriptor ( 1497313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 14983f5e024cSJung-uk Kim 14993f5e024cSJung-uk Kim 15003f5e024cSJung-uk Kim /* 15013f5e024cSJung-uk Kim * aslrestype2 - Large resource descriptors 150253289f6aSNate Lawson */ 1503fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 1504fba7fc7eSJung-uk Kim RsDoInterruptDescriptor ( 1505313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 150653289f6aSNate Lawson 150753289f6aSNate Lawson ASL_RESOURCE_NODE * 15083f5e024cSJung-uk Kim RsDoVendorLargeDescriptor ( 1509313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15103f5e024cSJung-uk Kim 15113f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 15123f5e024cSJung-uk Kim RsDoGeneralRegisterDescriptor ( 1513313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15143f5e024cSJung-uk Kim 15153f0275a0SJung-uk Kim ASL_RESOURCE_NODE * 15163f0275a0SJung-uk Kim RsDoGpioIntDescriptor ( 1517313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15183f0275a0SJung-uk Kim 15193f0275a0SJung-uk Kim ASL_RESOURCE_NODE * 15203f0275a0SJung-uk Kim RsDoGpioIoDescriptor ( 1521313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15223f0275a0SJung-uk Kim 15233f0275a0SJung-uk Kim ASL_RESOURCE_NODE * 15243f0275a0SJung-uk Kim RsDoI2cSerialBusDescriptor ( 1525313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15263f0275a0SJung-uk Kim 15273f0275a0SJung-uk Kim ASL_RESOURCE_NODE * 15283f0275a0SJung-uk Kim RsDoSpiSerialBusDescriptor ( 1529313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15303f0275a0SJung-uk Kim 15313f0275a0SJung-uk Kim ASL_RESOURCE_NODE * 15323f0275a0SJung-uk Kim RsDoUartSerialBusDescriptor ( 1533313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 15343f5e024cSJung-uk Kim 1535af051161SJung-uk Kim ASL_RESOURCE_NODE * 1536af051161SJung-uk Kim RsDoPinFunctionDescriptor ( 1537af051161SJung-uk Kim ASL_RESOURCE_INFO *Info); 1538af051161SJung-uk Kim 1539af051161SJung-uk Kim ASL_RESOURCE_NODE * 1540af051161SJung-uk Kim RsDoPinConfigDescriptor ( 1541af051161SJung-uk Kim ASL_RESOURCE_INFO *Info); 1542af051161SJung-uk Kim 1543af051161SJung-uk Kim ASL_RESOURCE_NODE * 1544af051161SJung-uk Kim RsDoPinGroupDescriptor ( 1545af051161SJung-uk Kim ASL_RESOURCE_INFO *Info); 1546af051161SJung-uk Kim 1547af051161SJung-uk Kim ASL_RESOURCE_NODE * 1548af051161SJung-uk Kim RsDoPinGroupFunctionDescriptor ( 1549af051161SJung-uk Kim ASL_RESOURCE_INFO *Info); 1550af051161SJung-uk Kim 1551af051161SJung-uk Kim ASL_RESOURCE_NODE * 1552af051161SJung-uk Kim RsDoPinGroupConfigDescriptor ( 1553af051161SJung-uk Kim ASL_RESOURCE_INFO *Info); 1554af051161SJung-uk Kim 155544b0f624SJung-uk Kim 15563f5e024cSJung-uk Kim /* 15573f5e024cSJung-uk Kim * aslrestype2d - DWord address descriptors 15583f5e024cSJung-uk Kim */ 15593f5e024cSJung-uk Kim ASL_RESOURCE_NODE * 156053289f6aSNate Lawson RsDoDwordIoDescriptor ( 1561313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 156253289f6aSNate Lawson 156353289f6aSNate Lawson ASL_RESOURCE_NODE * 156453289f6aSNate Lawson RsDoDwordMemoryDescriptor ( 1565313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 156653289f6aSNate Lawson 156753289f6aSNate Lawson ASL_RESOURCE_NODE * 1568fba7fc7eSJung-uk Kim RsDoDwordSpaceDescriptor ( 1569313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1570fba7fc7eSJung-uk Kim 15713f5e024cSJung-uk Kim 15723f5e024cSJung-uk Kim /* 15733f5e024cSJung-uk Kim * aslrestype2e - Extended address descriptors 15743f5e024cSJung-uk Kim */ 1575fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 1576fba7fc7eSJung-uk Kim RsDoExtendedIoDescriptor ( 1577313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1578fba7fc7eSJung-uk Kim 1579fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 1580fba7fc7eSJung-uk Kim RsDoExtendedMemoryDescriptor ( 1581313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1582fba7fc7eSJung-uk Kim 1583fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 1584fba7fc7eSJung-uk Kim RsDoExtendedSpaceDescriptor ( 1585313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1586fba7fc7eSJung-uk Kim 15873f5e024cSJung-uk Kim 15883f5e024cSJung-uk Kim /* 15893f5e024cSJung-uk Kim * aslrestype2q - QWord address descriptors 15903f5e024cSJung-uk Kim */ 1591fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 159253289f6aSNate Lawson RsDoQwordIoDescriptor ( 1593313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 159453289f6aSNate Lawson 159553289f6aSNate Lawson ASL_RESOURCE_NODE * 159653289f6aSNate Lawson RsDoQwordMemoryDescriptor ( 1597313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 159853289f6aSNate Lawson 159953289f6aSNate Lawson ASL_RESOURCE_NODE * 1600fba7fc7eSJung-uk Kim RsDoQwordSpaceDescriptor ( 1601313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1602fba7fc7eSJung-uk Kim 16033f5e024cSJung-uk Kim 16043f5e024cSJung-uk Kim /* 16053f5e024cSJung-uk Kim * aslrestype2w - Word address descriptors 16063f5e024cSJung-uk Kim */ 1607fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 160853289f6aSNate Lawson RsDoWordIoDescriptor ( 1609313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 161053289f6aSNate Lawson 161153289f6aSNate Lawson ASL_RESOURCE_NODE * 1612fba7fc7eSJung-uk Kim RsDoWordSpaceDescriptor ( 1613313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1614fba7fc7eSJung-uk Kim 1615fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE * 161653289f6aSNate Lawson RsDoWordBusNumberDescriptor ( 1617313a0c13SJung-uk Kim ASL_RESOURCE_INFO *Info); 1618313a0c13SJung-uk Kim 161953289f6aSNate Lawson 1620a88e22b7SJung-uk Kim /* 1621a88e22b7SJung-uk Kim * Entry to data table compiler subsystem 1622a88e22b7SJung-uk Kim */ 1623a88e22b7SJung-uk Kim ACPI_STATUS 1624a88e22b7SJung-uk Kim DtDoCompile( 1625a88e22b7SJung-uk Kim void); 1626a88e22b7SJung-uk Kim 1627a88e22b7SJung-uk Kim ACPI_STATUS 1628a88e22b7SJung-uk Kim DtCreateTemplates ( 1629f8146b88SJung-uk Kim char **argv); 1630a88e22b7SJung-uk Kim 16310d84335fSJung-uk Kim 16320d84335fSJung-uk Kim /* 16330d84335fSJung-uk Kim * ASL/ASL+ converter debug 16340d84335fSJung-uk Kim */ 1635a009b7dcSJung-uk Kim ACPI_PRINTF_LIKE (1) 16360d84335fSJung-uk Kim void 16370d84335fSJung-uk Kim CvDbgPrint ( 16380d84335fSJung-uk Kim char *Fmt, 16390d84335fSJung-uk Kim ...); 16400d84335fSJung-uk Kim 16410d84335fSJung-uk Kim 164253289f6aSNate Lawson #endif /* __ASLCOMPILER_H */ 1643