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