aslcompiler.h revision 1.1.1.3.12.1 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.3.12.1 tls * 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.3.12.1 tls #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.3.12.1 tls * 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.3.12.1 tls AslResetCurrentLineBuffer (
99 1.1 jruoho void);
100 1.1 jruoho
101 1.1 jruoho void
102 1.1.1.3.12.1 tls 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.3.12.1 tls ACPI_STATUS
130 1.1.1.3.12.1 tls AslCheckForErrorExit (
131 1.1.1.3.12.1 tls void);
132 1.1.1.3.12.1 tls
133 1.1.1.3.12.1 tls
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.3.12.1 tls FlCheckForAcpiTable (
159 1.1.1.3.12.1 tls FILE *Handle);
160 1.1.1.3.12.1 tls
161 1.1.1.3.12.1 tls ACPI_STATUS
162 1.1 jruoho FlCheckForAscii (
163 1.1.1.3.12.1 tls FILE *Handle,
164 1.1.1.3.12.1 tls char *Filename,
165 1.1.1.3.12.1 tls 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.3.12.1 tls 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.3.12.1 tls
196 1.1.1.3.12.1 tls /*
197 1.1.1.3.12.1 tls * aslmethod - Control method analysis walk
198 1.1.1.3.12.1 tls */
199 1.1 jruoho ACPI_STATUS
200 1.1.1.3.12.1 tls 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.3.12.1 tls 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.3.12.1 tls ACPI_STATUS
290 1.1.1.3.12.1 tls AslDisableException (
291 1.1.1.3.12.1 tls char *MessageIdString);
292 1.1.1.3.12.1 tls
293 1.1.1.3.12.1 tls BOOLEAN
294 1.1.1.3.12.1 tls AslIsExceptionDisabled (
295 1.1.1.3.12.1 tls UINT8 Level,
296 1.1.1.3.12.1 tls UINT8 MessageId);
297 1.1.1.3.12.1 tls
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.3.12.1 tls AslCommonError2 (
322 1.1.1.3.12.1 tls UINT8 Level,
323 1.1.1.3.12.1 tls UINT8 MessageId,
324 1.1.1.3.12.1 tls UINT32 LineNumber,
325 1.1.1.3.12.1 tls UINT32 Column,
326 1.1.1.3.12.1 tls char *SourceLine,
327 1.1.1.3.12.1 tls char *Filename,
328 1.1.1.3.12.1 tls char *ExtraMessage);
329 1.1.1.3.12.1 tls
330 1.1.1.3.12.1 tls 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.3.12.1 tls LsDumpParseTree (
367 1.1 jruoho void);
368 1.1 jruoho
369 1.1.1.3.12.1 tls
370 1.1.1.3.12.1 tls /*
371 1.1.1.3.12.1 tls * asllistsup - Listing file support utilities
372 1.1.1.3.12.1 tls */
373 1.1 jruoho void
374 1.1.1.3.12.1 tls LsDumpAscii (
375 1.1.1.3.12.1 tls UINT32 FileId,
376 1.1.1.3.12.1 tls UINT32 Count,
377 1.1.1.3.12.1 tls UINT8 *Buffer);
378 1.1.1.3.12.1 tls
379 1.1.1.3.12.1 tls void
380 1.1.1.3.12.1 tls LsDumpAsciiInComment (
381 1.1.1.3.12.1 tls UINT32 FileId,
382 1.1.1.3.12.1 tls UINT32 Count,
383 1.1.1.3.12.1 tls UINT8 *Buffer);
384 1.1.1.3.12.1 tls
385 1.1.1.3.12.1 tls void
386 1.1.1.3.12.1 tls LsCheckException (
387 1.1.1.3.12.1 tls UINT32 LineNumber,
388 1.1.1.3.12.1 tls UINT32 FileId);
389 1.1.1.3.12.1 tls
390 1.1.1.3.12.1 tls void
391 1.1.1.3.12.1 tls LsFlushListingBuffer (
392 1.1.1.3.12.1 tls UINT32 FileId);
393 1.1.1.3.12.1 tls
394 1.1.1.3.12.1 tls void
395 1.1.1.3.12.1 tls LsWriteListingHexBytes (
396 1.1.1.3.12.1 tls UINT8 *Buffer,
397 1.1.1.3.12.1 tls UINT32 Length,
398 1.1.1.3.12.1 tls UINT32 FileId);
399 1.1.1.3.12.1 tls
400 1.1.1.3.12.1 tls void
401 1.1.1.3.12.1 tls LsWriteSourceLines (
402 1.1.1.3.12.1 tls UINT32 ToLineNumber,
403 1.1.1.3.12.1 tls UINT32 ToLogicalLineNumber,
404 1.1.1.3.12.1 tls UINT32 FileId);
405 1.1.1.3.12.1 tls
406 1.1.1.3.12.1 tls UINT32
407 1.1.1.3.12.1 tls LsWriteOneSourceLine (
408 1.1.1.3.12.1 tls UINT32 FileId);
409 1.1.1.3.12.1 tls
410 1.1.1.3.12.1 tls void
411 1.1.1.3.12.1 tls LsPushNode (
412 1.1.1.3.12.1 tls char *Filename);
413 1.1.1.3.12.1 tls
414 1.1.1.3.12.1 tls ASL_LISTING_NODE *
415 1.1.1.3.12.1 tls LsPopNode (
416 1.1.1.3.12.1 tls void);
417 1.1.1.3.12.1 tls
418 1.1.1.3.12.1 tls
419 1.1.1.3.12.1 tls /*
420 1.1.1.3.12.1 tls * aslhex - generate all "hex" output files (C, ASM, ASL)
421 1.1.1.3.12.1 tls */
422 1.1.1.3.12.1 tls void
423 1.1.1.3.12.1 tls HxDoHexOutput (
424 1.1 jruoho void);
425 1.1 jruoho
426 1.1.1.3.12.1 tls
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.3.12.1 tls * asloffset - generate C offset file for BIOS support
439 1.1.1.3.12.1 tls */
440 1.1.1.3.12.1 tls ACPI_STATUS
441 1.1.1.3.12.1 tls LsAmlOffsetWalk (
442 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
443 1.1.1.3.12.1 tls UINT32 Level,
444 1.1.1.3.12.1 tls void *Context);
445 1.1.1.3.12.1 tls
446 1.1.1.3.12.1 tls void
447 1.1.1.3.12.1 tls LsDoOffsetTableHeader (
448 1.1.1.3.12.1 tls UINT32 FileId);
449 1.1.1.3.12.1 tls
450 1.1.1.3.12.1 tls void
451 1.1.1.3.12.1 tls LsDoOffsetTableFooter (
452 1.1.1.3.12.1 tls UINT32 FileId);
453 1.1.1.3.12.1 tls
454 1.1.1.3.12.1 tls
455 1.1.1.3.12.1 tls /*
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.3.12.1 tls ACPI_STATUS
582 1.1.1.3.12.1 tls ApCheckObjectType (
583 1.1.1.3.12.1 tls const char *PredefinedName,
584 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
585 1.1.1.3.12.1 tls UINT32 ExpectedBtypes,
586 1.1.1.3.12.1 tls UINT32 PackageIndex);
587 1.1.1.3.12.1 tls
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.3.12.1 tls * aslprepkg - ACPI predefined names support for packages
595 1.1.1.3.12.1 tls */
596 1.1.1.3.12.1 tls void
597 1.1.1.3.12.1 tls ApCheckPackage (
598 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *ParentOp,
599 1.1.1.3.12.1 tls const ACPI_PREDEFINED_INFO *Predefined);
600 1.1.1.3.12.1 tls
601 1.1.1.3.12.1 tls
602 1.1.1.3.12.1 tls /*
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.3.12.1 tls TrSetNodeAmlLength (
693 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
694 1.1.1.3.12.1 tls UINT32 Length);
695 1.1.1.3.12.1 tls
696 1.1.1.3.12.1 tls 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.3.12.1 tls char *
714 1.1.1.3.12.1 tls FlMergePathnames (
715 1.1.1.3.12.1 tls char *PrefixDir,
716 1.1.1.3.12.1 tls char *FilePathname);
717 1.1.1.3.12.1 tls
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.3.12.1 tls FlDeleteFile (
760 1.1.1.3.12.1 tls UINT32 FileId);
761 1.1.1.3.12.1 tls
762 1.1.1.3.12.1 tls void
763 1.1 jruoho FlSetLineNumber (
764 1.1.1.3.12.1 tls UINT32 LineNumber);
765 1.1.1.3.12.1 tls
766 1.1.1.3.12.1 tls void
767 1.1.1.3.12.1 tls FlSetFilename (
768 1.1.1.3.12.1 tls 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.3.12.1 tls * asllookup - namespace lookup functions
793 1.1 jruoho */
794 1.1.1.3.12.1 tls void
795 1.1.1.3.12.1 tls LkFindUnreferencedObjects (
796 1.1 jruoho void);
797 1.1 jruoho
798 1.1.1.3.12.1 tls /*
799 1.1.1.3.12.1 tls * aslmain - startup
800 1.1.1.3.12.1 tls */
801 1.1 jruoho void
802 1.1.1.3.12.1 tls Usage (
803 1.1 jruoho void);
804 1.1 jruoho
805 1.1.1.3.12.1 tls void
806 1.1.1.3.12.1 tls AslFilenameHelp (
807 1.1.1.3.12.1 tls void);
808 1.1.1.3.12.1 tls
809 1.1.1.3.12.1 tls
810 1.1.1.3.12.1 tls /*
811 1.1.1.3.12.1 tls * aslnamesp - namespace output file generation
812 1.1.1.3.12.1 tls */
813 1.1 jruoho ACPI_STATUS
814 1.1.1.3.12.1 tls NsDisplayNamespace (
815 1.1 jruoho void);
816 1.1 jruoho
817 1.1.1.2 jruoho void
818 1.1.1.3.12.1 tls NsSetupNamespaceListing (
819 1.1.1.2 jruoho void *Handle);
820 1.1.1.2 jruoho
821 1.1.1.3.12.1 tls /*
822 1.1.1.3.12.1 tls * asloptions - command line processing
823 1.1.1.3.12.1 tls */
824 1.1.1.3.12.1 tls int
825 1.1.1.3.12.1 tls AslCommandLine (
826 1.1.1.3.12.1 tls int argc,
827 1.1.1.3.12.1 tls char **argv);
828 1.1.1.3.12.1 tls
829 1.1.1.3.12.1 tls /*
830 1.1.1.3.12.1 tls * aslxref - namespace cross reference
831 1.1.1.3.12.1 tls */
832 1.1.1.3.12.1 tls ACPI_STATUS
833 1.1.1.3.12.1 tls XfCrossReferenceNamespace (
834 1.1.1.3.12.1 tls void);
835 1.1.1.3.12.1 tls
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.3.12.1 tls void
908 1.1.1.3.12.1 tls UtExpandLineBuffers (
909 1.1.1.3.12.1 tls void);
910 1.1.1.3.12.1 tls
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.3.12.1 tls 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.3.12.1 tls UINT32 BitOffset,
998 1.1.1.3.12.1 tls UINT32 BitLength);
999 1.1 jruoho
1000 1.1 jruoho void
1001 1.1.1.3.12.1 tls RsSetFlagBits (
1002 1.1.1.3.12.1 tls UINT8 *Flags,
1003 1.1 jruoho ACPI_PARSE_OBJECT *Op,
1004 1.1.1.3.12.1 tls UINT8 Position,
1005 1.1.1.3.12.1 tls UINT8 DefaultBit);
1006 1.1 jruoho
1007 1.1 jruoho void
1008 1.1.1.3.12.1 tls RsSetFlagBits16 (
1009 1.1.1.3.12.1 tls 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.3.12.1 tls RsDoFixedDmaDescriptor (
1098 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
1099 1.1.1.3.12.1 tls UINT32 CurrentByteOffset);
1100 1.1.1.3.12.1 tls
1101 1.1.1.3.12.1 tls 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.3.12.1 tls ASL_RESOURCE_NODE *
1141 1.1.1.3.12.1 tls RsDoGpioIntDescriptor (
1142 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
1143 1.1.1.3.12.1 tls UINT32 CurrentByteOffset);
1144 1.1.1.3.12.1 tls
1145 1.1.1.3.12.1 tls ASL_RESOURCE_NODE *
1146 1.1.1.3.12.1 tls RsDoGpioIoDescriptor (
1147 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
1148 1.1.1.3.12.1 tls UINT32 CurrentByteOffset);
1149 1.1.1.3.12.1 tls
1150 1.1.1.3.12.1 tls ASL_RESOURCE_NODE *
1151 1.1.1.3.12.1 tls RsDoI2cSerialBusDescriptor (
1152 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
1153 1.1.1.3.12.1 tls UINT32 CurrentByteOffset);
1154 1.1.1.3.12.1 tls
1155 1.1.1.3.12.1 tls ASL_RESOURCE_NODE *
1156 1.1.1.3.12.1 tls RsDoSpiSerialBusDescriptor (
1157 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
1158 1.1.1.3.12.1 tls UINT32 CurrentByteOffset);
1159 1.1.1.3.12.1 tls
1160 1.1.1.3.12.1 tls ASL_RESOURCE_NODE *
1161 1.1.1.3.12.1 tls RsDoUartSerialBusDescriptor (
1162 1.1.1.3.12.1 tls ACPI_PARSE_OBJECT *Op,
1163 1.1.1.3.12.1 tls 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