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