Bring in acpica 20110211, still not ok anyway
[dragonfly.git] / sys / contrib / dev / acpica-unix / 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 - 2011, 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 "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  * Raw table data header. Used by disassembler and data table compiler.
130  * Do not change.
131  */
132 #define ACPI_RAW_TABLE_DATA_HEADER      "Raw Table Data"
133
134
135 typedef const struct acpi_dmtable_info
136 {
137     UINT8                       Opcode;
138     UINT8                       Offset;
139     char                        *Name;
140     UINT8                       Flags;
141
142 } ACPI_DMTABLE_INFO;
143
144 #define DT_LENGTH                       0x01    /* Field is a subtable length */
145 #define DT_FLAG                         0x02    /* Field is a flag value */
146 #define DT_NON_ZERO                     0x04    /* Field must be non-zero */
147
148 /* TBD: Not used at this time */
149
150 #define DT_OPTIONAL                     0x08
151 #define DT_COUNT                        0x10
152
153 /*
154  * Values for Opcode above.
155  * Note: 0-7 must not change, used as a flag shift value
156  */
157 #define ACPI_DMT_FLAG0                  0
158 #define ACPI_DMT_FLAG1                  1
159 #define ACPI_DMT_FLAG2                  2
160 #define ACPI_DMT_FLAG3                  3
161 #define ACPI_DMT_FLAG4                  4
162 #define ACPI_DMT_FLAG5                  5
163 #define ACPI_DMT_FLAG6                  6
164 #define ACPI_DMT_FLAG7                  7
165 #define ACPI_DMT_FLAGS0                 8
166 #define ACPI_DMT_FLAGS2                 9
167 #define ACPI_DMT_UINT8                  10
168 #define ACPI_DMT_UINT16                 11
169 #define ACPI_DMT_UINT24                 12
170 #define ACPI_DMT_UINT32                 13
171 #define ACPI_DMT_UINT56                 14
172 #define ACPI_DMT_UINT64                 15
173 #define ACPI_DMT_STRING                 16
174 #define ACPI_DMT_NAME4                  17
175 #define ACPI_DMT_NAME6                  18
176 #define ACPI_DMT_NAME8                  19
177 #define ACPI_DMT_CHKSUM                 20
178 #define ACPI_DMT_SPACEID                21
179 #define ACPI_DMT_GAS                    22
180 #define ACPI_DMT_ASF                    23
181 #define ACPI_DMT_DMAR                   24
182 #define ACPI_DMT_HEST                   25
183 #define ACPI_DMT_HESTNTFY               26
184 #define ACPI_DMT_HESTNTYP               27
185 #define ACPI_DMT_MADT                   28
186 #define ACPI_DMT_SRAT                   29
187 #define ACPI_DMT_EXIT                   30
188 #define ACPI_DMT_SIG                    31
189 #define ACPI_DMT_FADTPM                 32
190 #define ACPI_DMT_BUF16                  33
191 #define ACPI_DMT_IVRS                   34
192 #define ACPI_DMT_BUFFER                 35
193 #define ACPI_DMT_PCI_PATH               36
194 #define ACPI_DMT_EINJACT                37
195 #define ACPI_DMT_EINJINST               38
196 #define ACPI_DMT_ERSTACT                39
197 #define ACPI_DMT_ERSTINST               40
198 #define ACPI_DMT_ACCWIDTH               41
199 #define ACPI_DMT_UNICODE                42
200 #define ACPI_DMT_UUID                   43
201 #define ACPI_DMT_DEVICE_PATH            44
202 #define ACPI_DMT_LABEL                  45
203 #define ACPI_DMT_BUF7                   46
204
205
206 typedef
207 void (*ACPI_DMTABLE_HANDLER) (
208     ACPI_TABLE_HEADER       *Table);
209
210 typedef
211 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
212     void                    **PFieldList);
213
214 typedef struct acpi_dmtable_data
215 {
216     char                    *Signature;
217     ACPI_DMTABLE_INFO       *TableInfo;
218     ACPI_DMTABLE_HANDLER    TableHandler;
219     ACPI_CMTABLE_HANDLER    CmTableHandler;
220     const unsigned char     *Template;
221     char                    *Name;
222
223 } ACPI_DMTABLE_DATA;
224
225
226 typedef struct acpi_op_walk_info
227 {
228     UINT32                  Level;
229     UINT32                  LastLevel;
230     UINT32                  Count;
231     UINT32                  BitOffset;
232     UINT32                  Flags;
233     ACPI_WALK_STATE         *WalkState;
234
235 } ACPI_OP_WALK_INFO;
236
237 /*
238  * TBD - another copy of this is in asltypes.h, fix
239  */
240 #ifndef ASL_WALK_CALLBACK_DEFINED
241 typedef
242 ACPI_STATUS (*ASL_WALK_CALLBACK) (
243     ACPI_PARSE_OBJECT           *Op,
244     UINT32                      Level,
245     void                        *Context);
246 #define ASL_WALK_CALLBACK_DEFINED
247 #endif
248
249
250 typedef struct acpi_resource_tag
251 {
252     UINT32                  BitIndex;
253     char                    *Tag;
254
255 } ACPI_RESOURCE_TAG;
256
257 /* Strings used for decoding flags to ASL keywords */
258
259 extern const char               *AcpiGbl_WordDecode[];
260 extern const char               *AcpiGbl_IrqDecode[];
261 extern const char               *AcpiGbl_LockRule[];
262 extern const char               *AcpiGbl_AccessTypes[];
263 extern const char               *AcpiGbl_UpdateRules[];
264 extern const char               *AcpiGbl_MatchOps[];
265
266 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
267 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
268 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
269 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
270 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
271 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
272 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
273 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
274 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
275 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
276 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
277 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
278 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
279 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
280 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
281 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
282 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
283 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
284 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
285 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
286 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
287 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
288 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
289 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
290 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
291 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
292 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
293 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
294 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
295 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
296 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
297 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
298 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
299 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
300 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
301 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
302 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
303 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
304 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
305 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
306 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
307 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
308 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
309 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
310 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
311 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
312 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
313 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
314 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
315 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
316 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
317 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
318 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
319 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
320 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
321 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
322 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
323 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
324 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
325 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
326 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
327 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
328 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
329 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
330 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
331 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
332 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
333 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
334 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
335 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
336 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
337 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic[];
338 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
339 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
340 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
341 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
342 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
343 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
344 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
345 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
346 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpa[];
347 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
348 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
349 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
350 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
351 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
352 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
353
354 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
355
356
357 /*
358  * dmtable
359  */
360 extern ACPI_DMTABLE_DATA        AcpiDmTableData[];
361
362 UINT8
363 AcpiDmGenerateChecksum (
364     void                    *Table,
365     UINT32                  Length,
366     UINT8                   OriginalChecksum);
367
368 ACPI_DMTABLE_DATA *
369 AcpiDmGetTableData (
370     char                    *Signature);
371
372 void
373 AcpiDmDumpDataTable (
374     ACPI_TABLE_HEADER       *Table);
375
376 ACPI_STATUS
377 AcpiDmDumpTable (
378     UINT32                  TableLength,
379     UINT32                  TableOffset,
380     void                    *Table,
381     UINT32                  SubTableLength,
382     ACPI_DMTABLE_INFO        *Info);
383
384 void
385 AcpiDmLineHeader (
386     UINT32                  Offset,
387     UINT32                  ByteLength,
388     char                    *Name);
389
390 void
391 AcpiDmLineHeader2 (
392     UINT32                  Offset,
393     UINT32                  ByteLength,
394     char                    *Name,
395     UINT32                  Value);
396
397
398 /*
399  * dmtbdump
400  */
401 void
402 AcpiDmDumpAsf (
403     ACPI_TABLE_HEADER       *Table);
404
405 void
406 AcpiDmDumpCpep (
407     ACPI_TABLE_HEADER       *Table);
408
409 void
410 AcpiDmDumpDmar (
411     ACPI_TABLE_HEADER       *Table);
412
413 void
414 AcpiDmDumpEinj (
415     ACPI_TABLE_HEADER       *Table);
416
417 void
418 AcpiDmDumpErst (
419     ACPI_TABLE_HEADER       *Table);
420
421 void
422 AcpiDmDumpFadt (
423     ACPI_TABLE_HEADER       *Table);
424
425 void
426 AcpiDmDumpHest (
427     ACPI_TABLE_HEADER       *Table);
428
429 void
430 AcpiDmDumpIvrs (
431     ACPI_TABLE_HEADER       *Table);
432
433 void
434 AcpiDmDumpMcfg (
435     ACPI_TABLE_HEADER       *Table);
436
437 void
438 AcpiDmDumpMadt (
439     ACPI_TABLE_HEADER       *Table);
440
441 void
442 AcpiDmDumpMsct (
443     ACPI_TABLE_HEADER       *Table);
444
445 UINT32
446 AcpiDmDumpRsdp (
447     ACPI_TABLE_HEADER       *Table);
448
449 void
450 AcpiDmDumpRsdt (
451     ACPI_TABLE_HEADER       *Table);
452
453 void
454 AcpiDmDumpSlit (
455     ACPI_TABLE_HEADER       *Table);
456
457 void
458 AcpiDmDumpSrat (
459     ACPI_TABLE_HEADER       *Table);
460
461 void
462 AcpiDmDumpWdat (
463     ACPI_TABLE_HEADER       *Table);
464
465 void
466 AcpiDmDumpXsdt (
467     ACPI_TABLE_HEADER       *Table);
468
469
470 /*
471  * dmwalk
472  */
473 void
474 AcpiDmDisassemble (
475     ACPI_WALK_STATE         *WalkState,
476     ACPI_PARSE_OBJECT       *Origin,
477     UINT32                  NumOpcodes);
478
479 void
480 AcpiDmWalkParseTree (
481     ACPI_PARSE_OBJECT       *Op,
482     ASL_WALK_CALLBACK       DescendingCallback,
483     ASL_WALK_CALLBACK       AscendingCallback,
484     void                    *Context);
485
486
487 /*
488  * dmopcode
489  */
490 void
491 AcpiDmDisassembleOneOp (
492     ACPI_WALK_STATE         *WalkState,
493     ACPI_OP_WALK_INFO       *Info,
494     ACPI_PARSE_OBJECT       *Op);
495
496 void
497 AcpiDmDecodeInternalObject (
498     ACPI_OPERAND_OBJECT     *ObjDesc);
499
500 UINT32
501 AcpiDmListType (
502     ACPI_PARSE_OBJECT       *Op);
503
504 void
505 AcpiDmMethodFlags (
506     ACPI_PARSE_OBJECT       *Op);
507
508 void
509 AcpiDmFieldFlags (
510     ACPI_PARSE_OBJECT       *Op);
511
512 void
513 AcpiDmAddressSpace (
514     UINT8                   SpaceId);
515
516 void
517 AcpiDmRegionFlags (
518     ACPI_PARSE_OBJECT       *Op);
519
520 void
521 AcpiDmMatchOp (
522     ACPI_PARSE_OBJECT       *Op);
523
524
525 /*
526  * dmnames
527  */
528 UINT32
529 AcpiDmDumpName (
530     UINT32                  Name);
531
532 ACPI_STATUS
533 AcpiPsDisplayObjectPathname (
534     ACPI_WALK_STATE         *WalkState,
535     ACPI_PARSE_OBJECT       *Op);
536
537 void
538 AcpiDmNamestring (
539     char                    *Name);
540
541
542 /*
543  * dmobject
544  */
545 void
546 AcpiDmDisplayInternalObject (
547     ACPI_OPERAND_OBJECT     *ObjDesc,
548     ACPI_WALK_STATE         *WalkState);
549
550 void
551 AcpiDmDisplayArguments (
552     ACPI_WALK_STATE         *WalkState);
553
554 void
555 AcpiDmDisplayLocals (
556     ACPI_WALK_STATE         *WalkState);
557
558 void
559 AcpiDmDumpMethodInfo (
560     ACPI_STATUS             Status,
561     ACPI_WALK_STATE         *WalkState,
562     ACPI_PARSE_OBJECT       *Op);
563
564
565 /*
566  * dmbuffer
567  */
568 void
569 AcpiDmDisasmByteList (
570     UINT32                  Level,
571     UINT8                   *ByteData,
572     UINT32                  ByteCount);
573
574 void
575 AcpiDmByteList (
576     ACPI_OP_WALK_INFO       *Info,
577     ACPI_PARSE_OBJECT       *Op);
578
579 void
580 AcpiDmIsEisaId (
581     ACPI_PARSE_OBJECT       *Op);
582
583 void
584 AcpiDmEisaId (
585     UINT32                  EncodedId);
586
587 BOOLEAN
588 AcpiDmIsUnicodeBuffer (
589     ACPI_PARSE_OBJECT       *Op);
590
591 BOOLEAN
592 AcpiDmIsStringBuffer (
593     ACPI_PARSE_OBJECT       *Op);
594
595
596 /*
597  * dmextern
598  */
599
600 ACPI_STATUS
601 AcpiDmAddToExternalFileList (
602     char                    *PathList);
603
604 void
605 AcpiDmClearExternalFileList (
606     void);
607
608 void
609 AcpiDmAddToExternalList (
610     ACPI_PARSE_OBJECT       *Op,
611     char                    *Path,
612     UINT8                   Type,
613     UINT32                  Value);
614
615 void
616 AcpiDmAddExternalsToNamespace (
617     void);
618
619 UINT32
620 AcpiDmGetExternalMethodCount (
621     void);
622
623 void
624 AcpiDmClearExternalList (
625     void);
626
627 void
628 AcpiDmEmitExternals (
629     void);
630
631
632 /*
633  * dmresrc
634  */
635 void
636 AcpiDmDumpInteger8 (
637     UINT8                   Value,
638     char                    *Name);
639
640 void
641 AcpiDmDumpInteger16 (
642     UINT16                  Value,
643     char                    *Name);
644
645 void
646 AcpiDmDumpInteger32 (
647     UINT32                  Value,
648     char                    *Name);
649
650 void
651 AcpiDmDumpInteger64 (
652     UINT64                  Value,
653     char                    *Name);
654
655 void
656 AcpiDmResourceTemplate (
657     ACPI_OP_WALK_INFO       *Info,
658     ACPI_PARSE_OBJECT       *Op,
659     UINT8                   *ByteData,
660     UINT32                  ByteCount);
661
662 ACPI_STATUS
663 AcpiDmIsResourceTemplate (
664     ACPI_PARSE_OBJECT       *Op);
665
666 void
667 AcpiDmBitList (
668     UINT16                  Mask);
669
670 void
671 AcpiDmDescriptorName (
672     void);
673
674
675 /*
676  * dmresrcl
677  */
678 void
679 AcpiDmWordDescriptor (
680     AML_RESOURCE            *Resource,
681     UINT32                  Length,
682     UINT32                  Level);
683
684 void
685 AcpiDmDwordDescriptor (
686     AML_RESOURCE            *Resource,
687     UINT32                  Length,
688     UINT32                  Level);
689
690 void
691 AcpiDmExtendedDescriptor (
692     AML_RESOURCE            *Resource,
693     UINT32                  Length,
694     UINT32                  Level);
695
696 void
697 AcpiDmQwordDescriptor (
698     AML_RESOURCE            *Resource,
699     UINT32                  Length,
700     UINT32                  Level);
701
702 void
703 AcpiDmMemory24Descriptor (
704     AML_RESOURCE            *Resource,
705     UINT32                  Length,
706     UINT32                  Level);
707
708 void
709 AcpiDmMemory32Descriptor (
710     AML_RESOURCE            *Resource,
711     UINT32                  Length,
712     UINT32                  Level);
713
714 void
715 AcpiDmFixedMemory32Descriptor (
716     AML_RESOURCE            *Resource,
717     UINT32                  Length,
718     UINT32                  Level);
719
720 void
721 AcpiDmGenericRegisterDescriptor (
722     AML_RESOURCE            *Resource,
723     UINT32                  Length,
724     UINT32                  Level);
725
726 void
727 AcpiDmInterruptDescriptor (
728     AML_RESOURCE            *Resource,
729     UINT32                  Length,
730     UINT32                  Level);
731
732 void
733 AcpiDmVendorLargeDescriptor (
734     AML_RESOURCE            *Resource,
735     UINT32                  Length,
736     UINT32                  Level);
737
738 void
739 AcpiDmVendorCommon (
740     char                    *Name,
741     UINT8                   *ByteData,
742     UINT32                  Length,
743     UINT32                  Level);
744
745
746 /*
747  * dmresrcs
748  */
749 void
750 AcpiDmIrqDescriptor (
751     AML_RESOURCE            *Resource,
752     UINT32                  Length,
753     UINT32                  Level);
754
755 void
756 AcpiDmDmaDescriptor (
757     AML_RESOURCE            *Resource,
758     UINT32                  Length,
759     UINT32                  Level);
760
761 void
762 AcpiDmIoDescriptor (
763     AML_RESOURCE            *Resource,
764     UINT32                  Length,
765     UINT32                  Level);
766
767 void
768 AcpiDmFixedIoDescriptor (
769     AML_RESOURCE            *Resource,
770     UINT32                  Length,
771     UINT32                  Level);
772
773 void
774 AcpiDmStartDependentDescriptor (
775     AML_RESOURCE            *Resource,
776     UINT32                  Length,
777     UINT32                  Level);
778
779 void
780 AcpiDmEndDependentDescriptor (
781     AML_RESOURCE            *Resource,
782     UINT32                  Length,
783     UINT32                  Level);
784
785 void
786 AcpiDmVendorSmallDescriptor (
787     AML_RESOURCE            *Resource,
788     UINT32                  Length,
789     UINT32                  Level);
790
791
792 /*
793  * dmutils
794  */
795 void
796 AcpiDmDecodeAttribute (
797     UINT8                   Attribute);
798
799 void
800 AcpiDmIndent (
801     UINT32                  Level);
802
803 BOOLEAN
804 AcpiDmCommaIfListMember (
805     ACPI_PARSE_OBJECT       *Op);
806
807 void
808 AcpiDmCommaIfFieldMember (
809     ACPI_PARSE_OBJECT       *Op);
810
811
812 /*
813  * dmrestag
814  */
815 void
816 AcpiDmFindResources (
817     ACPI_PARSE_OBJECT       *Root);
818
819 void
820 AcpiDmCheckResourceReference (
821     ACPI_PARSE_OBJECT       *Op,
822     ACPI_WALK_STATE         *WalkState);
823
824
825 /*
826  * acdisasm
827  */
828 void
829 AdDisassemblerHeader (
830     char                    *Filename);
831
832
833 #endif  /* __ACDISASM_H__ */