xref: /illumos-gate/usr/src/cmd/acpi/iasl/aslcompiler.h (revision 35786f6866ae52207d0f1a25fe7ca5f652f32ce0)
1bc36eafdSMike Gerdts /******************************************************************************
2bc36eafdSMike Gerdts  *
3bc36eafdSMike Gerdts  * Module Name: aslcompiler.h - common include file for iASL
4bc36eafdSMike Gerdts  *
5bc36eafdSMike Gerdts  *****************************************************************************/
6bc36eafdSMike Gerdts 
7*35786f68SRobert Mustacchi /******************************************************************************
8*35786f68SRobert Mustacchi  *
9*35786f68SRobert Mustacchi  * 1. Copyright Notice
10*35786f68SRobert Mustacchi  *
11*35786f68SRobert Mustacchi  * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
12bc36eafdSMike Gerdts  * All rights reserved.
13bc36eafdSMike Gerdts  *
14*35786f68SRobert Mustacchi  * 2. License
15*35786f68SRobert Mustacchi  *
16*35786f68SRobert Mustacchi  * 2.1. This is your license from Intel Corp. under its intellectual property
17*35786f68SRobert Mustacchi  * rights. You may have additional license terms from the party that provided
18*35786f68SRobert Mustacchi  * you this software, covering your right to use that party's intellectual
19*35786f68SRobert Mustacchi  * property rights.
20*35786f68SRobert Mustacchi  *
21*35786f68SRobert Mustacchi  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22*35786f68SRobert Mustacchi  * copy of the source code appearing in this file ("Covered Code") an
23*35786f68SRobert Mustacchi  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24*35786f68SRobert Mustacchi  * base code distributed originally by Intel ("Original Intel Code") to copy,
25*35786f68SRobert Mustacchi  * make derivatives, distribute, use and display any portion of the Covered
26*35786f68SRobert Mustacchi  * Code in any form, with the right to sublicense such rights; and
27*35786f68SRobert Mustacchi  *
28*35786f68SRobert Mustacchi  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29*35786f68SRobert Mustacchi  * license (with the right to sublicense), under only those claims of Intel
30*35786f68SRobert Mustacchi  * patents that are infringed by the Original Intel Code, to make, use, sell,
31*35786f68SRobert Mustacchi  * offer to sell, and import the Covered Code and derivative works thereof
32*35786f68SRobert Mustacchi  * solely to the minimum extent necessary to exercise the above copyright
33*35786f68SRobert Mustacchi  * license, and in no event shall the patent license extend to any additions
34*35786f68SRobert Mustacchi  * to or modifications of the Original Intel Code. No other license or right
35*35786f68SRobert Mustacchi  * is granted directly or by implication, estoppel or otherwise;
36*35786f68SRobert Mustacchi  *
37*35786f68SRobert Mustacchi  * The above copyright and patent license is granted only if the following
38*35786f68SRobert Mustacchi  * conditions are met:
39*35786f68SRobert Mustacchi  *
40*35786f68SRobert Mustacchi  * 3. Conditions
41*35786f68SRobert Mustacchi  *
42*35786f68SRobert Mustacchi  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43*35786f68SRobert Mustacchi  * Redistribution of source code of any substantial portion of the Covered
44*35786f68SRobert Mustacchi  * Code or modification with rights to further distribute source must include
45*35786f68SRobert Mustacchi  * the above Copyright Notice, the above License, this list of Conditions,
46*35786f68SRobert Mustacchi  * and the following Disclaimer and Export Compliance provision. In addition,
47*35786f68SRobert Mustacchi  * Licensee must cause all Covered Code to which Licensee contributes to
48*35786f68SRobert Mustacchi  * contain a file documenting the changes Licensee made to create that Covered
49*35786f68SRobert Mustacchi  * Code and the date of any change. Licensee must include in that file the
50*35786f68SRobert Mustacchi  * documentation of any changes made by any predecessor Licensee. Licensee
51*35786f68SRobert Mustacchi  * must include a prominent statement that the modification is derived,
52*35786f68SRobert Mustacchi  * directly or indirectly, from Original Intel Code.
53*35786f68SRobert Mustacchi  *
54*35786f68SRobert Mustacchi  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55*35786f68SRobert Mustacchi  * Redistribution of source code of any substantial portion of the Covered
56*35786f68SRobert Mustacchi  * Code or modification without rights to further distribute source must
57*35786f68SRobert Mustacchi  * include the following Disclaimer and Export Compliance provision in the
58*35786f68SRobert Mustacchi  * documentation and/or other materials provided with distribution. In
59*35786f68SRobert Mustacchi  * addition, Licensee may not authorize further sublicense of source of any
60*35786f68SRobert Mustacchi  * portion of the Covered Code, and must include terms to the effect that the
61*35786f68SRobert Mustacchi  * license from Licensee to its licensee is limited to the intellectual
62*35786f68SRobert Mustacchi  * property embodied in the software Licensee provides to its licensee, and
63*35786f68SRobert Mustacchi  * not to intellectual property embodied in modifications its licensee may
64*35786f68SRobert Mustacchi  * make.
65*35786f68SRobert Mustacchi  *
66*35786f68SRobert Mustacchi  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67*35786f68SRobert Mustacchi  * substantial portion of the Covered Code or modification must reproduce the
68*35786f68SRobert Mustacchi  * above Copyright Notice, and the following Disclaimer and Export Compliance
69*35786f68SRobert Mustacchi  * provision in the documentation and/or other materials provided with the
70*35786f68SRobert Mustacchi  * distribution.
71*35786f68SRobert Mustacchi  *
72*35786f68SRobert Mustacchi  * 3.4. Intel retains all right, title, and interest in and to the Original
73*35786f68SRobert Mustacchi  * Intel Code.
74*35786f68SRobert Mustacchi  *
75*35786f68SRobert Mustacchi  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76*35786f68SRobert Mustacchi  * Intel shall be used in advertising or otherwise to promote the sale, use or
77*35786f68SRobert Mustacchi  * other dealings in products derived from or relating to the Covered Code
78*35786f68SRobert Mustacchi  * without prior written authorization from Intel.
79*35786f68SRobert Mustacchi  *
80*35786f68SRobert Mustacchi  * 4. Disclaimer and Export Compliance
81*35786f68SRobert Mustacchi  *
82*35786f68SRobert Mustacchi  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83*35786f68SRobert Mustacchi  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84*35786f68SRobert Mustacchi  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85*35786f68SRobert Mustacchi  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86*35786f68SRobert Mustacchi  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87*35786f68SRobert Mustacchi  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88*35786f68SRobert Mustacchi  * PARTICULAR PURPOSE.
89*35786f68SRobert Mustacchi  *
90*35786f68SRobert Mustacchi  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91*35786f68SRobert Mustacchi  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92*35786f68SRobert Mustacchi  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93*35786f68SRobert Mustacchi  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94*35786f68SRobert Mustacchi  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95*35786f68SRobert Mustacchi  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96*35786f68SRobert Mustacchi  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97*35786f68SRobert Mustacchi  * LIMITED REMEDY.
98*35786f68SRobert Mustacchi  *
99*35786f68SRobert Mustacchi  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100*35786f68SRobert Mustacchi  * software or system incorporating such software without first obtaining any
101*35786f68SRobert Mustacchi  * required license or other approval from the U. S. Department of Commerce or
102*35786f68SRobert Mustacchi  * any other agency or department of the United States Government. In the
103*35786f68SRobert Mustacchi  * event Licensee exports any such software from the United States or
104*35786f68SRobert Mustacchi  * re-exports any such software from a foreign destination, Licensee shall
105*35786f68SRobert Mustacchi  * ensure that the distribution and export/re-export of the software is in
106*35786f68SRobert Mustacchi  * compliance with all laws, regulations, orders, or other restrictions of the
107*35786f68SRobert Mustacchi  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108*35786f68SRobert Mustacchi  * any of its subsidiaries will export/re-export any technical data, process,
109*35786f68SRobert Mustacchi  * software, or service, directly or indirectly, to any country for which the
110*35786f68SRobert Mustacchi  * United States government or any agency thereof requires an export license,
111*35786f68SRobert Mustacchi  * other governmental approval, or letter of assurance, without first obtaining
112*35786f68SRobert Mustacchi  * such license, approval or letter.
113*35786f68SRobert Mustacchi  *
114*35786f68SRobert Mustacchi  *****************************************************************************
115*35786f68SRobert Mustacchi  *
116*35786f68SRobert Mustacchi  * Alternatively, you may choose to be licensed under the terms of the
117*35786f68SRobert Mustacchi  * following license:
118*35786f68SRobert Mustacchi  *
119bc36eafdSMike Gerdts  * Redistribution and use in source and binary forms, with or without
120bc36eafdSMike Gerdts  * modification, are permitted provided that the following conditions
121bc36eafdSMike Gerdts  * are met:
122bc36eafdSMike Gerdts  * 1. Redistributions of source code must retain the above copyright
123bc36eafdSMike Gerdts  *    notice, this list of conditions, and the following disclaimer,
124bc36eafdSMike Gerdts  *    without modification.
125bc36eafdSMike Gerdts  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126bc36eafdSMike Gerdts  *    substantially similar to the "NO WARRANTY" disclaimer below
127bc36eafdSMike Gerdts  *    ("Disclaimer") and any redistribution must be conditioned upon
128bc36eafdSMike Gerdts  *    including a substantially similar Disclaimer requirement for further
129bc36eafdSMike Gerdts  *    binary redistribution.
130bc36eafdSMike Gerdts  * 3. Neither the names of the above-listed copyright holders nor the names
131bc36eafdSMike Gerdts  *    of any contributors may be used to endorse or promote products derived
132bc36eafdSMike Gerdts  *    from this software without specific prior written permission.
133bc36eafdSMike Gerdts  *
134*35786f68SRobert Mustacchi  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135*35786f68SRobert Mustacchi  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136*35786f68SRobert Mustacchi  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137*35786f68SRobert Mustacchi  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138*35786f68SRobert Mustacchi  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139*35786f68SRobert Mustacchi  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140*35786f68SRobert Mustacchi  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141*35786f68SRobert Mustacchi  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142*35786f68SRobert Mustacchi  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143*35786f68SRobert Mustacchi  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144*35786f68SRobert Mustacchi  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145*35786f68SRobert Mustacchi  *
146*35786f68SRobert Mustacchi  * Alternatively, you may choose to be licensed under the terms of the
147bc36eafdSMike Gerdts  * GNU General Public License ("GPL") version 2 as published by the Free
148bc36eafdSMike Gerdts  * Software Foundation.
149bc36eafdSMike Gerdts  *
150*35786f68SRobert Mustacchi  *****************************************************************************/
151bc36eafdSMike Gerdts 
152bc36eafdSMike Gerdts #ifndef __ASLCOMPILER_H
153bc36eafdSMike Gerdts #define __ASLCOMPILER_H
154bc36eafdSMike Gerdts 
155bc36eafdSMike Gerdts #include "acpi.h"
156bc36eafdSMike Gerdts #include "accommon.h"
157bc36eafdSMike Gerdts #include "amlresrc.h"
158bc36eafdSMike Gerdts #include "acdebug.h"
159bc36eafdSMike Gerdts 
160bc36eafdSMike Gerdts /* Microsoft-specific */
161bc36eafdSMike Gerdts 
162bc36eafdSMike Gerdts #if (defined WIN32 || defined WIN64)
163bc36eafdSMike Gerdts 
164bc36eafdSMike Gerdts /* warn : used #pragma pack */
165bc36eafdSMike Gerdts #pragma warning(disable:4103)
166bc36eafdSMike Gerdts 
167bc36eafdSMike Gerdts /* warn : named type definition in parentheses */
168bc36eafdSMike Gerdts #pragma warning(disable:4115)
169bc36eafdSMike Gerdts #endif
170bc36eafdSMike Gerdts 
171bc36eafdSMike Gerdts #include <stdio.h>
172bc36eafdSMike Gerdts #include <stdlib.h>
173bc36eafdSMike Gerdts #include <string.h>
174bc36eafdSMike Gerdts #include <errno.h>
175bc36eafdSMike Gerdts #include <ctype.h>
176bc36eafdSMike Gerdts 
177bc36eafdSMike Gerdts /* Compiler headers */
178bc36eafdSMike Gerdts 
179bc36eafdSMike Gerdts #include "asldefine.h"
180bc36eafdSMike Gerdts #include "asltypes.h"
181bc36eafdSMike Gerdts #include "aslmessages.h"
182bc36eafdSMike Gerdts #include "aslglobal.h"
183bc36eafdSMike Gerdts #include "preprocess.h"
184*35786f68SRobert Mustacchi #include "dtcompiler.h"
185bc36eafdSMike Gerdts 
186bc36eafdSMike Gerdts 
187bc36eafdSMike Gerdts /*******************************************************************************
188bc36eafdSMike Gerdts  *
189bc36eafdSMike Gerdts  * Compiler prototypes
190bc36eafdSMike Gerdts  *
191bc36eafdSMike Gerdts  ******************************************************************************/
192bc36eafdSMike Gerdts 
193bc36eafdSMike Gerdts /*
194bc36eafdSMike Gerdts  * Main ASL parser - generated from flex/bison, lex/yacc, etc.
195bc36eafdSMike Gerdts  */
196bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
197bc36eafdSMike Gerdts AslDoError (
198bc36eafdSMike Gerdts     void);
199bc36eafdSMike Gerdts 
200bc36eafdSMike Gerdts int
201bc36eafdSMike Gerdts AslCompilerlex(
202bc36eafdSMike Gerdts     void);
203bc36eafdSMike Gerdts 
204bc36eafdSMike Gerdts void
205bc36eafdSMike Gerdts AslResetCurrentLineBuffer (
206bc36eafdSMike Gerdts     void);
207bc36eafdSMike Gerdts 
208bc36eafdSMike Gerdts void
209bc36eafdSMike Gerdts AslInsertLineBuffer (
210bc36eafdSMike Gerdts     int                     SourceChar);
211bc36eafdSMike Gerdts 
212bc36eafdSMike Gerdts int
213bc36eafdSMike Gerdts AslPopInputFileStack (
214bc36eafdSMike Gerdts     void);
215bc36eafdSMike Gerdts 
216bc36eafdSMike Gerdts void
217bc36eafdSMike Gerdts AslPushInputFileStack (
218bc36eafdSMike Gerdts     FILE                    *InputFile,
219bc36eafdSMike Gerdts     char                    *Filename);
220bc36eafdSMike Gerdts 
221bc36eafdSMike Gerdts void
222bc36eafdSMike Gerdts AslParserCleanup (
223bc36eafdSMike Gerdts     void);
224bc36eafdSMike Gerdts 
225bc36eafdSMike Gerdts 
226bc36eafdSMike Gerdts /*
227bc36eafdSMike Gerdts  * aslstartup - entered from main()
228bc36eafdSMike Gerdts  */
229bc36eafdSMike Gerdts void
230bc36eafdSMike Gerdts AslInitializeGlobals (
231bc36eafdSMike Gerdts     void);
232bc36eafdSMike Gerdts 
233bc36eafdSMike Gerdts typedef
234bc36eafdSMike Gerdts ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
235bc36eafdSMike Gerdts     char *);
236bc36eafdSMike Gerdts 
237bc36eafdSMike Gerdts ACPI_STATUS
238bc36eafdSMike Gerdts AslDoOneFile (
239bc36eafdSMike Gerdts     char                    *Filename);
240bc36eafdSMike Gerdts 
241bc36eafdSMike Gerdts ACPI_STATUS
242bc36eafdSMike Gerdts AslCheckForErrorExit (
243bc36eafdSMike Gerdts     void);
244bc36eafdSMike Gerdts 
245bc36eafdSMike Gerdts 
246bc36eafdSMike Gerdts /*
247bc36eafdSMike Gerdts  * aslcompile - compile mainline
248bc36eafdSMike Gerdts  */
249bc36eafdSMike Gerdts void
250bc36eafdSMike Gerdts AslCompilerSignon (
251bc36eafdSMike Gerdts     UINT32                  FileId);
252bc36eafdSMike Gerdts 
253bc36eafdSMike Gerdts void
254bc36eafdSMike Gerdts AslCompilerFileHeader (
255bc36eafdSMike Gerdts     UINT32                  FileId);
256bc36eafdSMike Gerdts 
257bc36eafdSMike Gerdts int
258bc36eafdSMike Gerdts CmDoCompile (
259bc36eafdSMike Gerdts     void);
260bc36eafdSMike Gerdts 
261bc36eafdSMike Gerdts void
262bc36eafdSMike Gerdts CmDoOutputFiles (
263bc36eafdSMike Gerdts     void);
264bc36eafdSMike Gerdts 
265bc36eafdSMike Gerdts void
266bc36eafdSMike Gerdts CmCleanupAndExit (
267bc36eafdSMike Gerdts     void);
268bc36eafdSMike Gerdts 
269*35786f68SRobert Mustacchi 
270*35786f68SRobert Mustacchi /*
271*35786f68SRobert Mustacchi  * aslallocate - memory allocation
272*35786f68SRobert Mustacchi  */
273*35786f68SRobert Mustacchi void *
274*35786f68SRobert Mustacchi UtLocalCalloc (
275*35786f68SRobert Mustacchi     UINT32                  Size);
276*35786f68SRobert Mustacchi 
277bc36eafdSMike Gerdts void
278*35786f68SRobert Mustacchi UtExpandLineBuffers (
279*35786f68SRobert Mustacchi     void);
280*35786f68SRobert Mustacchi 
281*35786f68SRobert Mustacchi void
282*35786f68SRobert Mustacchi UtReallocLineBuffers (
283*35786f68SRobert Mustacchi     char                    **Buffer,
284*35786f68SRobert Mustacchi     UINT32                  OldSize,
285*35786f68SRobert Mustacchi     UINT32                  NewSize);
286*35786f68SRobert Mustacchi 
287*35786f68SRobert Mustacchi void
288*35786f68SRobert Mustacchi UtFreeLineBuffers (
289*35786f68SRobert Mustacchi     void);
290*35786f68SRobert Mustacchi 
291*35786f68SRobert Mustacchi 
292*35786f68SRobert Mustacchi /*
293*35786f68SRobert Mustacchi  * aslcache - local cache support
294*35786f68SRobert Mustacchi  */
295*35786f68SRobert Mustacchi char *
296*35786f68SRobert Mustacchi UtLocalCacheCalloc (
297*35786f68SRobert Mustacchi     UINT32                  Length);
298*35786f68SRobert Mustacchi 
299*35786f68SRobert Mustacchi ACPI_PARSE_OBJECT *
300*35786f68SRobert Mustacchi UtParseOpCacheCalloc (
301*35786f68SRobert Mustacchi     void);
302*35786f68SRobert Mustacchi 
303*35786f68SRobert Mustacchi DT_SUBTABLE *
304*35786f68SRobert Mustacchi UtSubtableCacheCalloc (
305*35786f68SRobert Mustacchi     void);
306*35786f68SRobert Mustacchi 
307*35786f68SRobert Mustacchi DT_FIELD *
308*35786f68SRobert Mustacchi UtFieldCacheCalloc (
309*35786f68SRobert Mustacchi     void);
310*35786f68SRobert Mustacchi 
311*35786f68SRobert Mustacchi void
312*35786f68SRobert Mustacchi UtDeleteLocalCaches (
313bc36eafdSMike Gerdts     void);
314bc36eafdSMike Gerdts 
315bc36eafdSMike Gerdts 
316bc36eafdSMike Gerdts /*
317bc36eafdSMike Gerdts  * aslascii - ascii support
318bc36eafdSMike Gerdts  */
319bc36eafdSMike Gerdts ACPI_STATUS
320bc36eafdSMike Gerdts FlIsFileAsciiSource (
321bc36eafdSMike Gerdts     char                    *Filename,
322bc36eafdSMike Gerdts     BOOLEAN                 DisplayErrors);
323bc36eafdSMike Gerdts 
324bc36eafdSMike Gerdts 
325bc36eafdSMike Gerdts /*
326bc36eafdSMike Gerdts  * aslwalks - semantic analysis and parse tree walks
327bc36eafdSMike Gerdts  */
328bc36eafdSMike Gerdts ACPI_STATUS
329bc36eafdSMike Gerdts AnOtherSemanticAnalysisWalkBegin (
330bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
331bc36eafdSMike Gerdts     UINT32                  Level,
332bc36eafdSMike Gerdts     void                    *Context);
333bc36eafdSMike Gerdts 
334bc36eafdSMike Gerdts ACPI_STATUS
335bc36eafdSMike Gerdts AnOtherSemanticAnalysisWalkEnd (
336bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
337bc36eafdSMike Gerdts     UINT32                  Level,
338bc36eafdSMike Gerdts     void                    *Context);
339bc36eafdSMike Gerdts 
340bc36eafdSMike Gerdts ACPI_STATUS
341bc36eafdSMike Gerdts AnOperandTypecheckWalkEnd (
342bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
343bc36eafdSMike Gerdts     UINT32                  Level,
344bc36eafdSMike Gerdts     void                    *Context);
345bc36eafdSMike Gerdts 
346bc36eafdSMike Gerdts ACPI_STATUS
347bc36eafdSMike Gerdts AnMethodTypingWalkEnd (
348bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
349bc36eafdSMike Gerdts     UINT32                  Level,
350bc36eafdSMike Gerdts     void                    *Context);
351bc36eafdSMike Gerdts 
352bc36eafdSMike Gerdts 
353bc36eafdSMike Gerdts /*
354bc36eafdSMike Gerdts  * aslmethod - Control method analysis walk
355bc36eafdSMike Gerdts  */
356bc36eafdSMike Gerdts ACPI_STATUS
357bc36eafdSMike Gerdts MtMethodAnalysisWalkBegin (
358bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
359bc36eafdSMike Gerdts     UINT32                  Level,
360bc36eafdSMike Gerdts     void                    *Context);
361bc36eafdSMike Gerdts 
362bc36eafdSMike Gerdts ACPI_STATUS
363bc36eafdSMike Gerdts MtMethodAnalysisWalkEnd (
364bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
365bc36eafdSMike Gerdts     UINT32                  Level,
366bc36eafdSMike Gerdts     void                    *Context);
367bc36eafdSMike Gerdts 
368bc36eafdSMike Gerdts 
369bc36eafdSMike Gerdts /*
370bc36eafdSMike Gerdts  * aslbtypes - bitfield data types
371bc36eafdSMike Gerdts  */
372bc36eafdSMike Gerdts UINT32
373bc36eafdSMike Gerdts AnMapObjTypeToBtype (
374bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
375bc36eafdSMike Gerdts 
376bc36eafdSMike Gerdts UINT32
377bc36eafdSMike Gerdts AnMapArgTypeToBtype (
378bc36eafdSMike Gerdts     UINT32                  ArgType);
379bc36eafdSMike Gerdts 
380bc36eafdSMike Gerdts UINT32
381bc36eafdSMike Gerdts AnGetBtype (
382bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
383bc36eafdSMike Gerdts 
384bc36eafdSMike Gerdts void
385bc36eafdSMike Gerdts AnFormatBtype (
386bc36eafdSMike Gerdts     char                    *Buffer,
387bc36eafdSMike Gerdts     UINT32                  Btype);
388bc36eafdSMike Gerdts 
389bc36eafdSMike Gerdts 
390bc36eafdSMike Gerdts /*
391bc36eafdSMike Gerdts  * aslanalyze - Support functions for parse tree walks
392bc36eafdSMike Gerdts  */
393bc36eafdSMike Gerdts void
394bc36eafdSMike Gerdts AnCheckId (
395bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
396bc36eafdSMike Gerdts     ACPI_NAME               Type);
397bc36eafdSMike Gerdts 
398bc36eafdSMike Gerdts /* Values for Type argument above */
399bc36eafdSMike Gerdts 
400bc36eafdSMike Gerdts #define ASL_TYPE_HID        0
401bc36eafdSMike Gerdts #define ASL_TYPE_CID        1
402bc36eafdSMike Gerdts 
403bc36eafdSMike Gerdts BOOLEAN
404bc36eafdSMike Gerdts AnIsInternalMethod (
405bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
406bc36eafdSMike Gerdts 
407bc36eafdSMike Gerdts UINT32
408bc36eafdSMike Gerdts AnGetInternalMethodReturnType (
409bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
410bc36eafdSMike Gerdts 
411bc36eafdSMike Gerdts BOOLEAN
412bc36eafdSMike Gerdts AnLastStatementIsReturn (
413bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
414bc36eafdSMike Gerdts 
415bc36eafdSMike Gerdts void
416bc36eafdSMike Gerdts AnCheckMethodReturnValue (
417bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
418bc36eafdSMike Gerdts     const ACPI_OPCODE_INFO  *OpInfo,
419bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *ArgOp,
420bc36eafdSMike Gerdts     UINT32                  RequiredBtypes,
421bc36eafdSMike Gerdts     UINT32                  ThisNodeBtype);
422bc36eafdSMike Gerdts 
423bc36eafdSMike Gerdts BOOLEAN
424bc36eafdSMike Gerdts AnIsResultUsed (
425bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
426bc36eafdSMike Gerdts 
427bc36eafdSMike Gerdts void
428bc36eafdSMike Gerdts ApCheckForGpeNameConflict (
429bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
430bc36eafdSMike Gerdts 
431bc36eafdSMike Gerdts void
432bc36eafdSMike Gerdts ApCheckRegMethod (
433bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
434bc36eafdSMike Gerdts 
435bc36eafdSMike Gerdts BOOLEAN
436bc36eafdSMike Gerdts ApFindNameInScope (
437bc36eafdSMike Gerdts     char                    *Name,
438bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
439bc36eafdSMike Gerdts 
440bc36eafdSMike Gerdts BOOLEAN
441bc36eafdSMike Gerdts ApFindNameInDeviceTree (
442bc36eafdSMike Gerdts     char                    *Name,
443bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
444bc36eafdSMike Gerdts 
445bc36eafdSMike Gerdts /*
446bc36eafdSMike Gerdts  * aslerror - error handling/reporting
447bc36eafdSMike Gerdts  */
448bc36eafdSMike Gerdts void
449bc36eafdSMike Gerdts AslAbort (
450bc36eafdSMike Gerdts     void);
451bc36eafdSMike Gerdts 
452bc36eafdSMike Gerdts void
453*35786f68SRobert Mustacchi AslDualParseOpError (
454*35786f68SRobert Mustacchi     UINT8                   Level,
455*35786f68SRobert Mustacchi     UINT16                  MainMessageId,
456*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *MainOp,
457*35786f68SRobert Mustacchi     char                    *MainMessage,
458*35786f68SRobert Mustacchi     UINT16                  SecondMessageId,
459*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *SecondOp,
460*35786f68SRobert Mustacchi     char                    *SecondaryMessage);
461*35786f68SRobert Mustacchi 
462*35786f68SRobert Mustacchi void
463bc36eafdSMike Gerdts AslError (
464bc36eafdSMike Gerdts     UINT8                   Level,
465bc36eafdSMike Gerdts     UINT16                  MessageId,
466bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
467bc36eafdSMike Gerdts     char                    *ExtraMessage);
468bc36eafdSMike Gerdts 
469*35786f68SRobert Mustacchi void
470*35786f68SRobert Mustacchi AslCheckExpectedExceptions (
471*35786f68SRobert Mustacchi     void);
472*35786f68SRobert Mustacchi 
473*35786f68SRobert Mustacchi ACPI_STATUS
474*35786f68SRobert Mustacchi AslExpectException (
475*35786f68SRobert Mustacchi     char                    *MessageIdString);
476*35786f68SRobert Mustacchi 
477bc36eafdSMike Gerdts ACPI_STATUS
478bc36eafdSMike Gerdts AslDisableException (
479bc36eafdSMike Gerdts     char                    *MessageIdString);
480bc36eafdSMike Gerdts 
481bc36eafdSMike Gerdts BOOLEAN
482*35786f68SRobert Mustacchi AslIsExceptionIgnored (
483bc36eafdSMike Gerdts     UINT8                   Level,
484bc36eafdSMike Gerdts     UINT16                  MessageId);
485bc36eafdSMike Gerdts 
486bc36eafdSMike Gerdts void
487bc36eafdSMike Gerdts AslCoreSubsystemError (
488bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
489bc36eafdSMike Gerdts     ACPI_STATUS             Status,
490bc36eafdSMike Gerdts     char                    *ExtraMessage,
491bc36eafdSMike Gerdts     BOOLEAN                 Abort);
492bc36eafdSMike Gerdts 
493bc36eafdSMike Gerdts int
494bc36eafdSMike Gerdts AslCompilererror(
495bc36eafdSMike Gerdts     const char              *s);
496bc36eafdSMike Gerdts 
497bc36eafdSMike Gerdts void
498bc36eafdSMike Gerdts AslCommonError (
499bc36eafdSMike Gerdts     UINT8                   Level,
500bc36eafdSMike Gerdts     UINT16                  MessageId,
501bc36eafdSMike Gerdts     UINT32                  CurrentLineNumber,
502bc36eafdSMike Gerdts     UINT32                  LogicalLineNumber,
503bc36eafdSMike Gerdts     UINT32                  LogicalByteOffset,
504bc36eafdSMike Gerdts     UINT32                  Column,
505bc36eafdSMike Gerdts     char                    *Filename,
506bc36eafdSMike Gerdts     char                    *ExtraMessage);
507bc36eafdSMike Gerdts 
508bc36eafdSMike Gerdts void
509bc36eafdSMike Gerdts AslCommonError2 (
510bc36eafdSMike Gerdts     UINT8                   Level,
511bc36eafdSMike Gerdts     UINT16                  MessageId,
512bc36eafdSMike Gerdts     UINT32                  LineNumber,
513bc36eafdSMike Gerdts     UINT32                  Column,
514bc36eafdSMike Gerdts     char                    *SourceLine,
515bc36eafdSMike Gerdts     char                    *Filename,
516bc36eafdSMike Gerdts     char                    *ExtraMessage);
517bc36eafdSMike Gerdts 
518bc36eafdSMike Gerdts void
519bc36eafdSMike Gerdts AePrintException (
520bc36eafdSMike Gerdts     UINT32                  FileId,
521bc36eafdSMike Gerdts     ASL_ERROR_MSG           *Enode,
522bc36eafdSMike Gerdts     char                    *Header);
523bc36eafdSMike Gerdts 
524bc36eafdSMike Gerdts void
525bc36eafdSMike Gerdts AePrintErrorLog (
526bc36eafdSMike Gerdts     UINT32                  FileId);
527bc36eafdSMike Gerdts 
528bc36eafdSMike Gerdts void
529bc36eafdSMike Gerdts AeClearErrorLog (
530bc36eafdSMike Gerdts     void);
531bc36eafdSMike Gerdts 
532bc36eafdSMike Gerdts 
533bc36eafdSMike Gerdts /*
534bc36eafdSMike Gerdts  * asllisting - generate all "listing" type files
535bc36eafdSMike Gerdts  */
536bc36eafdSMike Gerdts void
537bc36eafdSMike Gerdts LsDoListings (
538bc36eafdSMike Gerdts     void);
539bc36eafdSMike Gerdts 
540bc36eafdSMike Gerdts void
541bc36eafdSMike Gerdts LsWriteNodeToAsmListing (
542bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
543bc36eafdSMike Gerdts 
544bc36eafdSMike Gerdts void
545bc36eafdSMike Gerdts LsWriteNode (
546bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
547bc36eafdSMike Gerdts     UINT32                  FileId);
548bc36eafdSMike Gerdts 
549bc36eafdSMike Gerdts void
550bc36eafdSMike Gerdts LsDumpParseTree (
551bc36eafdSMike Gerdts     void);
552bc36eafdSMike Gerdts 
553bc36eafdSMike Gerdts 
554bc36eafdSMike Gerdts /*
555bc36eafdSMike Gerdts  * asllistsup - Listing file support utilities
556bc36eafdSMike Gerdts  */
557bc36eafdSMike Gerdts void
558bc36eafdSMike Gerdts LsDumpAscii (
559bc36eafdSMike Gerdts     UINT32                  FileId,
560bc36eafdSMike Gerdts     UINT32                  Count,
561bc36eafdSMike Gerdts     UINT8                   *Buffer);
562bc36eafdSMike Gerdts 
563bc36eafdSMike Gerdts void
564bc36eafdSMike Gerdts LsDumpAsciiInComment (
565bc36eafdSMike Gerdts     UINT32                  FileId,
566bc36eafdSMike Gerdts     UINT32                  Count,
567bc36eafdSMike Gerdts     UINT8                   *Buffer);
568bc36eafdSMike Gerdts 
569bc36eafdSMike Gerdts void
570bc36eafdSMike Gerdts LsCheckException (
571bc36eafdSMike Gerdts     UINT32                  LineNumber,
572bc36eafdSMike Gerdts     UINT32                  FileId);
573bc36eafdSMike Gerdts 
574bc36eafdSMike Gerdts void
575bc36eafdSMike Gerdts LsFlushListingBuffer (
576bc36eafdSMike Gerdts     UINT32                  FileId);
577bc36eafdSMike Gerdts 
578bc36eafdSMike Gerdts void
579bc36eafdSMike Gerdts LsWriteListingHexBytes (
580bc36eafdSMike Gerdts     UINT8                   *Buffer,
581bc36eafdSMike Gerdts     UINT32                  Length,
582bc36eafdSMike Gerdts     UINT32                  FileId);
583bc36eafdSMike Gerdts 
584bc36eafdSMike Gerdts void
585bc36eafdSMike Gerdts LsWriteSourceLines (
586bc36eafdSMike Gerdts     UINT32                  ToLineNumber,
587bc36eafdSMike Gerdts     UINT32                  ToLogicalLineNumber,
588bc36eafdSMike Gerdts     UINT32                  FileId);
589bc36eafdSMike Gerdts 
590bc36eafdSMike Gerdts UINT32
591bc36eafdSMike Gerdts LsWriteOneSourceLine (
592bc36eafdSMike Gerdts     UINT32                  FileId);
593bc36eafdSMike Gerdts 
594bc36eafdSMike Gerdts void
595bc36eafdSMike Gerdts LsPushNode (
596bc36eafdSMike Gerdts     char                    *Filename);
597bc36eafdSMike Gerdts 
598bc36eafdSMike Gerdts ASL_LISTING_NODE *
599bc36eafdSMike Gerdts LsPopNode (
600bc36eafdSMike Gerdts     void);
601bc36eafdSMike Gerdts 
602bc36eafdSMike Gerdts 
603bc36eafdSMike Gerdts /*
604bc36eafdSMike Gerdts  * aslhex - generate all "hex" output files (C, ASM, ASL)
605bc36eafdSMike Gerdts  */
606bc36eafdSMike Gerdts void
607bc36eafdSMike Gerdts HxDoHexOutput (
608bc36eafdSMike Gerdts     void);
609bc36eafdSMike Gerdts 
610bc36eafdSMike Gerdts 
611bc36eafdSMike Gerdts /*
612bc36eafdSMike Gerdts  * aslfold - constant folding
613bc36eafdSMike Gerdts  */
614bc36eafdSMike Gerdts ACPI_STATUS
615bc36eafdSMike Gerdts OpcAmlConstantWalk (
616bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
617bc36eafdSMike Gerdts     UINT32                  Level,
618bc36eafdSMike Gerdts     void                    *Context);
619bc36eafdSMike Gerdts 
620bc36eafdSMike Gerdts 
621bc36eafdSMike Gerdts /*
622bc36eafdSMike Gerdts  * aslmessages - exception strings
623bc36eafdSMike Gerdts  */
624bc36eafdSMike Gerdts const char *
625bc36eafdSMike Gerdts AeDecodeMessageId (
626bc36eafdSMike Gerdts     UINT16                  MessageId);
627bc36eafdSMike Gerdts 
628bc36eafdSMike Gerdts const char *
629bc36eafdSMike Gerdts AeDecodeExceptionLevel (
630bc36eafdSMike Gerdts     UINT8                   Level);
631bc36eafdSMike Gerdts 
632bc36eafdSMike Gerdts UINT16
633bc36eafdSMike Gerdts AeBuildFullExceptionCode (
634bc36eafdSMike Gerdts     UINT8                   Level,
635bc36eafdSMike Gerdts     UINT16                  MessageId);
636bc36eafdSMike Gerdts 
637bc36eafdSMike Gerdts /*
638bc36eafdSMike Gerdts  * asloffset - generate C offset file for BIOS support
639bc36eafdSMike Gerdts  */
640bc36eafdSMike Gerdts ACPI_STATUS
641bc36eafdSMike Gerdts LsAmlOffsetWalk (
642bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
643bc36eafdSMike Gerdts     UINT32                  Level,
644bc36eafdSMike Gerdts     void                    *Context);
645bc36eafdSMike Gerdts 
646bc36eafdSMike Gerdts void
647bc36eafdSMike Gerdts LsDoOffsetTableHeader (
648bc36eafdSMike Gerdts     UINT32                  FileId);
649bc36eafdSMike Gerdts 
650bc36eafdSMike Gerdts void
651bc36eafdSMike Gerdts LsDoOffsetTableFooter (
652bc36eafdSMike Gerdts     UINT32                  FileId);
653bc36eafdSMike Gerdts 
654bc36eafdSMike Gerdts 
655bc36eafdSMike Gerdts /*
656bc36eafdSMike Gerdts  * aslopcodes - generate AML opcodes
657bc36eafdSMike Gerdts  */
658bc36eafdSMike Gerdts ACPI_STATUS
659bc36eafdSMike Gerdts OpcAmlOpcodeWalk (
660bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
661bc36eafdSMike Gerdts     UINT32                  Level,
662bc36eafdSMike Gerdts     void                    *Context);
663bc36eafdSMike Gerdts 
664bc36eafdSMike Gerdts ACPI_STATUS
665bc36eafdSMike Gerdts OpcAmlOpcodeUpdateWalk (
666bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
667bc36eafdSMike Gerdts     UINT32                  Level,
668bc36eafdSMike Gerdts     void                    *Context);
669bc36eafdSMike Gerdts 
670bc36eafdSMike Gerdts void
671bc36eafdSMike Gerdts OpcGenerateAmlOpcode (
672bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
673bc36eafdSMike Gerdts 
674bc36eafdSMike Gerdts UINT32
675bc36eafdSMike Gerdts OpcSetOptimalIntegerSize (
676bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
677bc36eafdSMike Gerdts 
678bc36eafdSMike Gerdts void
679bc36eafdSMike Gerdts OpcGetIntegerWidth (
680bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
681bc36eafdSMike Gerdts 
682bc36eafdSMike Gerdts 
683bc36eafdSMike Gerdts /*
684bc36eafdSMike Gerdts  * asloperands - generate AML operands for the AML opcodes
685bc36eafdSMike Gerdts  */
686bc36eafdSMike Gerdts ACPI_PARSE_OBJECT  *
687bc36eafdSMike Gerdts UtGetArg (
688bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
689bc36eafdSMike Gerdts     UINT32                  Argn);
690bc36eafdSMike Gerdts 
691bc36eafdSMike Gerdts void
692bc36eafdSMike Gerdts OpnGenerateAmlOperands (
693bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
694bc36eafdSMike Gerdts 
695bc36eafdSMike Gerdts void
696bc36eafdSMike Gerdts OpnDoPackage (
697bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
698bc36eafdSMike Gerdts 
699bc36eafdSMike Gerdts 
700bc36eafdSMike Gerdts /*
701bc36eafdSMike Gerdts  * aslopt - optmization
702bc36eafdSMike Gerdts  */
703bc36eafdSMike Gerdts void
704bc36eafdSMike Gerdts OptOptimizeNamePath (
705bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
706bc36eafdSMike Gerdts     UINT32                  Flags,
707bc36eafdSMike Gerdts     ACPI_WALK_STATE         *WalkState,
708bc36eafdSMike Gerdts     char                    *AmlNameString,
709bc36eafdSMike Gerdts     ACPI_NAMESPACE_NODE     *TargetNode);
710bc36eafdSMike Gerdts 
711bc36eafdSMike Gerdts 
712bc36eafdSMike Gerdts /*
713bc36eafdSMike Gerdts  * aslpld - ToPLD macro support
714bc36eafdSMike Gerdts  */
715bc36eafdSMike Gerdts void
716bc36eafdSMike Gerdts OpcDoPld (
717bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
718bc36eafdSMike Gerdts 
719bc36eafdSMike Gerdts 
720bc36eafdSMike Gerdts /*
721bc36eafdSMike Gerdts  * aslprintf - Printf/Fprintf macros
722bc36eafdSMike Gerdts  */
723bc36eafdSMike Gerdts void
724bc36eafdSMike Gerdts OpcDoPrintf (
725bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
726bc36eafdSMike Gerdts 
727bc36eafdSMike Gerdts void
728bc36eafdSMike Gerdts OpcDoFprintf (
729bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
730bc36eafdSMike Gerdts 
731bc36eafdSMike Gerdts 
732bc36eafdSMike Gerdts /*
733bc36eafdSMike Gerdts  * aslprune - parse tree pruner
734bc36eafdSMike Gerdts  */
735bc36eafdSMike Gerdts void
736bc36eafdSMike Gerdts AslPruneParseTree (
737bc36eafdSMike Gerdts     UINT32                  PruneDepth,
738bc36eafdSMike Gerdts     UINT32                  Type);
739bc36eafdSMike Gerdts 
740bc36eafdSMike Gerdts 
741bc36eafdSMike Gerdts /*
742bc36eafdSMike Gerdts  * aslcodegen - code generation
743bc36eafdSMike Gerdts  */
744bc36eafdSMike Gerdts void
745bc36eafdSMike Gerdts CgGenerateAmlOutput (
746bc36eafdSMike Gerdts     void);
747bc36eafdSMike Gerdts 
748*35786f68SRobert Mustacchi void
749*35786f68SRobert Mustacchi CgLocalWriteAmlData (
750*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Op,
751*35786f68SRobert Mustacchi     void                    *Buffer,
752*35786f68SRobert Mustacchi     UINT32                  Length);
753*35786f68SRobert Mustacchi 
754bc36eafdSMike Gerdts 
755bc36eafdSMike Gerdts /*
756bc36eafdSMike Gerdts  * aslfile
757bc36eafdSMike Gerdts  */
758bc36eafdSMike Gerdts void
759bc36eafdSMike Gerdts FlOpenFile (
760bc36eafdSMike Gerdts     UINT32                  FileId,
761bc36eafdSMike Gerdts     char                    *Filename,
762bc36eafdSMike Gerdts     char                    *Mode);
763bc36eafdSMike Gerdts 
764bc36eafdSMike Gerdts 
765bc36eafdSMike Gerdts /*
766bc36eafdSMike Gerdts  * asllength - calculate/adjust AML package lengths
767bc36eafdSMike Gerdts  */
768bc36eafdSMike Gerdts ACPI_STATUS
769bc36eafdSMike Gerdts LnPackageLengthWalk (
770bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
771bc36eafdSMike Gerdts     UINT32                  Level,
772bc36eafdSMike Gerdts     void                    *Context);
773bc36eafdSMike Gerdts 
774bc36eafdSMike Gerdts ACPI_STATUS
775bc36eafdSMike Gerdts LnInitLengthsWalk (
776bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
777bc36eafdSMike Gerdts     UINT32                  Level,
778bc36eafdSMike Gerdts     void                    *Context);
779bc36eafdSMike Gerdts 
780bc36eafdSMike Gerdts void
781bc36eafdSMike Gerdts CgGenerateAmlLengths (
782bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
783bc36eafdSMike Gerdts 
784bc36eafdSMike Gerdts 
785bc36eafdSMike Gerdts /*
786bc36eafdSMike Gerdts  * aslmap - opcode mappings and reserved method names
787bc36eafdSMike Gerdts  */
788bc36eafdSMike Gerdts ACPI_OBJECT_TYPE
789bc36eafdSMike Gerdts AslMapNamedOpcodeToDataType (
790bc36eafdSMike Gerdts     UINT16                  Opcode);
791bc36eafdSMike Gerdts 
792bc36eafdSMike Gerdts 
793bc36eafdSMike Gerdts /*
794bc36eafdSMike Gerdts  * aslpredef - ACPI predefined names support
795bc36eafdSMike Gerdts  */
796bc36eafdSMike Gerdts BOOLEAN
797bc36eafdSMike Gerdts ApCheckForPredefinedMethod (
798bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
799bc36eafdSMike Gerdts     ASL_METHOD_INFO         *MethodInfo);
800bc36eafdSMike Gerdts 
801bc36eafdSMike Gerdts void
802bc36eafdSMike Gerdts ApCheckPredefinedReturnValue (
803bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
804bc36eafdSMike Gerdts     ASL_METHOD_INFO         *MethodInfo);
805bc36eafdSMike Gerdts 
806bc36eafdSMike Gerdts UINT32
807bc36eafdSMike Gerdts ApCheckForPredefinedName (
808bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
809bc36eafdSMike Gerdts     char                    *Name);
810bc36eafdSMike Gerdts 
811bc36eafdSMike Gerdts void
812bc36eafdSMike Gerdts ApCheckForPredefinedObject (
813bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
814bc36eafdSMike Gerdts     char                    *Name);
815bc36eafdSMike Gerdts 
816bc36eafdSMike Gerdts ACPI_STATUS
817bc36eafdSMike Gerdts ApCheckObjectType (
818bc36eafdSMike Gerdts     const char              *PredefinedName,
819bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
820bc36eafdSMike Gerdts     UINT32                  ExpectedBtypes,
821bc36eafdSMike Gerdts     UINT32                  PackageIndex);
822bc36eafdSMike Gerdts 
823bc36eafdSMike Gerdts void
824bc36eafdSMike Gerdts ApDisplayReservedNames (
825bc36eafdSMike Gerdts     void);
826bc36eafdSMike Gerdts 
827bc36eafdSMike Gerdts 
828bc36eafdSMike Gerdts /*
829bc36eafdSMike Gerdts  * aslprepkg - ACPI predefined names support for packages
830bc36eafdSMike Gerdts  */
831bc36eafdSMike Gerdts void
832bc36eafdSMike Gerdts ApCheckPackage (
833bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT           *ParentOp,
834bc36eafdSMike Gerdts     const ACPI_PREDEFINED_INFO  *Predefined);
835bc36eafdSMike Gerdts 
836bc36eafdSMike Gerdts 
837bc36eafdSMike Gerdts /*
838bc36eafdSMike Gerdts  * asltransform - parse tree transformations
839bc36eafdSMike Gerdts  */
840bc36eafdSMike Gerdts ACPI_STATUS
841bc36eafdSMike Gerdts TrAmlTransformWalkBegin (
842bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
843bc36eafdSMike Gerdts     UINT32                  Level,
844bc36eafdSMike Gerdts     void                    *Context);
845bc36eafdSMike Gerdts 
846bc36eafdSMike Gerdts ACPI_STATUS
847bc36eafdSMike Gerdts TrAmlTransformWalkEnd (
848bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
849bc36eafdSMike Gerdts     UINT32                  Level,
850bc36eafdSMike Gerdts     void                    *Context);
851bc36eafdSMike Gerdts 
852bc36eafdSMike Gerdts 
853bc36eafdSMike Gerdts /*
854bc36eafdSMike Gerdts  * aslexternal - External opcode support
855bc36eafdSMike Gerdts  */
856bc36eafdSMike Gerdts ACPI_STATUS
857bc36eafdSMike Gerdts ExAmlExternalWalkBegin (
858bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
859bc36eafdSMike Gerdts     UINT32                  Level,
860bc36eafdSMike Gerdts     void                    *Context);
861bc36eafdSMike Gerdts 
862bc36eafdSMike Gerdts ACPI_STATUS
863bc36eafdSMike Gerdts ExAmlExternalWalkEnd (
864bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
865bc36eafdSMike Gerdts     UINT32                  Level,
866bc36eafdSMike Gerdts     void                    *Context);
867bc36eafdSMike Gerdts 
868bc36eafdSMike Gerdts void
869bc36eafdSMike Gerdts ExDoExternal (
870bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
871bc36eafdSMike Gerdts 
872bc36eafdSMike Gerdts /* Values for "Visitation" parameter above */
873bc36eafdSMike Gerdts 
874bc36eafdSMike Gerdts #define ASL_WALK_VISIT_DOWNWARD     0x01
875bc36eafdSMike Gerdts #define ASL_WALK_VISIT_UPWARD       0x02
876bc36eafdSMike Gerdts #define ASL_WALK_VISIT_TWICE        (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
877bc36eafdSMike Gerdts 
878bc36eafdSMike Gerdts 
879*35786f68SRobert Mustacchi /*
880*35786f68SRobert Mustacchi  * aslparseop.c - Parse op create/allocate/cache
881*35786f68SRobert Mustacchi  */
882bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
883*35786f68SRobert Mustacchi TrCreateOp (
884bc36eafdSMike Gerdts     UINT32                  ParseOpcode,
885bc36eafdSMike Gerdts     UINT32                  NumChildren,
886bc36eafdSMike Gerdts     ...);
887bc36eafdSMike Gerdts 
888bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
889*35786f68SRobert Mustacchi TrCreateLeafOp (
890bc36eafdSMike Gerdts     UINT32                  ParseOpcode);
891bc36eafdSMike Gerdts 
892bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
893*35786f68SRobert Mustacchi TrCreateNullTargetOp (
894bc36eafdSMike Gerdts     void);
895bc36eafdSMike Gerdts 
896bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
897*35786f68SRobert Mustacchi TrCreateAssignmentOp (
898bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Target,
899bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Source);
900bc36eafdSMike Gerdts 
901bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
902*35786f68SRobert Mustacchi TrCreateTargetOp (
903bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *OriginalOp,
904bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *ParentOp);
905bc36eafdSMike Gerdts 
906bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
907*35786f68SRobert Mustacchi TrCreateValuedLeafOp (
908bc36eafdSMike Gerdts     UINT32                  ParseOpcode,
909bc36eafdSMike Gerdts     UINT64                  Value);
910bc36eafdSMike Gerdts 
911bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
912*35786f68SRobert Mustacchi TrCreateConstantLeafOp (
913bc36eafdSMike Gerdts     UINT32                  ParseOpcode);
914bc36eafdSMike Gerdts 
915bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
916*35786f68SRobert Mustacchi TrAllocateOp (
917*35786f68SRobert Mustacchi     UINT32                  ParseOpcode);
918*35786f68SRobert Mustacchi 
919*35786f68SRobert Mustacchi void
920*35786f68SRobert Mustacchi TrPrintOpFlags (
921*35786f68SRobert Mustacchi     UINT32                  Flags,
922*35786f68SRobert Mustacchi     UINT32                  OutputLevel);
923*35786f68SRobert Mustacchi 
924*35786f68SRobert Mustacchi 
925*35786f68SRobert Mustacchi /*
926*35786f68SRobert Mustacchi  * asltree.c - Parse tree management
927*35786f68SRobert Mustacchi  */
928*35786f68SRobert Mustacchi void
929*35786f68SRobert Mustacchi TrSetOpParent (
930*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Op,
931*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *ParentOp);
932*35786f68SRobert Mustacchi 
933*35786f68SRobert Mustacchi ACPI_PARSE_OBJECT *
934*35786f68SRobert Mustacchi TrSetOpIntegerValue (
935*35786f68SRobert Mustacchi     UINT32                  ParseOpcode,
936*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Op);
937*35786f68SRobert Mustacchi 
938*35786f68SRobert Mustacchi void
939*35786f68SRobert Mustacchi TrSetOpEndLineNumber (
940*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Op);
941*35786f68SRobert Mustacchi 
942*35786f68SRobert Mustacchi void
943*35786f68SRobert Mustacchi TrSetOpCurrentFilename (
944*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Op);
945*35786f68SRobert Mustacchi 
946*35786f68SRobert Mustacchi void
947*35786f68SRobert Mustacchi TrSetOpIntegerWidth (
948*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *TableSignature,
949*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Revision);
950*35786f68SRobert Mustacchi 
951*35786f68SRobert Mustacchi ACPI_PARSE_OBJECT *
952*35786f68SRobert Mustacchi TrLinkOpChildren (
953bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
954bc36eafdSMike Gerdts     UINT32                  NumChildren,
955bc36eafdSMike Gerdts     ...);
956bc36eafdSMike Gerdts 
957bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
958*35786f68SRobert Mustacchi TrLinkPeerOp (
959bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op1,
960bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op2);
961bc36eafdSMike Gerdts 
962bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
963*35786f68SRobert Mustacchi TrLinkChildOp (
964bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op1,
965bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op2);
966bc36eafdSMike Gerdts 
967bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
968*35786f68SRobert Mustacchi TrSetOpFlags (
969bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
970bc36eafdSMike Gerdts     UINT32                  Flags);
971bc36eafdSMike Gerdts 
972bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
973*35786f68SRobert Mustacchi TrSetOpAmlLength (
974bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
975bc36eafdSMike Gerdts     UINT32                  Length);
976bc36eafdSMike Gerdts 
977bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
978*35786f68SRobert Mustacchi TrLinkPeerOps (
979bc36eafdSMike Gerdts     UINT32                  NumPeers,
980bc36eafdSMike Gerdts     ...);
981bc36eafdSMike Gerdts 
982*35786f68SRobert Mustacchi ACPI_STATUS
983*35786f68SRobert Mustacchi TrWalkParseTree (
984*35786f68SRobert Mustacchi     ACPI_PARSE_OBJECT       *Op,
985*35786f68SRobert Mustacchi     UINT32                  Visitation,
986*35786f68SRobert Mustacchi     ASL_WALK_CALLBACK       DescendingCallback,
987*35786f68SRobert Mustacchi     ASL_WALK_CALLBACK       AscendingCallback,
988*35786f68SRobert Mustacchi     void                    *Context);
989*35786f68SRobert Mustacchi 
990bc36eafdSMike Gerdts 
991bc36eafdSMike Gerdts /*
992bc36eafdSMike Gerdts  * aslfiles - File I/O support
993bc36eafdSMike Gerdts  */
994bc36eafdSMike Gerdts void
995bc36eafdSMike Gerdts FlAddIncludeDirectory (
996bc36eafdSMike Gerdts     char                    *Dir);
997bc36eafdSMike Gerdts 
998bc36eafdSMike Gerdts char *
999bc36eafdSMike Gerdts FlMergePathnames (
1000bc36eafdSMike Gerdts     char                    *PrefixDir,
1001bc36eafdSMike Gerdts     char                    *FilePathname);
1002bc36eafdSMike Gerdts 
1003bc36eafdSMike Gerdts void
1004bc36eafdSMike Gerdts FlOpenIncludeFile (
1005bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1006bc36eafdSMike Gerdts 
1007bc36eafdSMike Gerdts void
1008bc36eafdSMike Gerdts FlFileError (
1009bc36eafdSMike Gerdts     UINT32                  FileId,
1010bc36eafdSMike Gerdts     UINT8                   ErrorId);
1011bc36eafdSMike Gerdts 
1012bc36eafdSMike Gerdts UINT32
1013bc36eafdSMike Gerdts FlGetFileSize (
1014bc36eafdSMike Gerdts     UINT32                  FileId);
1015bc36eafdSMike Gerdts 
1016bc36eafdSMike Gerdts ACPI_STATUS
1017bc36eafdSMike Gerdts FlReadFile (
1018bc36eafdSMike Gerdts     UINT32                  FileId,
1019bc36eafdSMike Gerdts     void                    *Buffer,
1020bc36eafdSMike Gerdts     UINT32                  Length);
1021bc36eafdSMike Gerdts 
1022bc36eafdSMike Gerdts void
1023bc36eafdSMike Gerdts FlWriteFile (
1024bc36eafdSMike Gerdts     UINT32                  FileId,
1025bc36eafdSMike Gerdts     void                    *Buffer,
1026bc36eafdSMike Gerdts     UINT32                  Length);
1027bc36eafdSMike Gerdts 
1028bc36eafdSMike Gerdts void
1029bc36eafdSMike Gerdts FlSeekFile (
1030bc36eafdSMike Gerdts     UINT32                  FileId,
1031bc36eafdSMike Gerdts     long                    Offset);
1032bc36eafdSMike Gerdts 
1033bc36eafdSMike Gerdts void
1034bc36eafdSMike Gerdts FlCloseFile (
1035bc36eafdSMike Gerdts     UINT32                  FileId);
1036bc36eafdSMike Gerdts 
1037bc36eafdSMike Gerdts void
1038bc36eafdSMike Gerdts FlPrintFile (
1039bc36eafdSMike Gerdts     UINT32                  FileId,
1040bc36eafdSMike Gerdts     char                    *Format,
1041bc36eafdSMike Gerdts     ...);
1042bc36eafdSMike Gerdts 
1043bc36eafdSMike Gerdts void
1044bc36eafdSMike Gerdts FlDeleteFile (
1045bc36eafdSMike Gerdts     UINT32                  FileId);
1046bc36eafdSMike Gerdts 
1047bc36eafdSMike Gerdts void
1048bc36eafdSMike Gerdts FlSetLineNumber (
1049bc36eafdSMike Gerdts     UINT32                  LineNumber);
1050bc36eafdSMike Gerdts 
1051bc36eafdSMike Gerdts void
1052bc36eafdSMike Gerdts FlSetFilename (
1053bc36eafdSMike Gerdts     char                    *Filename);
1054bc36eafdSMike Gerdts 
1055bc36eafdSMike Gerdts ACPI_STATUS
1056bc36eafdSMike Gerdts FlOpenInputFile (
1057bc36eafdSMike Gerdts     char                    *InputFilename);
1058bc36eafdSMike Gerdts 
1059bc36eafdSMike Gerdts ACPI_STATUS
1060bc36eafdSMike Gerdts FlOpenAmlOutputFile (
1061bc36eafdSMike Gerdts     char                    *InputFilename);
1062bc36eafdSMike Gerdts 
1063bc36eafdSMike Gerdts ACPI_STATUS
1064bc36eafdSMike Gerdts FlOpenMiscOutputFiles (
1065bc36eafdSMike Gerdts     char                    *InputFilename);
1066bc36eafdSMike Gerdts 
1067bc36eafdSMike Gerdts /*
1068bc36eafdSMike Gerdts  * aslhwmap - hardware map summary
1069bc36eafdSMike Gerdts  */
1070bc36eafdSMike Gerdts void
1071bc36eafdSMike Gerdts MpEmitMappingInfo (
1072bc36eafdSMike Gerdts     void);
1073bc36eafdSMike Gerdts 
1074bc36eafdSMike Gerdts 
1075bc36eafdSMike Gerdts /*
1076bc36eafdSMike Gerdts  * asload - load namespace in prep for cross reference
1077bc36eafdSMike Gerdts  */
1078bc36eafdSMike Gerdts ACPI_STATUS
1079bc36eafdSMike Gerdts LdLoadNamespace (
1080bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *RootOp);
1081bc36eafdSMike Gerdts 
1082bc36eafdSMike Gerdts 
1083bc36eafdSMike Gerdts /*
1084bc36eafdSMike Gerdts  * asllookup - namespace lookup functions
1085bc36eafdSMike Gerdts  */
1086bc36eafdSMike Gerdts void
1087bc36eafdSMike Gerdts LkFindUnreferencedObjects (
1088bc36eafdSMike Gerdts     void);
1089bc36eafdSMike Gerdts 
1090bc36eafdSMike Gerdts /*
1091*35786f68SRobert Mustacchi  * aslhelp - help screens
1092bc36eafdSMike Gerdts  */
1093bc36eafdSMike Gerdts void
1094bc36eafdSMike Gerdts Usage (
1095bc36eafdSMike Gerdts     void);
1096bc36eafdSMike Gerdts 
1097bc36eafdSMike Gerdts void
1098bc36eafdSMike Gerdts AslFilenameHelp (
1099bc36eafdSMike Gerdts     void);
1100bc36eafdSMike Gerdts 
1101*35786f68SRobert Mustacchi void
1102*35786f68SRobert Mustacchi AslDisassemblyHelp (
1103*35786f68SRobert Mustacchi     void);
1104*35786f68SRobert Mustacchi 
1105bc36eafdSMike Gerdts 
1106bc36eafdSMike Gerdts /*
1107bc36eafdSMike Gerdts  * aslnamesp - namespace output file generation
1108bc36eafdSMike Gerdts  */
1109bc36eafdSMike Gerdts ACPI_STATUS
1110bc36eafdSMike Gerdts NsDisplayNamespace (
1111bc36eafdSMike Gerdts     void);
1112bc36eafdSMike Gerdts 
1113bc36eafdSMike Gerdts void
1114bc36eafdSMike Gerdts NsSetupNamespaceListing (
1115bc36eafdSMike Gerdts     void                    *Handle);
1116bc36eafdSMike Gerdts 
1117bc36eafdSMike Gerdts /*
1118bc36eafdSMike Gerdts  * asloptions - command line processing
1119bc36eafdSMike Gerdts  */
1120bc36eafdSMike Gerdts int
1121bc36eafdSMike Gerdts AslCommandLine (
1122bc36eafdSMike Gerdts     int                     argc,
1123bc36eafdSMike Gerdts     char                    **argv);
1124bc36eafdSMike Gerdts 
1125bc36eafdSMike Gerdts /*
1126bc36eafdSMike Gerdts  * aslxref - namespace cross reference
1127bc36eafdSMike Gerdts  */
1128bc36eafdSMike Gerdts ACPI_STATUS
1129bc36eafdSMike Gerdts XfCrossReferenceNamespace (
1130bc36eafdSMike Gerdts     void);
1131bc36eafdSMike Gerdts 
1132bc36eafdSMike Gerdts 
1133bc36eafdSMike Gerdts /*
1134bc36eafdSMike Gerdts  * aslxrefout
1135bc36eafdSMike Gerdts  */
1136bc36eafdSMike Gerdts void
1137bc36eafdSMike Gerdts OtPrintHeaders (
1138bc36eafdSMike Gerdts     char                    *Message);
1139bc36eafdSMike Gerdts 
1140bc36eafdSMike Gerdts void
1141bc36eafdSMike Gerdts OtCreateXrefFile (
1142bc36eafdSMike Gerdts     void);
1143bc36eafdSMike Gerdts 
1144bc36eafdSMike Gerdts void
1145bc36eafdSMike Gerdts OtXrefWalkPart1 (
1146bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1147bc36eafdSMike Gerdts     UINT32                  Level,
1148bc36eafdSMike Gerdts     ASL_METHOD_INFO         *MethodInfo);
1149bc36eafdSMike Gerdts 
1150bc36eafdSMike Gerdts 
1151bc36eafdSMike Gerdts /*
1152bc36eafdSMike Gerdts  * aslutils - common compiler utilites
1153bc36eafdSMike Gerdts  */
1154bc36eafdSMike Gerdts void
1155bc36eafdSMike Gerdts DbgPrint (
1156bc36eafdSMike Gerdts     UINT32                  Type,
1157bc36eafdSMike Gerdts     char                    *Format,
1158bc36eafdSMike Gerdts     ...);
1159bc36eafdSMike Gerdts 
1160bc36eafdSMike Gerdts /* Type values for above */
1161bc36eafdSMike Gerdts 
1162bc36eafdSMike Gerdts #define ASL_DEBUG_OUTPUT    0
1163bc36eafdSMike Gerdts #define ASL_PARSE_OUTPUT    1
1164bc36eafdSMike Gerdts #define ASL_TREE_OUTPUT     2
1165bc36eafdSMike Gerdts 
1166bc36eafdSMike Gerdts UINT8
1167bc36eafdSMike Gerdts UtIsBigEndianMachine (
1168bc36eafdSMike Gerdts     void);
1169bc36eafdSMike Gerdts 
1170bc36eafdSMike Gerdts BOOLEAN
1171bc36eafdSMike Gerdts UtQueryForOverwrite (
1172bc36eafdSMike Gerdts     char                    *Pathname);
1173bc36eafdSMike Gerdts 
1174bc36eafdSMike Gerdts void
1175bc36eafdSMike Gerdts UtDumpStringOp (
1176bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1177bc36eafdSMike Gerdts     UINT32                  Level);
1178bc36eafdSMike Gerdts 
1179bc36eafdSMike Gerdts void
1180bc36eafdSMike Gerdts UtDumpIntegerOp (
1181bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1182bc36eafdSMike Gerdts     UINT32                  Level,
1183bc36eafdSMike Gerdts     UINT32                  IntegerLength);
1184bc36eafdSMike Gerdts 
1185bc36eafdSMike Gerdts void
1186bc36eafdSMike Gerdts UtDumpBasicOp (
1187bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1188bc36eafdSMike Gerdts     UINT32                  Level);
1189bc36eafdSMike Gerdts 
1190*35786f68SRobert Mustacchi void *
1191*35786f68SRobert Mustacchi UtGetParentMethod (
1192*35786f68SRobert Mustacchi     ACPI_NAMESPACE_NODE     *Node);
1193*35786f68SRobert Mustacchi 
1194*35786f68SRobert Mustacchi BOOLEAN
1195*35786f68SRobert Mustacchi UtNodeIsDescendantOf (
1196*35786f68SRobert Mustacchi     ACPI_NAMESPACE_NODE     *Node1,
1197*35786f68SRobert Mustacchi     ACPI_NAMESPACE_NODE     *Node2);
1198*35786f68SRobert Mustacchi 
1199bc36eafdSMike Gerdts void
1200bc36eafdSMike Gerdts UtDisplaySupportedTables (
1201bc36eafdSMike Gerdts     void);
1202bc36eafdSMike Gerdts 
1203bc36eafdSMike Gerdts void
1204bc36eafdSMike Gerdts UtDisplayConstantOpcodes (
1205bc36eafdSMike Gerdts     void);
1206bc36eafdSMike Gerdts 
1207bc36eafdSMike Gerdts UINT8
1208bc36eafdSMike Gerdts UtBeginEvent (
1209bc36eafdSMike Gerdts     char                    *Name);
1210bc36eafdSMike Gerdts 
1211bc36eafdSMike Gerdts void
1212bc36eafdSMike Gerdts UtEndEvent (
1213bc36eafdSMike Gerdts     UINT8                   Event);
1214bc36eafdSMike Gerdts 
1215bc36eafdSMike Gerdts void
1216bc36eafdSMike Gerdts UtDisplaySummary (
1217bc36eafdSMike Gerdts     UINT32                  FileId);
1218bc36eafdSMike Gerdts 
1219bc36eafdSMike Gerdts void
1220bc36eafdSMike Gerdts UtConvertByteToHex (
1221bc36eafdSMike Gerdts     UINT8                   RawByte,
1222bc36eafdSMike Gerdts     UINT8                   *Buffer);
1223bc36eafdSMike Gerdts 
1224bc36eafdSMike Gerdts void
1225bc36eafdSMike Gerdts UtConvertByteToAsmHex (
1226bc36eafdSMike Gerdts     UINT8                   RawByte,
1227bc36eafdSMike Gerdts     UINT8                   *Buffer);
1228bc36eafdSMike Gerdts 
1229bc36eafdSMike Gerdts char *
1230bc36eafdSMike Gerdts UtGetOpName (
1231bc36eafdSMike Gerdts     UINT32                  ParseOpcode);
1232bc36eafdSMike Gerdts 
1233bc36eafdSMike Gerdts void
1234bc36eafdSMike Gerdts UtSetParseOpName (
1235bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1236bc36eafdSMike Gerdts 
1237bc36eafdSMike Gerdts ACPI_STATUS
1238bc36eafdSMike Gerdts UtInternalizeName (
1239bc36eafdSMike Gerdts     char                    *ExternalName,
1240bc36eafdSMike Gerdts     char                    **ConvertedName);
1241bc36eafdSMike Gerdts 
1242bc36eafdSMike Gerdts void
1243bc36eafdSMike Gerdts UtAttachNamepathToOwner (
1244bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1245bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *NameNode);
1246bc36eafdSMike Gerdts 
1247bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
1248bc36eafdSMike Gerdts UtCheckIntegerRange (
1249bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1250bc36eafdSMike Gerdts     UINT32                  LowValue,
1251bc36eafdSMike Gerdts     UINT32                  HighValue);
1252bc36eafdSMike Gerdts 
1253bc36eafdSMike Gerdts UINT64
1254bc36eafdSMike Gerdts UtDoConstant (
1255bc36eafdSMike Gerdts     char                    *String);
1256bc36eafdSMike Gerdts 
1257bc36eafdSMike Gerdts 
1258bc36eafdSMike Gerdts /*
1259bc36eafdSMike Gerdts  * asluuid - UUID support
1260bc36eafdSMike Gerdts  */
1261bc36eafdSMike Gerdts ACPI_STATUS
1262bc36eafdSMike Gerdts AuValidateUuid (
1263bc36eafdSMike Gerdts     char                    *InString);
1264bc36eafdSMike Gerdts 
1265bc36eafdSMike Gerdts ACPI_STATUS
1266bc36eafdSMike Gerdts AuConvertUuidToString (
1267bc36eafdSMike Gerdts     char                    *UuIdBuffer,
1268bc36eafdSMike Gerdts     char                    *OutString);
1269bc36eafdSMike Gerdts 
1270bc36eafdSMike Gerdts /*
1271bc36eafdSMike Gerdts  * aslresource - Resource template generation utilities
1272bc36eafdSMike Gerdts  */
1273bc36eafdSMike Gerdts void
1274bc36eafdSMike Gerdts RsSmallAddressCheck (
1275bc36eafdSMike Gerdts     UINT8                   Type,
1276bc36eafdSMike Gerdts     UINT32                  Minimum,
1277bc36eafdSMike Gerdts     UINT32                  Maximum,
1278bc36eafdSMike Gerdts     UINT32                  Length,
1279bc36eafdSMike Gerdts     UINT32                  Alignment,
1280bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *MinOp,
1281bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *MaxOp,
1282bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *LengthOp,
1283bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *AlignOp,
1284bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1285bc36eafdSMike Gerdts 
1286bc36eafdSMike Gerdts void
1287bc36eafdSMike Gerdts RsLargeAddressCheck (
1288bc36eafdSMike Gerdts     UINT64                  Minimum,
1289bc36eafdSMike Gerdts     UINT64                  Maximum,
1290bc36eafdSMike Gerdts     UINT64                  Length,
1291bc36eafdSMike Gerdts     UINT64                  Granularity,
1292bc36eafdSMike Gerdts     UINT8                   Flags,
1293bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *MinOp,
1294bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *MaxOp,
1295bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *LengthOp,
1296bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *GranOp,
1297bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1298bc36eafdSMike Gerdts 
1299bc36eafdSMike Gerdts UINT16
1300bc36eafdSMike Gerdts RsGetStringDataLength (
1301bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *InitializerOp);
1302bc36eafdSMike Gerdts 
1303bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1304bc36eafdSMike Gerdts RsAllocateResourceNode (
1305bc36eafdSMike Gerdts     UINT32                  Size);
1306bc36eafdSMike Gerdts 
1307bc36eafdSMike Gerdts void
1308bc36eafdSMike Gerdts RsCreateResourceField (
1309bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1310bc36eafdSMike Gerdts     char                    *Name,
1311bc36eafdSMike Gerdts     UINT32                  ByteOffset,
1312bc36eafdSMike Gerdts     UINT32                  BitOffset,
1313bc36eafdSMike Gerdts     UINT32                  BitLength);
1314bc36eafdSMike Gerdts 
1315bc36eafdSMike Gerdts void
1316bc36eafdSMike Gerdts RsSetFlagBits (
1317bc36eafdSMike Gerdts     UINT8                   *Flags,
1318bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1319bc36eafdSMike Gerdts     UINT8                   Position,
1320bc36eafdSMike Gerdts     UINT8                   DefaultBit);
1321bc36eafdSMike Gerdts 
1322bc36eafdSMike Gerdts void
1323bc36eafdSMike Gerdts RsSetFlagBits16 (
1324bc36eafdSMike Gerdts     UINT16                  *Flags,
1325bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op,
1326bc36eafdSMike Gerdts     UINT8                   Position,
1327bc36eafdSMike Gerdts     UINT8                   DefaultBit);
1328bc36eafdSMike Gerdts 
1329bc36eafdSMike Gerdts ACPI_PARSE_OBJECT *
1330bc36eafdSMike Gerdts RsCompleteNodeAndGetNext (
1331bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1332bc36eafdSMike Gerdts 
1333bc36eafdSMike Gerdts void
1334bc36eafdSMike Gerdts RsCheckListForDuplicates (
1335bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1336bc36eafdSMike Gerdts 
1337bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1338bc36eafdSMike Gerdts RsDoOneResourceDescriptor (
1339bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info,
1340bc36eafdSMike Gerdts     UINT8                   *State);
1341bc36eafdSMike Gerdts 
1342bc36eafdSMike Gerdts /* Values for State above */
1343bc36eafdSMike Gerdts 
1344bc36eafdSMike Gerdts #define ACPI_RSTATE_NORMAL              0
1345bc36eafdSMike Gerdts #define ACPI_RSTATE_START_DEPENDENT     1
1346bc36eafdSMike Gerdts #define ACPI_RSTATE_DEPENDENT_LIST      2
1347bc36eafdSMike Gerdts 
1348bc36eafdSMike Gerdts UINT32
1349bc36eafdSMike Gerdts RsLinkDescriptorChain (
1350bc36eafdSMike Gerdts     ASL_RESOURCE_NODE       **PreviousRnode,
1351bc36eafdSMike Gerdts     ASL_RESOURCE_NODE       *Rnode);
1352bc36eafdSMike Gerdts 
1353bc36eafdSMike Gerdts void
1354bc36eafdSMike Gerdts RsDoResourceTemplate (
1355bc36eafdSMike Gerdts     ACPI_PARSE_OBJECT       *Op);
1356bc36eafdSMike Gerdts 
1357bc36eafdSMike Gerdts 
1358bc36eafdSMike Gerdts /*
1359bc36eafdSMike Gerdts  * aslrestype1 - Miscellaneous Small descriptors
1360bc36eafdSMike Gerdts  */
1361bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1362bc36eafdSMike Gerdts RsDoEndTagDescriptor (
1363bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1364bc36eafdSMike Gerdts 
1365bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1366bc36eafdSMike Gerdts RsDoEndDependentDescriptor (
1367bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1368bc36eafdSMike Gerdts 
1369bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1370bc36eafdSMike Gerdts RsDoMemory24Descriptor (
1371bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1372bc36eafdSMike Gerdts 
1373bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1374bc36eafdSMike Gerdts RsDoMemory32Descriptor (
1375bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1376bc36eafdSMike Gerdts 
1377bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1378bc36eafdSMike Gerdts RsDoMemory32FixedDescriptor (
1379bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1380bc36eafdSMike Gerdts 
1381bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1382bc36eafdSMike Gerdts RsDoStartDependentDescriptor (
1383bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1384bc36eafdSMike Gerdts 
1385bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1386bc36eafdSMike Gerdts RsDoStartDependentNoPriDescriptor (
1387bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1388bc36eafdSMike Gerdts 
1389bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1390bc36eafdSMike Gerdts RsDoVendorSmallDescriptor (
1391bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1392bc36eafdSMike Gerdts 
1393bc36eafdSMike Gerdts 
1394bc36eafdSMike Gerdts /*
1395bc36eafdSMike Gerdts  * aslrestype1i - I/O-related Small descriptors
1396bc36eafdSMike Gerdts  */
1397bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1398bc36eafdSMike Gerdts RsDoDmaDescriptor (
1399bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1400bc36eafdSMike Gerdts 
1401bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1402bc36eafdSMike Gerdts RsDoFixedDmaDescriptor (
1403bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1404bc36eafdSMike Gerdts 
1405bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1406bc36eafdSMike Gerdts RsDoFixedIoDescriptor (
1407bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1408bc36eafdSMike Gerdts 
1409bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1410bc36eafdSMike Gerdts RsDoIoDescriptor (
1411bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1412bc36eafdSMike Gerdts 
1413bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1414bc36eafdSMike Gerdts RsDoIrqDescriptor (
1415bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1416bc36eafdSMike Gerdts 
1417bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1418bc36eafdSMike Gerdts RsDoIrqNoFlagsDescriptor (
1419bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1420bc36eafdSMike Gerdts 
1421bc36eafdSMike Gerdts 
1422bc36eafdSMike Gerdts /*
1423bc36eafdSMike Gerdts  * aslrestype2 - Large resource descriptors
1424bc36eafdSMike Gerdts  */
1425bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1426bc36eafdSMike Gerdts RsDoInterruptDescriptor (
1427bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1428bc36eafdSMike Gerdts 
1429bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1430bc36eafdSMike Gerdts RsDoVendorLargeDescriptor (
1431bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1432bc36eafdSMike Gerdts 
1433bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1434bc36eafdSMike Gerdts RsDoGeneralRegisterDescriptor (
1435bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1436bc36eafdSMike Gerdts 
1437bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1438bc36eafdSMike Gerdts RsDoGpioIntDescriptor (
1439bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1440bc36eafdSMike Gerdts 
1441bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1442bc36eafdSMike Gerdts RsDoGpioIoDescriptor (
1443bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1444bc36eafdSMike Gerdts 
1445bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1446bc36eafdSMike Gerdts RsDoI2cSerialBusDescriptor (
1447bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1448bc36eafdSMike Gerdts 
1449bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1450bc36eafdSMike Gerdts RsDoSpiSerialBusDescriptor (
1451bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1452bc36eafdSMike Gerdts 
1453bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1454bc36eafdSMike Gerdts RsDoUartSerialBusDescriptor (
1455bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1456bc36eafdSMike Gerdts 
1457*35786f68SRobert Mustacchi ASL_RESOURCE_NODE *
1458*35786f68SRobert Mustacchi RsDoPinFunctionDescriptor (
1459*35786f68SRobert Mustacchi     ASL_RESOURCE_INFO       *Info);
1460*35786f68SRobert Mustacchi 
1461*35786f68SRobert Mustacchi ASL_RESOURCE_NODE *
1462*35786f68SRobert Mustacchi RsDoPinConfigDescriptor (
1463*35786f68SRobert Mustacchi     ASL_RESOURCE_INFO       *Info);
1464*35786f68SRobert Mustacchi 
1465*35786f68SRobert Mustacchi ASL_RESOURCE_NODE *
1466*35786f68SRobert Mustacchi RsDoPinGroupDescriptor (
1467*35786f68SRobert Mustacchi     ASL_RESOURCE_INFO       *Info);
1468*35786f68SRobert Mustacchi 
1469*35786f68SRobert Mustacchi ASL_RESOURCE_NODE *
1470*35786f68SRobert Mustacchi RsDoPinGroupFunctionDescriptor (
1471*35786f68SRobert Mustacchi     ASL_RESOURCE_INFO       *Info);
1472*35786f68SRobert Mustacchi 
1473*35786f68SRobert Mustacchi ASL_RESOURCE_NODE *
1474*35786f68SRobert Mustacchi RsDoPinGroupConfigDescriptor (
1475*35786f68SRobert Mustacchi     ASL_RESOURCE_INFO       *Info);
1476*35786f68SRobert Mustacchi 
1477bc36eafdSMike Gerdts /*
1478bc36eafdSMike Gerdts  * aslrestype2d - DWord address descriptors
1479bc36eafdSMike Gerdts  */
1480bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1481bc36eafdSMike Gerdts RsDoDwordIoDescriptor (
1482bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1483bc36eafdSMike Gerdts 
1484bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1485bc36eafdSMike Gerdts RsDoDwordMemoryDescriptor (
1486bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1487bc36eafdSMike Gerdts 
1488bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1489bc36eafdSMike Gerdts RsDoDwordSpaceDescriptor (
1490bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1491bc36eafdSMike Gerdts 
1492bc36eafdSMike Gerdts 
1493bc36eafdSMike Gerdts /*
1494bc36eafdSMike Gerdts  * aslrestype2e - Extended address descriptors
1495bc36eafdSMike Gerdts  */
1496bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1497bc36eafdSMike Gerdts RsDoExtendedIoDescriptor (
1498bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1499bc36eafdSMike Gerdts 
1500bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1501bc36eafdSMike Gerdts RsDoExtendedMemoryDescriptor (
1502bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1503bc36eafdSMike Gerdts 
1504bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1505bc36eafdSMike Gerdts RsDoExtendedSpaceDescriptor (
1506bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1507bc36eafdSMike Gerdts 
1508bc36eafdSMike Gerdts 
1509bc36eafdSMike Gerdts /*
1510bc36eafdSMike Gerdts  * aslrestype2q - QWord address descriptors
1511bc36eafdSMike Gerdts  */
1512bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1513bc36eafdSMike Gerdts RsDoQwordIoDescriptor (
1514bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1515bc36eafdSMike Gerdts 
1516bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1517bc36eafdSMike Gerdts RsDoQwordMemoryDescriptor (
1518bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1519bc36eafdSMike Gerdts 
1520bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1521bc36eafdSMike Gerdts RsDoQwordSpaceDescriptor (
1522bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1523bc36eafdSMike Gerdts 
1524bc36eafdSMike Gerdts 
1525bc36eafdSMike Gerdts /*
1526bc36eafdSMike Gerdts  * aslrestype2w - Word address descriptors
1527bc36eafdSMike Gerdts  */
1528bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1529bc36eafdSMike Gerdts RsDoWordIoDescriptor (
1530bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1531bc36eafdSMike Gerdts 
1532bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1533bc36eafdSMike Gerdts RsDoWordSpaceDescriptor (
1534bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1535bc36eafdSMike Gerdts 
1536bc36eafdSMike Gerdts ASL_RESOURCE_NODE *
1537bc36eafdSMike Gerdts RsDoWordBusNumberDescriptor (
1538bc36eafdSMike Gerdts     ASL_RESOURCE_INFO       *Info);
1539bc36eafdSMike Gerdts 
1540bc36eafdSMike Gerdts 
1541bc36eafdSMike Gerdts /*
1542bc36eafdSMike Gerdts  * Entry to data table compiler subsystem
1543bc36eafdSMike Gerdts  */
1544bc36eafdSMike Gerdts ACPI_STATUS
1545bc36eafdSMike Gerdts DtDoCompile(
1546bc36eafdSMike Gerdts     void);
1547bc36eafdSMike Gerdts 
1548bc36eafdSMike Gerdts ACPI_STATUS
1549bc36eafdSMike Gerdts DtCreateTemplates (
1550bc36eafdSMike Gerdts     char                    **argv);
1551bc36eafdSMike Gerdts 
1552*35786f68SRobert Mustacchi 
1553*35786f68SRobert Mustacchi /*
1554*35786f68SRobert Mustacchi  * ASL/ASL+ converter debug
1555*35786f68SRobert Mustacchi  */
1556*35786f68SRobert Mustacchi void
1557*35786f68SRobert Mustacchi CvDbgPrint (
1558*35786f68SRobert Mustacchi     char                    *Fmt,
1559*35786f68SRobert Mustacchi     ...);
1560*35786f68SRobert Mustacchi 
1561*35786f68SRobert Mustacchi 
1562bc36eafdSMike Gerdts #endif /*  __ASLCOMPILER_H */
1563