aslcompiler.h revision 1.4 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.2 christos /*
8 1.4 christos * Copyright (C) 2000 - 2016, Intel Corp.
9 1.1 jruoho * All rights reserved.
10 1.1 jruoho *
11 1.2 christos * Redistribution and use in source and binary forms, with or without
12 1.2 christos * modification, are permitted provided that the following conditions
13 1.2 christos * are met:
14 1.2 christos * 1. Redistributions of source code must retain the above copyright
15 1.2 christos * notice, this list of conditions, and the following disclaimer,
16 1.2 christos * without modification.
17 1.2 christos * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 1.2 christos * substantially similar to the "NO WARRANTY" disclaimer below
19 1.2 christos * ("Disclaimer") and any redistribution must be conditioned upon
20 1.2 christos * including a substantially similar Disclaimer requirement for further
21 1.2 christos * binary redistribution.
22 1.2 christos * 3. Neither the names of the above-listed copyright holders nor the names
23 1.2 christos * of any contributors may be used to endorse or promote products derived
24 1.2 christos * from this software without specific prior written permission.
25 1.2 christos *
26 1.2 christos * Alternatively, this software may be distributed under the terms of the
27 1.2 christos * GNU General Public License ("GPL") version 2 as published by the Free
28 1.2 christos * Software Foundation.
29 1.2 christos *
30 1.2 christos * NO WARRANTY
31 1.2 christos * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 1.2 christos * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 1.2 christos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 1.2 christos * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 1.2 christos * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 1.2 christos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 1.2 christos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 1.2 christos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 1.2 christos * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 1.2 christos * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 1.2 christos * POSSIBILITY OF SUCH DAMAGES.
42 1.2 christos */
43 1.1 jruoho
44 1.1 jruoho #ifndef __ASLCOMPILER_H
45 1.1 jruoho #define __ASLCOMPILER_H
46 1.1 jruoho
47 1.2 christos #include "acpi.h"
48 1.2 christos #include "accommon.h"
49 1.2 christos #include "amlresrc.h"
50 1.2 christos #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.2 christos #include "aslmessages.h"
75 1.1 jruoho #include "aslglobal.h"
76 1.2 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.2 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.2 christos AslResetCurrentLineBuffer (
98 1.1 jruoho void);
99 1.1 jruoho
100 1.1 jruoho void
101 1.2 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.2 christos void
114 1.2 christos AslParserCleanup (
115 1.2 christos void);
116 1.2 christos
117 1.2 christos
118 1.1 jruoho /*
119 1.2 christos * aslstartup - entered from main()
120 1.1 jruoho */
121 1.2 christos void
122 1.2 christos AslInitializeGlobals (
123 1.2 christos void);
124 1.2 christos
125 1.2 christos typedef
126 1.2 christos ACPI_STATUS (*ASL_PATHNAME_CALLBACK) (
127 1.2 christos char *);
128 1.1 jruoho
129 1.1 jruoho ACPI_STATUS
130 1.1 jruoho AslDoOneFile (
131 1.1 jruoho char *Filename);
132 1.1 jruoho
133 1.2 christos ACPI_STATUS
134 1.2 christos AslCheckForErrorExit (
135 1.2 christos void);
136 1.2 christos
137 1.2 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.2 christos void
162 1.2 christos CmDeleteCaches (
163 1.2 christos void);
164 1.2 christos
165 1.2 christos
166 1.2 christos /*
167 1.2 christos * aslascii - ascii support
168 1.2 christos */
169 1.2 christos ACPI_STATUS
170 1.4 christos FlIsFileAsciiSource (
171 1.2 christos char *Filename,
172 1.2 christos BOOLEAN DisplayErrors);
173 1.1 jruoho
174 1.1 jruoho
175 1.1 jruoho /*
176 1.2 christos * aslwalks - semantic analysis and parse tree walks
177 1.1 jruoho */
178 1.1 jruoho ACPI_STATUS
179 1.1 jruoho AnOtherSemanticAnalysisWalkBegin (
180 1.1 jruoho ACPI_PARSE_OBJECT *Op,
181 1.1 jruoho UINT32 Level,
182 1.1 jruoho void *Context);
183 1.1 jruoho
184 1.1 jruoho ACPI_STATUS
185 1.1 jruoho AnOtherSemanticAnalysisWalkEnd (
186 1.1 jruoho ACPI_PARSE_OBJECT *Op,
187 1.1 jruoho UINT32 Level,
188 1.1 jruoho void *Context);
189 1.1 jruoho
190 1.1 jruoho ACPI_STATUS
191 1.2 christos AnOperandTypecheckWalkEnd (
192 1.1 jruoho ACPI_PARSE_OBJECT *Op,
193 1.1 jruoho UINT32 Level,
194 1.1 jruoho void *Context);
195 1.1 jruoho
196 1.1 jruoho ACPI_STATUS
197 1.2 christos AnMethodTypingWalkEnd (
198 1.1 jruoho ACPI_PARSE_OBJECT *Op,
199 1.1 jruoho UINT32 Level,
200 1.1 jruoho void *Context);
201 1.1 jruoho
202 1.2 christos
203 1.2 christos /*
204 1.2 christos * aslmethod - Control method analysis walk
205 1.2 christos */
206 1.1 jruoho ACPI_STATUS
207 1.2 christos MtMethodAnalysisWalkBegin (
208 1.1 jruoho ACPI_PARSE_OBJECT *Op,
209 1.1 jruoho UINT32 Level,
210 1.1 jruoho void *Context);
211 1.1 jruoho
212 1.1 jruoho ACPI_STATUS
213 1.2 christos MtMethodAnalysisWalkEnd (
214 1.1 jruoho ACPI_PARSE_OBJECT *Op,
215 1.1 jruoho UINT32 Level,
216 1.1 jruoho void *Context);
217 1.1 jruoho
218 1.2 christos
219 1.2 christos /*
220 1.2 christos * aslbtypes - bitfield data types
221 1.2 christos */
222 1.2 christos UINT32
223 1.2 christos AnMapObjTypeToBtype (
224 1.2 christos ACPI_PARSE_OBJECT *Op);
225 1.2 christos
226 1.2 christos UINT32
227 1.2 christos AnMapArgTypeToBtype (
228 1.2 christos UINT32 ArgType);
229 1.2 christos
230 1.2 christos UINT32
231 1.2 christos AnGetBtype (
232 1.2 christos ACPI_PARSE_OBJECT *Op);
233 1.2 christos
234 1.2 christos void
235 1.2 christos AnFormatBtype (
236 1.2 christos char *Buffer,
237 1.2 christos UINT32 Btype);
238 1.2 christos
239 1.2 christos
240 1.2 christos /*
241 1.2 christos * aslanalyze - Support functions for parse tree walks
242 1.2 christos */
243 1.2 christos void
244 1.2 christos AnCheckId (
245 1.1 jruoho ACPI_PARSE_OBJECT *Op,
246 1.2 christos ACPI_NAME Type);
247 1.2 christos
248 1.2 christos /* Values for Type argument above */
249 1.2 christos
250 1.2 christos #define ASL_TYPE_HID 0
251 1.2 christos #define ASL_TYPE_CID 1
252 1.2 christos
253 1.2 christos BOOLEAN
254 1.2 christos AnIsInternalMethod (
255 1.2 christos ACPI_PARSE_OBJECT *Op);
256 1.2 christos
257 1.2 christos UINT32
258 1.2 christos AnGetInternalMethodReturnType (
259 1.2 christos ACPI_PARSE_OBJECT *Op);
260 1.2 christos
261 1.2 christos BOOLEAN
262 1.2 christos AnLastStatementIsReturn (
263 1.2 christos ACPI_PARSE_OBJECT *Op);
264 1.1 jruoho
265 1.2 christos void
266 1.2 christos AnCheckMethodReturnValue (
267 1.1 jruoho ACPI_PARSE_OBJECT *Op,
268 1.2 christos const ACPI_OPCODE_INFO *OpInfo,
269 1.2 christos ACPI_PARSE_OBJECT *ArgOp,
270 1.2 christos UINT32 RequiredBtypes,
271 1.2 christos UINT32 ThisNodeBtype);
272 1.2 christos
273 1.2 christos BOOLEAN
274 1.2 christos AnIsResultUsed (
275 1.2 christos ACPI_PARSE_OBJECT *Op);
276 1.2 christos
277 1.2 christos void
278 1.2 christos ApCheckForGpeNameConflict (
279 1.2 christos ACPI_PARSE_OBJECT *Op);
280 1.2 christos
281 1.2 christos void
282 1.2 christos ApCheckRegMethod (
283 1.2 christos ACPI_PARSE_OBJECT *Op);
284 1.2 christos
285 1.2 christos BOOLEAN
286 1.2 christos ApFindNameInScope (
287 1.2 christos char *Name,
288 1.2 christos ACPI_PARSE_OBJECT *Op);
289 1.1 jruoho
290 1.1 jruoho
291 1.1 jruoho /*
292 1.1 jruoho * aslerror - error handling/reporting
293 1.1 jruoho */
294 1.1 jruoho void
295 1.2 christos AslAbort (
296 1.2 christos void);
297 1.2 christos
298 1.2 christos void
299 1.1 jruoho AslError (
300 1.1 jruoho UINT8 Level,
301 1.2 christos UINT16 MessageId,
302 1.1 jruoho ACPI_PARSE_OBJECT *Op,
303 1.1 jruoho char *ExtraMessage);
304 1.1 jruoho
305 1.2 christos ACPI_STATUS
306 1.2 christos AslDisableException (
307 1.2 christos char *MessageIdString);
308 1.2 christos
309 1.2 christos BOOLEAN
310 1.2 christos AslIsExceptionDisabled (
311 1.2 christos UINT8 Level,
312 1.2 christos UINT16 MessageId);
313 1.2 christos
314 1.1 jruoho void
315 1.1 jruoho AslCoreSubsystemError (
316 1.1 jruoho ACPI_PARSE_OBJECT *Op,
317 1.1 jruoho ACPI_STATUS Status,
318 1.1 jruoho char *ExtraMessage,
319 1.1 jruoho BOOLEAN Abort);
320 1.1 jruoho
321 1.1 jruoho int
322 1.1 jruoho AslCompilererror(
323 1.2 christos const char *s);
324 1.1 jruoho
325 1.1 jruoho void
326 1.1 jruoho AslCommonError (
327 1.1 jruoho UINT8 Level,
328 1.2 christos UINT16 MessageId,
329 1.1 jruoho UINT32 CurrentLineNumber,
330 1.1 jruoho UINT32 LogicalLineNumber,
331 1.1 jruoho UINT32 LogicalByteOffset,
332 1.1 jruoho UINT32 Column,
333 1.1 jruoho char *Filename,
334 1.1 jruoho char *ExtraMessage);
335 1.1 jruoho
336 1.1 jruoho void
337 1.2 christos AslCommonError2 (
338 1.2 christos UINT8 Level,
339 1.2 christos UINT16 MessageId,
340 1.2 christos UINT32 LineNumber,
341 1.2 christos UINT32 Column,
342 1.2 christos char *SourceLine,
343 1.2 christos char *Filename,
344 1.2 christos char *ExtraMessage);
345 1.2 christos
346 1.2 christos void
347 1.1 jruoho AePrintException (
348 1.1 jruoho UINT32 FileId,
349 1.1 jruoho ASL_ERROR_MSG *Enode,
350 1.1 jruoho char *Header);
351 1.1 jruoho
352 1.1 jruoho void
353 1.1 jruoho AePrintErrorLog (
354 1.1 jruoho UINT32 FileId);
355 1.1 jruoho
356 1.1 jruoho void
357 1.1 jruoho AeClearErrorLog (
358 1.1 jruoho void);
359 1.1 jruoho
360 1.1 jruoho
361 1.1 jruoho /*
362 1.1 jruoho * asllisting - generate all "listing" type files
363 1.1 jruoho */
364 1.1 jruoho void
365 1.1 jruoho LsDoListings (
366 1.1 jruoho void);
367 1.1 jruoho
368 1.1 jruoho void
369 1.1 jruoho LsWriteNodeToAsmListing (
370 1.1 jruoho ACPI_PARSE_OBJECT *Op);
371 1.1 jruoho
372 1.1 jruoho void
373 1.1 jruoho LsWriteNode (
374 1.1 jruoho ACPI_PARSE_OBJECT *Op,
375 1.1 jruoho UINT32 FileId);
376 1.1 jruoho
377 1.1 jruoho void
378 1.2 christos LsDumpParseTree (
379 1.2 christos void);
380 1.2 christos
381 1.2 christos
382 1.2 christos /*
383 1.2 christos * asllistsup - Listing file support utilities
384 1.2 christos */
385 1.2 christos void
386 1.2 christos LsDumpAscii (
387 1.2 christos UINT32 FileId,
388 1.2 christos UINT32 Count,
389 1.2 christos UINT8 *Buffer);
390 1.2 christos
391 1.2 christos void
392 1.2 christos LsDumpAsciiInComment (
393 1.2 christos UINT32 FileId,
394 1.2 christos UINT32 Count,
395 1.2 christos UINT8 *Buffer);
396 1.2 christos
397 1.2 christos void
398 1.2 christos LsCheckException (
399 1.2 christos UINT32 LineNumber,
400 1.2 christos UINT32 FileId);
401 1.2 christos
402 1.2 christos void
403 1.2 christos LsFlushListingBuffer (
404 1.2 christos UINT32 FileId);
405 1.2 christos
406 1.2 christos void
407 1.2 christos LsWriteListingHexBytes (
408 1.2 christos UINT8 *Buffer,
409 1.2 christos UINT32 Length,
410 1.2 christos UINT32 FileId);
411 1.2 christos
412 1.2 christos void
413 1.2 christos LsWriteSourceLines (
414 1.2 christos UINT32 ToLineNumber,
415 1.2 christos UINT32 ToLogicalLineNumber,
416 1.2 christos UINT32 FileId);
417 1.2 christos
418 1.2 christos UINT32
419 1.2 christos LsWriteOneSourceLine (
420 1.2 christos UINT32 FileId);
421 1.2 christos
422 1.2 christos void
423 1.2 christos LsPushNode (
424 1.2 christos char *Filename);
425 1.2 christos
426 1.2 christos ASL_LISTING_NODE *
427 1.2 christos LsPopNode (
428 1.1 jruoho void);
429 1.1 jruoho
430 1.2 christos
431 1.2 christos /*
432 1.2 christos * aslhex - generate all "hex" output files (C, ASM, ASL)
433 1.2 christos */
434 1.1 jruoho void
435 1.2 christos HxDoHexOutput (
436 1.1 jruoho void);
437 1.1 jruoho
438 1.2 christos
439 1.1 jruoho /*
440 1.1 jruoho * aslfold - constant folding
441 1.1 jruoho */
442 1.1 jruoho ACPI_STATUS
443 1.1 jruoho OpcAmlConstantWalk (
444 1.1 jruoho ACPI_PARSE_OBJECT *Op,
445 1.1 jruoho UINT32 Level,
446 1.1 jruoho void *Context);
447 1.1 jruoho
448 1.1 jruoho
449 1.1 jruoho /*
450 1.2 christos * aslmessages - exception strings
451 1.2 christos */
452 1.2 christos const char *
453 1.2 christos AeDecodeMessageId (
454 1.2 christos UINT16 MessageId);
455 1.2 christos
456 1.2 christos const char *
457 1.2 christos AeDecodeExceptionLevel (
458 1.2 christos UINT8 Level);
459 1.2 christos
460 1.2 christos UINT16
461 1.2 christos AeBuildFullExceptionCode (
462 1.2 christos UINT8 Level,
463 1.2 christos UINT16 MessageId);
464 1.2 christos
465 1.2 christos /*
466 1.2 christos * asloffset - generate C offset file for BIOS support
467 1.2 christos */
468 1.2 christos ACPI_STATUS
469 1.2 christos LsAmlOffsetWalk (
470 1.2 christos ACPI_PARSE_OBJECT *Op,
471 1.2 christos UINT32 Level,
472 1.2 christos void *Context);
473 1.2 christos
474 1.2 christos void
475 1.2 christos LsDoOffsetTableHeader (
476 1.2 christos UINT32 FileId);
477 1.2 christos
478 1.2 christos void
479 1.2 christos LsDoOffsetTableFooter (
480 1.2 christos UINT32 FileId);
481 1.2 christos
482 1.2 christos
483 1.2 christos /*
484 1.1 jruoho * aslopcodes - generate AML opcodes
485 1.1 jruoho */
486 1.1 jruoho ACPI_STATUS
487 1.1 jruoho OpcAmlOpcodeWalk (
488 1.1 jruoho ACPI_PARSE_OBJECT *Op,
489 1.1 jruoho UINT32 Level,
490 1.1 jruoho void *Context);
491 1.1 jruoho
492 1.1 jruoho ACPI_STATUS
493 1.1 jruoho OpcAmlOpcodeUpdateWalk (
494 1.1 jruoho ACPI_PARSE_OBJECT *Op,
495 1.1 jruoho UINT32 Level,
496 1.1 jruoho void *Context);
497 1.1 jruoho
498 1.1 jruoho void
499 1.1 jruoho OpcGenerateAmlOpcode (
500 1.1 jruoho ACPI_PARSE_OBJECT *Op);
501 1.1 jruoho
502 1.1 jruoho UINT32
503 1.1 jruoho OpcSetOptimalIntegerSize (
504 1.1 jruoho ACPI_PARSE_OBJECT *Op);
505 1.1 jruoho
506 1.1 jruoho void
507 1.1 jruoho OpcGetIntegerWidth (
508 1.1 jruoho ACPI_PARSE_OBJECT *Op);
509 1.1 jruoho
510 1.1 jruoho
511 1.1 jruoho /*
512 1.1 jruoho * asloperands - generate AML operands for the AML opcodes
513 1.1 jruoho */
514 1.1 jruoho ACPI_PARSE_OBJECT *
515 1.1 jruoho UtGetArg (
516 1.1 jruoho ACPI_PARSE_OBJECT *Op,
517 1.1 jruoho UINT32 Argn);
518 1.1 jruoho
519 1.1 jruoho void
520 1.1 jruoho OpnGenerateAmlOperands (
521 1.1 jruoho ACPI_PARSE_OBJECT *Op);
522 1.1 jruoho
523 1.1 jruoho void
524 1.1 jruoho OpnDoPackage (
525 1.1 jruoho ACPI_PARSE_OBJECT *Op);
526 1.1 jruoho
527 1.1 jruoho
528 1.1 jruoho /*
529 1.1 jruoho * aslopt - optmization
530 1.1 jruoho */
531 1.1 jruoho void
532 1.1 jruoho OptOptimizeNamePath (
533 1.1 jruoho ACPI_PARSE_OBJECT *Op,
534 1.1 jruoho UINT32 Flags,
535 1.1 jruoho ACPI_WALK_STATE *WalkState,
536 1.1 jruoho char *AmlNameString,
537 1.1 jruoho ACPI_NAMESPACE_NODE *TargetNode);
538 1.1 jruoho
539 1.1 jruoho
540 1.1 jruoho /*
541 1.2 christos * aslprintf - Printf/Fprintf macros
542 1.2 christos */
543 1.2 christos void
544 1.2 christos OpcDoPrintf (
545 1.2 christos ACPI_PARSE_OBJECT *Op);
546 1.2 christos
547 1.2 christos void
548 1.2 christos OpcDoFprintf (
549 1.2 christos ACPI_PARSE_OBJECT *Op);
550 1.2 christos
551 1.2 christos
552 1.2 christos /*
553 1.2 christos * aslprune - parse tree pruner
554 1.2 christos */
555 1.2 christos void
556 1.2 christos AslPruneParseTree (
557 1.2 christos UINT32 PruneDepth,
558 1.2 christos UINT32 Type);
559 1.2 christos
560 1.2 christos
561 1.2 christos /*
562 1.1 jruoho * aslcodegen - code generation
563 1.1 jruoho */
564 1.1 jruoho void
565 1.1 jruoho CgGenerateAmlOutput (
566 1.1 jruoho void);
567 1.1 jruoho
568 1.1 jruoho
569 1.1 jruoho /*
570 1.1 jruoho * aslfile
571 1.1 jruoho */
572 1.1 jruoho void
573 1.1 jruoho FlOpenFile (
574 1.1 jruoho UINT32 FileId,
575 1.1 jruoho char *Filename,
576 1.1 jruoho char *Mode);
577 1.1 jruoho
578 1.1 jruoho
579 1.1 jruoho /*
580 1.1 jruoho * asllength - calculate/adjust AML package lengths
581 1.1 jruoho */
582 1.1 jruoho ACPI_STATUS
583 1.1 jruoho LnPackageLengthWalk (
584 1.1 jruoho ACPI_PARSE_OBJECT *Op,
585 1.1 jruoho UINT32 Level,
586 1.1 jruoho void *Context);
587 1.1 jruoho
588 1.1 jruoho ACPI_STATUS
589 1.1 jruoho LnInitLengthsWalk (
590 1.1 jruoho ACPI_PARSE_OBJECT *Op,
591 1.1 jruoho UINT32 Level,
592 1.1 jruoho void *Context);
593 1.1 jruoho
594 1.1 jruoho void
595 1.1 jruoho CgGenerateAmlLengths (
596 1.1 jruoho ACPI_PARSE_OBJECT *Op);
597 1.1 jruoho
598 1.1 jruoho
599 1.1 jruoho /*
600 1.1 jruoho * aslmap - opcode mappings and reserved method names
601 1.1 jruoho */
602 1.1 jruoho ACPI_OBJECT_TYPE
603 1.1 jruoho AslMapNamedOpcodeToDataType (
604 1.1 jruoho UINT16 Opcode);
605 1.1 jruoho
606 1.1 jruoho
607 1.1 jruoho /*
608 1.1 jruoho * aslpredef - ACPI predefined names support
609 1.1 jruoho */
610 1.2 christos BOOLEAN
611 1.1 jruoho ApCheckForPredefinedMethod (
612 1.1 jruoho ACPI_PARSE_OBJECT *Op,
613 1.1 jruoho ASL_METHOD_INFO *MethodInfo);
614 1.1 jruoho
615 1.1 jruoho void
616 1.1 jruoho ApCheckPredefinedReturnValue (
617 1.1 jruoho ACPI_PARSE_OBJECT *Op,
618 1.1 jruoho ASL_METHOD_INFO *MethodInfo);
619 1.1 jruoho
620 1.1 jruoho UINT32
621 1.1 jruoho ApCheckForPredefinedName (
622 1.1 jruoho ACPI_PARSE_OBJECT *Op,
623 1.1 jruoho char *Name);
624 1.1 jruoho
625 1.1 jruoho void
626 1.1 jruoho ApCheckForPredefinedObject (
627 1.1 jruoho ACPI_PARSE_OBJECT *Op,
628 1.1 jruoho char *Name);
629 1.1 jruoho
630 1.2 christos ACPI_STATUS
631 1.2 christos ApCheckObjectType (
632 1.2 christos const char *PredefinedName,
633 1.2 christos ACPI_PARSE_OBJECT *Op,
634 1.2 christos UINT32 ExpectedBtypes,
635 1.2 christos UINT32 PackageIndex);
636 1.2 christos
637 1.1 jruoho void
638 1.1 jruoho ApDisplayReservedNames (
639 1.1 jruoho void);
640 1.1 jruoho
641 1.1 jruoho
642 1.1 jruoho /*
643 1.2 christos * aslprepkg - ACPI predefined names support for packages
644 1.2 christos */
645 1.2 christos void
646 1.2 christos ApCheckPackage (
647 1.2 christos ACPI_PARSE_OBJECT *ParentOp,
648 1.2 christos const ACPI_PREDEFINED_INFO *Predefined);
649 1.2 christos
650 1.2 christos
651 1.2 christos /*
652 1.1 jruoho * asltransform - parse tree transformations
653 1.1 jruoho */
654 1.1 jruoho ACPI_STATUS
655 1.1 jruoho TrAmlTransformWalk (
656 1.1 jruoho ACPI_PARSE_OBJECT *Op,
657 1.1 jruoho UINT32 Level,
658 1.1 jruoho void *Context);
659 1.1 jruoho
660 1.1 jruoho
661 1.1 jruoho /*
662 1.1 jruoho * asltree - parse tree support
663 1.1 jruoho */
664 1.1 jruoho ACPI_STATUS
665 1.1 jruoho TrWalkParseTree (
666 1.1 jruoho ACPI_PARSE_OBJECT *Op,
667 1.1 jruoho UINT32 Visitation,
668 1.1 jruoho ASL_WALK_CALLBACK DescendingCallback,
669 1.1 jruoho ASL_WALK_CALLBACK AscendingCallback,
670 1.1 jruoho void *Context);
671 1.1 jruoho
672 1.1 jruoho /* Values for "Visitation" parameter above */
673 1.1 jruoho
674 1.1 jruoho #define ASL_WALK_VISIT_DOWNWARD 0x01
675 1.1 jruoho #define ASL_WALK_VISIT_UPWARD 0x02
676 1.1 jruoho #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD)
677 1.1 jruoho
678 1.1 jruoho
679 1.1 jruoho ACPI_PARSE_OBJECT *
680 1.1 jruoho TrAllocateNode (
681 1.1 jruoho UINT32 ParseOpcode);
682 1.1 jruoho
683 1.1 jruoho void
684 1.2 christos TrPrintNodeCompileFlags (
685 1.2 christos UINT32 Flags);
686 1.2 christos
687 1.2 christos void
688 1.1 jruoho TrReleaseNode (
689 1.1 jruoho ACPI_PARSE_OBJECT *Op);
690 1.1 jruoho
691 1.1 jruoho ACPI_PARSE_OBJECT *
692 1.1 jruoho TrUpdateNode (
693 1.1 jruoho UINT32 ParseOpcode,
694 1.1 jruoho ACPI_PARSE_OBJECT *Op);
695 1.1 jruoho
696 1.1 jruoho ACPI_PARSE_OBJECT *
697 1.1 jruoho TrCreateNode (
698 1.1 jruoho UINT32 ParseOpcode,
699 1.1 jruoho UINT32 NumChildren,
700 1.1 jruoho ...);
701 1.1 jruoho
702 1.1 jruoho ACPI_PARSE_OBJECT *
703 1.1 jruoho TrCreateLeafNode (
704 1.1 jruoho UINT32 ParseOpcode);
705 1.1 jruoho
706 1.1 jruoho ACPI_PARSE_OBJECT *
707 1.2 christos TrCreateNullTarget (
708 1.2 christos void);
709 1.2 christos
710 1.2 christos ACPI_PARSE_OBJECT *
711 1.2 christos TrCreateAssignmentNode (
712 1.2 christos ACPI_PARSE_OBJECT *Target,
713 1.2 christos ACPI_PARSE_OBJECT *Source);
714 1.2 christos
715 1.2 christos ACPI_PARSE_OBJECT *
716 1.2 christos TrCreateTargetOperand (
717 1.2 christos ACPI_PARSE_OBJECT *OriginalOp,
718 1.2 christos ACPI_PARSE_OBJECT *ParentOp);
719 1.2 christos
720 1.2 christos ACPI_PARSE_OBJECT *
721 1.1 jruoho TrCreateValuedLeafNode (
722 1.1 jruoho UINT32 ParseOpcode,
723 1.1 jruoho UINT64 Value);
724 1.1 jruoho
725 1.1 jruoho ACPI_PARSE_OBJECT *
726 1.2 christos TrCreateConstantLeafNode (
727 1.2 christos UINT32 ParseOpcode);
728 1.2 christos
729 1.2 christos ACPI_PARSE_OBJECT *
730 1.1 jruoho TrLinkChildren (
731 1.1 jruoho ACPI_PARSE_OBJECT *Op,
732 1.1 jruoho UINT32 NumChildren,
733 1.1 jruoho ...);
734 1.1 jruoho
735 1.1 jruoho void
736 1.1 jruoho TrSetEndLineNumber (
737 1.1 jruoho ACPI_PARSE_OBJECT *Op);
738 1.1 jruoho
739 1.1 jruoho void
740 1.4 christos TrSetCurrentFilename (
741 1.4 christos ACPI_PARSE_OBJECT *Op);
742 1.4 christos
743 1.4 christos 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.2 christos TrSetNodeAmlLength (
764 1.2 christos ACPI_PARSE_OBJECT *Op,
765 1.2 christos UINT32 Length);
766 1.2 christos
767 1.2 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.2 christos char *
781 1.2 christos FlMergePathnames (
782 1.2 christos char *PrefixDir,
783 1.2 christos char *FilePathname);
784 1.2 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.2 christos FlDeleteFile (
827 1.2 christos UINT32 FileId);
828 1.2 christos
829 1.2 christos void
830 1.1 jruoho FlSetLineNumber (
831 1.2 christos UINT32 LineNumber);
832 1.2 christos
833 1.2 christos void
834 1.2 christos FlSetFilename (
835 1.2 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.2 christos /*
850 1.2 christos * aslhwmap - hardware map summary
851 1.2 christos */
852 1.2 christos void
853 1.2 christos MpEmitMappingInfo (
854 1.2 christos void);
855 1.2 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.2 christos * asllookup - namespace lookup functions
867 1.2 christos */
868 1.2 christos void
869 1.2 christos LkFindUnreferencedObjects (
870 1.2 christos void);
871 1.2 christos
872 1.2 christos /*
873 1.2 christos * aslmain - startup
874 1.2 christos */
875 1.2 christos void
876 1.2 christos Usage (
877 1.2 christos void);
878 1.2 christos
879 1.2 christos void
880 1.2 christos AslFilenameHelp (
881 1.2 christos void);
882 1.2 christos
883 1.2 christos
884 1.2 christos /*
885 1.2 christos * aslnamesp - namespace output file generation
886 1.1 jruoho */
887 1.1 jruoho ACPI_STATUS
888 1.2 christos NsDisplayNamespace (
889 1.1 jruoho void);
890 1.1 jruoho
891 1.1 jruoho void
892 1.2 christos NsSetupNamespaceListing (
893 1.2 christos void *Handle);
894 1.2 christos
895 1.2 christos /*
896 1.2 christos * asloptions - command line processing
897 1.2 christos */
898 1.2 christos int
899 1.2 christos AslCommandLine (
900 1.2 christos int argc,
901 1.2 christos char **argv);
902 1.1 jruoho
903 1.2 christos /*
904 1.2 christos * aslxref - namespace cross reference
905 1.2 christos */
906 1.1 jruoho ACPI_STATUS
907 1.2 christos XfCrossReferenceNamespace (
908 1.1 jruoho void);
909 1.1 jruoho
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.4 christos BOOLEAN
927 1.4 christos UtQueryForOverwrite (
928 1.4 christos char *Pathname);
929 1.4 christos
930 1.1 jruoho void
931 1.2 christos UtDisplaySupportedTables (
932 1.2 christos void);
933 1.2 christos
934 1.2 christos void
935 1.1 jruoho UtDisplayConstantOpcodes (
936 1.1 jruoho void);
937 1.1 jruoho
938 1.1 jruoho UINT8
939 1.1 jruoho UtBeginEvent (
940 1.1 jruoho char *Name);
941 1.1 jruoho
942 1.1 jruoho void
943 1.1 jruoho UtEndEvent (
944 1.1 jruoho UINT8 Event);
945 1.1 jruoho
946 1.1 jruoho void *
947 1.1 jruoho UtLocalCalloc (
948 1.1 jruoho UINT32 Size);
949 1.1 jruoho
950 1.1 jruoho void
951 1.2 christos UtLocalFree (
952 1.2 christos void *Allocated,
953 1.2 christos UINT32 Size);
954 1.2 christos
955 1.2 christos void
956 1.1 jruoho UtPrintFormattedName (
957 1.1 jruoho UINT16 ParseOpcode,
958 1.1 jruoho UINT32 Level);
959 1.1 jruoho
960 1.1 jruoho void
961 1.1 jruoho UtDisplaySummary (
962 1.1 jruoho UINT32 FileId);
963 1.1 jruoho
964 1.1 jruoho void
965 1.1 jruoho UtConvertByteToHex (
966 1.1 jruoho UINT8 RawByte,
967 1.1 jruoho UINT8 *Buffer);
968 1.1 jruoho
969 1.1 jruoho void
970 1.1 jruoho UtConvertByteToAsmHex (
971 1.1 jruoho UINT8 RawByte,
972 1.1 jruoho UINT8 *Buffer);
973 1.1 jruoho
974 1.1 jruoho char *
975 1.1 jruoho UtGetOpName (
976 1.1 jruoho UINT32 ParseOpcode);
977 1.1 jruoho
978 1.1 jruoho void
979 1.1 jruoho UtSetParseOpName (
980 1.1 jruoho ACPI_PARSE_OBJECT *Op);
981 1.1 jruoho
982 1.1 jruoho char *
983 1.2 christos UtStringCacheCalloc (
984 1.1 jruoho UINT32 Length);
985 1.1 jruoho
986 1.2 christos void
987 1.2 christos UtExpandLineBuffers (
988 1.2 christos void);
989 1.2 christos
990 1.2 christos void
991 1.2 christos UtFreeLineBuffers (
992 1.2 christos void);
993 1.2 christos
994 1.1 jruoho ACPI_STATUS
995 1.1 jruoho UtInternalizeName (
996 1.1 jruoho char *ExternalName,
997 1.1 jruoho char **ConvertedName);
998 1.1 jruoho
999 1.1 jruoho void
1000 1.1 jruoho UtAttachNamepathToOwner (
1001 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1002 1.1 jruoho ACPI_PARSE_OBJECT *NameNode);
1003 1.1 jruoho
1004 1.1 jruoho ACPI_PARSE_OBJECT *
1005 1.1 jruoho UtCheckIntegerRange (
1006 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1007 1.1 jruoho UINT32 LowValue,
1008 1.1 jruoho UINT32 HighValue);
1009 1.1 jruoho
1010 1.1 jruoho UINT64
1011 1.1 jruoho UtDoConstant (
1012 1.1 jruoho char *String);
1013 1.1 jruoho
1014 1.2 christos ACPI_STATUS
1015 1.3 christos stroul64 (
1016 1.2 christos char *String,
1017 1.2 christos UINT32 Base,
1018 1.2 christos UINT64 *RetInteger);
1019 1.2 christos
1020 1.2 christos
1021 1.2 christos /*
1022 1.2 christos * asluuid - UUID support
1023 1.2 christos */
1024 1.2 christos ACPI_STATUS
1025 1.2 christos AuValidateUuid (
1026 1.2 christos char *InString);
1027 1.2 christos
1028 1.2 christos ACPI_STATUS
1029 1.2 christos AuConvertUuidToString (
1030 1.2 christos char *UuIdBuffer,
1031 1.2 christos char *OutString);
1032 1.1 jruoho
1033 1.1 jruoho /*
1034 1.1 jruoho * aslresource - Resource template generation utilities
1035 1.1 jruoho */
1036 1.1 jruoho void
1037 1.1 jruoho RsSmallAddressCheck (
1038 1.1 jruoho UINT8 Type,
1039 1.1 jruoho UINT32 Minimum,
1040 1.1 jruoho UINT32 Maximum,
1041 1.1 jruoho UINT32 Length,
1042 1.1 jruoho UINT32 Alignment,
1043 1.1 jruoho ACPI_PARSE_OBJECT *MinOp,
1044 1.1 jruoho ACPI_PARSE_OBJECT *MaxOp,
1045 1.1 jruoho ACPI_PARSE_OBJECT *LengthOp,
1046 1.2 christos ACPI_PARSE_OBJECT *AlignOp,
1047 1.2 christos ACPI_PARSE_OBJECT *Op);
1048 1.1 jruoho
1049 1.1 jruoho void
1050 1.1 jruoho RsLargeAddressCheck (
1051 1.1 jruoho UINT64 Minimum,
1052 1.1 jruoho UINT64 Maximum,
1053 1.1 jruoho UINT64 Length,
1054 1.1 jruoho UINT64 Granularity,
1055 1.1 jruoho UINT8 Flags,
1056 1.1 jruoho ACPI_PARSE_OBJECT *MinOp,
1057 1.1 jruoho ACPI_PARSE_OBJECT *MaxOp,
1058 1.1 jruoho ACPI_PARSE_OBJECT *LengthOp,
1059 1.2 christos ACPI_PARSE_OBJECT *GranOp,
1060 1.2 christos ACPI_PARSE_OBJECT *Op);
1061 1.1 jruoho
1062 1.1 jruoho UINT16
1063 1.1 jruoho RsGetStringDataLength (
1064 1.1 jruoho ACPI_PARSE_OBJECT *InitializerOp);
1065 1.1 jruoho
1066 1.1 jruoho ASL_RESOURCE_NODE *
1067 1.1 jruoho RsAllocateResourceNode (
1068 1.1 jruoho UINT32 Size);
1069 1.1 jruoho
1070 1.1 jruoho void
1071 1.2 christos RsCreateResourceField (
1072 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1073 1.1 jruoho char *Name,
1074 1.1 jruoho UINT32 ByteOffset,
1075 1.2 christos UINT32 BitOffset,
1076 1.2 christos UINT32 BitLength);
1077 1.1 jruoho
1078 1.1 jruoho void
1079 1.2 christos RsSetFlagBits (
1080 1.2 christos UINT8 *Flags,
1081 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1082 1.2 christos UINT8 Position,
1083 1.2 christos UINT8 DefaultBit);
1084 1.1 jruoho
1085 1.1 jruoho void
1086 1.2 christos RsSetFlagBits16 (
1087 1.2 christos UINT16 *Flags,
1088 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1089 1.1 jruoho UINT8 Position,
1090 1.1 jruoho UINT8 DefaultBit);
1091 1.1 jruoho
1092 1.1 jruoho ACPI_PARSE_OBJECT *
1093 1.1 jruoho RsCompleteNodeAndGetNext (
1094 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1095 1.1 jruoho
1096 1.1 jruoho void
1097 1.1 jruoho RsCheckListForDuplicates (
1098 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1099 1.1 jruoho
1100 1.1 jruoho ASL_RESOURCE_NODE *
1101 1.1 jruoho RsDoOneResourceDescriptor (
1102 1.2 christos ASL_RESOURCE_INFO *Info,
1103 1.1 jruoho UINT8 *State);
1104 1.1 jruoho
1105 1.1 jruoho /* Values for State above */
1106 1.1 jruoho
1107 1.1 jruoho #define ACPI_RSTATE_NORMAL 0
1108 1.1 jruoho #define ACPI_RSTATE_START_DEPENDENT 1
1109 1.1 jruoho #define ACPI_RSTATE_DEPENDENT_LIST 2
1110 1.1 jruoho
1111 1.1 jruoho UINT32
1112 1.1 jruoho RsLinkDescriptorChain (
1113 1.1 jruoho ASL_RESOURCE_NODE **PreviousRnode,
1114 1.1 jruoho ASL_RESOURCE_NODE *Rnode);
1115 1.1 jruoho
1116 1.1 jruoho void
1117 1.1 jruoho RsDoResourceTemplate (
1118 1.1 jruoho ACPI_PARSE_OBJECT *Op);
1119 1.1 jruoho
1120 1.1 jruoho
1121 1.1 jruoho /*
1122 1.1 jruoho * aslrestype1 - Miscellaneous Small descriptors
1123 1.1 jruoho */
1124 1.1 jruoho ASL_RESOURCE_NODE *
1125 1.1 jruoho RsDoEndTagDescriptor (
1126 1.2 christos ASL_RESOURCE_INFO *Info);
1127 1.1 jruoho
1128 1.1 jruoho ASL_RESOURCE_NODE *
1129 1.1 jruoho RsDoEndDependentDescriptor (
1130 1.2 christos ASL_RESOURCE_INFO *Info);
1131 1.1 jruoho
1132 1.1 jruoho ASL_RESOURCE_NODE *
1133 1.1 jruoho RsDoMemory24Descriptor (
1134 1.2 christos ASL_RESOURCE_INFO *Info);
1135 1.1 jruoho
1136 1.1 jruoho ASL_RESOURCE_NODE *
1137 1.1 jruoho RsDoMemory32Descriptor (
1138 1.2 christos ASL_RESOURCE_INFO *Info);
1139 1.1 jruoho
1140 1.1 jruoho ASL_RESOURCE_NODE *
1141 1.1 jruoho RsDoMemory32FixedDescriptor (
1142 1.2 christos ASL_RESOURCE_INFO *Info);
1143 1.1 jruoho
1144 1.1 jruoho ASL_RESOURCE_NODE *
1145 1.1 jruoho RsDoStartDependentDescriptor (
1146 1.2 christos ASL_RESOURCE_INFO *Info);
1147 1.1 jruoho
1148 1.1 jruoho ASL_RESOURCE_NODE *
1149 1.1 jruoho RsDoStartDependentNoPriDescriptor (
1150 1.2 christos ASL_RESOURCE_INFO *Info);
1151 1.1 jruoho
1152 1.1 jruoho ASL_RESOURCE_NODE *
1153 1.1 jruoho RsDoVendorSmallDescriptor (
1154 1.2 christos ASL_RESOURCE_INFO *Info);
1155 1.1 jruoho
1156 1.1 jruoho
1157 1.1 jruoho /*
1158 1.1 jruoho * aslrestype1i - I/O-related Small descriptors
1159 1.1 jruoho */
1160 1.1 jruoho ASL_RESOURCE_NODE *
1161 1.1 jruoho RsDoDmaDescriptor (
1162 1.2 christos ASL_RESOURCE_INFO *Info);
1163 1.2 christos
1164 1.2 christos ASL_RESOURCE_NODE *
1165 1.2 christos RsDoFixedDmaDescriptor (
1166 1.2 christos ASL_RESOURCE_INFO *Info);
1167 1.1 jruoho
1168 1.1 jruoho ASL_RESOURCE_NODE *
1169 1.1 jruoho RsDoFixedIoDescriptor (
1170 1.2 christos ASL_RESOURCE_INFO *Info);
1171 1.1 jruoho
1172 1.1 jruoho ASL_RESOURCE_NODE *
1173 1.1 jruoho RsDoIoDescriptor (
1174 1.2 christos ASL_RESOURCE_INFO *Info);
1175 1.1 jruoho
1176 1.1 jruoho ASL_RESOURCE_NODE *
1177 1.1 jruoho RsDoIrqDescriptor (
1178 1.2 christos ASL_RESOURCE_INFO *Info);
1179 1.1 jruoho
1180 1.1 jruoho ASL_RESOURCE_NODE *
1181 1.1 jruoho RsDoIrqNoFlagsDescriptor (
1182 1.2 christos ASL_RESOURCE_INFO *Info);
1183 1.1 jruoho
1184 1.1 jruoho
1185 1.1 jruoho /*
1186 1.1 jruoho * aslrestype2 - Large resource descriptors
1187 1.1 jruoho */
1188 1.1 jruoho ASL_RESOURCE_NODE *
1189 1.1 jruoho RsDoInterruptDescriptor (
1190 1.2 christos ASL_RESOURCE_INFO *Info);
1191 1.1 jruoho
1192 1.1 jruoho ASL_RESOURCE_NODE *
1193 1.1 jruoho RsDoVendorLargeDescriptor (
1194 1.2 christos ASL_RESOURCE_INFO *Info);
1195 1.1 jruoho
1196 1.1 jruoho ASL_RESOURCE_NODE *
1197 1.1 jruoho RsDoGeneralRegisterDescriptor (
1198 1.2 christos ASL_RESOURCE_INFO *Info);
1199 1.2 christos
1200 1.2 christos ASL_RESOURCE_NODE *
1201 1.2 christos RsDoGpioIntDescriptor (
1202 1.2 christos ASL_RESOURCE_INFO *Info);
1203 1.2 christos
1204 1.2 christos ASL_RESOURCE_NODE *
1205 1.2 christos RsDoGpioIoDescriptor (
1206 1.2 christos ASL_RESOURCE_INFO *Info);
1207 1.2 christos
1208 1.2 christos ASL_RESOURCE_NODE *
1209 1.2 christos RsDoI2cSerialBusDescriptor (
1210 1.2 christos ASL_RESOURCE_INFO *Info);
1211 1.2 christos
1212 1.2 christos ASL_RESOURCE_NODE *
1213 1.2 christos RsDoSpiSerialBusDescriptor (
1214 1.2 christos ASL_RESOURCE_INFO *Info);
1215 1.1 jruoho
1216 1.2 christos ASL_RESOURCE_NODE *
1217 1.2 christos RsDoUartSerialBusDescriptor (
1218 1.2 christos ASL_RESOURCE_INFO *Info);
1219 1.1 jruoho
1220 1.1 jruoho /*
1221 1.1 jruoho * aslrestype2d - DWord address descriptors
1222 1.1 jruoho */
1223 1.1 jruoho ASL_RESOURCE_NODE *
1224 1.1 jruoho RsDoDwordIoDescriptor (
1225 1.2 christos ASL_RESOURCE_INFO *Info);
1226 1.1 jruoho
1227 1.1 jruoho ASL_RESOURCE_NODE *
1228 1.1 jruoho RsDoDwordMemoryDescriptor (
1229 1.2 christos ASL_RESOURCE_INFO *Info);
1230 1.1 jruoho
1231 1.1 jruoho ASL_RESOURCE_NODE *
1232 1.1 jruoho RsDoDwordSpaceDescriptor (
1233 1.2 christos ASL_RESOURCE_INFO *Info);
1234 1.1 jruoho
1235 1.1 jruoho
1236 1.1 jruoho /*
1237 1.1 jruoho * aslrestype2e - Extended address descriptors
1238 1.1 jruoho */
1239 1.1 jruoho ASL_RESOURCE_NODE *
1240 1.1 jruoho RsDoExtendedIoDescriptor (
1241 1.2 christos ASL_RESOURCE_INFO *Info);
1242 1.1 jruoho
1243 1.1 jruoho ASL_RESOURCE_NODE *
1244 1.1 jruoho RsDoExtendedMemoryDescriptor (
1245 1.2 christos ASL_RESOURCE_INFO *Info);
1246 1.1 jruoho
1247 1.1 jruoho ASL_RESOURCE_NODE *
1248 1.1 jruoho RsDoExtendedSpaceDescriptor (
1249 1.2 christos ASL_RESOURCE_INFO *Info);
1250 1.1 jruoho
1251 1.1 jruoho
1252 1.1 jruoho /*
1253 1.1 jruoho * aslrestype2q - QWord address descriptors
1254 1.1 jruoho */
1255 1.1 jruoho ASL_RESOURCE_NODE *
1256 1.1 jruoho RsDoQwordIoDescriptor (
1257 1.2 christos ASL_RESOURCE_INFO *Info);
1258 1.1 jruoho
1259 1.1 jruoho ASL_RESOURCE_NODE *
1260 1.1 jruoho RsDoQwordMemoryDescriptor (
1261 1.2 christos ASL_RESOURCE_INFO *Info);
1262 1.1 jruoho
1263 1.1 jruoho ASL_RESOURCE_NODE *
1264 1.1 jruoho RsDoQwordSpaceDescriptor (
1265 1.2 christos ASL_RESOURCE_INFO *Info);
1266 1.1 jruoho
1267 1.1 jruoho
1268 1.1 jruoho /*
1269 1.1 jruoho * aslrestype2w - Word address descriptors
1270 1.1 jruoho */
1271 1.1 jruoho ASL_RESOURCE_NODE *
1272 1.1 jruoho RsDoWordIoDescriptor (
1273 1.2 christos ASL_RESOURCE_INFO *Info);
1274 1.1 jruoho
1275 1.1 jruoho ASL_RESOURCE_NODE *
1276 1.1 jruoho RsDoWordSpaceDescriptor (
1277 1.2 christos ASL_RESOURCE_INFO *Info);
1278 1.1 jruoho
1279 1.1 jruoho ASL_RESOURCE_NODE *
1280 1.1 jruoho RsDoWordBusNumberDescriptor (
1281 1.2 christos ASL_RESOURCE_INFO *Info);
1282 1.2 christos
1283 1.1 jruoho
1284 1.1 jruoho /*
1285 1.1 jruoho * Entry to data table compiler subsystem
1286 1.1 jruoho */
1287 1.1 jruoho ACPI_STATUS
1288 1.1 jruoho DtDoCompile(
1289 1.1 jruoho void);
1290 1.1 jruoho
1291 1.2 christos ACPI_STATUS
1292 1.2 christos DtCreateTemplates (
1293 1.4 christos char **argv);
1294 1.2 christos
1295 1.1 jruoho #endif /* __ASLCOMPILER_H */
1296