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