]> CyberLeo.Net >> Repos - FreeBSD/releng/8.2.git/blob - sys/contrib/dev/acpica/include/acdisasm.h
Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.
[FreeBSD/releng/8.2.git] / sys / contrib / dev / acpica / include / acdisasm.h
1 /******************************************************************************
2  *
3  * Name: acdisasm.h - AML disassembler
4  *
5  *****************************************************************************/
6
7 /******************************************************************************
8  *
9  * 1. Copyright Notice
10  *
11  * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
12  * All rights reserved.
13  *
14  * 2. License
15  *
16  * 2.1. This is your license from Intel Corp. under its intellectual property
17  * rights.  You may have additional license terms from the party that provided
18  * you this software, covering your right to use that party's intellectual
19  * property rights.
20  *
21  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22  * copy of the source code appearing in this file ("Covered Code") an
23  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24  * base code distributed originally by Intel ("Original Intel Code") to copy,
25  * make derivatives, distribute, use and display any portion of the Covered
26  * Code in any form, with the right to sublicense such rights; and
27  *
28  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29  * license (with the right to sublicense), under only those claims of Intel
30  * patents that are infringed by the Original Intel Code, to make, use, sell,
31  * offer to sell, and import the Covered Code and derivative works thereof
32  * solely to the minimum extent necessary to exercise the above copyright
33  * license, and in no event shall the patent license extend to any additions
34  * to or modifications of the Original Intel Code.  No other license or right
35  * is granted directly or by implication, estoppel or otherwise;
36  *
37  * The above copyright and patent license is granted only if the following
38  * conditions are met:
39  *
40  * 3. Conditions
41  *
42  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43  * Redistribution of source code of any substantial portion of the Covered
44  * Code or modification with rights to further distribute source must include
45  * the above Copyright Notice, the above License, this list of Conditions,
46  * and the following Disclaimer and Export Compliance provision.  In addition,
47  * Licensee must cause all Covered Code to which Licensee contributes to
48  * contain a file documenting the changes Licensee made to create that Covered
49  * Code and the date of any change.  Licensee must include in that file the
50  * documentation of any changes made by any predecessor Licensee.  Licensee
51  * must include a prominent statement that the modification is derived,
52  * directly or indirectly, from Original Intel Code.
53  *
54  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55  * Redistribution of source code of any substantial portion of the Covered
56  * Code or modification without rights to further distribute source must
57  * include the following Disclaimer and Export Compliance provision in the
58  * documentation and/or other materials provided with distribution.  In
59  * addition, Licensee may not authorize further sublicense of source of any
60  * portion of the Covered Code, and must include terms to the effect that the
61  * license from Licensee to its licensee is limited to the intellectual
62  * property embodied in the software Licensee provides to its licensee, and
63  * not to intellectual property embodied in modifications its licensee may
64  * make.
65  *
66  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67  * substantial portion of the Covered Code or modification must reproduce the
68  * above Copyright Notice, and the following Disclaimer and Export Compliance
69  * provision in the documentation and/or other materials provided with the
70  * distribution.
71  *
72  * 3.4. Intel retains all right, title, and interest in and to the Original
73  * Intel Code.
74  *
75  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76  * Intel shall be used in advertising or otherwise to promote the sale, use or
77  * other dealings in products derived from or relating to the Covered Code
78  * without prior written authorization from Intel.
79  *
80  * 4. Disclaimer and Export Compliance
81  *
82  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83  * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
85  * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
86  * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
87  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88  * PARTICULAR PURPOSE.
89  *
90  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
96  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97  * LIMITED REMEDY.
98  *
99  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100  * software or system incorporating such software without first obtaining any
101  * required license or other approval from the U. S. Department of Commerce or
102  * any other agency or department of the United States Government.  In the
103  * event Licensee exports any such software from the United States or
104  * re-exports any such software from a foreign destination, Licensee shall
105  * ensure that the distribution and export/re-export of the software is in
106  * compliance with all laws, regulations, orders, or other restrictions of the
107  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108  * any of its subsidiaries will export/re-export any technical data, process,
109  * software, or service, directly or indirectly, to any country for which the
110  * United States government or any agency thereof requires an export license,
111  * other governmental approval, or letter of assurance, without first obtaining
112  * such license, approval or letter.
113  *
114  *****************************************************************************/
115
116 #ifndef __ACDISASM_H__
117 #define __ACDISASM_H__
118
119 #include <contrib/dev/acpica/include/amlresrc.h>
120
121
122 #define BLOCK_NONE              0
123 #define BLOCK_PAREN             1
124 #define BLOCK_BRACE             2
125 #define BLOCK_COMMA_LIST        4
126 #define ACPI_DEFAULT_RESNAME    *(UINT32 *) "__RD"
127
128
129 typedef const struct acpi_dmtable_info
130 {
131     UINT8                       Opcode;
132     UINT8                       Offset;
133     char                        *Name;
134     UINT8                       Flags;
135
136 } ACPI_DMTABLE_INFO;
137
138 #define DT_LENGTH                       0x01    /* Field is a subtable length */
139 #define DT_FLAG                         0x02    /* Field is a flag value */
140 #define DT_NON_ZERO                     0x04    /* Field must be non-zero */
141
142 /* TBD: Not used at this time */
143
144 #define DT_OPTIONAL                     0x08
145 #define DT_COUNT                        0x10
146
147 /*
148  * Values for Opcode above.
149  * Note: 0-7 must not change, used as a flag shift value
150  */
151 #define ACPI_DMT_FLAG0                  0
152 #define ACPI_DMT_FLAG1                  1
153 #define ACPI_DMT_FLAG2                  2
154 #define ACPI_DMT_FLAG3                  3
155 #define ACPI_DMT_FLAG4                  4
156 #define ACPI_DMT_FLAG5                  5
157 #define ACPI_DMT_FLAG6                  6
158 #define ACPI_DMT_FLAG7                  7
159 #define ACPI_DMT_FLAGS0                 8
160 #define ACPI_DMT_FLAGS2                 9
161 #define ACPI_DMT_UINT8                  10
162 #define ACPI_DMT_UINT16                 11
163 #define ACPI_DMT_UINT24                 12
164 #define ACPI_DMT_UINT32                 13
165 #define ACPI_DMT_UINT56                 14
166 #define ACPI_DMT_UINT64                 15
167 #define ACPI_DMT_STRING                 16
168 #define ACPI_DMT_NAME4                  17
169 #define ACPI_DMT_NAME6                  18
170 #define ACPI_DMT_NAME8                  19
171 #define ACPI_DMT_CHKSUM                 20
172 #define ACPI_DMT_SPACEID                21
173 #define ACPI_DMT_GAS                    22
174 #define ACPI_DMT_ASF                    23
175 #define ACPI_DMT_DMAR                   24
176 #define ACPI_DMT_HEST                   25
177 #define ACPI_DMT_HESTNTFY               26
178 #define ACPI_DMT_HESTNTYP               27
179 #define ACPI_DMT_MADT                   28
180 #define ACPI_DMT_SRAT                   29
181 #define ACPI_DMT_EXIT                   30
182 #define ACPI_DMT_SIG                    31
183 #define ACPI_DMT_FADTPM                 32
184 #define ACPI_DMT_BUF16                  33
185 #define ACPI_DMT_IVRS                   34
186 #define ACPI_DMT_BUFFER                 35
187 #define ACPI_DMT_PCI_PATH               36
188 #define ACPI_DMT_EINJACT                37
189 #define ACPI_DMT_EINJINST               38
190 #define ACPI_DMT_ERSTACT                39
191 #define ACPI_DMT_ERSTINST               40
192
193
194 typedef
195 void (*ACPI_DMTABLE_HANDLER) (
196     ACPI_TABLE_HEADER       *Table);
197
198 typedef
199 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
200     void                    **PFieldList);
201
202 typedef struct acpi_dmtable_data
203 {
204     char                    *Signature;
205     ACPI_DMTABLE_INFO       *TableInfo;
206     ACPI_DMTABLE_HANDLER    TableHandler;
207     ACPI_CMTABLE_HANDLER    CmTableHandler;
208     const unsigned char     *Template;
209     char                    *Name;
210
211 } ACPI_DMTABLE_DATA;
212
213
214 typedef struct acpi_op_walk_info
215 {
216     UINT32                  Level;
217     UINT32                  LastLevel;
218     UINT32                  Count;
219     UINT32                  BitOffset;
220     UINT32                  Flags;
221     ACPI_WALK_STATE         *WalkState;
222
223 } ACPI_OP_WALK_INFO;
224
225 /*
226  * TBD - another copy of this is in asltypes.h, fix
227  */
228 #ifndef ASL_WALK_CALLBACK_DEFINED
229 typedef
230 ACPI_STATUS (*ASL_WALK_CALLBACK) (
231     ACPI_PARSE_OBJECT           *Op,
232     UINT32                      Level,
233     void                        *Context);
234 #define ASL_WALK_CALLBACK_DEFINED
235 #endif
236
237
238 typedef struct acpi_resource_tag
239 {
240     UINT32                  BitIndex;
241     char                    *Tag;
242
243 } ACPI_RESOURCE_TAG;
244
245 /* Strings used for decoding flags to ASL keywords */
246
247 extern const char               *AcpiGbl_WordDecode[];
248 extern const char               *AcpiGbl_IrqDecode[];
249 extern const char               *AcpiGbl_LockRule[];
250 extern const char               *AcpiGbl_AccessTypes[];
251 extern const char               *AcpiGbl_UpdateRules[];
252 extern const char               *AcpiGbl_MatchOps[];
253
254 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
255 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
256 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
257 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
258 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
259 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
260 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
261 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
262 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
263 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
264 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
265 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
266 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
267 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
268 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
269 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
270 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
271 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
272 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
273 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
274 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
275 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
276 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
277 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
278 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
279 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
280 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
281 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
282 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
283 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
284 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
285 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
286 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
287 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
288 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
289 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
290 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
291 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
292 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
293 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
294 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
295 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
296 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
297 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
298 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
299 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
300 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
301 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
302 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
303 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
304 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
305 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
306 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
307 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
308 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
309 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
310 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
311 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
312 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
313 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
314 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
315 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
316 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
317 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
318 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
319 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
320 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
321 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
322 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
323 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
324 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
325 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic[];
326 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
327 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
328 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
329 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
330 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
331 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
332 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
333 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
334 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpa[];
335 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
336 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
337 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
338 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
339 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
340 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
341
342
343 /*
344  * dmtable
345  */
346 extern ACPI_DMTABLE_DATA        AcpiDmTableData[];
347
348 UINT8
349 AcpiDmGenerateChecksum (
350     void                    *Table,
351     UINT32                  Length,
352     UINT8                   OriginalChecksum);
353
354 ACPI_DMTABLE_DATA *
355 AcpiDmGetTableData (
356     char                    *Signature);
357
358 void
359 AcpiDmDumpDataTable (
360     ACPI_TABLE_HEADER       *Table);
361
362 ACPI_STATUS
363 AcpiDmDumpTable (
364     UINT32                  TableLength,
365     UINT32                  TableOffset,
366     void                    *Table,
367     UINT32                  SubTableLength,
368     ACPI_DMTABLE_INFO        *Info);
369
370 void
371 AcpiDmLineHeader (
372     UINT32                  Offset,
373     UINT32                  ByteLength,
374     char                    *Name);
375
376 void
377 AcpiDmLineHeader2 (
378     UINT32                  Offset,
379     UINT32                  ByteLength,
380     char                    *Name,
381     UINT32                  Value);
382
383
384 /*
385  * dmtbdump
386  */
387 void
388 AcpiDmDumpAsf (
389     ACPI_TABLE_HEADER       *Table);
390
391 void
392 AcpiDmDumpCpep (
393     ACPI_TABLE_HEADER       *Table);
394
395 void
396 AcpiDmDumpDmar (
397     ACPI_TABLE_HEADER       *Table);
398
399 void
400 AcpiDmDumpEinj (
401     ACPI_TABLE_HEADER       *Table);
402
403 void
404 AcpiDmDumpErst (
405     ACPI_TABLE_HEADER       *Table);
406
407 void
408 AcpiDmDumpFadt (
409     ACPI_TABLE_HEADER       *Table);
410
411 void
412 AcpiDmDumpHest (
413     ACPI_TABLE_HEADER       *Table);
414
415 void
416 AcpiDmDumpIvrs (
417     ACPI_TABLE_HEADER       *Table);
418
419 void
420 AcpiDmDumpMcfg (
421     ACPI_TABLE_HEADER       *Table);
422
423 void
424 AcpiDmDumpMadt (
425     ACPI_TABLE_HEADER       *Table);
426
427 void
428 AcpiDmDumpMsct (
429     ACPI_TABLE_HEADER       *Table);
430
431 UINT32
432 AcpiDmDumpRsdp (
433     ACPI_TABLE_HEADER       *Table);
434
435 void
436 AcpiDmDumpRsdt (
437     ACPI_TABLE_HEADER       *Table);
438
439 void
440 AcpiDmDumpSlit (
441     ACPI_TABLE_HEADER       *Table);
442
443 void
444 AcpiDmDumpSrat (
445     ACPI_TABLE_HEADER       *Table);
446
447 void
448 AcpiDmDumpWdat (
449     ACPI_TABLE_HEADER       *Table);
450
451 void
452 AcpiDmDumpXsdt (
453     ACPI_TABLE_HEADER       *Table);
454
455
456 /*
457  * dmwalk
458  */
459 void
460 AcpiDmDisassemble (
461     ACPI_WALK_STATE         *WalkState,
462     ACPI_PARSE_OBJECT       *Origin,
463     UINT32                  NumOpcodes);
464
465 void
466 AcpiDmWalkParseTree (
467     ACPI_PARSE_OBJECT       *Op,
468     ASL_WALK_CALLBACK       DescendingCallback,
469     ASL_WALK_CALLBACK       AscendingCallback,
470     void                    *Context);
471
472
473 /*
474  * dmopcode
475  */
476 void
477 AcpiDmDisassembleOneOp (
478     ACPI_WALK_STATE         *WalkState,
479     ACPI_OP_WALK_INFO       *Info,
480     ACPI_PARSE_OBJECT       *Op);
481
482 void
483 AcpiDmDecodeInternalObject (
484     ACPI_OPERAND_OBJECT     *ObjDesc);
485
486 UINT32
487 AcpiDmListType (
488     ACPI_PARSE_OBJECT       *Op);
489
490 void
491 AcpiDmMethodFlags (
492     ACPI_PARSE_OBJECT       *Op);
493
494 void
495 AcpiDmFieldFlags (
496     ACPI_PARSE_OBJECT       *Op);
497
498 void
499 AcpiDmAddressSpace (
500     UINT8                   SpaceId);
501
502 void
503 AcpiDmRegionFlags (
504     ACPI_PARSE_OBJECT       *Op);
505
506 void
507 AcpiDmMatchOp (
508     ACPI_PARSE_OBJECT       *Op);
509
510
511 /*
512  * dmnames
513  */
514 UINT32
515 AcpiDmDumpName (
516     UINT32                  Name);
517
518 ACPI_STATUS
519 AcpiPsDisplayObjectPathname (
520     ACPI_WALK_STATE         *WalkState,
521     ACPI_PARSE_OBJECT       *Op);
522
523 void
524 AcpiDmNamestring (
525     char                    *Name);
526
527
528 /*
529  * dmobject
530  */
531 void
532 AcpiDmDisplayInternalObject (
533     ACPI_OPERAND_OBJECT     *ObjDesc,
534     ACPI_WALK_STATE         *WalkState);
535
536 void
537 AcpiDmDisplayArguments (
538     ACPI_WALK_STATE         *WalkState);
539
540 void
541 AcpiDmDisplayLocals (
542     ACPI_WALK_STATE         *WalkState);
543
544 void
545 AcpiDmDumpMethodInfo (
546     ACPI_STATUS             Status,
547     ACPI_WALK_STATE         *WalkState,
548     ACPI_PARSE_OBJECT       *Op);
549
550
551 /*
552  * dmbuffer
553  */
554 void
555 AcpiDmDisasmByteList (
556     UINT32                  Level,
557     UINT8                   *ByteData,
558     UINT32                  ByteCount);
559
560 void
561 AcpiDmByteList (
562     ACPI_OP_WALK_INFO       *Info,
563     ACPI_PARSE_OBJECT       *Op);
564
565 void
566 AcpiDmIsEisaId (
567     ACPI_PARSE_OBJECT       *Op);
568
569 void
570 AcpiDmEisaId (
571     UINT32                  EncodedId);
572
573 BOOLEAN
574 AcpiDmIsUnicodeBuffer (
575     ACPI_PARSE_OBJECT       *Op);
576
577 BOOLEAN
578 AcpiDmIsStringBuffer (
579     ACPI_PARSE_OBJECT       *Op);
580
581
582 /*
583  * dmextern
584  */
585
586 ACPI_STATUS
587 AcpiDmAddToExternalFileList (
588     char                    *PathList);
589
590 void
591 AcpiDmClearExternalFileList (
592     void);
593
594 void
595 AcpiDmAddToExternalList (
596     ACPI_PARSE_OBJECT       *Op,
597     char                    *Path,
598     UINT8                   Type,
599     UINT32                  Value);
600
601 void
602 AcpiDmAddExternalsToNamespace (
603     void);
604
605 UINT32
606 AcpiDmGetExternalMethodCount (
607     void);
608
609 void
610 AcpiDmClearExternalList (
611     void);
612
613 void
614 AcpiDmEmitExternals (
615     void);
616
617
618 /*
619  * dmresrc
620  */
621 void
622 AcpiDmDumpInteger8 (
623     UINT8                   Value,
624     char                    *Name);
625
626 void
627 AcpiDmDumpInteger16 (
628     UINT16                  Value,
629     char                    *Name);
630
631 void
632 AcpiDmDumpInteger32 (
633     UINT32                  Value,
634     char                    *Name);
635
636 void
637 AcpiDmDumpInteger64 (
638     UINT64                  Value,
639     char                    *Name);
640
641 void
642 AcpiDmResourceTemplate (
643     ACPI_OP_WALK_INFO       *Info,
644     ACPI_PARSE_OBJECT       *Op,
645     UINT8                   *ByteData,
646     UINT32                  ByteCount);
647
648 ACPI_STATUS
649 AcpiDmIsResourceTemplate (
650     ACPI_PARSE_OBJECT       *Op);
651
652 void
653 AcpiDmBitList (
654     UINT16                  Mask);
655
656 void
657 AcpiDmDescriptorName (
658     void);
659
660
661 /*
662  * dmresrcl
663  */
664 void
665 AcpiDmWordDescriptor (
666     AML_RESOURCE            *Resource,
667     UINT32                  Length,
668     UINT32                  Level);
669
670 void
671 AcpiDmDwordDescriptor (
672     AML_RESOURCE            *Resource,
673     UINT32                  Length,
674     UINT32                  Level);
675
676 void
677 AcpiDmExtendedDescriptor (
678     AML_RESOURCE            *Resource,
679     UINT32                  Length,
680     UINT32                  Level);
681
682 void
683 AcpiDmQwordDescriptor (
684     AML_RESOURCE            *Resource,
685     UINT32                  Length,
686     UINT32                  Level);
687
688 void
689 AcpiDmMemory24Descriptor (
690     AML_RESOURCE            *Resource,
691     UINT32                  Length,
692     UINT32                  Level);
693
694 void
695 AcpiDmMemory32Descriptor (
696     AML_RESOURCE            *Resource,
697     UINT32                  Length,
698     UINT32                  Level);
699
700 void
701 AcpiDmFixedMemory32Descriptor (
702     AML_RESOURCE            *Resource,
703     UINT32                  Length,
704     UINT32                  Level);
705
706 void
707 AcpiDmGenericRegisterDescriptor (
708     AML_RESOURCE            *Resource,
709     UINT32                  Length,
710     UINT32                  Level);
711
712 void
713 AcpiDmInterruptDescriptor (
714     AML_RESOURCE            *Resource,
715     UINT32                  Length,
716     UINT32                  Level);
717
718 void
719 AcpiDmVendorLargeDescriptor (
720     AML_RESOURCE            *Resource,
721     UINT32                  Length,
722     UINT32                  Level);
723
724 void
725 AcpiDmVendorCommon (
726     char                    *Name,
727     UINT8                   *ByteData,
728     UINT32                  Length,
729     UINT32                  Level);
730
731
732 /*
733  * dmresrcs
734  */
735 void
736 AcpiDmIrqDescriptor (
737     AML_RESOURCE            *Resource,
738     UINT32                  Length,
739     UINT32                  Level);
740
741 void
742 AcpiDmDmaDescriptor (
743     AML_RESOURCE            *Resource,
744     UINT32                  Length,
745     UINT32                  Level);
746
747 void
748 AcpiDmIoDescriptor (
749     AML_RESOURCE            *Resource,
750     UINT32                  Length,
751     UINT32                  Level);
752
753 void
754 AcpiDmFixedIoDescriptor (
755     AML_RESOURCE            *Resource,
756     UINT32                  Length,
757     UINT32                  Level);
758
759 void
760 AcpiDmStartDependentDescriptor (
761     AML_RESOURCE            *Resource,
762     UINT32                  Length,
763     UINT32                  Level);
764
765 void
766 AcpiDmEndDependentDescriptor (
767     AML_RESOURCE            *Resource,
768     UINT32                  Length,
769     UINT32                  Level);
770
771 void
772 AcpiDmVendorSmallDescriptor (
773     AML_RESOURCE            *Resource,
774     UINT32                  Length,
775     UINT32                  Level);
776
777
778 /*
779  * dmutils
780  */
781 void
782 AcpiDmDecodeAttribute (
783     UINT8                   Attribute);
784
785 void
786 AcpiDmIndent (
787     UINT32                  Level);
788
789 BOOLEAN
790 AcpiDmCommaIfListMember (
791     ACPI_PARSE_OBJECT       *Op);
792
793 void
794 AcpiDmCommaIfFieldMember (
795     ACPI_PARSE_OBJECT       *Op);
796
797
798 /*
799  * dmrestag
800  */
801 void
802 AcpiDmFindResources (
803     ACPI_PARSE_OBJECT       *Root);
804
805 void
806 AcpiDmCheckResourceReference (
807     ACPI_PARSE_OBJECT       *Op,
808     ACPI_WALK_STATE         *WalkState);
809
810
811 /*
812  * acdisasm
813  */
814 void
815 AdDisassemblerHeader (
816     char                    *Filename);
817
818
819 #endif  /* __ACDISASM_H__ */