aslcompiler.h revision 1.1.1.5.2.7 1 1.1 jruoho /******************************************************************************
2 1.1 jruoho *
3 1.1 jruoho * Module Name: aslcompiler.h - common include file for iASL
4 1.1 jruoho *
5 1.1 jruoho *****************************************************************************/
6 1.1 jruoho
7 1.1.1.2 jruoho /*
8 1.1.1.5.2.6 skrll * Copyright (C) 2000 - 2017, Intel Corp.
9 1.1 jruoho * All rights reserved.
10 1.1 jruoho *
11 1.1.1.2 jruoho * Redistribution and use in source and binary forms, with or without
12 1.1.1.2 jruoho * modification, are permitted provided that the following conditions
13 1.1.1.2 jruoho * are met:
14 1.1.1.2 jruoho * 1. Redistributions of source code must retain the above copyright
15 1.1.1.2 jruoho * notice, this list of conditions, and the following disclaimer,
16 1.1.1.2 jruoho * without modification.
17 1.1.1.2 jruoho * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 1.1.1.2 jruoho * substantially similar to the "NO WARRANTY" disclaimer below
19 1.1.1.2 jruoho * ("Disclaimer") and any redistribution must be conditioned upon
20 1.1.1.2 jruoho * including a substantially similar Disclaimer requirement for further
21 1.1.1.2 jruoho * binary redistribution.
22 1.1.1.2 jruoho * 3. Neither the names of the above-listed copyright holders nor the names
23 1.1.1.2 jruoho * of any contributors may be used to endorse or promote products derived
24 1.1.1.2 jruoho * from this software without specific prior written permission.
25 1.1 jruoho *
26 1.1.1.2 jruoho * Alternatively, this software may be distributed under the terms of the
27 1.1.1.2 jruoho * GNU General Public License ("GPL") version 2 as published by the Free
28 1.1.1.2 jruoho * Software Foundation.
29 1.1 jruoho *
30 1.1.1.2 jruoho * NO WARRANTY
31 1.1.1.2 jruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 1.1.1.2 jruoho * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 1.1.1.2 jruoho * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 1.1.1.2 jruoho * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 1.1.1.2 jruoho * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 1.1.1.2 jruoho * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 1.1.1.2 jruoho * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 1.1.1.2 jruoho * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 1.1.1.2 jruoho * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 1.1.1.2 jruoho * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 1.1.1.2 jruoho * POSSIBILITY OF SUCH DAMAGES.
42 1.1.1.2 jruoho */
43 1.1 jruoho
44 1.1 jruoho #ifndef __ASLCOMPILER_H
45 1.1 jruoho #define __ASLCOMPILER_H
46 1.1 jruoho
47 1.1.1.2 jruoho #include "acpi.h"
48 1.1.1.2 jruoho #include "accommon.h"
49 1.1.1.2 jruoho #include "amlresrc.h"
50 1.1.1.2 jruoho #include "acdebug.h"
51 1.1 jruoho
52 1.1 jruoho /* Microsoft-specific */
53 1.1 jruoho
54 1.1 jruoho #if (defined WIN32 || defined WIN64)
55 1.1 jruoho
56 1.1 jruoho /* warn : used #pragma pack */
57 1.1 jruoho #pragma warning(disable:4103)
58 1.1 jruoho
59 1.1 jruoho /* warn : named type definition in parentheses */
60 1.1 jruoho #pragma warning(disable:4115)
61 1.1 jruoho #endif
62 1.1 jruoho
63 1.1 jruoho #include <stdio.h>
64 1.1 jruoho #include <stdlib.h>
65 1.1 jruoho #include <string.h>
66 1.1 jruoho #include <errno.h>
67 1.1 jruoho #include <ctype.h>
68 1.1 jruoho
69 1.1 jruoho /* Compiler headers */
70 1.1 jruoho
71 1.1 jruoho #include "asldefine.h"
72 1.1 jruoho #include "asltypes.h"
73 1.1.1.2 jruoho #include "aslmessages.h"
74 1.1 jruoho #include "aslglobal.h"
75 1.1.1.4 christos #include "preprocess.h"
76 1.1 jruoho
77 1.1 jruoho
78 1.1 jruoho /*******************************************************************************
79 1.1 jruoho *
80 1.1 jruoho * Compiler prototypes
81 1.1 jruoho *
82 1.1 jruoho ******************************************************************************/
83 1.1 jruoho
84 1.1 jruoho /*
85 1.1.1.4 christos * Main ASL parser - generated from flex/bison, lex/yacc, etc.
86 1.1 jruoho */
87 1.1 jruoho ACPI_PARSE_OBJECT *
88 1.1 jruoho AslDoError (
89 1.1 jruoho void);
90 1.1 jruoho
91 1.1 jruoho int
92 1.1 jruoho AslCompilerlex(
93 1.1 jruoho void);
94 1.1 jruoho
95 1.1 jruoho void
96 1.1.1.4 christos AslResetCurrentLineBuffer (
97 1.1 jruoho void);
98 1.1 jruoho
99 1.1 jruoho void
100 1.1.1.4 christos AslInsertLineBuffer (
101 1.1 jruoho int SourceChar);
102 1.1 jruoho
103 1.1 jruoho int
104 1.1 jruoho AslPopInputFileStack (
105 1.1 jruoho void);
106 1.1 jruoho
107 1.1 jruoho void
108 1.1 jruoho AslPushInputFileStack (
109 1.1 jruoho FILE *InputFile,
110 1.1 jruoho char *Filename);
111 1.1 jruoho
112 1.1.1.5 christos void
113 1.1.1.5 christos AslParserCleanup (
114 1.1.1.5 christos void);
115 1.1.1.5 christos
116 1.1.1.5 christos
117 1.1 jruoho /*
118 1.1.1.2 jruoho * aslstartup - entered from main()
119 1.1 jruoho */
120 1.1.1.2 jruoho void
121 1.1.1.2 jruoho AslInitializeGlobals (
122 1.1.1.2 jruoho void);
123 1.1.1.2 jruoho
124 1.1.1.2 jruoho typedef
125 1.1.1.2 jruoho ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
126 1.1.1.2 jruoho char *);
127 1.1.1.2 jruoho
128 1.1 jruoho ACPI_STATUS
129 1.1 jruoho AslDoOneFile (
130 1.1 jruoho char *Filename);
131 1.1 jruoho
132 1.1.1.4 christos ACPI_STATUS
133 1.1.1.4 christos AslCheckForErrorExit (
134 1.1.1.4 christos void);
135 1.1.1.4 christos
136 1.1.1.4 christos
137 1.1 jruoho /*
138 1.1 jruoho * aslcompile - compile mainline
139 1.1 jruoho */
140 1.1 jruoho void
141 1.1 jruoho AslCompilerSignon (
142 1.1 jruoho UINT32 FileId);
143 1.1 jruoho
144 1.1 jruoho void
145 1.1 jruoho AslCompilerFileHeader (
146 1.1 jruoho UINT32 FileId);
147 1.1 jruoho
148 1.1 jruoho int
149 1.1 jruoho CmDoCompile (
150 1.1 jruoho void);
151 1.1 jruoho
152 1.1 jruoho void
153 1.1 jruoho CmDoOutputFiles (
154 1.1 jruoho void);
155 1.1 jruoho
156 1.1 jruoho void
157 1.1 jruoho CmCleanupAndExit (
158 1.1 jruoho void);
159 1.1 jruoho
160 1.1.1.5 christos void
161 1.1.1.5 christos CmDeleteCaches (
162 1.1.1.5 christos void);
163 1.1.1.5 christos
164 1.1.1.5 christos
165 1.1.1.5 christos /*
166 1.1.1.5 christos * aslascii - ascii support
167 1.1.1.5 christos */
168 1.1 jruoho ACPI_STATUS
169 1.1.1.5.2.3 skrll FlIsFileAsciiSource (
170 1.1.1.4 christos char *Filename,
171 1.1.1.4 christos BOOLEAN DisplayErrors);
172 1.1 jruoho
173 1.1 jruoho
174 1.1 jruoho /*
175 1.1.1.2 jruoho * aslwalks - semantic analysis and parse tree walks
176 1.1 jruoho */
177 1.1 jruoho ACPI_STATUS
178 1.1 jruoho AnOtherSemanticAnalysisWalkBegin (
179 1.1 jruoho ACPI_PARSE_OBJECT *Op,
180 1.1 jruoho UINT32 Level,
181 1.1 jruoho void *Context);
182 1.1 jruoho
183 1.1 jruoho ACPI_STATUS
184 1.1 jruoho AnOtherSemanticAnalysisWalkEnd (
185 1.1 jruoho ACPI_PARSE_OBJECT *Op,
186 1.1 jruoho UINT32 Level,
187 1.1 jruoho void *Context);
188 1.1 jruoho
189 1.1 jruoho ACPI_STATUS
190 1.1 jruoho AnOperandTypecheckWalkEnd (
191 1.1 jruoho ACPI_PARSE_OBJECT *Op,
192 1.1 jruoho UINT32 Level,
193 1.1 jruoho void *Context);
194 1.1 jruoho
195 1.1 jruoho ACPI_STATUS
196 1.1.1.4 christos AnMethodTypingWalkEnd (
197 1.1 jruoho ACPI_PARSE_OBJECT *Op,
198 1.1 jruoho UINT32 Level,
199 1.1 jruoho void *Context);
200 1.1 jruoho
201 1.1.1.4 christos
202 1.1.1.4 christos /*
203 1.1.1.4 christos * aslmethod - Control method analysis walk
204 1.1.1.4 christos */
205 1.1 jruoho ACPI_STATUS
206 1.1.1.4 christos MtMethodAnalysisWalkBegin (
207 1.1 jruoho ACPI_PARSE_OBJECT *Op,
208 1.1 jruoho UINT32 Level,
209 1.1 jruoho void *Context);
210 1.1 jruoho
211 1.1 jruoho ACPI_STATUS
212 1.1.1.4 christos MtMethodAnalysisWalkEnd (
213 1.1 jruoho ACPI_PARSE_OBJECT *Op,
214 1.1 jruoho UINT32 Level,
215 1.1 jruoho void *Context);
216 1.1 jruoho
217 1.1.1.2 jruoho
218 1.1.1.2 jruoho /*
219 1.1.1.2 jruoho * aslbtypes - bitfield data types
220 1.1.1.2 jruoho */
221 1.1.1.2 jruoho UINT32
222 1.1.1.2 jruoho AnMapObjTypeToBtype (
223 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
224 1.1.1.2 jruoho
225 1.1.1.2 jruoho UINT32
226 1.1.1.2 jruoho AnMapArgTypeToBtype (
227 1.1.1.2 jruoho UINT32 ArgType);
228 1.1.1.2 jruoho
229 1.1.1.2 jruoho UINT32
230 1.1.1.2 jruoho AnGetBtype (
231 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
232 1.1.1.2 jruoho
233 1.1.1.2 jruoho void
234 1.1.1.2 jruoho AnFormatBtype (
235 1.1.1.2 jruoho char *Buffer,
236 1.1.1.2 jruoho UINT32 Btype);
237 1.1.1.2 jruoho
238 1.1.1.2 jruoho
239 1.1.1.2 jruoho /*
240 1.1.1.2 jruoho * aslanalyze - Support functions for parse tree walks
241 1.1.1.2 jruoho */
242 1.1.1.2 jruoho void
243 1.1.1.2 jruoho AnCheckId (
244 1.1 jruoho ACPI_PARSE_OBJECT *Op,
245 1.1.1.2 jruoho ACPI_NAME Type);
246 1.1.1.2 jruoho
247 1.1.1.2 jruoho /* Values for Type argument above */
248 1.1.1.2 jruoho
249 1.1.1.2 jruoho #define ASL_TYPE_HID 0
250 1.1.1.2 jruoho #define ASL_TYPE_CID 1
251 1.1.1.2 jruoho
252 1.1.1.2 jruoho BOOLEAN
253 1.1.1.2 jruoho AnIsInternalMethod (
254 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
255 1.1.1.2 jruoho
256 1.1.1.2 jruoho UINT32
257 1.1.1.2 jruoho AnGetInternalMethodReturnType (
258 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
259 1.1.1.2 jruoho
260 1.1.1.2 jruoho BOOLEAN
261 1.1.1.2 jruoho AnLastStatementIsReturn (
262 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
263 1.1.1.2 jruoho
264 1.1.1.2 jruoho void
265 1.1.1.2 jruoho AnCheckMethodReturnValue (
266 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op,
267 1.1.1.2 jruoho const ACPI_OPCODE_INFO *OpInfo,
268 1.1.1.2 jruoho ACPI_PARSE_OBJECT *ArgOp,
269 1.1.1.2 jruoho UINT32 RequiredBtypes,
270 1.1.1.2 jruoho UINT32 ThisNodeBtype);
271 1.1.1.2 jruoho
272 1.1.1.2 jruoho BOOLEAN
273 1.1.1.2 jruoho AnIsResultUsed (
274 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
275 1.1.1.2 jruoho
276 1.1.1.2 jruoho void
277 1.1.1.2 jruoho ApCheckForGpeNameConflict (
278 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
279 1.1 jruoho
280 1.1.1.3 jruoho void
281 1.1.1.3 jruoho ApCheckRegMethod (
282 1.1.1.3 jruoho ACPI_PARSE_OBJECT *Op);
283 1.1.1.3 jruoho
284 1.1.1.5 christos BOOLEAN
285 1.1.1.5 christos ApFindNameInScope (
286 1.1.1.5 christos char *Name,
287 1.1.1.5 christos ACPI_PARSE_OBJECT *Op);
288 1.1.1.5 christos
289 1.1.1.5.2.4 skrll BOOLEAN
290 1.1.1.5.2.4 skrll ApFindNameInDeviceTree (
291 1.1.1.5.2.4 skrll char *Name,
292 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op);
293 1.1 jruoho
294 1.1 jruoho /*
295 1.1 jruoho * aslerror - error handling/reporting
296 1.1 jruoho */
297 1.1 jruoho void
298 1.1.1.5 christos AslAbort (
299 1.1.1.5 christos void);
300 1.1.1.5 christos
301 1.1.1.5 christos void
302 1.1 jruoho AslError (
303 1.1 jruoho UINT8 Level,
304 1.1.1.5 christos UINT16 MessageId,
305 1.1 jruoho ACPI_PARSE_OBJECT *Op,
306 1.1 jruoho char *ExtraMessage);
307 1.1 jruoho
308 1.1.1.4 christos ACPI_STATUS
309 1.1.1.4 christos AslDisableException (
310 1.1.1.4 christos char *MessageIdString);
311 1.1.1.4 christos
312 1.1.1.4 christos BOOLEAN
313 1.1.1.4 christos AslIsExceptionDisabled (
314 1.1.1.4 christos UINT8 Level,
315 1.1.1.5 christos UINT16 MessageId);
316 1.1.1.4 christos
317 1.1 jruoho void
318 1.1 jruoho AslCoreSubsystemError (
319 1.1 jruoho ACPI_PARSE_OBJECT *Op,
320 1.1 jruoho ACPI_STATUS Status,
321 1.1 jruoho char *ExtraMessage,
322 1.1 jruoho BOOLEAN Abort);
323 1.1 jruoho
324 1.1 jruoho int
325 1.1 jruoho AslCompilererror(
326 1.1.1.3 jruoho const char *s);
327 1.1 jruoho
328 1.1 jruoho void
329 1.1 jruoho AslCommonError (
330 1.1 jruoho UINT8 Level,
331 1.1.1.5 christos UINT16 MessageId,
332 1.1 jruoho UINT32 CurrentLineNumber,
333 1.1 jruoho UINT32 LogicalLineNumber,
334 1.1 jruoho UINT32 LogicalByteOffset,
335 1.1 jruoho UINT32 Column,
336 1.1 jruoho char *Filename,
337 1.1 jruoho char *ExtraMessage);
338 1.1 jruoho
339 1.1 jruoho void
340 1.1.1.4 christos AslCommonError2 (
341 1.1.1.4 christos UINT8 Level,
342 1.1.1.5 christos UINT16 MessageId,
343 1.1.1.4 christos UINT32 LineNumber,
344 1.1.1.4 christos UINT32 Column,
345 1.1.1.4 christos char *SourceLine,
346 1.1.1.4 christos char *Filename,
347 1.1.1.4 christos char *ExtraMessage);
348 1.1.1.4 christos
349 1.1.1.4 christos void
350 1.1 jruoho AePrintException (
351 1.1 jruoho UINT32 FileId,
352 1.1 jruoho ASL_ERROR_MSG *Enode,
353 1.1 jruoho char *Header);
354 1.1 jruoho
355 1.1 jruoho void
356 1.1 jruoho AePrintErrorLog (
357 1.1 jruoho UINT32 FileId);
358 1.1 jruoho
359 1.1 jruoho void
360 1.1 jruoho AeClearErrorLog (
361 1.1 jruoho void);
362 1.1 jruoho
363 1.1 jruoho
364 1.1 jruoho /*
365 1.1 jruoho * asllisting - generate all "listing" type files
366 1.1 jruoho */
367 1.1 jruoho void
368 1.1 jruoho LsDoListings (
369 1.1 jruoho void);
370 1.1 jruoho
371 1.1 jruoho void
372 1.1 jruoho LsWriteNodeToAsmListing (
373 1.1 jruoho ACPI_PARSE_OBJECT *Op);
374 1.1 jruoho
375 1.1 jruoho void
376 1.1 jruoho LsWriteNode (
377 1.1 jruoho ACPI_PARSE_OBJECT *Op,
378 1.1 jruoho UINT32 FileId);
379 1.1 jruoho
380 1.1 jruoho void
381 1.1.1.4 christos LsDumpParseTree (
382 1.1 jruoho void);
383 1.1 jruoho
384 1.1.1.4 christos
385 1.1.1.4 christos /*
386 1.1.1.4 christos * asllistsup - Listing file support utilities
387 1.1.1.4 christos */
388 1.1 jruoho void
389 1.1.1.4 christos LsDumpAscii (
390 1.1.1.4 christos UINT32 FileId,
391 1.1.1.4 christos UINT32 Count,
392 1.1.1.4 christos UINT8 *Buffer);
393 1.1.1.4 christos
394 1.1.1.4 christos void
395 1.1.1.4 christos LsDumpAsciiInComment (
396 1.1.1.4 christos UINT32 FileId,
397 1.1.1.4 christos UINT32 Count,
398 1.1.1.4 christos UINT8 *Buffer);
399 1.1.1.4 christos
400 1.1.1.4 christos void
401 1.1.1.4 christos LsCheckException (
402 1.1.1.4 christos UINT32 LineNumber,
403 1.1.1.4 christos UINT32 FileId);
404 1.1.1.4 christos
405 1.1.1.4 christos void
406 1.1.1.4 christos LsFlushListingBuffer (
407 1.1.1.4 christos UINT32 FileId);
408 1.1.1.4 christos
409 1.1.1.4 christos void
410 1.1.1.4 christos LsWriteListingHexBytes (
411 1.1.1.4 christos UINT8 *Buffer,
412 1.1.1.4 christos UINT32 Length,
413 1.1.1.4 christos UINT32 FileId);
414 1.1.1.4 christos
415 1.1.1.4 christos void
416 1.1.1.4 christos LsWriteSourceLines (
417 1.1.1.4 christos UINT32 ToLineNumber,
418 1.1.1.4 christos UINT32 ToLogicalLineNumber,
419 1.1.1.4 christos UINT32 FileId);
420 1.1.1.4 christos
421 1.1.1.4 christos UINT32
422 1.1.1.4 christos LsWriteOneSourceLine (
423 1.1.1.4 christos UINT32 FileId);
424 1.1.1.4 christos
425 1.1.1.4 christos void
426 1.1.1.4 christos LsPushNode (
427 1.1.1.4 christos char *Filename);
428 1.1.1.4 christos
429 1.1.1.4 christos ASL_LISTING_NODE *
430 1.1.1.4 christos LsPopNode (
431 1.1.1.4 christos void);
432 1.1.1.4 christos
433 1.1.1.4 christos
434 1.1.1.4 christos /*
435 1.1.1.4 christos * aslhex - generate all "hex" output files (C, ASM, ASL)
436 1.1.1.4 christos */
437 1.1.1.4 christos void
438 1.1.1.4 christos HxDoHexOutput (
439 1.1 jruoho void);
440 1.1 jruoho
441 1.1.1.4 christos
442 1.1 jruoho /*
443 1.1 jruoho * aslfold - constant folding
444 1.1 jruoho */
445 1.1 jruoho ACPI_STATUS
446 1.1 jruoho OpcAmlConstantWalk (
447 1.1 jruoho ACPI_PARSE_OBJECT *Op,
448 1.1 jruoho UINT32 Level,
449 1.1 jruoho void *Context);
450 1.1 jruoho
451 1.1 jruoho
452 1.1 jruoho /*
453 1.1.1.5 christos * aslmessages - exception strings
454 1.1.1.5 christos */
455 1.1.1.5 christos const char *
456 1.1.1.5 christos AeDecodeMessageId (
457 1.1.1.5 christos UINT16 MessageId);
458 1.1.1.5 christos
459 1.1.1.5 christos const char *
460 1.1.1.5 christos AeDecodeExceptionLevel (
461 1.1.1.5 christos UINT8 Level);
462 1.1.1.5 christos
463 1.1.1.5 christos UINT16
464 1.1.1.5 christos AeBuildFullExceptionCode (
465 1.1.1.5 christos UINT8 Level,
466 1.1.1.5 christos UINT16 MessageId);
467 1.1.1.5 christos
468 1.1.1.5 christos /*
469 1.1.1.4 christos * asloffset - generate C offset file for BIOS support
470 1.1.1.4 christos */
471 1.1.1.4 christos ACPI_STATUS
472 1.1.1.4 christos LsAmlOffsetWalk (
473 1.1.1.4 christos ACPI_PARSE_OBJECT *Op,
474 1.1.1.4 christos UINT32 Level,
475 1.1.1.4 christos void *Context);
476 1.1.1.4 christos
477 1.1.1.4 christos void
478 1.1.1.4 christos LsDoOffsetTableHeader (
479 1.1.1.4 christos UINT32 FileId);
480 1.1.1.4 christos
481 1.1.1.4 christos void
482 1.1.1.4 christos LsDoOffsetTableFooter (
483 1.1.1.4 christos UINT32 FileId);
484 1.1.1.4 christos
485 1.1.1.4 christos
486 1.1.1.4 christos /*
487 1.1 jruoho * aslopcodes - generate AML opcodes
488 1.1 jruoho */
489 1.1 jruoho ACPI_STATUS
490 1.1 jruoho OpcAmlOpcodeWalk (
491 1.1 jruoho ACPI_PARSE_OBJECT *Op,
492 1.1 jruoho UINT32 Level,
493 1.1 jruoho void *Context);
494 1.1 jruoho
495 1.1 jruoho ACPI_STATUS
496 1.1 jruoho OpcAmlOpcodeUpdateWalk (
497 1.1 jruoho ACPI_PARSE_OBJECT *Op,
498 1.1 jruoho UINT32 Level,
499 1.1 jruoho void *Context);
500 1.1 jruoho
501 1.1 jruoho void
502 1.1 jruoho OpcGenerateAmlOpcode (
503 1.1 jruoho ACPI_PARSE_OBJECT *Op);
504 1.1 jruoho
505 1.1 jruoho UINT32
506 1.1 jruoho OpcSetOptimalIntegerSize (
507 1.1 jruoho ACPI_PARSE_OBJECT *Op);
508 1.1 jruoho
509 1.1 jruoho void
510 1.1 jruoho OpcGetIntegerWidth (
511 1.1 jruoho ACPI_PARSE_OBJECT *Op);
512 1.1 jruoho
513 1.1 jruoho
514 1.1 jruoho /*
515 1.1 jruoho * asloperands - generate AML operands for the AML opcodes
516 1.1 jruoho */
517 1.1 jruoho ACPI_PARSE_OBJECT *
518 1.1 jruoho UtGetArg (
519 1.1 jruoho ACPI_PARSE_OBJECT *Op,
520 1.1 jruoho UINT32 Argn);
521 1.1 jruoho
522 1.1 jruoho void
523 1.1 jruoho OpnGenerateAmlOperands (
524 1.1 jruoho ACPI_PARSE_OBJECT *Op);
525 1.1 jruoho
526 1.1 jruoho void
527 1.1 jruoho OpnDoPackage (
528 1.1 jruoho ACPI_PARSE_OBJECT *Op);
529 1.1 jruoho
530 1.1 jruoho
531 1.1 jruoho /*
532 1.1 jruoho * aslopt - optmization
533 1.1 jruoho */
534 1.1 jruoho void
535 1.1 jruoho OptOptimizeNamePath (
536 1.1 jruoho ACPI_PARSE_OBJECT *Op,
537 1.1 jruoho UINT32 Flags,
538 1.1 jruoho ACPI_WALK_STATE *WalkState,
539 1.1 jruoho char *AmlNameString,
540 1.1 jruoho ACPI_NAMESPACE_NODE *TargetNode);
541 1.1 jruoho
542 1.1 jruoho
543 1.1 jruoho /*
544 1.1.1.5.2.4 skrll * aslpld - ToPLD macro support
545 1.1.1.5.2.4 skrll */
546 1.1.1.5.2.4 skrll void
547 1.1.1.5.2.4 skrll OpcDoPld (
548 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op);
549 1.1.1.5.2.4 skrll
550 1.1.1.5.2.4 skrll
551 1.1.1.5.2.4 skrll /*
552 1.1.1.5.2.1 skrll * aslprintf - Printf/Fprintf macros
553 1.1.1.5.2.1 skrll */
554 1.1.1.5.2.1 skrll void
555 1.1.1.5.2.1 skrll OpcDoPrintf (
556 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *Op);
557 1.1.1.5.2.1 skrll
558 1.1.1.5.2.1 skrll void
559 1.1.1.5.2.1 skrll OpcDoFprintf (
560 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *Op);
561 1.1.1.5.2.1 skrll
562 1.1.1.5.2.1 skrll
563 1.1.1.5.2.1 skrll /*
564 1.1.1.5.2.1 skrll * aslprune - parse tree pruner
565 1.1.1.5.2.1 skrll */
566 1.1.1.5.2.1 skrll void
567 1.1.1.5.2.1 skrll AslPruneParseTree (
568 1.1.1.5.2.1 skrll UINT32 PruneDepth,
569 1.1.1.5.2.1 skrll UINT32 Type);
570 1.1.1.5.2.1 skrll
571 1.1.1.5.2.1 skrll
572 1.1.1.5.2.1 skrll /*
573 1.1 jruoho * aslcodegen - code generation
574 1.1 jruoho */
575 1.1 jruoho void
576 1.1 jruoho CgGenerateAmlOutput (
577 1.1 jruoho void);
578 1.1 jruoho
579 1.1.1.5.2.7 skrll void
580 1.1.1.5.2.7 skrll CgLocalWriteAmlData (
581 1.1.1.5.2.7 skrll ACPI_PARSE_OBJECT *Op,
582 1.1.1.5.2.7 skrll void *Buffer,
583 1.1.1.5.2.7 skrll UINT32 Length);
584 1.1.1.5.2.7 skrll
585 1.1 jruoho
586 1.1 jruoho /*
587 1.1 jruoho * aslfile
588 1.1 jruoho */
589 1.1 jruoho void
590 1.1 jruoho FlOpenFile (
591 1.1 jruoho UINT32 FileId,
592 1.1 jruoho char *Filename,
593 1.1 jruoho char *Mode);
594 1.1 jruoho
595 1.1 jruoho
596 1.1 jruoho /*
597 1.1 jruoho * asllength - calculate/adjust AML package lengths
598 1.1 jruoho */
599 1.1 jruoho ACPI_STATUS
600 1.1 jruoho LnPackageLengthWalk (
601 1.1 jruoho ACPI_PARSE_OBJECT *Op,
602 1.1 jruoho UINT32 Level,
603 1.1 jruoho void *Context);
604 1.1 jruoho
605 1.1 jruoho ACPI_STATUS
606 1.1 jruoho LnInitLengthsWalk (
607 1.1 jruoho ACPI_PARSE_OBJECT *Op,
608 1.1 jruoho UINT32 Level,
609 1.1 jruoho void *Context);
610 1.1 jruoho
611 1.1 jruoho void
612 1.1 jruoho CgGenerateAmlLengths (
613 1.1 jruoho ACPI_PARSE_OBJECT *Op);
614 1.1 jruoho
615 1.1 jruoho
616 1.1 jruoho /*
617 1.1 jruoho * aslmap - opcode mappings and reserved method names
618 1.1 jruoho */
619 1.1 jruoho ACPI_OBJECT_TYPE
620 1.1 jruoho AslMapNamedOpcodeToDataType (
621 1.1 jruoho UINT16 Opcode);
622 1.1 jruoho
623 1.1 jruoho
624 1.1 jruoho /*
625 1.1 jruoho * aslpredef - ACPI predefined names support
626 1.1 jruoho */
627 1.1.1.3 jruoho BOOLEAN
628 1.1 jruoho ApCheckForPredefinedMethod (
629 1.1 jruoho ACPI_PARSE_OBJECT *Op,
630 1.1 jruoho ASL_METHOD_INFO *MethodInfo);
631 1.1 jruoho
632 1.1 jruoho void
633 1.1 jruoho ApCheckPredefinedReturnValue (
634 1.1 jruoho ACPI_PARSE_OBJECT *Op,
635 1.1 jruoho ASL_METHOD_INFO *MethodInfo);
636 1.1 jruoho
637 1.1 jruoho UINT32
638 1.1 jruoho ApCheckForPredefinedName (
639 1.1 jruoho ACPI_PARSE_OBJECT *Op,
640 1.1 jruoho char *Name);
641 1.1 jruoho
642 1.1 jruoho void
643 1.1 jruoho ApCheckForPredefinedObject (
644 1.1 jruoho ACPI_PARSE_OBJECT *Op,
645 1.1 jruoho char *Name);
646 1.1 jruoho
647 1.1.1.4 christos ACPI_STATUS
648 1.1.1.4 christos ApCheckObjectType (
649 1.1.1.4 christos const char *PredefinedName,
650 1.1.1.4 christos ACPI_PARSE_OBJECT *Op,
651 1.1.1.4 christos UINT32 ExpectedBtypes,
652 1.1.1.4 christos UINT32 PackageIndex);
653 1.1.1.4 christos
654 1.1 jruoho void
655 1.1 jruoho ApDisplayReservedNames (
656 1.1 jruoho void);
657 1.1 jruoho
658 1.1 jruoho
659 1.1 jruoho /*
660 1.1.1.4 christos * aslprepkg - ACPI predefined names support for packages
661 1.1.1.4 christos */
662 1.1.1.4 christos void
663 1.1.1.4 christos ApCheckPackage (
664 1.1.1.4 christos ACPI_PARSE_OBJECT *ParentOp,
665 1.1.1.4 christos const ACPI_PREDEFINED_INFO *Predefined);
666 1.1.1.4 christos
667 1.1.1.4 christos
668 1.1.1.4 christos /*
669 1.1 jruoho * asltransform - parse tree transformations
670 1.1 jruoho */
671 1.1 jruoho ACPI_STATUS
672 1.1.1.5.2.4 skrll TrAmlTransformWalkBegin (
673 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
674 1.1.1.5.2.4 skrll UINT32 Level,
675 1.1.1.5.2.4 skrll void *Context);
676 1.1.1.5.2.4 skrll
677 1.1.1.5.2.4 skrll ACPI_STATUS
678 1.1.1.5.2.4 skrll TrAmlTransformWalkEnd (
679 1.1 jruoho ACPI_PARSE_OBJECT *Op,
680 1.1 jruoho UINT32 Level,
681 1.1 jruoho void *Context);
682 1.1 jruoho
683 1.1 jruoho
684 1.1 jruoho /*
685 1.1 jruoho * asltree - parse tree support
686 1.1 jruoho */
687 1.1 jruoho ACPI_STATUS
688 1.1 jruoho TrWalkParseTree (
689 1.1 jruoho ACPI_PARSE_OBJECT *Op,
690 1.1 jruoho UINT32 Visitation,
691 1.1 jruoho ASL_WALK_CALLBACK DescendingCallback,
692 1.1 jruoho ASL_WALK_CALLBACK AscendingCallback,
693 1.1 jruoho void *Context);
694 1.1 jruoho
695 1.1.1.5.2.4 skrll /*
696 1.1.1.5.2.4 skrll * aslexternal - External opcode support
697 1.1.1.5.2.4 skrll */
698 1.1.1.5.2.4 skrll ACPI_STATUS
699 1.1.1.5.2.4 skrll ExAmlExternalWalkBegin (
700 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
701 1.1.1.5.2.4 skrll UINT32 Level,
702 1.1.1.5.2.4 skrll void *Context);
703 1.1.1.5.2.4 skrll
704 1.1.1.5.2.4 skrll ACPI_STATUS
705 1.1.1.5.2.4 skrll ExAmlExternalWalkEnd (
706 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
707 1.1.1.5.2.4 skrll UINT32 Level,
708 1.1.1.5.2.4 skrll void *Context);
709 1.1.1.5.2.4 skrll
710 1.1.1.5.2.4 skrll void
711 1.1.1.5.2.4 skrll ExDoExternal (
712 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op);
713 1.1.1.5.2.4 skrll
714 1.1 jruoho /* Values for "Visitation" parameter above */
715 1.1 jruoho
716 1.1 jruoho #define ASL_WALK_VISIT_DOWNWARD 0x01
717 1.1 jruoho #define ASL_WALK_VISIT_UPWARD 0x02
718 1.1 jruoho #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
719 1.1 jruoho
720 1.1 jruoho
721 1.1.1.5.2.4 skrll void
722 1.1.1.5.2.4 skrll TrSetParent (
723 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
724 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *ParentOp);
725 1.1.1.5.2.4 skrll
726 1.1 jruoho ACPI_PARSE_OBJECT *
727 1.1 jruoho TrAllocateNode (
728 1.1 jruoho UINT32 ParseOpcode);
729 1.1 jruoho
730 1.1 jruoho void
731 1.1.1.5.2.1 skrll TrPrintNodeCompileFlags (
732 1.1.1.5.2.1 skrll UINT32 Flags);
733 1.1.1.5.2.1 skrll
734 1.1.1.5.2.1 skrll void
735 1.1 jruoho TrReleaseNode (
736 1.1 jruoho ACPI_PARSE_OBJECT *Op);
737 1.1 jruoho
738 1.1 jruoho ACPI_PARSE_OBJECT *
739 1.1 jruoho TrUpdateNode (
740 1.1 jruoho UINT32 ParseOpcode,
741 1.1 jruoho ACPI_PARSE_OBJECT *Op);
742 1.1 jruoho
743 1.1 jruoho ACPI_PARSE_OBJECT *
744 1.1 jruoho TrCreateNode (
745 1.1 jruoho UINT32 ParseOpcode,
746 1.1 jruoho UINT32 NumChildren,
747 1.1 jruoho ...);
748 1.1 jruoho
749 1.1 jruoho ACPI_PARSE_OBJECT *
750 1.1 jruoho TrCreateLeafNode (
751 1.1 jruoho UINT32 ParseOpcode);
752 1.1 jruoho
753 1.1 jruoho ACPI_PARSE_OBJECT *
754 1.1.1.5.2.1 skrll TrCreateNullTarget (
755 1.1.1.5.2.1 skrll void);
756 1.1.1.5.2.1 skrll
757 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *
758 1.1.1.5.2.1 skrll TrCreateAssignmentNode (
759 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *Target,
760 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *Source);
761 1.1.1.5.2.1 skrll
762 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *
763 1.1.1.5.2.1 skrll TrCreateTargetOperand (
764 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *OriginalOp,
765 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *ParentOp);
766 1.1.1.5.2.1 skrll
767 1.1.1.5.2.1 skrll ACPI_PARSE_OBJECT *
768 1.1 jruoho TrCreateValuedLeafNode (
769 1.1 jruoho UINT32 ParseOpcode,
770 1.1 jruoho UINT64 Value);
771 1.1 jruoho
772 1.1 jruoho ACPI_PARSE_OBJECT *
773 1.1.1.2 jruoho TrCreateConstantLeafNode (
774 1.1.1.2 jruoho UINT32 ParseOpcode);
775 1.1.1.2 jruoho
776 1.1.1.2 jruoho ACPI_PARSE_OBJECT *
777 1.1 jruoho TrLinkChildren (
778 1.1 jruoho ACPI_PARSE_OBJECT *Op,
779 1.1 jruoho UINT32 NumChildren,
780 1.1 jruoho ...);
781 1.1 jruoho
782 1.1 jruoho void
783 1.1 jruoho TrSetEndLineNumber (
784 1.1 jruoho ACPI_PARSE_OBJECT *Op);
785 1.1 jruoho
786 1.1 jruoho void
787 1.1.1.5.2.3 skrll TrSetCurrentFilename (
788 1.1.1.5.2.3 skrll ACPI_PARSE_OBJECT *Op);
789 1.1.1.5.2.3 skrll
790 1.1.1.5.2.3 skrll void
791 1.1 jruoho TrWalkTree (
792 1.1 jruoho void);
793 1.1 jruoho
794 1.1 jruoho ACPI_PARSE_OBJECT *
795 1.1 jruoho TrLinkPeerNode (
796 1.1 jruoho ACPI_PARSE_OBJECT *Op1,
797 1.1 jruoho ACPI_PARSE_OBJECT *Op2);
798 1.1 jruoho
799 1.1 jruoho ACPI_PARSE_OBJECT *
800 1.1 jruoho TrLinkChildNode (
801 1.1 jruoho ACPI_PARSE_OBJECT *Op1,
802 1.1 jruoho ACPI_PARSE_OBJECT *Op2);
803 1.1 jruoho
804 1.1 jruoho ACPI_PARSE_OBJECT *
805 1.1 jruoho TrSetNodeFlags (
806 1.1 jruoho ACPI_PARSE_OBJECT *Op,
807 1.1 jruoho UINT32 Flags);
808 1.1 jruoho
809 1.1 jruoho ACPI_PARSE_OBJECT *
810 1.1.1.4 christos TrSetNodeAmlLength (
811 1.1.1.4 christos ACPI_PARSE_OBJECT *Op,
812 1.1.1.4 christos UINT32 Length);
813 1.1.1.4 christos
814 1.1.1.4 christos ACPI_PARSE_OBJECT *
815 1.1 jruoho TrLinkPeerNodes (
816 1.1 jruoho UINT32 NumPeers,
817 1.1 jruoho ...);
818 1.1 jruoho
819 1.1 jruoho
820 1.1 jruoho /*
821 1.1 jruoho * aslfiles - File I/O support
822 1.1 jruoho */
823 1.1 jruoho void
824 1.1 jruoho FlAddIncludeDirectory (
825 1.1 jruoho char *Dir);
826 1.1 jruoho
827 1.1.1.4 christos char *
828 1.1.1.4 christos FlMergePathnames (
829 1.1.1.4 christos char *PrefixDir,
830 1.1.1.4 christos char *FilePathname);
831 1.1.1.4 christos
832 1.1 jruoho void
833 1.1 jruoho FlOpenIncludeFile (
834 1.1 jruoho ACPI_PARSE_OBJECT *Op);
835 1.1 jruoho
836 1.1 jruoho void
837 1.1 jruoho FlFileError (
838 1.1 jruoho UINT32 FileId,
839 1.1 jruoho UINT8 ErrorId);
840 1.1 jruoho
841 1.1 jruoho UINT32
842 1.1 jruoho FlGetFileSize (
843 1.1 jruoho UINT32 FileId);
844 1.1 jruoho
845 1.1 jruoho ACPI_STATUS
846 1.1 jruoho FlReadFile (
847 1.1 jruoho UINT32 FileId,
848 1.1 jruoho void *Buffer,
849 1.1 jruoho UINT32 Length);
850 1.1 jruoho
851 1.1 jruoho void
852 1.1 jruoho FlWriteFile (
853 1.1 jruoho UINT32 FileId,
854 1.1 jruoho void *Buffer,
855 1.1 jruoho UINT32 Length);
856 1.1 jruoho
857 1.1 jruoho void
858 1.1 jruoho FlSeekFile (
859 1.1 jruoho UINT32 FileId,
860 1.1 jruoho long Offset);
861 1.1 jruoho
862 1.1 jruoho void
863 1.1 jruoho FlCloseFile (
864 1.1 jruoho UINT32 FileId);
865 1.1 jruoho
866 1.1 jruoho void
867 1.1 jruoho FlPrintFile (
868 1.1 jruoho UINT32 FileId,
869 1.1 jruoho char *Format,
870 1.1 jruoho ...);
871 1.1 jruoho
872 1.1 jruoho void
873 1.1.1.4 christos FlDeleteFile (
874 1.1.1.4 christos UINT32 FileId);
875 1.1.1.4 christos
876 1.1.1.4 christos void
877 1.1 jruoho FlSetLineNumber (
878 1.1.1.4 christos UINT32 LineNumber);
879 1.1.1.4 christos
880 1.1.1.4 christos void
881 1.1.1.4 christos FlSetFilename (
882 1.1.1.4 christos char *Filename);
883 1.1 jruoho
884 1.1 jruoho ACPI_STATUS
885 1.1 jruoho FlOpenInputFile (
886 1.1 jruoho char *InputFilename);
887 1.1 jruoho
888 1.1 jruoho ACPI_STATUS
889 1.1 jruoho FlOpenAmlOutputFile (
890 1.1 jruoho char *InputFilename);
891 1.1 jruoho
892 1.1 jruoho ACPI_STATUS
893 1.1 jruoho FlOpenMiscOutputFiles (
894 1.1 jruoho char *InputFilename);
895 1.1 jruoho
896 1.1.1.5 christos /*
897 1.1.1.5 christos * aslhwmap - hardware map summary
898 1.1.1.5 christos */
899 1.1.1.5 christos void
900 1.1.1.5 christos MpEmitMappingInfo (
901 1.1.1.5 christos void);
902 1.1.1.5 christos
903 1.1 jruoho
904 1.1 jruoho /*
905 1.1 jruoho * asload - load namespace in prep for cross reference
906 1.1 jruoho */
907 1.1 jruoho ACPI_STATUS
908 1.1 jruoho LdLoadNamespace (
909 1.1 jruoho ACPI_PARSE_OBJECT *RootOp);
910 1.1 jruoho
911 1.1 jruoho
912 1.1 jruoho /*
913 1.1.1.4 christos * asllookup - namespace lookup functions
914 1.1 jruoho */
915 1.1.1.4 christos void
916 1.1.1.4 christos LkFindUnreferencedObjects (
917 1.1 jruoho void);
918 1.1 jruoho
919 1.1.1.4 christos /*
920 1.1.1.5.2.5 skrll * aslhelp - help screens
921 1.1.1.4 christos */
922 1.1 jruoho void
923 1.1.1.4 christos Usage (
924 1.1 jruoho void);
925 1.1 jruoho
926 1.1.1.4 christos void
927 1.1.1.4 christos AslFilenameHelp (
928 1.1.1.4 christos void);
929 1.1.1.4 christos
930 1.1.1.5.2.5 skrll void
931 1.1.1.5.2.5 skrll AslDisassemblyHelp (
932 1.1.1.5.2.5 skrll void);
933 1.1.1.5.2.5 skrll
934 1.1.1.4 christos
935 1.1.1.4 christos /*
936 1.1.1.4 christos * aslnamesp - namespace output file generation
937 1.1.1.4 christos */
938 1.1 jruoho ACPI_STATUS
939 1.1.1.4 christos NsDisplayNamespace (
940 1.1 jruoho void);
941 1.1 jruoho
942 1.1.1.2 jruoho void
943 1.1.1.4 christos NsSetupNamespaceListing (
944 1.1.1.2 jruoho void *Handle);
945 1.1.1.2 jruoho
946 1.1.1.4 christos /*
947 1.1.1.4 christos * asloptions - command line processing
948 1.1.1.4 christos */
949 1.1.1.4 christos int
950 1.1.1.4 christos AslCommandLine (
951 1.1.1.4 christos int argc,
952 1.1.1.4 christos char **argv);
953 1.1.1.4 christos
954 1.1.1.4 christos /*
955 1.1.1.4 christos * aslxref - namespace cross reference
956 1.1.1.4 christos */
957 1.1.1.4 christos ACPI_STATUS
958 1.1.1.4 christos XfCrossReferenceNamespace (
959 1.1.1.4 christos void);
960 1.1.1.4 christos
961 1.1 jruoho
962 1.1 jruoho /*
963 1.1.1.5.2.4 skrll * aslxrefout
964 1.1.1.5.2.4 skrll */
965 1.1.1.5.2.4 skrll void
966 1.1.1.5.2.4 skrll OtPrintHeaders (
967 1.1.1.5.2.4 skrll char *Message);
968 1.1.1.5.2.4 skrll
969 1.1.1.5.2.4 skrll void
970 1.1.1.5.2.4 skrll OtCreateXrefFile (
971 1.1.1.5.2.4 skrll void);
972 1.1.1.5.2.4 skrll
973 1.1.1.5.2.4 skrll void
974 1.1.1.5.2.4 skrll OtXrefWalkPart1 (
975 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
976 1.1.1.5.2.4 skrll UINT32 Level,
977 1.1.1.5.2.4 skrll ASL_METHOD_INFO *MethodInfo);
978 1.1.1.5.2.4 skrll
979 1.1.1.5.2.4 skrll
980 1.1.1.5.2.4 skrll /*
981 1.1 jruoho * aslutils - common compiler utilites
982 1.1 jruoho */
983 1.1 jruoho void
984 1.1 jruoho DbgPrint (
985 1.1 jruoho UINT32 Type,
986 1.1 jruoho char *Format,
987 1.1 jruoho ...);
988 1.1 jruoho
989 1.1 jruoho /* Type values for above */
990 1.1 jruoho
991 1.1 jruoho #define ASL_DEBUG_OUTPUT 0
992 1.1 jruoho #define ASL_PARSE_OUTPUT 1
993 1.1 jruoho #define ASL_TREE_OUTPUT 2
994 1.1 jruoho
995 1.1.1.5.2.4 skrll UINT8
996 1.1.1.5.2.4 skrll UtIsBigEndianMachine (
997 1.1.1.5.2.4 skrll void);
998 1.1.1.5.2.4 skrll
999 1.1.1.5.2.3 skrll BOOLEAN
1000 1.1.1.5.2.3 skrll UtQueryForOverwrite (
1001 1.1.1.5.2.3 skrll char *Pathname);
1002 1.1.1.5.2.3 skrll
1003 1.1 jruoho void
1004 1.1.1.5.2.4 skrll UtDumpStringOp (
1005 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
1006 1.1.1.5.2.4 skrll UINT32 Level);
1007 1.1.1.5.2.4 skrll
1008 1.1.1.5.2.4 skrll void
1009 1.1.1.5.2.4 skrll UtDumpIntegerOp (
1010 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
1011 1.1.1.5.2.4 skrll UINT32 Level,
1012 1.1.1.5.2.4 skrll UINT32 IntegerLength);
1013 1.1.1.5.2.4 skrll
1014 1.1.1.5.2.4 skrll void
1015 1.1.1.5.2.4 skrll UtDumpBasicOp (
1016 1.1.1.5.2.4 skrll ACPI_PARSE_OBJECT *Op,
1017 1.1.1.5.2.4 skrll UINT32 Level);
1018 1.1.1.5.2.4 skrll
1019 1.1.1.5.2.4 skrll void
1020 1.1.1.2 jruoho UtDisplaySupportedTables (
1021 1.1.1.2 jruoho void);
1022 1.1.1.2 jruoho
1023 1.1.1.2 jruoho void
1024 1.1 jruoho UtDisplayConstantOpcodes (
1025 1.1 jruoho void);
1026 1.1 jruoho
1027 1.1 jruoho UINT8
1028 1.1 jruoho UtBeginEvent (
1029 1.1 jruoho char *Name);
1030 1.1 jruoho
1031 1.1 jruoho void
1032 1.1 jruoho UtEndEvent (
1033 1.1 jruoho UINT8 Event);
1034 1.1 jruoho
1035 1.1 jruoho void *
1036 1.1 jruoho UtLocalCalloc (
1037 1.1 jruoho UINT32 Size);
1038 1.1 jruoho
1039 1.1 jruoho void
1040 1.1 jruoho
1041 1.1 jruoho UtDisplaySummary (
1042 1.1 jruoho UINT32 FileId);
1043 1.1 jruoho
1044 1.1 jruoho void
1045 1.1 jruoho UtConvertByteToHex (
1046 1.1 jruoho UINT8 RawByte,
1047 1.1 jruoho UINT8 *Buffer);
1048 1.1 jruoho
1049 1.1 jruoho void
1050 1.1 jruoho UtConvertByteToAsmHex (
1051 1.1 jruoho UINT8 RawByte,
1052 1.1 jruoho UINT8 *Buffer);
1053 1.1 jruoho
1054 1.1 jruoho char *
1055 1.1 jruoho UtGetOpName (
1056 1.1 jruoho UINT32 ParseOpcode);
1057 1.1 jruoho
1058 1.1 jruoho void
1059 1.1 jruoho UtSetParseOpName (
1060 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1061 1.1 jruoho
1062 1.1 jruoho char *
1063 1.1.1.5 christos UtStringCacheCalloc (
1064 1.1 jruoho UINT32 Length);
1065 1.1 jruoho
1066 1.1.1.4 christos void
1067 1.1.1.4 christos UtExpandLineBuffers (
1068 1.1.1.4 christos void);
1069 1.1.1.4 christos
1070 1.1.1.5 christos void
1071 1.1.1.5 christos UtFreeLineBuffers (
1072 1.1.1.5 christos void);
1073 1.1.1.5 christos
1074 1.1 jruoho ACPI_STATUS
1075 1.1 jruoho UtInternalizeName (
1076 1.1 jruoho char *ExternalName,
1077 1.1 jruoho char **ConvertedName);
1078 1.1 jruoho
1079 1.1 jruoho void
1080 1.1 jruoho UtAttachNamepathToOwner (
1081 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1082 1.1 jruoho ACPI_PARSE_OBJECT *NameNode);
1083 1.1 jruoho
1084 1.1 jruoho ACPI_PARSE_OBJECT *
1085 1.1 jruoho UtCheckIntegerRange (
1086 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1087 1.1 jruoho UINT32 LowValue,
1088 1.1 jruoho UINT32 HighValue);
1089 1.1 jruoho
1090 1.1 jruoho UINT64
1091 1.1 jruoho UtDoConstant (
1092 1.1 jruoho char *String);
1093 1.1 jruoho
1094 1.1.1.3 jruoho
1095 1.1.1.2 jruoho /*
1096 1.1.1.2 jruoho * asluuid - UUID support
1097 1.1.1.2 jruoho */
1098 1.1.1.2 jruoho ACPI_STATUS
1099 1.1.1.2 jruoho AuValidateUuid (
1100 1.1.1.2 jruoho char *InString);
1101 1.1.1.2 jruoho
1102 1.1.1.2 jruoho ACPI_STATUS
1103 1.1.1.2 jruoho AuConvertUuidToString (
1104 1.1.1.2 jruoho char *UuIdBuffer,
1105 1.1.1.2 jruoho char *OutString);
1106 1.1 jruoho
1107 1.1 jruoho /*
1108 1.1 jruoho * aslresource - Resource template generation utilities
1109 1.1 jruoho */
1110 1.1 jruoho void
1111 1.1 jruoho RsSmallAddressCheck (
1112 1.1 jruoho UINT8 Type,
1113 1.1 jruoho UINT32 Minimum,
1114 1.1 jruoho UINT32 Maximum,
1115 1.1 jruoho UINT32 Length,
1116 1.1 jruoho UINT32 Alignment,
1117 1.1 jruoho ACPI_PARSE_OBJECT *MinOp,
1118 1.1 jruoho ACPI_PARSE_OBJECT *MaxOp,
1119 1.1 jruoho ACPI_PARSE_OBJECT *LengthOp,
1120 1.1.1.2 jruoho ACPI_PARSE_OBJECT *AlignOp,
1121 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
1122 1.1 jruoho
1123 1.1 jruoho void
1124 1.1 jruoho RsLargeAddressCheck (
1125 1.1 jruoho UINT64 Minimum,
1126 1.1 jruoho UINT64 Maximum,
1127 1.1 jruoho UINT64 Length,
1128 1.1 jruoho UINT64 Granularity,
1129 1.1 jruoho UINT8 Flags,
1130 1.1 jruoho ACPI_PARSE_OBJECT *MinOp,
1131 1.1 jruoho ACPI_PARSE_OBJECT *MaxOp,
1132 1.1 jruoho ACPI_PARSE_OBJECT *LengthOp,
1133 1.1.1.2 jruoho ACPI_PARSE_OBJECT *GranOp,
1134 1.1.1.2 jruoho ACPI_PARSE_OBJECT *Op);
1135 1.1 jruoho
1136 1.1 jruoho UINT16
1137 1.1 jruoho RsGetStringDataLength (
1138 1.1 jruoho ACPI_PARSE_OBJECT *InitializerOp);
1139 1.1 jruoho
1140 1.1 jruoho ASL_RESOURCE_NODE *
1141 1.1 jruoho RsAllocateResourceNode (
1142 1.1 jruoho UINT32 Size);
1143 1.1 jruoho
1144 1.1 jruoho void
1145 1.1.1.4 christos RsCreateResourceField (
1146 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1147 1.1 jruoho char *Name,
1148 1.1 jruoho UINT32 ByteOffset,
1149 1.1.1.4 christos UINT32 BitOffset,
1150 1.1.1.4 christos UINT32 BitLength);
1151 1.1 jruoho
1152 1.1 jruoho void
1153 1.1.1.4 christos RsSetFlagBits (
1154 1.1.1.4 christos UINT8 *Flags,
1155 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1156 1.1.1.4 christos UINT8 Position,
1157 1.1.1.4 christos UINT8 DefaultBit);
1158 1.1 jruoho
1159 1.1 jruoho void
1160 1.1.1.4 christos RsSetFlagBits16 (
1161 1.1.1.4 christos UINT16 *Flags,
1162 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1163 1.1 jruoho UINT8 Position,
1164 1.1 jruoho UINT8 DefaultBit);
1165 1.1 jruoho
1166 1.1 jruoho ACPI_PARSE_OBJECT *
1167 1.1 jruoho RsCompleteNodeAndGetNext (
1168 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1169 1.1 jruoho
1170 1.1 jruoho void
1171 1.1 jruoho RsCheckListForDuplicates (
1172 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1173 1.1 jruoho
1174 1.1 jruoho ASL_RESOURCE_NODE *
1175 1.1 jruoho RsDoOneResourceDescriptor (
1176 1.1.1.5 christos ASL_RESOURCE_INFO *Info,
1177 1.1 jruoho UINT8 *State);
1178 1.1 jruoho
1179 1.1 jruoho /* Values for State above */
1180 1.1 jruoho
1181 1.1 jruoho #define ACPI_RSTATE_NORMAL 0
1182 1.1 jruoho #define ACPI_RSTATE_START_DEPENDENT 1
1183 1.1 jruoho #define ACPI_RSTATE_DEPENDENT_LIST 2
1184 1.1 jruoho
1185 1.1 jruoho UINT32
1186 1.1 jruoho RsLinkDescriptorChain (
1187 1.1 jruoho ASL_RESOURCE_NODE **PreviousRnode,
1188 1.1 jruoho ASL_RESOURCE_NODE *Rnode);
1189 1.1 jruoho
1190 1.1 jruoho void
1191 1.1 jruoho RsDoResourceTemplate (
1192 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1193 1.1 jruoho
1194 1.1 jruoho
1195 1.1 jruoho /*
1196 1.1 jruoho * aslrestype1 - Miscellaneous Small descriptors
1197 1.1 jruoho */
1198 1.1 jruoho ASL_RESOURCE_NODE *
1199 1.1 jruoho RsDoEndTagDescriptor (
1200 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1201 1.1 jruoho
1202 1.1 jruoho ASL_RESOURCE_NODE *
1203 1.1 jruoho RsDoEndDependentDescriptor (
1204 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1205 1.1 jruoho
1206 1.1 jruoho ASL_RESOURCE_NODE *
1207 1.1 jruoho RsDoMemory24Descriptor (
1208 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1209 1.1 jruoho
1210 1.1 jruoho ASL_RESOURCE_NODE *
1211 1.1 jruoho RsDoMemory32Descriptor (
1212 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1213 1.1 jruoho
1214 1.1 jruoho ASL_RESOURCE_NODE *
1215 1.1 jruoho RsDoMemory32FixedDescriptor (
1216 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1217 1.1 jruoho
1218 1.1 jruoho ASL_RESOURCE_NODE *
1219 1.1 jruoho RsDoStartDependentDescriptor (
1220 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1221 1.1 jruoho
1222 1.1 jruoho ASL_RESOURCE_NODE *
1223 1.1 jruoho RsDoStartDependentNoPriDescriptor (
1224 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1225 1.1 jruoho
1226 1.1 jruoho ASL_RESOURCE_NODE *
1227 1.1 jruoho RsDoVendorSmallDescriptor (
1228 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1229 1.1 jruoho
1230 1.1 jruoho
1231 1.1 jruoho /*
1232 1.1 jruoho * aslrestype1i - I/O-related Small descriptors
1233 1.1 jruoho */
1234 1.1 jruoho ASL_RESOURCE_NODE *
1235 1.1 jruoho RsDoDmaDescriptor (
1236 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1237 1.1 jruoho
1238 1.1 jruoho ASL_RESOURCE_NODE *
1239 1.1.1.4 christos RsDoFixedDmaDescriptor (
1240 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1241 1.1.1.4 christos
1242 1.1.1.4 christos ASL_RESOURCE_NODE *
1243 1.1 jruoho RsDoFixedIoDescriptor (
1244 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1245 1.1 jruoho
1246 1.1 jruoho ASL_RESOURCE_NODE *
1247 1.1 jruoho RsDoIoDescriptor (
1248 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1249 1.1 jruoho
1250 1.1 jruoho ASL_RESOURCE_NODE *
1251 1.1 jruoho RsDoIrqDescriptor (
1252 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1253 1.1 jruoho
1254 1.1 jruoho ASL_RESOURCE_NODE *
1255 1.1 jruoho RsDoIrqNoFlagsDescriptor (
1256 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1257 1.1 jruoho
1258 1.1 jruoho
1259 1.1 jruoho /*
1260 1.1 jruoho * aslrestype2 - Large resource descriptors
1261 1.1 jruoho */
1262 1.1 jruoho ASL_RESOURCE_NODE *
1263 1.1 jruoho RsDoInterruptDescriptor (
1264 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1265 1.1 jruoho
1266 1.1 jruoho ASL_RESOURCE_NODE *
1267 1.1 jruoho RsDoVendorLargeDescriptor (
1268 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1269 1.1 jruoho
1270 1.1 jruoho ASL_RESOURCE_NODE *
1271 1.1 jruoho RsDoGeneralRegisterDescriptor (
1272 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1273 1.1 jruoho
1274 1.1.1.4 christos ASL_RESOURCE_NODE *
1275 1.1.1.4 christos RsDoGpioIntDescriptor (
1276 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1277 1.1.1.4 christos
1278 1.1.1.4 christos ASL_RESOURCE_NODE *
1279 1.1.1.4 christos RsDoGpioIoDescriptor (
1280 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1281 1.1.1.4 christos
1282 1.1.1.4 christos ASL_RESOURCE_NODE *
1283 1.1.1.4 christos RsDoI2cSerialBusDescriptor (
1284 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1285 1.1.1.4 christos
1286 1.1.1.4 christos ASL_RESOURCE_NODE *
1287 1.1.1.4 christos RsDoSpiSerialBusDescriptor (
1288 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1289 1.1.1.4 christos
1290 1.1.1.4 christos ASL_RESOURCE_NODE *
1291 1.1.1.4 christos RsDoUartSerialBusDescriptor (
1292 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1293 1.1 jruoho
1294 1.1 jruoho /*
1295 1.1 jruoho * aslrestype2d - DWord address descriptors
1296 1.1 jruoho */
1297 1.1 jruoho ASL_RESOURCE_NODE *
1298 1.1 jruoho RsDoDwordIoDescriptor (
1299 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1300 1.1 jruoho
1301 1.1 jruoho ASL_RESOURCE_NODE *
1302 1.1 jruoho RsDoDwordMemoryDescriptor (
1303 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1304 1.1 jruoho
1305 1.1 jruoho ASL_RESOURCE_NODE *
1306 1.1 jruoho RsDoDwordSpaceDescriptor (
1307 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1308 1.1 jruoho
1309 1.1 jruoho
1310 1.1 jruoho /*
1311 1.1 jruoho * aslrestype2e - Extended address descriptors
1312 1.1 jruoho */
1313 1.1 jruoho ASL_RESOURCE_NODE *
1314 1.1 jruoho RsDoExtendedIoDescriptor (
1315 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1316 1.1 jruoho
1317 1.1 jruoho ASL_RESOURCE_NODE *
1318 1.1 jruoho RsDoExtendedMemoryDescriptor (
1319 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1320 1.1 jruoho
1321 1.1 jruoho ASL_RESOURCE_NODE *
1322 1.1 jruoho RsDoExtendedSpaceDescriptor (
1323 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1324 1.1 jruoho
1325 1.1 jruoho
1326 1.1 jruoho /*
1327 1.1 jruoho * aslrestype2q - QWord address descriptors
1328 1.1 jruoho */
1329 1.1 jruoho ASL_RESOURCE_NODE *
1330 1.1 jruoho RsDoQwordIoDescriptor (
1331 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1332 1.1 jruoho
1333 1.1 jruoho ASL_RESOURCE_NODE *
1334 1.1 jruoho RsDoQwordMemoryDescriptor (
1335 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1336 1.1 jruoho
1337 1.1 jruoho ASL_RESOURCE_NODE *
1338 1.1 jruoho RsDoQwordSpaceDescriptor (
1339 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1340 1.1 jruoho
1341 1.1 jruoho
1342 1.1 jruoho /*
1343 1.1 jruoho * aslrestype2w - Word address descriptors
1344 1.1 jruoho */
1345 1.1 jruoho ASL_RESOURCE_NODE *
1346 1.1 jruoho RsDoWordIoDescriptor (
1347 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1348 1.1 jruoho
1349 1.1 jruoho ASL_RESOURCE_NODE *
1350 1.1 jruoho RsDoWordSpaceDescriptor (
1351 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1352 1.1 jruoho
1353 1.1 jruoho ASL_RESOURCE_NODE *
1354 1.1 jruoho RsDoWordBusNumberDescriptor (
1355 1.1.1.5 christos ASL_RESOURCE_INFO *Info);
1356 1.1.1.5 christos
1357 1.1 jruoho
1358 1.1 jruoho /*
1359 1.1 jruoho * Entry to data table compiler subsystem
1360 1.1 jruoho */
1361 1.1 jruoho ACPI_STATUS
1362 1.1 jruoho DtDoCompile(
1363 1.1 jruoho void);
1364 1.1 jruoho
1365 1.1.1.2 jruoho ACPI_STATUS
1366 1.1.1.2 jruoho DtCreateTemplates (
1367 1.1.1.5.2.3 skrll char **argv);
1368 1.1.1.2 jruoho
1369 1.1.1.5.2.7 skrll
1370 1.1.1.5.2.7 skrll /*
1371 1.1.1.5.2.7 skrll * ASL/ASL+ converter debug
1372 1.1.1.5.2.7 skrll */
1373 1.1.1.5.2.7 skrll void
1374 1.1.1.5.2.7 skrll CvDbgPrint (
1375 1.1.1.5.2.7 skrll char *Fmt,
1376 1.1.1.5.2.7 skrll ...);
1377 1.1.1.5.2.7 skrll
1378 1.1.1.5.2.7 skrll
1379 1.1 jruoho #endif /* __ASLCOMPILER_H */
1380