xref: /freebsd/sys/contrib/dev/acpica/compiler/aslcompiler.h (revision f8146b882bc156c1d8ddf14bbea67253ebc064bb)
153289f6aSNate Lawson /******************************************************************************
253289f6aSNate Lawson  *
3fba7fc7eSJung-uk Kim  * Module Name: aslcompiler.h - common include file for iASL
453289f6aSNate Lawson  *
553289f6aSNate Lawson  *****************************************************************************/
653289f6aSNate Lawson 
7d244b227SJung-uk Kim /*
8*f8146b88SJung-uk Kim  * Copyright (C) 2000 - 2016, Intel Corp.
953289f6aSNate Lawson  * All rights reserved.
1053289f6aSNate Lawson  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
2553289f6aSNate Lawson  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
2953289f6aSNate Lawson  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-uk Kim  */
4353289f6aSNate Lawson 
4453289f6aSNate Lawson #ifndef __ASLCOMPILER_H
4553289f6aSNate Lawson #define __ASLCOMPILER_H
4653289f6aSNate Lawson 
47d244b227SJung-uk Kim #include <contrib/dev/acpica/include/acpi.h>
48d244b227SJung-uk Kim #include <contrib/dev/acpica/include/accommon.h>
49d244b227SJung-uk Kim #include <contrib/dev/acpica/include/amlresrc.h>
50d244b227SJung-uk Kim #include <contrib/dev/acpica/include/acdebug.h>
5153289f6aSNate Lawson 
5253289f6aSNate Lawson /* Microsoft-specific */
5353289f6aSNate Lawson 
5453289f6aSNate Lawson #if (defined WIN32 || defined WIN64)
5553289f6aSNate Lawson 
5653289f6aSNate Lawson /* warn : used #pragma pack */
5753289f6aSNate Lawson #pragma warning(disable:4103)
5853289f6aSNate Lawson 
5953289f6aSNate Lawson /* warn : named type definition in parentheses */
6053289f6aSNate Lawson #pragma warning(disable:4115)
6153289f6aSNate Lawson #endif
6253289f6aSNate Lawson 
6353289f6aSNate Lawson #include <stdio.h>
6453289f6aSNate Lawson #include <stdlib.h>
6553289f6aSNate Lawson #include <stdarg.h>
6653289f6aSNate Lawson #include <string.h>
6753289f6aSNate Lawson #include <errno.h>
6853289f6aSNate Lawson #include <ctype.h>
6953289f6aSNate Lawson 
70fba7fc7eSJung-uk Kim /* Compiler headers */
7153289f6aSNate Lawson 
72ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/asldefine.h>
73ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/asltypes.h>
743c1812acSJung-uk Kim #include <contrib/dev/acpica/compiler/aslmessages.h>
75ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/compiler/aslglobal.h>
764c52cad2SJung-uk Kim #include <contrib/dev/acpica/compiler/preprocess.h>
7753289f6aSNate Lawson 
7853289f6aSNate Lawson 
7953289f6aSNate Lawson /*******************************************************************************
8053289f6aSNate Lawson  *
8153289f6aSNate Lawson  * Compiler prototypes
8253289f6aSNate Lawson  *
8353289f6aSNate Lawson  ******************************************************************************/
8453289f6aSNate Lawson 
85fba7fc7eSJung-uk Kim /*
864c52cad2SJung-uk Kim  * Main ASL parser - generated from flex/bison, lex/yacc, etc.
87fba7fc7eSJung-uk Kim  */
8853289f6aSNate Lawson ACPI_PARSE_OBJECT *
8953289f6aSNate Lawson AslDoError (
9053289f6aSNate Lawson     void);
9153289f6aSNate Lawson 
9253289f6aSNate Lawson int
9353289f6aSNate Lawson AslCompilerlex(
9453289f6aSNate Lawson     void);
9553289f6aSNate Lawson 
9653289f6aSNate Lawson void
97eef1b955SJung-uk Kim AslResetCurrentLineBuffer (
9853289f6aSNate Lawson     void);
9953289f6aSNate Lawson 
10053289f6aSNate Lawson void
101eef1b955SJung-uk Kim AslInsertLineBuffer (
10253289f6aSNate Lawson     int                     SourceChar);
10353289f6aSNate Lawson 
10453289f6aSNate Lawson int
10553289f6aSNate Lawson AslPopInputFileStack (
10653289f6aSNate Lawson     void);
10753289f6aSNate Lawson 
10853289f6aSNate Lawson void
10953289f6aSNate Lawson AslPushInputFileStack (
11053289f6aSNate Lawson     FILE                    *InputFile,
11153289f6aSNate Lawson     char                    *Filename);
11253289f6aSNate Lawson 
113313a0c13SJung-uk Kim void
114313a0c13SJung-uk Kim AslParserCleanup (
115313a0c13SJung-uk Kim     void);
116313a0c13SJung-uk Kim 
117313a0c13SJung-uk Kim 
118a9f12690SJung-uk Kim /*
119a88e22b7SJung-uk Kim  * aslstartup - entered from main()
120a9f12690SJung-uk Kim  */
121a88e22b7SJung-uk Kim void
122a88e22b7SJung-uk Kim AslInitializeGlobals (
123a88e22b7SJung-uk Kim     void);
124a88e22b7SJung-uk Kim 
125709fac06SJung-uk Kim typedef
126709fac06SJung-uk Kim ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
127709fac06SJung-uk Kim     char *);
128709fac06SJung-uk Kim 
129a9f12690SJung-uk Kim ACPI_STATUS
130a9f12690SJung-uk Kim AslDoOneFile (
131a9f12690SJung-uk Kim     char                    *Filename);
13253289f6aSNate Lawson 
133eef1b955SJung-uk Kim ACPI_STATUS
134eef1b955SJung-uk Kim AslCheckForErrorExit (
135eef1b955SJung-uk Kim     void);
136eef1b955SJung-uk Kim 
137eef1b955SJung-uk Kim 
138fba7fc7eSJung-uk Kim /*
139fba7fc7eSJung-uk Kim  * aslcompile - compile mainline
140fba7fc7eSJung-uk Kim  */
14153289f6aSNate Lawson void
14253289f6aSNate Lawson AslCompilerSignon (
14353289f6aSNate Lawson     UINT32                  FileId);
14453289f6aSNate Lawson 
14553289f6aSNate Lawson void
14653289f6aSNate Lawson AslCompilerFileHeader (
14753289f6aSNate Lawson     UINT32                  FileId);
14853289f6aSNate Lawson 
14953289f6aSNate Lawson int
150fba7fc7eSJung-uk Kim CmDoCompile (
15153289f6aSNate Lawson     void);
15253289f6aSNate Lawson 
15353289f6aSNate Lawson void
154fba7fc7eSJung-uk Kim CmDoOutputFiles (
15553289f6aSNate Lawson     void);
15653289f6aSNate Lawson 
15753289f6aSNate Lawson void
158fba7fc7eSJung-uk Kim CmCleanupAndExit (
15953289f6aSNate Lawson     void);
16053289f6aSNate Lawson 
161313a0c13SJung-uk Kim void
162313a0c13SJung-uk Kim CmDeleteCaches (
163313a0c13SJung-uk Kim     void);
164313a0c13SJung-uk Kim 
165313a0c13SJung-uk Kim 
166313a0c13SJung-uk Kim /*
167313a0c13SJung-uk Kim  * aslascii - ascii support
168313a0c13SJung-uk Kim  */
169a88e22b7SJung-uk Kim ACPI_STATUS
170*f8146b88SJung-uk Kim FlIsFileAsciiSource (
171a7a3b383SJung-uk Kim     char                    *Filename,
172a7a3b383SJung-uk Kim     BOOLEAN                 DisplayErrors);
173a88e22b7SJung-uk Kim 
17453289f6aSNate Lawson 
17553289f6aSNate Lawson /*
1760b94ba42SJung-uk Kim  * aslwalks - semantic analysis and parse tree walks
17753289f6aSNate Lawson  */
17853289f6aSNate Lawson ACPI_STATUS
17953289f6aSNate Lawson AnOtherSemanticAnalysisWalkBegin (
18053289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
18153289f6aSNate Lawson     UINT32                  Level,
18253289f6aSNate Lawson     void                    *Context);
18353289f6aSNate Lawson 
18453289f6aSNate Lawson ACPI_STATUS
18553289f6aSNate Lawson AnOtherSemanticAnalysisWalkEnd (
18653289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
18753289f6aSNate Lawson     UINT32                  Level,
18853289f6aSNate Lawson     void                    *Context);
18953289f6aSNate Lawson 
19053289f6aSNate Lawson ACPI_STATUS
19153289f6aSNate Lawson AnOperandTypecheckWalkEnd (
19253289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
19353289f6aSNate Lawson     UINT32                  Level,
19453289f6aSNate Lawson     void                    *Context);
19553289f6aSNate Lawson 
19653289f6aSNate Lawson ACPI_STATUS
19753289f6aSNate Lawson AnMethodTypingWalkEnd (
19853289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
19953289f6aSNate Lawson     UINT32                  Level,
20053289f6aSNate Lawson     void                    *Context);
20153289f6aSNate Lawson 
20253289f6aSNate Lawson 
20353289f6aSNate Lawson /*
204efcc2a30SJung-uk Kim  * aslmethod - Control method analysis walk
205efcc2a30SJung-uk Kim  */
206efcc2a30SJung-uk Kim ACPI_STATUS
207efcc2a30SJung-uk Kim MtMethodAnalysisWalkBegin (
208efcc2a30SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
209efcc2a30SJung-uk Kim     UINT32                  Level,
210efcc2a30SJung-uk Kim     void                    *Context);
211efcc2a30SJung-uk Kim 
212efcc2a30SJung-uk Kim ACPI_STATUS
213efcc2a30SJung-uk Kim MtMethodAnalysisWalkEnd (
214efcc2a30SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
215efcc2a30SJung-uk Kim     UINT32                  Level,
216efcc2a30SJung-uk Kim     void                    *Context);
217efcc2a30SJung-uk Kim 
218efcc2a30SJung-uk Kim 
219efcc2a30SJung-uk Kim /*
2200b94ba42SJung-uk Kim  * aslbtypes - bitfield data types
2210b94ba42SJung-uk Kim  */
2220b94ba42SJung-uk Kim UINT32
2230b94ba42SJung-uk Kim AnMapObjTypeToBtype (
2240b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2250b94ba42SJung-uk Kim 
2260b94ba42SJung-uk Kim UINT32
2270b94ba42SJung-uk Kim AnMapArgTypeToBtype (
2280b94ba42SJung-uk Kim     UINT32                  ArgType);
2290b94ba42SJung-uk Kim 
2300b94ba42SJung-uk Kim UINT32
2310b94ba42SJung-uk Kim AnGetBtype (
2320b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2330b94ba42SJung-uk Kim 
2340b94ba42SJung-uk Kim void
2350b94ba42SJung-uk Kim AnFormatBtype (
2360b94ba42SJung-uk Kim     char                    *Buffer,
2370b94ba42SJung-uk Kim     UINT32                  Btype);
2380b94ba42SJung-uk Kim 
2390b94ba42SJung-uk Kim 
2400b94ba42SJung-uk Kim /*
2410b94ba42SJung-uk Kim  * aslanalyze - Support functions for parse tree walks
2420b94ba42SJung-uk Kim  */
2430b94ba42SJung-uk Kim void
2440b94ba42SJung-uk Kim AnCheckId (
2450b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
2460b94ba42SJung-uk Kim     ACPI_NAME               Type);
2470b94ba42SJung-uk Kim 
2480b94ba42SJung-uk Kim /* Values for Type argument above */
2490b94ba42SJung-uk Kim 
2500b94ba42SJung-uk Kim #define ASL_TYPE_HID        0
2510b94ba42SJung-uk Kim #define ASL_TYPE_CID        1
2520b94ba42SJung-uk Kim 
2530b94ba42SJung-uk Kim BOOLEAN
2540b94ba42SJung-uk Kim AnIsInternalMethod (
2550b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2560b94ba42SJung-uk Kim 
2570b94ba42SJung-uk Kim UINT32
2580b94ba42SJung-uk Kim AnGetInternalMethodReturnType (
2590b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2600b94ba42SJung-uk Kim 
2610b94ba42SJung-uk Kim BOOLEAN
2620b94ba42SJung-uk Kim AnLastStatementIsReturn (
2630b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2640b94ba42SJung-uk Kim 
2650b94ba42SJung-uk Kim void
2660b94ba42SJung-uk Kim AnCheckMethodReturnValue (
2670b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
2680b94ba42SJung-uk Kim     const ACPI_OPCODE_INFO  *OpInfo,
2690b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *ArgOp,
2700b94ba42SJung-uk Kim     UINT32                  RequiredBtypes,
2710b94ba42SJung-uk Kim     UINT32                  ThisNodeBtype);
2720b94ba42SJung-uk Kim 
2730b94ba42SJung-uk Kim BOOLEAN
2740b94ba42SJung-uk Kim AnIsResultUsed (
2750b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2760b94ba42SJung-uk Kim 
2770b94ba42SJung-uk Kim void
2780b94ba42SJung-uk Kim ApCheckForGpeNameConflict (
2790b94ba42SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2800b94ba42SJung-uk Kim 
281d052a1ccSJung-uk Kim void
282d052a1ccSJung-uk Kim ApCheckRegMethod (
283d052a1ccSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
284d052a1ccSJung-uk Kim 
285313a0c13SJung-uk Kim BOOLEAN
286313a0c13SJung-uk Kim ApFindNameInScope (
287313a0c13SJung-uk Kim     char                    *Name,
288313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
289313a0c13SJung-uk Kim 
290*f8146b88SJung-uk Kim BOOLEAN
291*f8146b88SJung-uk Kim ApFindNameInDeviceTree (
292*f8146b88SJung-uk Kim     char                    *Name,
293*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
2940b94ba42SJung-uk Kim 
2950b94ba42SJung-uk Kim /*
296fba7fc7eSJung-uk Kim  * aslerror - error handling/reporting
29753289f6aSNate Lawson  */
298fba7fc7eSJung-uk Kim void
299313a0c13SJung-uk Kim AslAbort (
300313a0c13SJung-uk Kim     void);
301313a0c13SJung-uk Kim 
302313a0c13SJung-uk Kim void
303fba7fc7eSJung-uk Kim AslError (
304fba7fc7eSJung-uk Kim     UINT8                   Level,
305313a0c13SJung-uk Kim     UINT16                  MessageId,
306fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
307fba7fc7eSJung-uk Kim     char                    *ExtraMessage);
30853289f6aSNate Lawson 
309a9d8d09cSJung-uk Kim ACPI_STATUS
310a9d8d09cSJung-uk Kim AslDisableException (
311a9d8d09cSJung-uk Kim     char                    *MessageIdString);
312a9d8d09cSJung-uk Kim 
313a9d8d09cSJung-uk Kim BOOLEAN
314a9d8d09cSJung-uk Kim AslIsExceptionDisabled (
315a9d8d09cSJung-uk Kim     UINT8                   Level,
316313a0c13SJung-uk Kim     UINT16                  MessageId);
317a9d8d09cSJung-uk Kim 
31853289f6aSNate Lawson void
319fba7fc7eSJung-uk Kim AslCoreSubsystemError (
320fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
321fba7fc7eSJung-uk Kim     ACPI_STATUS             Status,
322fba7fc7eSJung-uk Kim     char                    *ExtraMessage,
323fba7fc7eSJung-uk Kim     BOOLEAN                 Abort);
32453289f6aSNate Lawson 
325fba7fc7eSJung-uk Kim int
326fba7fc7eSJung-uk Kim AslCompilererror(
3273f0275a0SJung-uk Kim     const char              *s);
328fba7fc7eSJung-uk Kim 
329fba7fc7eSJung-uk Kim void
330fba7fc7eSJung-uk Kim AslCommonError (
331fba7fc7eSJung-uk Kim     UINT8                   Level,
332313a0c13SJung-uk Kim     UINT16                  MessageId,
333fba7fc7eSJung-uk Kim     UINT32                  CurrentLineNumber,
334fba7fc7eSJung-uk Kim     UINT32                  LogicalLineNumber,
335fba7fc7eSJung-uk Kim     UINT32                  LogicalByteOffset,
336fba7fc7eSJung-uk Kim     UINT32                  Column,
337fba7fc7eSJung-uk Kim     char                    *Filename,
338fba7fc7eSJung-uk Kim     char                    *ExtraMessage);
339fba7fc7eSJung-uk Kim 
340fba7fc7eSJung-uk Kim void
3414c52cad2SJung-uk Kim AslCommonError2 (
3424c52cad2SJung-uk Kim     UINT8                   Level,
343313a0c13SJung-uk Kim     UINT16                  MessageId,
3444c52cad2SJung-uk Kim     UINT32                  LineNumber,
3454c52cad2SJung-uk Kim     UINT32                  Column,
3464c52cad2SJung-uk Kim     char                    *SourceLine,
3474c52cad2SJung-uk Kim     char                    *Filename,
3484c52cad2SJung-uk Kim     char                    *ExtraMessage);
3494c52cad2SJung-uk Kim 
3504c52cad2SJung-uk Kim void
351fba7fc7eSJung-uk Kim AePrintException (
352fba7fc7eSJung-uk Kim     UINT32                  FileId,
353fba7fc7eSJung-uk Kim     ASL_ERROR_MSG           *Enode,
354fba7fc7eSJung-uk Kim     char                    *Header);
355fba7fc7eSJung-uk Kim 
356fba7fc7eSJung-uk Kim void
357fba7fc7eSJung-uk Kim AePrintErrorLog (
358fba7fc7eSJung-uk Kim     UINT32                  FileId);
359fba7fc7eSJung-uk Kim 
360a9f12690SJung-uk Kim void
361a9f12690SJung-uk Kim AeClearErrorLog (
362a9f12690SJung-uk Kim     void);
363a9f12690SJung-uk Kim 
364fba7fc7eSJung-uk Kim 
365fba7fc7eSJung-uk Kim /*
366fba7fc7eSJung-uk Kim  * asllisting - generate all "listing" type files
367fba7fc7eSJung-uk Kim  */
368fba7fc7eSJung-uk Kim void
369fba7fc7eSJung-uk Kim LsDoListings (
370fba7fc7eSJung-uk Kim     void);
371fba7fc7eSJung-uk Kim 
372fba7fc7eSJung-uk Kim void
373fba7fc7eSJung-uk Kim LsWriteNodeToAsmListing (
374fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
375fba7fc7eSJung-uk Kim 
376fba7fc7eSJung-uk Kim void
377fba7fc7eSJung-uk Kim LsWriteNode (
378fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
379fba7fc7eSJung-uk Kim     UINT32                  FileId);
380fba7fc7eSJung-uk Kim 
381fba7fc7eSJung-uk Kim void
3821a39cfb0SJung-uk Kim LsDumpParseTree (
3831a39cfb0SJung-uk Kim     void);
384fba7fc7eSJung-uk Kim 
385efcc2a30SJung-uk Kim 
386efcc2a30SJung-uk Kim /*
3879c7c683cSJung-uk Kim  * asllistsup - Listing file support utilities
3889c7c683cSJung-uk Kim  */
3899c7c683cSJung-uk Kim void
3909c7c683cSJung-uk Kim LsDumpAscii (
3919c7c683cSJung-uk Kim     UINT32                  FileId,
3929c7c683cSJung-uk Kim     UINT32                  Count,
3939c7c683cSJung-uk Kim     UINT8                   *Buffer);
3949c7c683cSJung-uk Kim 
3959c7c683cSJung-uk Kim void
3969c7c683cSJung-uk Kim LsDumpAsciiInComment (
3979c7c683cSJung-uk Kim     UINT32                  FileId,
3989c7c683cSJung-uk Kim     UINT32                  Count,
3999c7c683cSJung-uk Kim     UINT8                   *Buffer);
4009c7c683cSJung-uk Kim 
4019c7c683cSJung-uk Kim void
4029c7c683cSJung-uk Kim LsCheckException (
4039c7c683cSJung-uk Kim     UINT32                  LineNumber,
4049c7c683cSJung-uk Kim     UINT32                  FileId);
4059c7c683cSJung-uk Kim 
4069c7c683cSJung-uk Kim void
4079c7c683cSJung-uk Kim LsFlushListingBuffer (
4089c7c683cSJung-uk Kim     UINT32                  FileId);
4099c7c683cSJung-uk Kim 
4109c7c683cSJung-uk Kim void
4119c7c683cSJung-uk Kim LsWriteListingHexBytes (
4129c7c683cSJung-uk Kim     UINT8                   *Buffer,
4139c7c683cSJung-uk Kim     UINT32                  Length,
4149c7c683cSJung-uk Kim     UINT32                  FileId);
4159c7c683cSJung-uk Kim 
4169c7c683cSJung-uk Kim void
4179c7c683cSJung-uk Kim LsWriteSourceLines (
4189c7c683cSJung-uk Kim     UINT32                  ToLineNumber,
4199c7c683cSJung-uk Kim     UINT32                  ToLogicalLineNumber,
4209c7c683cSJung-uk Kim     UINT32                  FileId);
4219c7c683cSJung-uk Kim 
4229c7c683cSJung-uk Kim UINT32
4239c7c683cSJung-uk Kim LsWriteOneSourceLine (
4249c7c683cSJung-uk Kim     UINT32                  FileId);
4259c7c683cSJung-uk Kim 
4269c7c683cSJung-uk Kim void
4279c7c683cSJung-uk Kim LsPushNode (
4289c7c683cSJung-uk Kim     char                    *Filename);
4299c7c683cSJung-uk Kim 
4309c7c683cSJung-uk Kim ASL_LISTING_NODE *
4319c7c683cSJung-uk Kim LsPopNode (
4329c7c683cSJung-uk Kim     void);
4339c7c683cSJung-uk Kim 
4349c7c683cSJung-uk Kim 
4359c7c683cSJung-uk Kim /*
436efcc2a30SJung-uk Kim  * aslhex - generate all "hex" output files (C, ASM, ASL)
437efcc2a30SJung-uk Kim  */
438efcc2a30SJung-uk Kim void
439efcc2a30SJung-uk Kim HxDoHexOutput (
440efcc2a30SJung-uk Kim     void);
441efcc2a30SJung-uk Kim 
442efcc2a30SJung-uk Kim 
443fba7fc7eSJung-uk Kim /*
444fba7fc7eSJung-uk Kim  * aslfold - constant folding
445fba7fc7eSJung-uk Kim  */
446fba7fc7eSJung-uk Kim ACPI_STATUS
447fba7fc7eSJung-uk Kim OpcAmlConstantWalk (
448fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
449fba7fc7eSJung-uk Kim     UINT32                  Level,
450fba7fc7eSJung-uk Kim     void                    *Context);
451fba7fc7eSJung-uk Kim 
452fba7fc7eSJung-uk Kim 
453fba7fc7eSJung-uk Kim /*
454313a0c13SJung-uk Kim  * aslmessages - exception strings
455313a0c13SJung-uk Kim  */
456313a0c13SJung-uk Kim const char *
457313a0c13SJung-uk Kim AeDecodeMessageId (
458313a0c13SJung-uk Kim     UINT16                  MessageId);
459313a0c13SJung-uk Kim 
460313a0c13SJung-uk Kim const char *
461313a0c13SJung-uk Kim AeDecodeExceptionLevel (
462313a0c13SJung-uk Kim     UINT8                   Level);
463313a0c13SJung-uk Kim 
464313a0c13SJung-uk Kim UINT16
465313a0c13SJung-uk Kim AeBuildFullExceptionCode (
466313a0c13SJung-uk Kim     UINT8                   Level,
467313a0c13SJung-uk Kim     UINT16                  MessageId);
468313a0c13SJung-uk Kim 
469313a0c13SJung-uk Kim /*
4709c7c683cSJung-uk Kim  * asloffset - generate C offset file for BIOS support
4719c7c683cSJung-uk Kim  */
4729c7c683cSJung-uk Kim ACPI_STATUS
4739c7c683cSJung-uk Kim LsAmlOffsetWalk (
4749c7c683cSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
4759c7c683cSJung-uk Kim     UINT32                  Level,
4769c7c683cSJung-uk Kim     void                    *Context);
4779c7c683cSJung-uk Kim 
4789c7c683cSJung-uk Kim void
4799c7c683cSJung-uk Kim LsDoOffsetTableHeader (
4809c7c683cSJung-uk Kim     UINT32                  FileId);
4819c7c683cSJung-uk Kim 
4829c7c683cSJung-uk Kim void
4839c7c683cSJung-uk Kim LsDoOffsetTableFooter (
4849c7c683cSJung-uk Kim     UINT32                  FileId);
4859c7c683cSJung-uk Kim 
4869c7c683cSJung-uk Kim 
4879c7c683cSJung-uk Kim /*
488fba7fc7eSJung-uk Kim  * aslopcodes - generate AML opcodes
489fba7fc7eSJung-uk Kim  */
490fba7fc7eSJung-uk Kim ACPI_STATUS
491fba7fc7eSJung-uk Kim OpcAmlOpcodeWalk (
492fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
493fba7fc7eSJung-uk Kim     UINT32                  Level,
494fba7fc7eSJung-uk Kim     void                    *Context);
495fba7fc7eSJung-uk Kim 
496fba7fc7eSJung-uk Kim ACPI_STATUS
497fba7fc7eSJung-uk Kim OpcAmlOpcodeUpdateWalk (
498fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
499fba7fc7eSJung-uk Kim     UINT32                  Level,
500fba7fc7eSJung-uk Kim     void                    *Context);
501fba7fc7eSJung-uk Kim 
502fba7fc7eSJung-uk Kim void
503fba7fc7eSJung-uk Kim OpcGenerateAmlOpcode (
504fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
505fba7fc7eSJung-uk Kim 
506fba7fc7eSJung-uk Kim UINT32
507fba7fc7eSJung-uk Kim OpcSetOptimalIntegerSize (
508fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
509fba7fc7eSJung-uk Kim 
510fba7fc7eSJung-uk Kim void
511fba7fc7eSJung-uk Kim OpcGetIntegerWidth (
512fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
513fba7fc7eSJung-uk Kim 
514fba7fc7eSJung-uk Kim 
515fba7fc7eSJung-uk Kim /*
516fba7fc7eSJung-uk Kim  * asloperands - generate AML operands for the AML opcodes
517fba7fc7eSJung-uk Kim  */
518fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT  *
519fba7fc7eSJung-uk Kim UtGetArg (
520fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
521fba7fc7eSJung-uk Kim     UINT32                  Argn);
522fba7fc7eSJung-uk Kim 
523fba7fc7eSJung-uk Kim void
524fba7fc7eSJung-uk Kim OpnGenerateAmlOperands (
525fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
526fba7fc7eSJung-uk Kim 
527fba7fc7eSJung-uk Kim void
528fba7fc7eSJung-uk Kim OpnDoPackage (
529fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
530fba7fc7eSJung-uk Kim 
531fba7fc7eSJung-uk Kim 
532fba7fc7eSJung-uk Kim /*
533fba7fc7eSJung-uk Kim  * aslopt - optmization
534fba7fc7eSJung-uk Kim  */
535fba7fc7eSJung-uk Kim void
536fba7fc7eSJung-uk Kim OptOptimizeNamePath (
537fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
538fba7fc7eSJung-uk Kim     UINT32                  Flags,
539fba7fc7eSJung-uk Kim     ACPI_WALK_STATE         *WalkState,
540fba7fc7eSJung-uk Kim     char                    *AmlNameString,
541fba7fc7eSJung-uk Kim     ACPI_NAMESPACE_NODE     *TargetNode);
542fba7fc7eSJung-uk Kim 
543fba7fc7eSJung-uk Kim 
544fba7fc7eSJung-uk Kim /*
545*f8146b88SJung-uk Kim  * aslpld - ToPLD macro support
546*f8146b88SJung-uk Kim  */
547*f8146b88SJung-uk Kim void
548*f8146b88SJung-uk Kim OpcDoPld (
549*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
550*f8146b88SJung-uk Kim 
551*f8146b88SJung-uk Kim 
552*f8146b88SJung-uk Kim /*
5531c0e1b6dSJung-uk Kim  * aslprintf - Printf/Fprintf macros
5541c0e1b6dSJung-uk Kim  */
5551c0e1b6dSJung-uk Kim void
5561c0e1b6dSJung-uk Kim OpcDoPrintf (
5571c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
5581c0e1b6dSJung-uk Kim 
5591c0e1b6dSJung-uk Kim void
5601c0e1b6dSJung-uk Kim OpcDoFprintf (
5611c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
5621c0e1b6dSJung-uk Kim 
5631c0e1b6dSJung-uk Kim 
5641c0e1b6dSJung-uk Kim /*
5651c0e1b6dSJung-uk Kim  * aslprune - parse tree pruner
5661c0e1b6dSJung-uk Kim  */
5671c0e1b6dSJung-uk Kim void
5681c0e1b6dSJung-uk Kim AslPruneParseTree (
5691c0e1b6dSJung-uk Kim     UINT32                  PruneDepth,
5701c0e1b6dSJung-uk Kim     UINT32                  Type);
5711c0e1b6dSJung-uk Kim 
5721c0e1b6dSJung-uk Kim 
5731c0e1b6dSJung-uk Kim /*
574fba7fc7eSJung-uk Kim  * aslcodegen - code generation
575fba7fc7eSJung-uk Kim  */
576fba7fc7eSJung-uk Kim void
577fba7fc7eSJung-uk Kim CgGenerateAmlOutput (
578fba7fc7eSJung-uk Kim     void);
579fba7fc7eSJung-uk Kim 
580fba7fc7eSJung-uk Kim 
581fba7fc7eSJung-uk Kim /*
582a88e22b7SJung-uk Kim  * aslfile
583a88e22b7SJung-uk Kim  */
584a88e22b7SJung-uk Kim void
585a88e22b7SJung-uk Kim FlOpenFile (
586a88e22b7SJung-uk Kim     UINT32                  FileId,
587a88e22b7SJung-uk Kim     char                    *Filename,
588a88e22b7SJung-uk Kim     char                    *Mode);
589a88e22b7SJung-uk Kim 
590a88e22b7SJung-uk Kim 
591a88e22b7SJung-uk Kim /*
592fba7fc7eSJung-uk Kim  * asllength - calculate/adjust AML package lengths
593fba7fc7eSJung-uk Kim  */
594fba7fc7eSJung-uk Kim ACPI_STATUS
595fba7fc7eSJung-uk Kim LnPackageLengthWalk (
596fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
597fba7fc7eSJung-uk Kim     UINT32                  Level,
598fba7fc7eSJung-uk Kim     void                    *Context);
599fba7fc7eSJung-uk Kim 
600fba7fc7eSJung-uk Kim ACPI_STATUS
601fba7fc7eSJung-uk Kim LnInitLengthsWalk (
602fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
603fba7fc7eSJung-uk Kim     UINT32                  Level,
604fba7fc7eSJung-uk Kim     void                    *Context);
605fba7fc7eSJung-uk Kim 
606fba7fc7eSJung-uk Kim void
607fba7fc7eSJung-uk Kim CgGenerateAmlLengths (
608fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
609fba7fc7eSJung-uk Kim 
610fba7fc7eSJung-uk Kim 
611fba7fc7eSJung-uk Kim /*
612fba7fc7eSJung-uk Kim  * aslmap - opcode mappings and reserved method names
613fba7fc7eSJung-uk Kim  */
614fba7fc7eSJung-uk Kim ACPI_OBJECT_TYPE
615fba7fc7eSJung-uk Kim AslMapNamedOpcodeToDataType (
616fba7fc7eSJung-uk Kim     UINT16                  Opcode);
617fba7fc7eSJung-uk Kim 
618ca3cf4faSJung-uk Kim 
619ca3cf4faSJung-uk Kim /*
620ca3cf4faSJung-uk Kim  * aslpredef - ACPI predefined names support
621ca3cf4faSJung-uk Kim  */
622d052a1ccSJung-uk Kim BOOLEAN
623ca3cf4faSJung-uk Kim ApCheckForPredefinedMethod (
624ca3cf4faSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
625ca3cf4faSJung-uk Kim     ASL_METHOD_INFO         *MethodInfo);
626ca3cf4faSJung-uk Kim 
6278c8be05fSJung-uk Kim void
6288c8be05fSJung-uk Kim ApCheckPredefinedReturnValue (
6298c8be05fSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
6308c8be05fSJung-uk Kim     ASL_METHOD_INFO         *MethodInfo);
6318c8be05fSJung-uk Kim 
632ca3cf4faSJung-uk Kim UINT32
633ca3cf4faSJung-uk Kim ApCheckForPredefinedName (
634ca3cf4faSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
635ca3cf4faSJung-uk Kim     char                    *Name);
636ca3cf4faSJung-uk Kim 
637ca3cf4faSJung-uk Kim void
638ca3cf4faSJung-uk Kim ApCheckForPredefinedObject (
639ca3cf4faSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
640ca3cf4faSJung-uk Kim     char                    *Name);
641ca3cf4faSJung-uk Kim 
6429c48c75eSJung-uk Kim ACPI_STATUS
6439c48c75eSJung-uk Kim ApCheckObjectType (
6449c48c75eSJung-uk Kim     const char              *PredefinedName,
6459c48c75eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
6469c48c75eSJung-uk Kim     UINT32                  ExpectedBtypes,
6479c48c75eSJung-uk Kim     UINT32                  PackageIndex);
6489c48c75eSJung-uk Kim 
649ca3cf4faSJung-uk Kim void
650ca3cf4faSJung-uk Kim ApDisplayReservedNames (
651fba7fc7eSJung-uk Kim     void);
652fba7fc7eSJung-uk Kim 
653fba7fc7eSJung-uk Kim 
654fba7fc7eSJung-uk Kim /*
6559c48c75eSJung-uk Kim  * aslprepkg - ACPI predefined names support for packages
6569c48c75eSJung-uk Kim  */
6579c48c75eSJung-uk Kim void
6589c48c75eSJung-uk Kim ApCheckPackage (
6599c48c75eSJung-uk Kim     ACPI_PARSE_OBJECT           *ParentOp,
6609c48c75eSJung-uk Kim     const ACPI_PREDEFINED_INFO  *Predefined);
6619c48c75eSJung-uk Kim 
6629c48c75eSJung-uk Kim 
6639c48c75eSJung-uk Kim /*
664fba7fc7eSJung-uk Kim  * asltransform - parse tree transformations
665fba7fc7eSJung-uk Kim  */
666fba7fc7eSJung-uk Kim ACPI_STATUS
667*f8146b88SJung-uk Kim TrAmlTransformWalkBegin (
668*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
669*f8146b88SJung-uk Kim     UINT32                  Level,
670*f8146b88SJung-uk Kim     void                    *Context);
671*f8146b88SJung-uk Kim 
672*f8146b88SJung-uk Kim ACPI_STATUS
673*f8146b88SJung-uk Kim TrAmlTransformWalkEnd (
674fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
675fba7fc7eSJung-uk Kim     UINT32                  Level,
676fba7fc7eSJung-uk Kim     void                    *Context);
677fba7fc7eSJung-uk Kim 
678fba7fc7eSJung-uk Kim 
679fba7fc7eSJung-uk Kim /*
680fba7fc7eSJung-uk Kim  * asltree - parse tree support
681fba7fc7eSJung-uk Kim  */
682fba7fc7eSJung-uk Kim ACPI_STATUS
683fba7fc7eSJung-uk Kim TrWalkParseTree (
684fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
685fba7fc7eSJung-uk Kim     UINT32                  Visitation,
686fba7fc7eSJung-uk Kim     ASL_WALK_CALLBACK       DescendingCallback,
687fba7fc7eSJung-uk Kim     ASL_WALK_CALLBACK       AscendingCallback,
688fba7fc7eSJung-uk Kim     void                    *Context);
689fba7fc7eSJung-uk Kim 
690*f8146b88SJung-uk Kim /*
691*f8146b88SJung-uk Kim  * aslexternal - External opcode support
692*f8146b88SJung-uk Kim  */
693*f8146b88SJung-uk Kim ACPI_STATUS
694*f8146b88SJung-uk Kim ExAmlExternalWalkBegin (
695*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
696*f8146b88SJung-uk Kim     UINT32                  Level,
697*f8146b88SJung-uk Kim     void                    *Context);
698*f8146b88SJung-uk Kim 
699*f8146b88SJung-uk Kim ACPI_STATUS
700*f8146b88SJung-uk Kim ExAmlExternalWalkEnd (
701*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
702*f8146b88SJung-uk Kim     UINT32                  Level,
703*f8146b88SJung-uk Kim     void                    *Context);
704*f8146b88SJung-uk Kim 
705*f8146b88SJung-uk Kim void
706*f8146b88SJung-uk Kim ExDoExternal (
707*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
708*f8146b88SJung-uk Kim 
709fba7fc7eSJung-uk Kim /* Values for "Visitation" parameter above */
710fba7fc7eSJung-uk Kim 
711fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_DOWNWARD     0x01
712fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_UPWARD       0x02
713fba7fc7eSJung-uk Kim #define ASL_WALK_VISIT_TWICE        (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
714fba7fc7eSJung-uk Kim 
715fba7fc7eSJung-uk Kim 
716*f8146b88SJung-uk Kim void
717*f8146b88SJung-uk Kim TrSetParent (
718*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
719*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *ParentOp);
720*f8146b88SJung-uk Kim 
721fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
722fba7fc7eSJung-uk Kim TrAllocateNode (
723fba7fc7eSJung-uk Kim     UINT32                  ParseOpcode);
724fba7fc7eSJung-uk Kim 
725fba7fc7eSJung-uk Kim void
7267cf3e94aSJung-uk Kim TrPrintNodeCompileFlags (
7277cf3e94aSJung-uk Kim     UINT32                  Flags);
7287cf3e94aSJung-uk Kim 
7297cf3e94aSJung-uk Kim void
730fba7fc7eSJung-uk Kim TrReleaseNode (
731fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
732fba7fc7eSJung-uk Kim 
733fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
734fba7fc7eSJung-uk Kim TrUpdateNode (
735fba7fc7eSJung-uk Kim     UINT32                  ParseOpcode,
736fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
737fba7fc7eSJung-uk Kim 
738fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
739fba7fc7eSJung-uk Kim TrCreateNode (
740fba7fc7eSJung-uk Kim     UINT32                  ParseOpcode,
741fba7fc7eSJung-uk Kim     UINT32                  NumChildren,
742fba7fc7eSJung-uk Kim     ...);
743fba7fc7eSJung-uk Kim 
744fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
745fba7fc7eSJung-uk Kim TrCreateLeafNode (
746fba7fc7eSJung-uk Kim     UINT32                  ParseOpcode);
747fba7fc7eSJung-uk Kim 
748fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
7497cf3e94aSJung-uk Kim TrCreateNullTarget (
7507cf3e94aSJung-uk Kim     void);
7517cf3e94aSJung-uk Kim 
7527cf3e94aSJung-uk Kim ACPI_PARSE_OBJECT *
7531c0e1b6dSJung-uk Kim TrCreateAssignmentNode (
7541c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *Target,
7551c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *Source);
7561c0e1b6dSJung-uk Kim 
7571c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *
7581c0e1b6dSJung-uk Kim TrCreateTargetOperand (
7591c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *OriginalOp,
7601c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *ParentOp);
7611c0e1b6dSJung-uk Kim 
7621c0e1b6dSJung-uk Kim ACPI_PARSE_OBJECT *
763fba7fc7eSJung-uk Kim TrCreateValuedLeafNode (
764fba7fc7eSJung-uk Kim     UINT32                  ParseOpcode,
7659a179dd8SJung-uk Kim     UINT64                  Value);
766fba7fc7eSJung-uk Kim 
767fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
7680b94ba42SJung-uk Kim TrCreateConstantLeafNode (
7690b94ba42SJung-uk Kim     UINT32                  ParseOpcode);
7700b94ba42SJung-uk Kim 
7710b94ba42SJung-uk Kim ACPI_PARSE_OBJECT *
772fba7fc7eSJung-uk Kim TrLinkChildren (
773fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
774fba7fc7eSJung-uk Kim     UINT32                  NumChildren,
775fba7fc7eSJung-uk Kim     ...);
776fba7fc7eSJung-uk Kim 
777fba7fc7eSJung-uk Kim void
778fba7fc7eSJung-uk Kim TrSetEndLineNumber (
779fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
780fba7fc7eSJung-uk Kim 
781fba7fc7eSJung-uk Kim void
782*f8146b88SJung-uk Kim TrSetCurrentFilename (
783*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
784*f8146b88SJung-uk Kim 
785*f8146b88SJung-uk Kim void
786fba7fc7eSJung-uk Kim TrWalkTree (
787fba7fc7eSJung-uk Kim     void);
788fba7fc7eSJung-uk Kim 
789fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
790fba7fc7eSJung-uk Kim TrLinkPeerNode (
791fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op1,
792fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op2);
793fba7fc7eSJung-uk Kim 
794fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
795fba7fc7eSJung-uk Kim TrLinkChildNode (
796fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op1,
797fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op2);
798fba7fc7eSJung-uk Kim 
799fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
800fba7fc7eSJung-uk Kim TrSetNodeFlags (
801fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
802fba7fc7eSJung-uk Kim     UINT32                  Flags);
803fba7fc7eSJung-uk Kim 
804fba7fc7eSJung-uk Kim ACPI_PARSE_OBJECT *
8051df130f1SJung-uk Kim TrSetNodeAmlLength (
8061df130f1SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
8071df130f1SJung-uk Kim     UINT32                  Length);
8081df130f1SJung-uk Kim 
8091df130f1SJung-uk Kim ACPI_PARSE_OBJECT *
810fba7fc7eSJung-uk Kim TrLinkPeerNodes (
811fba7fc7eSJung-uk Kim     UINT32                  NumPeers,
812fba7fc7eSJung-uk Kim     ...);
813fba7fc7eSJung-uk Kim 
814fba7fc7eSJung-uk Kim 
815fba7fc7eSJung-uk Kim /*
816fba7fc7eSJung-uk Kim  * aslfiles - File I/O support
817fba7fc7eSJung-uk Kim  */
818fba7fc7eSJung-uk Kim void
819d6dd1baeSJung-uk Kim FlAddIncludeDirectory (
820d6dd1baeSJung-uk Kim     char                    *Dir);
821d6dd1baeSJung-uk Kim 
822a7a3b383SJung-uk Kim char *
823a7a3b383SJung-uk Kim FlMergePathnames (
824a7a3b383SJung-uk Kim     char                    *PrefixDir,
825a7a3b383SJung-uk Kim     char                    *FilePathname);
826a7a3b383SJung-uk Kim 
827d6dd1baeSJung-uk Kim void
82853289f6aSNate Lawson FlOpenIncludeFile (
82953289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op);
83053289f6aSNate Lawson 
83153289f6aSNate Lawson void
83253289f6aSNate Lawson FlFileError (
83353289f6aSNate Lawson     UINT32                  FileId,
83453289f6aSNate Lawson     UINT8                   ErrorId);
83553289f6aSNate Lawson 
8363f5e024cSJung-uk Kim UINT32
8373f5e024cSJung-uk Kim FlGetFileSize (
8383f5e024cSJung-uk Kim     UINT32                  FileId);
8393f5e024cSJung-uk Kim 
84053289f6aSNate Lawson ACPI_STATUS
84153289f6aSNate Lawson FlReadFile (
84253289f6aSNate Lawson     UINT32                  FileId,
84353289f6aSNate Lawson     void                    *Buffer,
84453289f6aSNate Lawson     UINT32                  Length);
84553289f6aSNate Lawson 
84653289f6aSNate Lawson void
84753289f6aSNate Lawson FlWriteFile (
84853289f6aSNate Lawson     UINT32                  FileId,
84953289f6aSNate Lawson     void                    *Buffer,
85053289f6aSNate Lawson     UINT32                  Length);
85153289f6aSNate Lawson 
85253289f6aSNate Lawson void
85353289f6aSNate Lawson FlSeekFile (
85453289f6aSNate Lawson     UINT32                  FileId,
85553289f6aSNate Lawson     long                    Offset);
85653289f6aSNate Lawson 
85753289f6aSNate Lawson void
85853289f6aSNate Lawson FlCloseFile (
85953289f6aSNate Lawson     UINT32                  FileId);
86053289f6aSNate Lawson 
86153289f6aSNate Lawson void
86253289f6aSNate Lawson FlPrintFile (
86353289f6aSNate Lawson     UINT32                  FileId,
86453289f6aSNate Lawson     char                    *Format,
86553289f6aSNate Lawson     ...);
86653289f6aSNate Lawson 
86753289f6aSNate Lawson void
868042ff955SJung-uk Kim FlDeleteFile (
869042ff955SJung-uk Kim     UINT32                  FileId);
870042ff955SJung-uk Kim 
871042ff955SJung-uk Kim void
87253289f6aSNate Lawson FlSetLineNumber (
873eef1b955SJung-uk Kim     UINT32                  LineNumber);
874eef1b955SJung-uk Kim 
875eef1b955SJung-uk Kim void
876eef1b955SJung-uk Kim FlSetFilename (
877eef1b955SJung-uk Kim     char                    *Filename);
87853289f6aSNate Lawson 
87953289f6aSNate Lawson ACPI_STATUS
88053289f6aSNate Lawson FlOpenInputFile (
88153289f6aSNate Lawson     char                    *InputFilename);
88253289f6aSNate Lawson 
88353289f6aSNate Lawson ACPI_STATUS
88453289f6aSNate Lawson FlOpenAmlOutputFile (
88553289f6aSNate Lawson     char                    *InputFilename);
88653289f6aSNate Lawson 
88753289f6aSNate Lawson ACPI_STATUS
88853289f6aSNate Lawson FlOpenMiscOutputFiles (
88953289f6aSNate Lawson     char                    *InputFilename);
89053289f6aSNate Lawson 
891313a0c13SJung-uk Kim /*
892313a0c13SJung-uk Kim  * aslhwmap - hardware map summary
893313a0c13SJung-uk Kim  */
894313a0c13SJung-uk Kim void
895313a0c13SJung-uk Kim MpEmitMappingInfo (
896313a0c13SJung-uk Kim     void);
897313a0c13SJung-uk Kim 
89853289f6aSNate Lawson 
899fba7fc7eSJung-uk Kim /*
900fba7fc7eSJung-uk Kim  * asload - load namespace in prep for cross reference
901fba7fc7eSJung-uk Kim  */
90253289f6aSNate Lawson ACPI_STATUS
90353289f6aSNate Lawson LdLoadNamespace (
90453289f6aSNate Lawson     ACPI_PARSE_OBJECT       *RootOp);
90553289f6aSNate Lawson 
90653289f6aSNate Lawson 
907fba7fc7eSJung-uk Kim /*
908efcc2a30SJung-uk Kim  * asllookup - namespace lookup functions
909fba7fc7eSJung-uk Kim  */
9101a39cfb0SJung-uk Kim void
9111a39cfb0SJung-uk Kim LkFindUnreferencedObjects (
9121a39cfb0SJung-uk Kim     void);
9131a39cfb0SJung-uk Kim 
914a9d8d09cSJung-uk Kim /*
915a9d8d09cSJung-uk Kim  * aslmain - startup
916a9d8d09cSJung-uk Kim  */
917a9d8d09cSJung-uk Kim void
918a9d8d09cSJung-uk Kim Usage (
919a9d8d09cSJung-uk Kim     void);
920a9d8d09cSJung-uk Kim 
921a9d8d09cSJung-uk Kim void
922a9d8d09cSJung-uk Kim AslFilenameHelp (
923a9d8d09cSJung-uk Kim     void);
924a9d8d09cSJung-uk Kim 
925efcc2a30SJung-uk Kim 
926efcc2a30SJung-uk Kim /*
927efcc2a30SJung-uk Kim  * aslnamesp - namespace output file generation
928efcc2a30SJung-uk Kim  */
92953289f6aSNate Lawson ACPI_STATUS
930efcc2a30SJung-uk Kim NsDisplayNamespace (
93153289f6aSNate Lawson     void);
93253289f6aSNate Lawson 
93342fecd12SJung-uk Kim void
934efcc2a30SJung-uk Kim NsSetupNamespaceListing (
93542fecd12SJung-uk Kim     void                    *Handle);
93642fecd12SJung-uk Kim 
937a9d8d09cSJung-uk Kim /*
938a9d8d09cSJung-uk Kim  * asloptions - command line processing
939a9d8d09cSJung-uk Kim  */
940a9d8d09cSJung-uk Kim int
941a9d8d09cSJung-uk Kim AslCommandLine (
942a9d8d09cSJung-uk Kim     int                     argc,
943a9d8d09cSJung-uk Kim     char                    **argv);
94453289f6aSNate Lawson 
945fba7fc7eSJung-uk Kim /*
946efcc2a30SJung-uk Kim  * aslxref - namespace cross reference
947efcc2a30SJung-uk Kim  */
948efcc2a30SJung-uk Kim ACPI_STATUS
949efcc2a30SJung-uk Kim XfCrossReferenceNamespace (
950efcc2a30SJung-uk Kim     void);
951efcc2a30SJung-uk Kim 
952efcc2a30SJung-uk Kim 
953efcc2a30SJung-uk Kim /*
954*f8146b88SJung-uk Kim  * aslxrefout
955*f8146b88SJung-uk Kim  */
956*f8146b88SJung-uk Kim void
957*f8146b88SJung-uk Kim OtPrintHeaders (
958*f8146b88SJung-uk Kim     char                    *Message);
959*f8146b88SJung-uk Kim 
960*f8146b88SJung-uk Kim void
961*f8146b88SJung-uk Kim OtCreateXrefFile (
962*f8146b88SJung-uk Kim     void);
963*f8146b88SJung-uk Kim 
964*f8146b88SJung-uk Kim void
965*f8146b88SJung-uk Kim OtXrefWalkPart1 (
966*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
967*f8146b88SJung-uk Kim     UINT32                  Level,
968*f8146b88SJung-uk Kim     ASL_METHOD_INFO         *MethodInfo);
969*f8146b88SJung-uk Kim 
970*f8146b88SJung-uk Kim 
971*f8146b88SJung-uk Kim /*
972fba7fc7eSJung-uk Kim  * aslutils - common compiler utilites
973fba7fc7eSJung-uk Kim  */
974fba7fc7eSJung-uk Kim void
975fba7fc7eSJung-uk Kim DbgPrint (
976fba7fc7eSJung-uk Kim     UINT32                  Type,
977fba7fc7eSJung-uk Kim     char                    *Format,
978fba7fc7eSJung-uk Kim     ...);
97953289f6aSNate Lawson 
980fba7fc7eSJung-uk Kim /* Type values for above */
981fba7fc7eSJung-uk Kim 
982fba7fc7eSJung-uk Kim #define ASL_DEBUG_OUTPUT    0
983fba7fc7eSJung-uk Kim #define ASL_PARSE_OUTPUT    1
984fba7fc7eSJung-uk Kim #define ASL_TREE_OUTPUT     2
98553289f6aSNate Lawson 
986*f8146b88SJung-uk Kim UINT8
987*f8146b88SJung-uk Kim UtIsBigEndianMachine (
988*f8146b88SJung-uk Kim     void);
989*f8146b88SJung-uk Kim 
990*f8146b88SJung-uk Kim BOOLEAN
991*f8146b88SJung-uk Kim UtQueryForOverwrite (
992*f8146b88SJung-uk Kim     char                    *Pathname);
993*f8146b88SJung-uk Kim 
994*f8146b88SJung-uk Kim void
995*f8146b88SJung-uk Kim UtDumpStringOp (
996*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
997*f8146b88SJung-uk Kim     UINT32                  Level);
998*f8146b88SJung-uk Kim 
999*f8146b88SJung-uk Kim void
1000*f8146b88SJung-uk Kim UtDumpIntegerOp (
1001*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
1002*f8146b88SJung-uk Kim     UINT32                  Level,
1003*f8146b88SJung-uk Kim     UINT32                  IntegerLength);
1004*f8146b88SJung-uk Kim 
1005*f8146b88SJung-uk Kim void
1006*f8146b88SJung-uk Kim UtDumpBasicOp (
1007*f8146b88SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
1008*f8146b88SJung-uk Kim     UINT32                  Level);
1009*f8146b88SJung-uk Kim 
101053289f6aSNate Lawson void
1011a88e22b7SJung-uk Kim UtDisplaySupportedTables (
1012a88e22b7SJung-uk Kim     void);
1013a88e22b7SJung-uk Kim 
1014a88e22b7SJung-uk Kim void
101553289f6aSNate Lawson UtDisplayConstantOpcodes (
101653289f6aSNate Lawson     void);
101753289f6aSNate Lawson 
1018fba7fc7eSJung-uk Kim UINT8
101953289f6aSNate Lawson UtBeginEvent (
102053289f6aSNate Lawson     char                    *Name);
102153289f6aSNate Lawson 
102253289f6aSNate Lawson void
102353289f6aSNate Lawson UtEndEvent (
1024fba7fc7eSJung-uk Kim     UINT8                   Event);
102553289f6aSNate Lawson 
102653289f6aSNate Lawson void *
102753289f6aSNate Lawson UtLocalCalloc (
102853289f6aSNate Lawson     UINT32                  Size);
102953289f6aSNate Lawson 
103053289f6aSNate Lawson void
103153289f6aSNate Lawson UtDisplaySummary (
103253289f6aSNate Lawson     UINT32                  FileId);
103353289f6aSNate Lawson 
103453289f6aSNate Lawson void
103553289f6aSNate Lawson UtConvertByteToHex (
103653289f6aSNate Lawson     UINT8                   RawByte,
103753289f6aSNate Lawson     UINT8                   *Buffer);
103853289f6aSNate Lawson 
103953289f6aSNate Lawson void
104053289f6aSNate Lawson UtConvertByteToAsmHex (
104153289f6aSNate Lawson     UINT8                   RawByte,
104253289f6aSNate Lawson     UINT8                   *Buffer);
104353289f6aSNate Lawson 
104453289f6aSNate Lawson char *
104553289f6aSNate Lawson UtGetOpName (
104653289f6aSNate Lawson     UINT32                  ParseOpcode);
104753289f6aSNate Lawson 
104853289f6aSNate Lawson void
104953289f6aSNate Lawson UtSetParseOpName (
105053289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op);
105153289f6aSNate Lawson 
105253289f6aSNate Lawson char *
1053313a0c13SJung-uk Kim UtStringCacheCalloc (
105453289f6aSNate Lawson     UINT32                  Length);
105553289f6aSNate Lawson 
1056042ff955SJung-uk Kim void
1057042ff955SJung-uk Kim UtExpandLineBuffers (
1058042ff955SJung-uk Kim     void);
1059042ff955SJung-uk Kim 
1060313a0c13SJung-uk Kim void
1061313a0c13SJung-uk Kim UtFreeLineBuffers (
1062313a0c13SJung-uk Kim     void);
1063313a0c13SJung-uk Kim 
106453289f6aSNate Lawson ACPI_STATUS
106553289f6aSNate Lawson UtInternalizeName (
106653289f6aSNate Lawson     char                    *ExternalName,
106753289f6aSNate Lawson     char                    **ConvertedName);
106853289f6aSNate Lawson 
106953289f6aSNate Lawson void
107053289f6aSNate Lawson UtAttachNamepathToOwner (
107153289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
107253289f6aSNate Lawson     ACPI_PARSE_OBJECT       *NameNode);
107353289f6aSNate Lawson 
107453289f6aSNate Lawson ACPI_PARSE_OBJECT *
107553289f6aSNate Lawson UtCheckIntegerRange (
107653289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
107753289f6aSNate Lawson     UINT32                  LowValue,
107853289f6aSNate Lawson     UINT32                  HighValue);
107953289f6aSNate Lawson 
10809a179dd8SJung-uk Kim UINT64
108153289f6aSNate Lawson UtDoConstant (
108253289f6aSNate Lawson     char                    *String);
108353289f6aSNate Lawson 
1084d052a1ccSJung-uk Kim 
1085d244b227SJung-uk Kim /*
1086d244b227SJung-uk Kim  * asluuid - UUID support
1087d244b227SJung-uk Kim  */
1088d244b227SJung-uk Kim ACPI_STATUS
1089d244b227SJung-uk Kim AuValidateUuid (
1090d244b227SJung-uk Kim     char                    *InString);
1091d244b227SJung-uk Kim 
1092d244b227SJung-uk Kim ACPI_STATUS
1093d244b227SJung-uk Kim AuConvertUuidToString (
1094d244b227SJung-uk Kim     char                    *UuIdBuffer,
1095d244b227SJung-uk Kim     char                    *OutString);
109653289f6aSNate Lawson 
109753289f6aSNate Lawson /*
1098fba7fc7eSJung-uk Kim  * aslresource - Resource template generation utilities
109953289f6aSNate Lawson  */
11003f5e024cSJung-uk Kim void
11013f5e024cSJung-uk Kim RsSmallAddressCheck (
11023f5e024cSJung-uk Kim     UINT8                   Type,
11033f5e024cSJung-uk Kim     UINT32                  Minimum,
11043f5e024cSJung-uk Kim     UINT32                  Maximum,
11053f5e024cSJung-uk Kim     UINT32                  Length,
11063f5e024cSJung-uk Kim     UINT32                  Alignment,
11073f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *MinOp,
11083f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *MaxOp,
11093f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *LengthOp,
11103c1812acSJung-uk Kim     ACPI_PARSE_OBJECT       *AlignOp,
11113c1812acSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
11123f5e024cSJung-uk Kim 
11133f5e024cSJung-uk Kim void
11143f5e024cSJung-uk Kim RsLargeAddressCheck (
11153f5e024cSJung-uk Kim     UINT64                  Minimum,
11163f5e024cSJung-uk Kim     UINT64                  Maximum,
11173f5e024cSJung-uk Kim     UINT64                  Length,
11183f5e024cSJung-uk Kim     UINT64                  Granularity,
11193f5e024cSJung-uk Kim     UINT8                   Flags,
11203f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *MinOp,
11213f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *MaxOp,
11223f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *LengthOp,
11233c1812acSJung-uk Kim     ACPI_PARSE_OBJECT       *GranOp,
11243c1812acSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
11253f5e024cSJung-uk Kim 
11263f5e024cSJung-uk Kim UINT16
11273f5e024cSJung-uk Kim RsGetStringDataLength (
11283f5e024cSJung-uk Kim     ACPI_PARSE_OBJECT       *InitializerOp);
11293f5e024cSJung-uk Kim 
113053289f6aSNate Lawson ASL_RESOURCE_NODE *
113153289f6aSNate Lawson RsAllocateResourceNode (
113253289f6aSNate Lawson     UINT32                  Size);
113353289f6aSNate Lawson 
113453289f6aSNate Lawson void
11353f0275a0SJung-uk Kim RsCreateResourceField (
113653289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
113753289f6aSNate Lawson     char                    *Name,
113853289f6aSNate Lawson     UINT32                  ByteOffset,
11393f0275a0SJung-uk Kim     UINT32                  BitOffset,
11403f0275a0SJung-uk Kim     UINT32                  BitLength);
114153289f6aSNate Lawson 
114253289f6aSNate Lawson void
114353289f6aSNate Lawson RsSetFlagBits (
114453289f6aSNate Lawson     UINT8                   *Flags,
114553289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op,
114653289f6aSNate Lawson     UINT8                   Position,
114753289f6aSNate Lawson     UINT8                   DefaultBit);
114853289f6aSNate Lawson 
11493f0275a0SJung-uk Kim void
11503f0275a0SJung-uk Kim RsSetFlagBits16 (
11513f0275a0SJung-uk Kim     UINT16                  *Flags,
11523f0275a0SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
11533f0275a0SJung-uk Kim     UINT8                   Position,
11543f0275a0SJung-uk Kim     UINT8                   DefaultBit);
11553f0275a0SJung-uk Kim 
115653289f6aSNate Lawson ACPI_PARSE_OBJECT *
115753289f6aSNate Lawson RsCompleteNodeAndGetNext (
115853289f6aSNate Lawson     ACPI_PARSE_OBJECT       *Op);
115953289f6aSNate Lawson 
1160fba7fc7eSJung-uk Kim void
1161fba7fc7eSJung-uk Kim RsCheckListForDuplicates (
1162fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
1163fba7fc7eSJung-uk Kim 
116453289f6aSNate Lawson ASL_RESOURCE_NODE *
116553289f6aSNate Lawson RsDoOneResourceDescriptor (
1166313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info,
116753289f6aSNate Lawson     UINT8                   *State);
116853289f6aSNate Lawson 
1169fba7fc7eSJung-uk Kim /* Values for State above */
1170fba7fc7eSJung-uk Kim 
117153289f6aSNate Lawson #define ACPI_RSTATE_NORMAL              0
117253289f6aSNate Lawson #define ACPI_RSTATE_START_DEPENDENT     1
117353289f6aSNate Lawson #define ACPI_RSTATE_DEPENDENT_LIST      2
117453289f6aSNate Lawson 
117553289f6aSNate Lawson UINT32
117653289f6aSNate Lawson RsLinkDescriptorChain (
117753289f6aSNate Lawson     ASL_RESOURCE_NODE       **PreviousRnode,
117853289f6aSNate Lawson     ASL_RESOURCE_NODE       *Rnode);
117953289f6aSNate Lawson 
1180fba7fc7eSJung-uk Kim void
1181fba7fc7eSJung-uk Kim RsDoResourceTemplate (
1182fba7fc7eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
1183fba7fc7eSJung-uk Kim 
118453289f6aSNate Lawson 
118553289f6aSNate Lawson /*
11863f5e024cSJung-uk Kim  * aslrestype1 - Miscellaneous Small descriptors
118753289f6aSNate Lawson  */
118853289f6aSNate Lawson ASL_RESOURCE_NODE *
11891a39cfb0SJung-uk Kim RsDoEndTagDescriptor (
1190313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
11911a39cfb0SJung-uk Kim 
11921a39cfb0SJung-uk Kim ASL_RESOURCE_NODE *
119353289f6aSNate Lawson RsDoEndDependentDescriptor (
1194313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
119553289f6aSNate Lawson 
119653289f6aSNate Lawson ASL_RESOURCE_NODE *
119753289f6aSNate Lawson RsDoMemory24Descriptor (
1198313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
119953289f6aSNate Lawson 
120053289f6aSNate Lawson ASL_RESOURCE_NODE *
120153289f6aSNate Lawson RsDoMemory32Descriptor (
1202313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
120353289f6aSNate Lawson 
120453289f6aSNate Lawson ASL_RESOURCE_NODE *
120553289f6aSNate Lawson RsDoMemory32FixedDescriptor (
1206313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
120753289f6aSNate Lawson 
120853289f6aSNate Lawson ASL_RESOURCE_NODE *
120953289f6aSNate Lawson RsDoStartDependentDescriptor (
1210313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
121153289f6aSNate Lawson 
121253289f6aSNate Lawson ASL_RESOURCE_NODE *
121353289f6aSNate Lawson RsDoStartDependentNoPriDescriptor (
1214313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
121553289f6aSNate Lawson 
121653289f6aSNate Lawson ASL_RESOURCE_NODE *
121753289f6aSNate Lawson RsDoVendorSmallDescriptor (
1218313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
121953289f6aSNate Lawson 
122053289f6aSNate Lawson 
122153289f6aSNate Lawson /*
12223f5e024cSJung-uk Kim  * aslrestype1i - I/O-related Small descriptors
12233f5e024cSJung-uk Kim  */
12243f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
12253f5e024cSJung-uk Kim RsDoDmaDescriptor (
1226313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12273f5e024cSJung-uk Kim 
12283f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
12293f0275a0SJung-uk Kim RsDoFixedDmaDescriptor (
1230313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12313f0275a0SJung-uk Kim 
12323f0275a0SJung-uk Kim ASL_RESOURCE_NODE *
12333f5e024cSJung-uk Kim RsDoFixedIoDescriptor (
1234313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12353f5e024cSJung-uk Kim 
12363f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
12373f5e024cSJung-uk Kim RsDoIoDescriptor (
1238313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12393f5e024cSJung-uk Kim 
12403f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
12413f5e024cSJung-uk Kim RsDoIrqDescriptor (
1242313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12433f5e024cSJung-uk Kim 
12443f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
12453f5e024cSJung-uk Kim RsDoIrqNoFlagsDescriptor (
1246313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12473f5e024cSJung-uk Kim 
12483f5e024cSJung-uk Kim 
12493f5e024cSJung-uk Kim /*
12503f5e024cSJung-uk Kim  * aslrestype2 - Large resource descriptors
125153289f6aSNate Lawson  */
1252fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
1253fba7fc7eSJung-uk Kim RsDoInterruptDescriptor (
1254313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
125553289f6aSNate Lawson 
125653289f6aSNate Lawson ASL_RESOURCE_NODE *
12573f5e024cSJung-uk Kim RsDoVendorLargeDescriptor (
1258313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12593f5e024cSJung-uk Kim 
12603f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
12613f5e024cSJung-uk Kim RsDoGeneralRegisterDescriptor (
1262313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12633f5e024cSJung-uk Kim 
12643f0275a0SJung-uk Kim ASL_RESOURCE_NODE *
12653f0275a0SJung-uk Kim RsDoGpioIntDescriptor (
1266313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12673f0275a0SJung-uk Kim 
12683f0275a0SJung-uk Kim ASL_RESOURCE_NODE *
12693f0275a0SJung-uk Kim RsDoGpioIoDescriptor (
1270313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12713f0275a0SJung-uk Kim 
12723f0275a0SJung-uk Kim ASL_RESOURCE_NODE *
12733f0275a0SJung-uk Kim RsDoI2cSerialBusDescriptor (
1274313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12753f0275a0SJung-uk Kim 
12763f0275a0SJung-uk Kim ASL_RESOURCE_NODE *
12773f0275a0SJung-uk Kim RsDoSpiSerialBusDescriptor (
1278313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12793f0275a0SJung-uk Kim 
12803f0275a0SJung-uk Kim ASL_RESOURCE_NODE *
12813f0275a0SJung-uk Kim RsDoUartSerialBusDescriptor (
1282313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
12833f5e024cSJung-uk Kim 
12843f5e024cSJung-uk Kim /*
12853f5e024cSJung-uk Kim  * aslrestype2d - DWord address descriptors
12863f5e024cSJung-uk Kim  */
12873f5e024cSJung-uk Kim ASL_RESOURCE_NODE *
128853289f6aSNate Lawson RsDoDwordIoDescriptor (
1289313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
129053289f6aSNate Lawson 
129153289f6aSNate Lawson ASL_RESOURCE_NODE *
129253289f6aSNate Lawson RsDoDwordMemoryDescriptor (
1293313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
129453289f6aSNate Lawson 
129553289f6aSNate Lawson ASL_RESOURCE_NODE *
1296fba7fc7eSJung-uk Kim RsDoDwordSpaceDescriptor (
1297313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1298fba7fc7eSJung-uk Kim 
12993f5e024cSJung-uk Kim 
13003f5e024cSJung-uk Kim /*
13013f5e024cSJung-uk Kim  * aslrestype2e - Extended address descriptors
13023f5e024cSJung-uk Kim  */
1303fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
1304fba7fc7eSJung-uk Kim RsDoExtendedIoDescriptor (
1305313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1306fba7fc7eSJung-uk Kim 
1307fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
1308fba7fc7eSJung-uk Kim RsDoExtendedMemoryDescriptor (
1309313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1310fba7fc7eSJung-uk Kim 
1311fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
1312fba7fc7eSJung-uk Kim RsDoExtendedSpaceDescriptor (
1313313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1314fba7fc7eSJung-uk Kim 
13153f5e024cSJung-uk Kim 
13163f5e024cSJung-uk Kim /*
13173f5e024cSJung-uk Kim  * aslrestype2q - QWord address descriptors
13183f5e024cSJung-uk Kim  */
1319fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
132053289f6aSNate Lawson RsDoQwordIoDescriptor (
1321313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
132253289f6aSNate Lawson 
132353289f6aSNate Lawson ASL_RESOURCE_NODE *
132453289f6aSNate Lawson RsDoQwordMemoryDescriptor (
1325313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
132653289f6aSNate Lawson 
132753289f6aSNate Lawson ASL_RESOURCE_NODE *
1328fba7fc7eSJung-uk Kim RsDoQwordSpaceDescriptor (
1329313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1330fba7fc7eSJung-uk Kim 
13313f5e024cSJung-uk Kim 
13323f5e024cSJung-uk Kim /*
13333f5e024cSJung-uk Kim  * aslrestype2w - Word address descriptors
13343f5e024cSJung-uk Kim  */
1335fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
133653289f6aSNate Lawson RsDoWordIoDescriptor (
1337313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
133853289f6aSNate Lawson 
133953289f6aSNate Lawson ASL_RESOURCE_NODE *
1340fba7fc7eSJung-uk Kim RsDoWordSpaceDescriptor (
1341313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1342fba7fc7eSJung-uk Kim 
1343fba7fc7eSJung-uk Kim ASL_RESOURCE_NODE *
134453289f6aSNate Lawson RsDoWordBusNumberDescriptor (
1345313a0c13SJung-uk Kim     ASL_RESOURCE_INFO       *Info);
1346313a0c13SJung-uk Kim 
134753289f6aSNate Lawson 
1348a88e22b7SJung-uk Kim /*
1349a88e22b7SJung-uk Kim  * Entry to data table compiler subsystem
1350a88e22b7SJung-uk Kim  */
1351a88e22b7SJung-uk Kim ACPI_STATUS
1352a88e22b7SJung-uk Kim DtDoCompile(
1353a88e22b7SJung-uk Kim     void);
1354a88e22b7SJung-uk Kim 
1355a88e22b7SJung-uk Kim ACPI_STATUS
1356a88e22b7SJung-uk Kim DtCreateTemplates (
1357*f8146b88SJung-uk Kim     char                    **argv);
1358a88e22b7SJung-uk Kim 
135953289f6aSNate Lawson #endif /*  __ASLCOMPILER_H */
1360