xref: /freebsd/sys/contrib/dev/acpica/include/acdisasm.h (revision 79c6d946797dd4db2f2a943f664a4e976f6c942b)
1a9f12690SJung-uk Kim /******************************************************************************
2a9f12690SJung-uk Kim  *
3a9f12690SJung-uk Kim  * Name: acdisasm.h - AML disassembler
4a9f12690SJung-uk Kim  *
5a9f12690SJung-uk Kim  *****************************************************************************/
6a9f12690SJung-uk Kim 
7d244b227SJung-uk Kim /*
8efcc2a30SJung-uk Kim  * Copyright (C) 2000 - 2013, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-uk Kim  */
43a9f12690SJung-uk Kim 
44a9f12690SJung-uk Kim #ifndef __ACDISASM_H__
45a9f12690SJung-uk Kim #define __ACDISASM_H__
46a9f12690SJung-uk Kim 
47ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/amlresrc.h>
48a9f12690SJung-uk Kim 
49a9f12690SJung-uk Kim 
50a9f12690SJung-uk Kim #define BLOCK_NONE              0
51a9f12690SJung-uk Kim #define BLOCK_PAREN             1
52a9f12690SJung-uk Kim #define BLOCK_BRACE             2
53a9f12690SJung-uk Kim #define BLOCK_COMMA_LIST        4
54a9f12690SJung-uk Kim #define ACPI_DEFAULT_RESNAME    *(UINT32 *) "__RD"
55a9f12690SJung-uk Kim 
56d244b227SJung-uk Kim /*
57d244b227SJung-uk Kim  * Raw table data header. Used by disassembler and data table compiler.
58d244b227SJung-uk Kim  * Do not change.
59d244b227SJung-uk Kim  */
60d244b227SJung-uk Kim #define ACPI_RAW_TABLE_DATA_HEADER      "Raw Table Data"
61d244b227SJung-uk Kim 
62a9f12690SJung-uk Kim 
63a9f12690SJung-uk Kim typedef const struct acpi_dmtable_info
64a9f12690SJung-uk Kim {
65a9f12690SJung-uk Kim     UINT8                       Opcode;
66ec3fc72fSJung-uk Kim     UINT16                      Offset;
67a9f12690SJung-uk Kim     char                        *Name;
68a88e22b7SJung-uk Kim     UINT8                       Flags;
69a9f12690SJung-uk Kim 
70a9f12690SJung-uk Kim } ACPI_DMTABLE_INFO;
71a9f12690SJung-uk Kim 
72a88e22b7SJung-uk Kim #define DT_LENGTH                       0x01    /* Field is a subtable length */
73a88e22b7SJung-uk Kim #define DT_FLAG                         0x02    /* Field is a flag value */
74a88e22b7SJung-uk Kim #define DT_NON_ZERO                     0x04    /* Field must be non-zero */
75a88e22b7SJung-uk Kim 
76a88e22b7SJung-uk Kim /* TBD: Not used at this time */
77a88e22b7SJung-uk Kim 
78a88e22b7SJung-uk Kim #define DT_OPTIONAL                     0x08
79a88e22b7SJung-uk Kim #define DT_COUNT                        0x10
80a88e22b7SJung-uk Kim 
81a9f12690SJung-uk Kim /*
82a9f12690SJung-uk Kim  * Values for Opcode above.
833f0275a0SJung-uk Kim  * Note: 0-7 must not change, they are used as a flag shift value. Other
843f0275a0SJung-uk Kim  * than those, new values can be added wherever appropriate.
85a9f12690SJung-uk Kim  */
863f0275a0SJung-uk Kim typedef enum
873f0275a0SJung-uk Kim {
883f0275a0SJung-uk Kim     /* Simple Data Types */
893f0275a0SJung-uk Kim 
903f0275a0SJung-uk Kim     ACPI_DMT_FLAG0          = 0,
913f0275a0SJung-uk Kim     ACPI_DMT_FLAG1          = 1,
923f0275a0SJung-uk Kim     ACPI_DMT_FLAG2          = 2,
933f0275a0SJung-uk Kim     ACPI_DMT_FLAG3          = 3,
943f0275a0SJung-uk Kim     ACPI_DMT_FLAG4          = 4,
953f0275a0SJung-uk Kim     ACPI_DMT_FLAG5          = 5,
963f0275a0SJung-uk Kim     ACPI_DMT_FLAG6          = 6,
973f0275a0SJung-uk Kim     ACPI_DMT_FLAG7          = 7,
983f0275a0SJung-uk Kim     ACPI_DMT_FLAGS0,
993f0275a0SJung-uk Kim     ACPI_DMT_FLAGS1,
1003f0275a0SJung-uk Kim     ACPI_DMT_FLAGS2,
1013f0275a0SJung-uk Kim     ACPI_DMT_FLAGS4,
1023f0275a0SJung-uk Kim     ACPI_DMT_UINT8,
1033f0275a0SJung-uk Kim     ACPI_DMT_UINT16,
1043f0275a0SJung-uk Kim     ACPI_DMT_UINT24,
1053f0275a0SJung-uk Kim     ACPI_DMT_UINT32,
1063f0275a0SJung-uk Kim     ACPI_DMT_UINT40,
1073f0275a0SJung-uk Kim     ACPI_DMT_UINT48,
1083f0275a0SJung-uk Kim     ACPI_DMT_UINT56,
1093f0275a0SJung-uk Kim     ACPI_DMT_UINT64,
1103f0275a0SJung-uk Kim     ACPI_DMT_BUF7,
1118d744e47SJung-uk Kim     ACPI_DMT_BUF10,
1123f0275a0SJung-uk Kim     ACPI_DMT_BUF16,
1133f0275a0SJung-uk Kim     ACPI_DMT_BUF128,
1143f0275a0SJung-uk Kim     ACPI_DMT_SIG,
1153f0275a0SJung-uk Kim     ACPI_DMT_STRING,
1163f0275a0SJung-uk Kim     ACPI_DMT_NAME4,
1173f0275a0SJung-uk Kim     ACPI_DMT_NAME6,
1183f0275a0SJung-uk Kim     ACPI_DMT_NAME8,
1193f0275a0SJung-uk Kim 
1203f0275a0SJung-uk Kim     /* Types that are decoded to strings and miscellaneous */
1213f0275a0SJung-uk Kim 
1223f0275a0SJung-uk Kim     ACPI_DMT_ACCWIDTH,
1233f0275a0SJung-uk Kim     ACPI_DMT_CHKSUM,
1243f0275a0SJung-uk Kim     ACPI_DMT_GAS,
1253f0275a0SJung-uk Kim     ACPI_DMT_SPACEID,
1263f0275a0SJung-uk Kim     ACPI_DMT_UNICODE,
1273f0275a0SJung-uk Kim     ACPI_DMT_UUID,
1283f0275a0SJung-uk Kim 
1293f0275a0SJung-uk Kim     /* Types used only for the Data Table Compiler */
1303f0275a0SJung-uk Kim 
1313f0275a0SJung-uk Kim     ACPI_DMT_BUFFER,
1323f0275a0SJung-uk Kim     ACPI_DMT_DEVICE_PATH,
1333f0275a0SJung-uk Kim     ACPI_DMT_LABEL,
1343f0275a0SJung-uk Kim     ACPI_DMT_PCI_PATH,
1353f0275a0SJung-uk Kim 
1363f0275a0SJung-uk Kim     /* Types that are specific to particular ACPI tables */
1373f0275a0SJung-uk Kim 
1383f0275a0SJung-uk Kim     ACPI_DMT_ASF,
1393f0275a0SJung-uk Kim     ACPI_DMT_DMAR,
1403f0275a0SJung-uk Kim     ACPI_DMT_EINJACT,
1413f0275a0SJung-uk Kim     ACPI_DMT_EINJINST,
1423f0275a0SJung-uk Kim     ACPI_DMT_ERSTACT,
1433f0275a0SJung-uk Kim     ACPI_DMT_ERSTINST,
1443f0275a0SJung-uk Kim     ACPI_DMT_FADTPM,
1453f0275a0SJung-uk Kim     ACPI_DMT_HEST,
1463f0275a0SJung-uk Kim     ACPI_DMT_HESTNTFY,
1473f0275a0SJung-uk Kim     ACPI_DMT_HESTNTYP,
1483f0275a0SJung-uk Kim     ACPI_DMT_IVRS,
1493f0275a0SJung-uk Kim     ACPI_DMT_MADT,
1503f0275a0SJung-uk Kim     ACPI_DMT_PMTT,
1513f0275a0SJung-uk Kim     ACPI_DMT_SLIC,
1523f0275a0SJung-uk Kim     ACPI_DMT_SRAT,
1533f0275a0SJung-uk Kim 
1543f0275a0SJung-uk Kim     /* Special opcodes */
1553f0275a0SJung-uk Kim 
1563f0275a0SJung-uk Kim     ACPI_DMT_EXTRA_TEXT,
1573f0275a0SJung-uk Kim     ACPI_DMT_EXIT
1583f0275a0SJung-uk Kim 
1593f0275a0SJung-uk Kim } ACPI_ENTRY_TYPES;
160a9f12690SJung-uk Kim 
161a9f12690SJung-uk Kim typedef
162a9f12690SJung-uk Kim void (*ACPI_DMTABLE_HANDLER) (
163a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
164a9f12690SJung-uk Kim 
165a88e22b7SJung-uk Kim typedef
166a88e22b7SJung-uk Kim ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
167a88e22b7SJung-uk Kim     void                    **PFieldList);
168a88e22b7SJung-uk Kim 
169a9f12690SJung-uk Kim typedef struct acpi_dmtable_data
170a9f12690SJung-uk Kim {
171a9f12690SJung-uk Kim     char                    *Signature;
172a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO       *TableInfo;
173a9f12690SJung-uk Kim     ACPI_DMTABLE_HANDLER    TableHandler;
174a88e22b7SJung-uk Kim     ACPI_CMTABLE_HANDLER    CmTableHandler;
175a88e22b7SJung-uk Kim     const unsigned char     *Template;
176a9f12690SJung-uk Kim     char                    *Name;
177a9f12690SJung-uk Kim 
178a9f12690SJung-uk Kim } ACPI_DMTABLE_DATA;
179a9f12690SJung-uk Kim 
180a9f12690SJung-uk Kim 
181a9f12690SJung-uk Kim typedef struct acpi_op_walk_info
182a9f12690SJung-uk Kim {
183a9f12690SJung-uk Kim     UINT32                  Level;
184a9f12690SJung-uk Kim     UINT32                  LastLevel;
185a9f12690SJung-uk Kim     UINT32                  Count;
186a9f12690SJung-uk Kim     UINT32                  BitOffset;
187a9f12690SJung-uk Kim     UINT32                  Flags;
188a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState;
189a9f12690SJung-uk Kim 
190a9f12690SJung-uk Kim } ACPI_OP_WALK_INFO;
191a9f12690SJung-uk Kim 
192a88e22b7SJung-uk Kim /*
193a88e22b7SJung-uk Kim  * TBD - another copy of this is in asltypes.h, fix
194a88e22b7SJung-uk Kim  */
195a88e22b7SJung-uk Kim #ifndef ASL_WALK_CALLBACK_DEFINED
196a9f12690SJung-uk Kim typedef
197a9f12690SJung-uk Kim ACPI_STATUS (*ASL_WALK_CALLBACK) (
198a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT           *Op,
199a9f12690SJung-uk Kim     UINT32                      Level,
200a9f12690SJung-uk Kim     void                        *Context);
201a88e22b7SJung-uk Kim #define ASL_WALK_CALLBACK_DEFINED
202a88e22b7SJung-uk Kim #endif
203a88e22b7SJung-uk Kim 
2043f0275a0SJung-uk Kim typedef
2053f0275a0SJung-uk Kim void (*ACPI_RESOURCE_HANDLER) (
2063f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
2073f0275a0SJung-uk Kim     UINT32                  Length,
2083f0275a0SJung-uk Kim     UINT32                  Level);
209a9f12690SJung-uk Kim 
210a9f12690SJung-uk Kim typedef struct acpi_resource_tag
211a9f12690SJung-uk Kim {
212a9f12690SJung-uk Kim     UINT32                  BitIndex;
213a9f12690SJung-uk Kim     char                    *Tag;
214a9f12690SJung-uk Kim 
215a9f12690SJung-uk Kim } ACPI_RESOURCE_TAG;
216a9f12690SJung-uk Kim 
217a9f12690SJung-uk Kim /* Strings used for decoding flags to ASL keywords */
218a9f12690SJung-uk Kim 
219a9f12690SJung-uk Kim extern const char               *AcpiGbl_WordDecode[];
220a9f12690SJung-uk Kim extern const char               *AcpiGbl_IrqDecode[];
221a9f12690SJung-uk Kim extern const char               *AcpiGbl_LockRule[];
222a9f12690SJung-uk Kim extern const char               *AcpiGbl_AccessTypes[];
223a9f12690SJung-uk Kim extern const char               *AcpiGbl_UpdateRules[];
224a9f12690SJung-uk Kim extern const char               *AcpiGbl_MatchOps[];
225a9f12690SJung-uk Kim 
226a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
227a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
228a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
229a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
230a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
231a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
232a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
233a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
234a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
235a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
2363f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
237a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
238a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
2391df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
2401df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
241efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
2421df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
2431df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
2441df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
2451df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
2461df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
247a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
248a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
249a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
250a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
251a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
252a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
253a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
254d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
2553f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
256a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
257a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
258a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
259a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
260a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
261a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
262a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
263a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
264a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
2653f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
2663f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
2673f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
2683f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
2693f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
270a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
2713f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
272a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
273a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
274a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
275a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
276d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
277a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
278a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
279a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
280a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
281a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
282d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
283a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
284d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
285d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
286d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
287d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
288d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
289d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
290d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
291d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
292a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
293a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
294a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
295a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
296a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
297a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
298a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
299a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
300a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
301a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
302a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
303a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
3043f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
3053f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
306a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
307a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
308a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
309ca3cf4faSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
3103f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
3113f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
3123f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
3133f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
3143f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
3153f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
316d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
317d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
3189c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr[];
3199c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr0[];
3203f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
3213f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
3223f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
3233f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1a[];
3243f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
3253f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
3263f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
3273f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
328a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
329a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
3303f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
3313f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
3323f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
3333f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
334a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
335dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlicHdr[];
336dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic0[];
337dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic1[];
338a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
339a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
340a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
341a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
342a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
343a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
344a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
345a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
346a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpa[];
347efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
348d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
3499c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc[];
3509c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc0[];
351d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
352d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
353d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
354a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
355a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
356a9f12690SJung-uk Kim 
357d244b227SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
358d244b227SJung-uk Kim 
359a9f12690SJung-uk Kim 
360a9f12690SJung-uk Kim /*
361a9f12690SJung-uk Kim  * dmtable
362a9f12690SJung-uk Kim  */
363a88e22b7SJung-uk Kim extern ACPI_DMTABLE_DATA        AcpiDmTableData[];
364a88e22b7SJung-uk Kim 
365a88e22b7SJung-uk Kim UINT8
366a88e22b7SJung-uk Kim AcpiDmGenerateChecksum (
367a88e22b7SJung-uk Kim     void                    *Table,
368a88e22b7SJung-uk Kim     UINT32                  Length,
369a88e22b7SJung-uk Kim     UINT8                   OriginalChecksum);
370a88e22b7SJung-uk Kim 
371a88e22b7SJung-uk Kim ACPI_DMTABLE_DATA *
372a88e22b7SJung-uk Kim AcpiDmGetTableData (
373a88e22b7SJung-uk Kim     char                    *Signature);
374a88e22b7SJung-uk Kim 
375a9f12690SJung-uk Kim void
376a9f12690SJung-uk Kim AcpiDmDumpDataTable (
377a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
378a9f12690SJung-uk Kim 
379a9f12690SJung-uk Kim ACPI_STATUS
380a9f12690SJung-uk Kim AcpiDmDumpTable (
381a9f12690SJung-uk Kim     UINT32                  TableLength,
382a9f12690SJung-uk Kim     UINT32                  TableOffset,
383a9f12690SJung-uk Kim     void                    *Table,
384a9f12690SJung-uk Kim     UINT32                  SubTableLength,
385a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO        *Info);
386a9f12690SJung-uk Kim 
387a9f12690SJung-uk Kim void
388a9f12690SJung-uk Kim AcpiDmLineHeader (
389a9f12690SJung-uk Kim     UINT32                  Offset,
390a9f12690SJung-uk Kim     UINT32                  ByteLength,
391a9f12690SJung-uk Kim     char                    *Name);
392a9f12690SJung-uk Kim 
393a9f12690SJung-uk Kim void
394a9f12690SJung-uk Kim AcpiDmLineHeader2 (
395a9f12690SJung-uk Kim     UINT32                  Offset,
396a9f12690SJung-uk Kim     UINT32                  ByteLength,
397a9f12690SJung-uk Kim     char                    *Name,
398a9f12690SJung-uk Kim     UINT32                  Value);
399a9f12690SJung-uk Kim 
400a9f12690SJung-uk Kim 
401a9f12690SJung-uk Kim /*
402a9f12690SJung-uk Kim  * dmtbdump
403a9f12690SJung-uk Kim  */
404a9f12690SJung-uk Kim void
405a9f12690SJung-uk Kim AcpiDmDumpAsf (
406a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
407a9f12690SJung-uk Kim 
408a9f12690SJung-uk Kim void
409a9f12690SJung-uk Kim AcpiDmDumpCpep (
410a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
411a9f12690SJung-uk Kim 
412a9f12690SJung-uk Kim void
4131df130f1SJung-uk Kim AcpiDmDumpCsrt (
4141df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4151df130f1SJung-uk Kim 
4161df130f1SJung-uk Kim void
4171df130f1SJung-uk Kim AcpiDmDumpDbg2 (
4181df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4191df130f1SJung-uk Kim 
4201df130f1SJung-uk Kim void
421a9f12690SJung-uk Kim AcpiDmDumpDmar (
422a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
423a9f12690SJung-uk Kim 
424a9f12690SJung-uk Kim void
425a9f12690SJung-uk Kim AcpiDmDumpEinj (
426a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
427a9f12690SJung-uk Kim 
428a9f12690SJung-uk Kim void
429a9f12690SJung-uk Kim AcpiDmDumpErst (
430a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
431a9f12690SJung-uk Kim 
432a9f12690SJung-uk Kim void
433a9f12690SJung-uk Kim AcpiDmDumpFadt (
434a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
435a9f12690SJung-uk Kim 
436a9f12690SJung-uk Kim void
4373f0275a0SJung-uk Kim AcpiDmDumpFpdt (
4383f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4393f0275a0SJung-uk Kim 
4403f0275a0SJung-uk Kim void
441a9f12690SJung-uk Kim AcpiDmDumpHest (
442a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
443a9f12690SJung-uk Kim 
444a9f12690SJung-uk Kim void
445d6dd1baeSJung-uk Kim AcpiDmDumpIvrs (
446d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
447d6dd1baeSJung-uk Kim 
448d6dd1baeSJung-uk Kim void
449a9f12690SJung-uk Kim AcpiDmDumpMadt (
450a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
451a9f12690SJung-uk Kim 
452d6dd1baeSJung-uk Kim void
4533f0275a0SJung-uk Kim AcpiDmDumpMcfg (
4543f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4553f0275a0SJung-uk Kim 
4563f0275a0SJung-uk Kim void
4573f0275a0SJung-uk Kim AcpiDmDumpMpst (
4583f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4593f0275a0SJung-uk Kim 
4603f0275a0SJung-uk Kim void
461d6dd1baeSJung-uk Kim AcpiDmDumpMsct (
462d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
463d6dd1baeSJung-uk Kim 
4643f0275a0SJung-uk Kim void
4659c48c75eSJung-uk Kim AcpiDmDumpMtmr (
4669c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4679c48c75eSJung-uk Kim 
4689c48c75eSJung-uk Kim void
4693f0275a0SJung-uk Kim AcpiDmDumpPcct (
4703f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4713f0275a0SJung-uk Kim 
4723f0275a0SJung-uk Kim void
4733f0275a0SJung-uk Kim AcpiDmDumpPmtt (
4743f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4753f0275a0SJung-uk Kim 
476a9f12690SJung-uk Kim UINT32
477a9f12690SJung-uk Kim AcpiDmDumpRsdp (
478a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
479a9f12690SJung-uk Kim 
480a9f12690SJung-uk Kim void
481a9f12690SJung-uk Kim AcpiDmDumpRsdt (
482a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
483a9f12690SJung-uk Kim 
4843f0275a0SJung-uk Kim UINT32
4853f0275a0SJung-uk Kim AcpiDmDumpS3pt (
4863f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4873f0275a0SJung-uk Kim 
488a9f12690SJung-uk Kim void
489dcbce41eSJung-uk Kim AcpiDmDumpSlic (
490dcbce41eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
491dcbce41eSJung-uk Kim 
492dcbce41eSJung-uk Kim void
493a9f12690SJung-uk Kim AcpiDmDumpSlit (
494a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
495a9f12690SJung-uk Kim 
496a9f12690SJung-uk Kim void
497a9f12690SJung-uk Kim AcpiDmDumpSrat (
498a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
499a9f12690SJung-uk Kim 
500a9f12690SJung-uk Kim void
5019c48c75eSJung-uk Kim AcpiDmDumpVrtc (
5029c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5039c48c75eSJung-uk Kim 
5049c48c75eSJung-uk Kim void
505d6dd1baeSJung-uk Kim AcpiDmDumpWdat (
506d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
507d6dd1baeSJung-uk Kim 
508d6dd1baeSJung-uk Kim void
509a9f12690SJung-uk Kim AcpiDmDumpXsdt (
510a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
511a9f12690SJung-uk Kim 
512a9f12690SJung-uk Kim 
513a9f12690SJung-uk Kim /*
514a9f12690SJung-uk Kim  * dmwalk
515a9f12690SJung-uk Kim  */
516a9f12690SJung-uk Kim void
517a9f12690SJung-uk Kim AcpiDmDisassemble (
518a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
519a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Origin,
520a9f12690SJung-uk Kim     UINT32                  NumOpcodes);
521a9f12690SJung-uk Kim 
522a9f12690SJung-uk Kim void
523a9f12690SJung-uk Kim AcpiDmWalkParseTree (
524a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
525a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       DescendingCallback,
526a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       AscendingCallback,
527a9f12690SJung-uk Kim     void                    *Context);
528a9f12690SJung-uk Kim 
529a9f12690SJung-uk Kim 
530a9f12690SJung-uk Kim /*
531a9f12690SJung-uk Kim  * dmopcode
532a9f12690SJung-uk Kim  */
533a9f12690SJung-uk Kim void
534a9f12690SJung-uk Kim AcpiDmDisassembleOneOp (
535a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
536a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
537a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
538a9f12690SJung-uk Kim 
539a9f12690SJung-uk Kim void
540a9f12690SJung-uk Kim AcpiDmDecodeInternalObject (
541a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
542a9f12690SJung-uk Kim 
543a9f12690SJung-uk Kim UINT32
544a9f12690SJung-uk Kim AcpiDmListType (
545a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
546a9f12690SJung-uk Kim 
547a9f12690SJung-uk Kim void
548a9f12690SJung-uk Kim AcpiDmMethodFlags (
549a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
550a9f12690SJung-uk Kim 
551a9f12690SJung-uk Kim void
552f38b0f21SJung-uk Kim AcpiDmPredefinedDescription (
553f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
554f38b0f21SJung-uk Kim 
555f38b0f21SJung-uk Kim void
556f38b0f21SJung-uk Kim AcpiDmFieldPredefinedDescription (
557f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
558f38b0f21SJung-uk Kim 
559f38b0f21SJung-uk Kim void
560a9f12690SJung-uk Kim AcpiDmFieldFlags (
561a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
562a9f12690SJung-uk Kim 
563a9f12690SJung-uk Kim void
564a9f12690SJung-uk Kim AcpiDmAddressSpace (
565a9f12690SJung-uk Kim     UINT8                   SpaceId);
566a9f12690SJung-uk Kim 
567a9f12690SJung-uk Kim void
568a9f12690SJung-uk Kim AcpiDmRegionFlags (
569a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
570a9f12690SJung-uk Kim 
571a9f12690SJung-uk Kim void
572a9f12690SJung-uk Kim AcpiDmMatchOp (
573a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
574a9f12690SJung-uk Kim 
575a9f12690SJung-uk Kim 
576a9f12690SJung-uk Kim /*
577a9f12690SJung-uk Kim  * dmnames
578a9f12690SJung-uk Kim  */
579a9f12690SJung-uk Kim UINT32
580a9f12690SJung-uk Kim AcpiDmDumpName (
581a9f12690SJung-uk Kim     UINT32                  Name);
582a9f12690SJung-uk Kim 
583a9f12690SJung-uk Kim ACPI_STATUS
584a9f12690SJung-uk Kim AcpiPsDisplayObjectPathname (
585a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
586a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
587a9f12690SJung-uk Kim 
588a9f12690SJung-uk Kim void
589a9f12690SJung-uk Kim AcpiDmNamestring (
590a9f12690SJung-uk Kim     char                    *Name);
591a9f12690SJung-uk Kim 
592a9f12690SJung-uk Kim 
593a9f12690SJung-uk Kim /*
594a9f12690SJung-uk Kim  * dmobject
595a9f12690SJung-uk Kim  */
596a9f12690SJung-uk Kim void
597a9f12690SJung-uk Kim AcpiDmDisplayInternalObject (
598a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
599a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
600a9f12690SJung-uk Kim 
601a9f12690SJung-uk Kim void
602a9f12690SJung-uk Kim AcpiDmDisplayArguments (
603a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
604a9f12690SJung-uk Kim 
605a9f12690SJung-uk Kim void
606a9f12690SJung-uk Kim AcpiDmDisplayLocals (
607a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
608a9f12690SJung-uk Kim 
609a9f12690SJung-uk Kim void
610a9f12690SJung-uk Kim AcpiDmDumpMethodInfo (
611a9f12690SJung-uk Kim     ACPI_STATUS             Status,
612a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
613a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
614a9f12690SJung-uk Kim 
615a9f12690SJung-uk Kim 
616a9f12690SJung-uk Kim /*
617a9f12690SJung-uk Kim  * dmbuffer
618a9f12690SJung-uk Kim  */
619a9f12690SJung-uk Kim void
620a9f12690SJung-uk Kim AcpiDmDisasmByteList (
621a9f12690SJung-uk Kim     UINT32                  Level,
622a9f12690SJung-uk Kim     UINT8                   *ByteData,
623a9f12690SJung-uk Kim     UINT32                  ByteCount);
624a9f12690SJung-uk Kim 
625a9f12690SJung-uk Kim void
626a9f12690SJung-uk Kim AcpiDmByteList (
627a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
628a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
629a9f12690SJung-uk Kim 
630a9f12690SJung-uk Kim void
631a9f12690SJung-uk Kim AcpiDmIsEisaId (
632a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
633a9f12690SJung-uk Kim 
634a9f12690SJung-uk Kim void
635a9f12690SJung-uk Kim AcpiDmEisaId (
636a9f12690SJung-uk Kim     UINT32                  EncodedId);
637a9f12690SJung-uk Kim 
638a9f12690SJung-uk Kim BOOLEAN
639a9f12690SJung-uk Kim AcpiDmIsUnicodeBuffer (
640a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
641a9f12690SJung-uk Kim 
642a9f12690SJung-uk Kim BOOLEAN
643a9f12690SJung-uk Kim AcpiDmIsStringBuffer (
644a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
645a9f12690SJung-uk Kim 
6461df130f1SJung-uk Kim BOOLEAN
6471df130f1SJung-uk Kim AcpiDmIsPldBuffer (
6481df130f1SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
6491df130f1SJung-uk Kim 
650a9f12690SJung-uk Kim 
651a9f12690SJung-uk Kim /*
652ed17e06eSJung-uk Kim  * dmdeferred
653ed17e06eSJung-uk Kim  */
654ed17e06eSJung-uk Kim ACPI_STATUS
655ed17e06eSJung-uk Kim AcpiDmParseDeferredOps (
656ed17e06eSJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
657ed17e06eSJung-uk Kim 
658ed17e06eSJung-uk Kim 
659ed17e06eSJung-uk Kim /*
660f556842eSJung-uk Kim  * dmextern
661f556842eSJung-uk Kim  */
662709fac06SJung-uk Kim ACPI_STATUS
663709fac06SJung-uk Kim AcpiDmAddToExternalFileList (
664709fac06SJung-uk Kim     char                    *PathList);
665709fac06SJung-uk Kim 
666709fac06SJung-uk Kim void
667709fac06SJung-uk Kim AcpiDmClearExternalFileList (
668709fac06SJung-uk Kim     void);
669709fac06SJung-uk Kim 
670f556842eSJung-uk Kim void
671f556842eSJung-uk Kim AcpiDmAddToExternalList (
672f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
673f556842eSJung-uk Kim     char                    *Path,
674f556842eSJung-uk Kim     UINT8                   Type,
675f556842eSJung-uk Kim     UINT32                  Value);
676f556842eSJung-uk Kim 
677f556842eSJung-uk Kim void
678f556842eSJung-uk Kim AcpiDmAddExternalsToNamespace (
679f556842eSJung-uk Kim     void);
680f556842eSJung-uk Kim 
681f556842eSJung-uk Kim UINT32
682f556842eSJung-uk Kim AcpiDmGetExternalMethodCount (
683f556842eSJung-uk Kim     void);
684f556842eSJung-uk Kim 
685f556842eSJung-uk Kim void
686f556842eSJung-uk Kim AcpiDmClearExternalList (
687f556842eSJung-uk Kim     void);
688f556842eSJung-uk Kim 
689f556842eSJung-uk Kim void
690f556842eSJung-uk Kim AcpiDmEmitExternals (
691f556842eSJung-uk Kim     void);
692f556842eSJung-uk Kim 
6939c48c75eSJung-uk Kim void
6949c48c75eSJung-uk Kim AcpiDmUnresolvedWarning (
6959c48c75eSJung-uk Kim     UINT8                   Type);
6969c48c75eSJung-uk Kim 
697*79c6d946SJung-uk Kim void
698*79c6d946SJung-uk Kim AcpiDmGetExternalsFromFile (
699*79c6d946SJung-uk Kim     void);
700f556842eSJung-uk Kim 
701f556842eSJung-uk Kim /*
702a9f12690SJung-uk Kim  * dmresrc
703a9f12690SJung-uk Kim  */
704a9f12690SJung-uk Kim void
705a9f12690SJung-uk Kim AcpiDmDumpInteger8 (
706a9f12690SJung-uk Kim     UINT8                   Value,
707a9f12690SJung-uk Kim     char                    *Name);
708a9f12690SJung-uk Kim 
709a9f12690SJung-uk Kim void
710a9f12690SJung-uk Kim AcpiDmDumpInteger16 (
711a9f12690SJung-uk Kim     UINT16                  Value,
712a9f12690SJung-uk Kim     char                    *Name);
713a9f12690SJung-uk Kim 
714a9f12690SJung-uk Kim void
715a9f12690SJung-uk Kim AcpiDmDumpInteger32 (
716a9f12690SJung-uk Kim     UINT32                  Value,
717a9f12690SJung-uk Kim     char                    *Name);
718a9f12690SJung-uk Kim 
719a9f12690SJung-uk Kim void
720a9f12690SJung-uk Kim AcpiDmDumpInteger64 (
721a9f12690SJung-uk Kim     UINT64                  Value,
722a9f12690SJung-uk Kim     char                    *Name);
723a9f12690SJung-uk Kim 
724a9f12690SJung-uk Kim void
725a9f12690SJung-uk Kim AcpiDmResourceTemplate (
726a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
727a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
728a9f12690SJung-uk Kim     UINT8                   *ByteData,
729a9f12690SJung-uk Kim     UINT32                  ByteCount);
730a9f12690SJung-uk Kim 
731a9f12690SJung-uk Kim ACPI_STATUS
732a9f12690SJung-uk Kim AcpiDmIsResourceTemplate (
733ed17e06eSJung-uk Kim     ACPI_WALK_STATE         *WalkState,
734a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
735a9f12690SJung-uk Kim 
736a9f12690SJung-uk Kim void
737a9f12690SJung-uk Kim AcpiDmBitList (
738a9f12690SJung-uk Kim     UINT16                  Mask);
739a9f12690SJung-uk Kim 
740a9f12690SJung-uk Kim void
741a9f12690SJung-uk Kim AcpiDmDescriptorName (
742a9f12690SJung-uk Kim     void);
743a9f12690SJung-uk Kim 
744a9f12690SJung-uk Kim 
745a9f12690SJung-uk Kim /*
746a9f12690SJung-uk Kim  * dmresrcl
747a9f12690SJung-uk Kim  */
748a9f12690SJung-uk Kim void
749a9f12690SJung-uk Kim AcpiDmWordDescriptor (
750a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
751a9f12690SJung-uk Kim     UINT32                  Length,
752a9f12690SJung-uk Kim     UINT32                  Level);
753a9f12690SJung-uk Kim 
754a9f12690SJung-uk Kim void
755a9f12690SJung-uk Kim AcpiDmDwordDescriptor (
756a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
757a9f12690SJung-uk Kim     UINT32                  Length,
758a9f12690SJung-uk Kim     UINT32                  Level);
759a9f12690SJung-uk Kim 
760a9f12690SJung-uk Kim void
761a9f12690SJung-uk Kim AcpiDmExtendedDescriptor (
762a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
763a9f12690SJung-uk Kim     UINT32                  Length,
764a9f12690SJung-uk Kim     UINT32                  Level);
765a9f12690SJung-uk Kim 
766a9f12690SJung-uk Kim void
767a9f12690SJung-uk Kim AcpiDmQwordDescriptor (
768a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
769a9f12690SJung-uk Kim     UINT32                  Length,
770a9f12690SJung-uk Kim     UINT32                  Level);
771a9f12690SJung-uk Kim 
772a9f12690SJung-uk Kim void
773a9f12690SJung-uk Kim AcpiDmMemory24Descriptor (
774a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
775a9f12690SJung-uk Kim     UINT32                  Length,
776a9f12690SJung-uk Kim     UINT32                  Level);
777a9f12690SJung-uk Kim 
778a9f12690SJung-uk Kim void
779a9f12690SJung-uk Kim AcpiDmMemory32Descriptor (
780a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
781a9f12690SJung-uk Kim     UINT32                  Length,
782a9f12690SJung-uk Kim     UINT32                  Level);
783a9f12690SJung-uk Kim 
784a9f12690SJung-uk Kim void
785a9f12690SJung-uk Kim AcpiDmFixedMemory32Descriptor (
786a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
787a9f12690SJung-uk Kim     UINT32                  Length,
788a9f12690SJung-uk Kim     UINT32                  Level);
789a9f12690SJung-uk Kim 
790a9f12690SJung-uk Kim void
791a9f12690SJung-uk Kim AcpiDmGenericRegisterDescriptor (
792a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
793a9f12690SJung-uk Kim     UINT32                  Length,
794a9f12690SJung-uk Kim     UINT32                  Level);
795a9f12690SJung-uk Kim 
796a9f12690SJung-uk Kim void
797a9f12690SJung-uk Kim AcpiDmInterruptDescriptor (
798a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
799a9f12690SJung-uk Kim     UINT32                  Length,
800a9f12690SJung-uk Kim     UINT32                  Level);
801a9f12690SJung-uk Kim 
802a9f12690SJung-uk Kim void
803a9f12690SJung-uk Kim AcpiDmVendorLargeDescriptor (
804a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
805a9f12690SJung-uk Kim     UINT32                  Length,
806a9f12690SJung-uk Kim     UINT32                  Level);
807a9f12690SJung-uk Kim 
808a9f12690SJung-uk Kim void
8093f0275a0SJung-uk Kim AcpiDmGpioDescriptor (
8103f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8113f0275a0SJung-uk Kim     UINT32                  Length,
8123f0275a0SJung-uk Kim     UINT32                  Level);
8133f0275a0SJung-uk Kim 
8143f0275a0SJung-uk Kim void
8153f0275a0SJung-uk Kim AcpiDmSerialBusDescriptor (
8163f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8173f0275a0SJung-uk Kim     UINT32                  Length,
8183f0275a0SJung-uk Kim     UINT32                  Level);
8193f0275a0SJung-uk Kim 
8203f0275a0SJung-uk Kim void
821a9f12690SJung-uk Kim AcpiDmVendorCommon (
822a9f12690SJung-uk Kim     char                    *Name,
823a9f12690SJung-uk Kim     UINT8                   *ByteData,
824a9f12690SJung-uk Kim     UINT32                  Length,
825a9f12690SJung-uk Kim     UINT32                  Level);
826a9f12690SJung-uk Kim 
827a9f12690SJung-uk Kim 
828a9f12690SJung-uk Kim /*
829a9f12690SJung-uk Kim  * dmresrcs
830a9f12690SJung-uk Kim  */
831a9f12690SJung-uk Kim void
832a9f12690SJung-uk Kim AcpiDmIrqDescriptor (
833a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
834a9f12690SJung-uk Kim     UINT32                  Length,
835a9f12690SJung-uk Kim     UINT32                  Level);
836a9f12690SJung-uk Kim 
837a9f12690SJung-uk Kim void
838a9f12690SJung-uk Kim AcpiDmDmaDescriptor (
839a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
840a9f12690SJung-uk Kim     UINT32                  Length,
841a9f12690SJung-uk Kim     UINT32                  Level);
842a9f12690SJung-uk Kim 
843a9f12690SJung-uk Kim void
8443f0275a0SJung-uk Kim AcpiDmFixedDmaDescriptor (
8453f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8463f0275a0SJung-uk Kim     UINT32                  Length,
8473f0275a0SJung-uk Kim     UINT32                  Level);
8483f0275a0SJung-uk Kim 
8493f0275a0SJung-uk Kim void
850a9f12690SJung-uk Kim AcpiDmIoDescriptor (
851a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
852a9f12690SJung-uk Kim     UINT32                  Length,
853a9f12690SJung-uk Kim     UINT32                  Level);
854a9f12690SJung-uk Kim 
855a9f12690SJung-uk Kim void
856a9f12690SJung-uk Kim AcpiDmFixedIoDescriptor (
857a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
858a9f12690SJung-uk Kim     UINT32                  Length,
859a9f12690SJung-uk Kim     UINT32                  Level);
860a9f12690SJung-uk Kim 
861a9f12690SJung-uk Kim void
862a9f12690SJung-uk Kim AcpiDmStartDependentDescriptor (
863a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
864a9f12690SJung-uk Kim     UINT32                  Length,
865a9f12690SJung-uk Kim     UINT32                  Level);
866a9f12690SJung-uk Kim 
867a9f12690SJung-uk Kim void
868a9f12690SJung-uk Kim AcpiDmEndDependentDescriptor (
869a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
870a9f12690SJung-uk Kim     UINT32                  Length,
871a9f12690SJung-uk Kim     UINT32                  Level);
872a9f12690SJung-uk Kim 
873a9f12690SJung-uk Kim void
874a9f12690SJung-uk Kim AcpiDmVendorSmallDescriptor (
875a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
876a9f12690SJung-uk Kim     UINT32                  Length,
877a9f12690SJung-uk Kim     UINT32                  Level);
878a9f12690SJung-uk Kim 
879a9f12690SJung-uk Kim 
880a9f12690SJung-uk Kim /*
881a9f12690SJung-uk Kim  * dmutils
882a9f12690SJung-uk Kim  */
883a9f12690SJung-uk Kim void
884f556842eSJung-uk Kim AcpiDmDecodeAttribute (
885f556842eSJung-uk Kim     UINT8                   Attribute);
886f556842eSJung-uk Kim 
887f556842eSJung-uk Kim void
888f556842eSJung-uk Kim AcpiDmIndent (
889f556842eSJung-uk Kim     UINT32                  Level);
890f556842eSJung-uk Kim 
891f556842eSJung-uk Kim BOOLEAN
892f556842eSJung-uk Kim AcpiDmCommaIfListMember (
893f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
894f556842eSJung-uk Kim 
895f556842eSJung-uk Kim void
896f556842eSJung-uk Kim AcpiDmCommaIfFieldMember (
897f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
898f556842eSJung-uk Kim 
899a9f12690SJung-uk Kim 
900a9f12690SJung-uk Kim /*
901a9f12690SJung-uk Kim  * dmrestag
902a9f12690SJung-uk Kim  */
903a9f12690SJung-uk Kim void
904a9f12690SJung-uk Kim AcpiDmFindResources (
905a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
906a9f12690SJung-uk Kim 
907a9f12690SJung-uk Kim void
908a9f12690SJung-uk Kim AcpiDmCheckResourceReference (
909a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
910a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
911a9f12690SJung-uk Kim 
912a88e22b7SJung-uk Kim 
913a88e22b7SJung-uk Kim /*
914a88e22b7SJung-uk Kim  * acdisasm
915a88e22b7SJung-uk Kim  */
916a88e22b7SJung-uk Kim void
917a88e22b7SJung-uk Kim AdDisassemblerHeader (
918a88e22b7SJung-uk Kim     char                    *Filename);
919a88e22b7SJung-uk Kim 
920a88e22b7SJung-uk Kim 
921a9f12690SJung-uk Kim #endif  /* __ACDISASM_H__ */
922