xref: /freebsd/sys/contrib/dev/acpica/include/acdisasm.h (revision 9c48c75ed62587d422471fade1b0ceba2077bd20)
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,
1113f0275a0SJung-uk Kim     ACPI_DMT_BUF16,
1123f0275a0SJung-uk Kim     ACPI_DMT_BUF128,
1133f0275a0SJung-uk Kim     ACPI_DMT_SIG,
1143f0275a0SJung-uk Kim     ACPI_DMT_STRING,
1153f0275a0SJung-uk Kim     ACPI_DMT_NAME4,
1163f0275a0SJung-uk Kim     ACPI_DMT_NAME6,
1173f0275a0SJung-uk Kim     ACPI_DMT_NAME8,
1183f0275a0SJung-uk Kim 
1193f0275a0SJung-uk Kim     /* Types that are decoded to strings and miscellaneous */
1203f0275a0SJung-uk Kim 
1213f0275a0SJung-uk Kim     ACPI_DMT_ACCWIDTH,
1223f0275a0SJung-uk Kim     ACPI_DMT_CHKSUM,
1233f0275a0SJung-uk Kim     ACPI_DMT_GAS,
1243f0275a0SJung-uk Kim     ACPI_DMT_SPACEID,
1253f0275a0SJung-uk Kim     ACPI_DMT_UNICODE,
1263f0275a0SJung-uk Kim     ACPI_DMT_UUID,
1273f0275a0SJung-uk Kim 
1283f0275a0SJung-uk Kim     /* Types used only for the Data Table Compiler */
1293f0275a0SJung-uk Kim 
1303f0275a0SJung-uk Kim     ACPI_DMT_BUFFER,
1313f0275a0SJung-uk Kim     ACPI_DMT_DEVICE_PATH,
1323f0275a0SJung-uk Kim     ACPI_DMT_LABEL,
1333f0275a0SJung-uk Kim     ACPI_DMT_PCI_PATH,
1343f0275a0SJung-uk Kim 
1353f0275a0SJung-uk Kim     /* Types that are specific to particular ACPI tables */
1363f0275a0SJung-uk Kim 
1373f0275a0SJung-uk Kim     ACPI_DMT_ASF,
1383f0275a0SJung-uk Kim     ACPI_DMT_DMAR,
1393f0275a0SJung-uk Kim     ACPI_DMT_EINJACT,
1403f0275a0SJung-uk Kim     ACPI_DMT_EINJINST,
1413f0275a0SJung-uk Kim     ACPI_DMT_ERSTACT,
1423f0275a0SJung-uk Kim     ACPI_DMT_ERSTINST,
1433f0275a0SJung-uk Kim     ACPI_DMT_FADTPM,
1443f0275a0SJung-uk Kim     ACPI_DMT_HEST,
1453f0275a0SJung-uk Kim     ACPI_DMT_HESTNTFY,
1463f0275a0SJung-uk Kim     ACPI_DMT_HESTNTYP,
1473f0275a0SJung-uk Kim     ACPI_DMT_IVRS,
1483f0275a0SJung-uk Kim     ACPI_DMT_MADT,
1493f0275a0SJung-uk Kim     ACPI_DMT_PMTT,
1503f0275a0SJung-uk Kim     ACPI_DMT_SLIC,
1513f0275a0SJung-uk Kim     ACPI_DMT_SRAT,
1523f0275a0SJung-uk Kim 
1533f0275a0SJung-uk Kim     /* Special opcodes */
1543f0275a0SJung-uk Kim 
1553f0275a0SJung-uk Kim     ACPI_DMT_EXTRA_TEXT,
1563f0275a0SJung-uk Kim     ACPI_DMT_EXIT
1573f0275a0SJung-uk Kim 
1583f0275a0SJung-uk Kim } ACPI_ENTRY_TYPES;
159a9f12690SJung-uk Kim 
160a9f12690SJung-uk Kim typedef
161a9f12690SJung-uk Kim void (*ACPI_DMTABLE_HANDLER) (
162a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
163a9f12690SJung-uk Kim 
164a88e22b7SJung-uk Kim typedef
165a88e22b7SJung-uk Kim ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
166a88e22b7SJung-uk Kim     void                    **PFieldList);
167a88e22b7SJung-uk Kim 
168a9f12690SJung-uk Kim typedef struct acpi_dmtable_data
169a9f12690SJung-uk Kim {
170a9f12690SJung-uk Kim     char                    *Signature;
171a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO       *TableInfo;
172a9f12690SJung-uk Kim     ACPI_DMTABLE_HANDLER    TableHandler;
173a88e22b7SJung-uk Kim     ACPI_CMTABLE_HANDLER    CmTableHandler;
174a88e22b7SJung-uk Kim     const unsigned char     *Template;
175a9f12690SJung-uk Kim     char                    *Name;
176a9f12690SJung-uk Kim 
177a9f12690SJung-uk Kim } ACPI_DMTABLE_DATA;
178a9f12690SJung-uk Kim 
179a9f12690SJung-uk Kim 
180a9f12690SJung-uk Kim typedef struct acpi_op_walk_info
181a9f12690SJung-uk Kim {
182a9f12690SJung-uk Kim     UINT32                  Level;
183a9f12690SJung-uk Kim     UINT32                  LastLevel;
184a9f12690SJung-uk Kim     UINT32                  Count;
185a9f12690SJung-uk Kim     UINT32                  BitOffset;
186a9f12690SJung-uk Kim     UINT32                  Flags;
187a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState;
188a9f12690SJung-uk Kim 
189a9f12690SJung-uk Kim } ACPI_OP_WALK_INFO;
190a9f12690SJung-uk Kim 
191a88e22b7SJung-uk Kim /*
192a88e22b7SJung-uk Kim  * TBD - another copy of this is in asltypes.h, fix
193a88e22b7SJung-uk Kim  */
194a88e22b7SJung-uk Kim #ifndef ASL_WALK_CALLBACK_DEFINED
195a9f12690SJung-uk Kim typedef
196a9f12690SJung-uk Kim ACPI_STATUS (*ASL_WALK_CALLBACK) (
197a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT           *Op,
198a9f12690SJung-uk Kim     UINT32                      Level,
199a9f12690SJung-uk Kim     void                        *Context);
200a88e22b7SJung-uk Kim #define ASL_WALK_CALLBACK_DEFINED
201a88e22b7SJung-uk Kim #endif
202a88e22b7SJung-uk Kim 
2033f0275a0SJung-uk Kim typedef
2043f0275a0SJung-uk Kim void (*ACPI_RESOURCE_HANDLER) (
2053f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
2063f0275a0SJung-uk Kim     UINT32                  Length,
2073f0275a0SJung-uk Kim     UINT32                  Level);
208a9f12690SJung-uk Kim 
209a9f12690SJung-uk Kim typedef struct acpi_resource_tag
210a9f12690SJung-uk Kim {
211a9f12690SJung-uk Kim     UINT32                  BitIndex;
212a9f12690SJung-uk Kim     char                    *Tag;
213a9f12690SJung-uk Kim 
214a9f12690SJung-uk Kim } ACPI_RESOURCE_TAG;
215a9f12690SJung-uk Kim 
216a9f12690SJung-uk Kim /* Strings used for decoding flags to ASL keywords */
217a9f12690SJung-uk Kim 
218a9f12690SJung-uk Kim extern const char               *AcpiGbl_WordDecode[];
219a9f12690SJung-uk Kim extern const char               *AcpiGbl_IrqDecode[];
220a9f12690SJung-uk Kim extern const char               *AcpiGbl_LockRule[];
221a9f12690SJung-uk Kim extern const char               *AcpiGbl_AccessTypes[];
222a9f12690SJung-uk Kim extern const char               *AcpiGbl_UpdateRules[];
223a9f12690SJung-uk Kim extern const char               *AcpiGbl_MatchOps[];
224a9f12690SJung-uk Kim 
225a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
226a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
227a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
228a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
229a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
230a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
231a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
232a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
233a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
234a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
2353f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
236a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
237a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
2381df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
2391df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
240efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
2411df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
2421df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
2431df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
2441df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
2451df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
246a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
247a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
248a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
249a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
250a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
251a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
252a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
253d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
2543f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
255a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
256a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
257a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
258a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
259a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
260a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
261a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
262a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
263a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
2643f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
2653f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
2663f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
2673f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
2683f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
269a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
2703f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
271a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
272a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
273a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
274a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
275d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
276a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
277a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
278a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
279a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
280a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
281d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
282a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
283d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
284d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
285d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
286d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
287d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
288d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
289d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
290d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
291a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
292a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
293a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
294a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
295a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
296a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
297a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
298a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
299a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
300a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
301a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
302a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
3033f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
3043f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
305a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
306a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
307a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
308ca3cf4faSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
3093f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
3103f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
3113f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
3123f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
3133f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
3143f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
315d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
316d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
317*9c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr[];
318*9c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr0[];
3193f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
3203f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
3213f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
3223f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1a[];
3233f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
3243f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
3253f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
3263f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
327a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
328a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
3293f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
3303f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
3313f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
3323f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
333a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
334dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlicHdr[];
335dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic0[];
336dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic1[];
337a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
338a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
339a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
340a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
341a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
342a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
343a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
344a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
345a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpa[];
346efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
347d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
348*9c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc[];
349*9c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc0[];
350d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
351d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
352d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
353a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
354a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
355a9f12690SJung-uk Kim 
356d244b227SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
357d244b227SJung-uk Kim 
358a9f12690SJung-uk Kim 
359a9f12690SJung-uk Kim /*
360a9f12690SJung-uk Kim  * dmtable
361a9f12690SJung-uk Kim  */
362a88e22b7SJung-uk Kim extern ACPI_DMTABLE_DATA        AcpiDmTableData[];
363a88e22b7SJung-uk Kim 
364a88e22b7SJung-uk Kim UINT8
365a88e22b7SJung-uk Kim AcpiDmGenerateChecksum (
366a88e22b7SJung-uk Kim     void                    *Table,
367a88e22b7SJung-uk Kim     UINT32                  Length,
368a88e22b7SJung-uk Kim     UINT8                   OriginalChecksum);
369a88e22b7SJung-uk Kim 
370a88e22b7SJung-uk Kim ACPI_DMTABLE_DATA *
371a88e22b7SJung-uk Kim AcpiDmGetTableData (
372a88e22b7SJung-uk Kim     char                    *Signature);
373a88e22b7SJung-uk Kim 
374a9f12690SJung-uk Kim void
375a9f12690SJung-uk Kim AcpiDmDumpDataTable (
376a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
377a9f12690SJung-uk Kim 
378a9f12690SJung-uk Kim ACPI_STATUS
379a9f12690SJung-uk Kim AcpiDmDumpTable (
380a9f12690SJung-uk Kim     UINT32                  TableLength,
381a9f12690SJung-uk Kim     UINT32                  TableOffset,
382a9f12690SJung-uk Kim     void                    *Table,
383a9f12690SJung-uk Kim     UINT32                  SubTableLength,
384a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO        *Info);
385a9f12690SJung-uk Kim 
386a9f12690SJung-uk Kim void
387a9f12690SJung-uk Kim AcpiDmLineHeader (
388a9f12690SJung-uk Kim     UINT32                  Offset,
389a9f12690SJung-uk Kim     UINT32                  ByteLength,
390a9f12690SJung-uk Kim     char                    *Name);
391a9f12690SJung-uk Kim 
392a9f12690SJung-uk Kim void
393a9f12690SJung-uk Kim AcpiDmLineHeader2 (
394a9f12690SJung-uk Kim     UINT32                  Offset,
395a9f12690SJung-uk Kim     UINT32                  ByteLength,
396a9f12690SJung-uk Kim     char                    *Name,
397a9f12690SJung-uk Kim     UINT32                  Value);
398a9f12690SJung-uk Kim 
399a9f12690SJung-uk Kim 
400a9f12690SJung-uk Kim /*
401a9f12690SJung-uk Kim  * dmtbdump
402a9f12690SJung-uk Kim  */
403a9f12690SJung-uk Kim void
404a9f12690SJung-uk Kim AcpiDmDumpAsf (
405a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
406a9f12690SJung-uk Kim 
407a9f12690SJung-uk Kim void
408a9f12690SJung-uk Kim AcpiDmDumpCpep (
409a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
410a9f12690SJung-uk Kim 
411a9f12690SJung-uk Kim void
4121df130f1SJung-uk Kim AcpiDmDumpCsrt (
4131df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4141df130f1SJung-uk Kim 
4151df130f1SJung-uk Kim void
4161df130f1SJung-uk Kim AcpiDmDumpDbg2 (
4171df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4181df130f1SJung-uk Kim 
4191df130f1SJung-uk Kim void
420a9f12690SJung-uk Kim AcpiDmDumpDmar (
421a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
422a9f12690SJung-uk Kim 
423a9f12690SJung-uk Kim void
424a9f12690SJung-uk Kim AcpiDmDumpEinj (
425a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
426a9f12690SJung-uk Kim 
427a9f12690SJung-uk Kim void
428a9f12690SJung-uk Kim AcpiDmDumpErst (
429a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
430a9f12690SJung-uk Kim 
431a9f12690SJung-uk Kim void
432a9f12690SJung-uk Kim AcpiDmDumpFadt (
433a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
434a9f12690SJung-uk Kim 
435a9f12690SJung-uk Kim void
4363f0275a0SJung-uk Kim AcpiDmDumpFpdt (
4373f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4383f0275a0SJung-uk Kim 
4393f0275a0SJung-uk Kim void
440a9f12690SJung-uk Kim AcpiDmDumpHest (
441a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
442a9f12690SJung-uk Kim 
443a9f12690SJung-uk Kim void
444d6dd1baeSJung-uk Kim AcpiDmDumpIvrs (
445d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
446d6dd1baeSJung-uk Kim 
447d6dd1baeSJung-uk Kim void
448a9f12690SJung-uk Kim AcpiDmDumpMadt (
449a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
450a9f12690SJung-uk Kim 
451d6dd1baeSJung-uk Kim void
4523f0275a0SJung-uk Kim AcpiDmDumpMcfg (
4533f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4543f0275a0SJung-uk Kim 
4553f0275a0SJung-uk Kim void
4563f0275a0SJung-uk Kim AcpiDmDumpMpst (
4573f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4583f0275a0SJung-uk Kim 
4593f0275a0SJung-uk Kim void
460d6dd1baeSJung-uk Kim AcpiDmDumpMsct (
461d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
462d6dd1baeSJung-uk Kim 
4633f0275a0SJung-uk Kim void
464*9c48c75eSJung-uk Kim AcpiDmDumpMtmr (
465*9c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
466*9c48c75eSJung-uk Kim 
467*9c48c75eSJung-uk Kim void
4683f0275a0SJung-uk Kim AcpiDmDumpPcct (
4693f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4703f0275a0SJung-uk Kim 
4713f0275a0SJung-uk Kim void
4723f0275a0SJung-uk Kim AcpiDmDumpPmtt (
4733f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4743f0275a0SJung-uk Kim 
475a9f12690SJung-uk Kim UINT32
476a9f12690SJung-uk Kim AcpiDmDumpRsdp (
477a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
478a9f12690SJung-uk Kim 
479a9f12690SJung-uk Kim void
480a9f12690SJung-uk Kim AcpiDmDumpRsdt (
481a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
482a9f12690SJung-uk Kim 
4833f0275a0SJung-uk Kim UINT32
4843f0275a0SJung-uk Kim AcpiDmDumpS3pt (
4853f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4863f0275a0SJung-uk Kim 
487a9f12690SJung-uk Kim void
488dcbce41eSJung-uk Kim AcpiDmDumpSlic (
489dcbce41eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
490dcbce41eSJung-uk Kim 
491dcbce41eSJung-uk Kim void
492a9f12690SJung-uk Kim AcpiDmDumpSlit (
493a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
494a9f12690SJung-uk Kim 
495a9f12690SJung-uk Kim void
496a9f12690SJung-uk Kim AcpiDmDumpSrat (
497a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
498a9f12690SJung-uk Kim 
499a9f12690SJung-uk Kim void
500*9c48c75eSJung-uk Kim AcpiDmDumpVrtc (
501*9c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
502*9c48c75eSJung-uk Kim 
503*9c48c75eSJung-uk Kim void
504d6dd1baeSJung-uk Kim AcpiDmDumpWdat (
505d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
506d6dd1baeSJung-uk Kim 
507d6dd1baeSJung-uk Kim void
508a9f12690SJung-uk Kim AcpiDmDumpXsdt (
509a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
510a9f12690SJung-uk Kim 
511a9f12690SJung-uk Kim 
512a9f12690SJung-uk Kim /*
513a9f12690SJung-uk Kim  * dmwalk
514a9f12690SJung-uk Kim  */
515a9f12690SJung-uk Kim void
516a9f12690SJung-uk Kim AcpiDmDisassemble (
517a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
518a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Origin,
519a9f12690SJung-uk Kim     UINT32                  NumOpcodes);
520a9f12690SJung-uk Kim 
521a9f12690SJung-uk Kim void
522a9f12690SJung-uk Kim AcpiDmWalkParseTree (
523a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
524a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       DescendingCallback,
525a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       AscendingCallback,
526a9f12690SJung-uk Kim     void                    *Context);
527a9f12690SJung-uk Kim 
528a9f12690SJung-uk Kim 
529a9f12690SJung-uk Kim /*
530a9f12690SJung-uk Kim  * dmopcode
531a9f12690SJung-uk Kim  */
532a9f12690SJung-uk Kim void
533a9f12690SJung-uk Kim AcpiDmDisassembleOneOp (
534a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
535a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
536a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
537a9f12690SJung-uk Kim 
538a9f12690SJung-uk Kim void
539a9f12690SJung-uk Kim AcpiDmDecodeInternalObject (
540a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
541a9f12690SJung-uk Kim 
542a9f12690SJung-uk Kim UINT32
543a9f12690SJung-uk Kim AcpiDmListType (
544a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
545a9f12690SJung-uk Kim 
546a9f12690SJung-uk Kim void
547a9f12690SJung-uk Kim AcpiDmMethodFlags (
548a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
549a9f12690SJung-uk Kim 
550a9f12690SJung-uk Kim void
551f38b0f21SJung-uk Kim AcpiDmPredefinedDescription (
552f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
553f38b0f21SJung-uk Kim 
554f38b0f21SJung-uk Kim void
555f38b0f21SJung-uk Kim AcpiDmFieldPredefinedDescription (
556f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
557f38b0f21SJung-uk Kim 
558f38b0f21SJung-uk Kim void
559a9f12690SJung-uk Kim AcpiDmFieldFlags (
560a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
561a9f12690SJung-uk Kim 
562a9f12690SJung-uk Kim void
563a9f12690SJung-uk Kim AcpiDmAddressSpace (
564a9f12690SJung-uk Kim     UINT8                   SpaceId);
565a9f12690SJung-uk Kim 
566a9f12690SJung-uk Kim void
567a9f12690SJung-uk Kim AcpiDmRegionFlags (
568a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
569a9f12690SJung-uk Kim 
570a9f12690SJung-uk Kim void
571a9f12690SJung-uk Kim AcpiDmMatchOp (
572a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
573a9f12690SJung-uk Kim 
574a9f12690SJung-uk Kim 
575a9f12690SJung-uk Kim /*
576a9f12690SJung-uk Kim  * dmnames
577a9f12690SJung-uk Kim  */
578a9f12690SJung-uk Kim UINT32
579a9f12690SJung-uk Kim AcpiDmDumpName (
580a9f12690SJung-uk Kim     UINT32                  Name);
581a9f12690SJung-uk Kim 
582a9f12690SJung-uk Kim ACPI_STATUS
583a9f12690SJung-uk Kim AcpiPsDisplayObjectPathname (
584a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
585a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
586a9f12690SJung-uk Kim 
587a9f12690SJung-uk Kim void
588a9f12690SJung-uk Kim AcpiDmNamestring (
589a9f12690SJung-uk Kim     char                    *Name);
590a9f12690SJung-uk Kim 
591a9f12690SJung-uk Kim 
592a9f12690SJung-uk Kim /*
593a9f12690SJung-uk Kim  * dmobject
594a9f12690SJung-uk Kim  */
595a9f12690SJung-uk Kim void
596a9f12690SJung-uk Kim AcpiDmDisplayInternalObject (
597a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
598a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
599a9f12690SJung-uk Kim 
600a9f12690SJung-uk Kim void
601a9f12690SJung-uk Kim AcpiDmDisplayArguments (
602a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
603a9f12690SJung-uk Kim 
604a9f12690SJung-uk Kim void
605a9f12690SJung-uk Kim AcpiDmDisplayLocals (
606a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
607a9f12690SJung-uk Kim 
608a9f12690SJung-uk Kim void
609a9f12690SJung-uk Kim AcpiDmDumpMethodInfo (
610a9f12690SJung-uk Kim     ACPI_STATUS             Status,
611a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
612a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
613a9f12690SJung-uk Kim 
614a9f12690SJung-uk Kim 
615a9f12690SJung-uk Kim /*
616a9f12690SJung-uk Kim  * dmbuffer
617a9f12690SJung-uk Kim  */
618a9f12690SJung-uk Kim void
619a9f12690SJung-uk Kim AcpiDmDisasmByteList (
620a9f12690SJung-uk Kim     UINT32                  Level,
621a9f12690SJung-uk Kim     UINT8                   *ByteData,
622a9f12690SJung-uk Kim     UINT32                  ByteCount);
623a9f12690SJung-uk Kim 
624a9f12690SJung-uk Kim void
625a9f12690SJung-uk Kim AcpiDmByteList (
626a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
627a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
628a9f12690SJung-uk Kim 
629a9f12690SJung-uk Kim void
630a9f12690SJung-uk Kim AcpiDmIsEisaId (
631a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
632a9f12690SJung-uk Kim 
633a9f12690SJung-uk Kim void
634a9f12690SJung-uk Kim AcpiDmEisaId (
635a9f12690SJung-uk Kim     UINT32                  EncodedId);
636a9f12690SJung-uk Kim 
637a9f12690SJung-uk Kim BOOLEAN
638a9f12690SJung-uk Kim AcpiDmIsUnicodeBuffer (
639a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
640a9f12690SJung-uk Kim 
641a9f12690SJung-uk Kim BOOLEAN
642a9f12690SJung-uk Kim AcpiDmIsStringBuffer (
643a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
644a9f12690SJung-uk Kim 
6451df130f1SJung-uk Kim BOOLEAN
6461df130f1SJung-uk Kim AcpiDmIsPldBuffer (
6471df130f1SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
6481df130f1SJung-uk Kim 
649a9f12690SJung-uk Kim 
650a9f12690SJung-uk Kim /*
651ed17e06eSJung-uk Kim  * dmdeferred
652ed17e06eSJung-uk Kim  */
653ed17e06eSJung-uk Kim ACPI_STATUS
654ed17e06eSJung-uk Kim AcpiDmParseDeferredOps (
655ed17e06eSJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
656ed17e06eSJung-uk Kim 
657ed17e06eSJung-uk Kim 
658ed17e06eSJung-uk Kim /*
659f556842eSJung-uk Kim  * dmextern
660f556842eSJung-uk Kim  */
661709fac06SJung-uk Kim ACPI_STATUS
662709fac06SJung-uk Kim AcpiDmAddToExternalFileList (
663709fac06SJung-uk Kim     char                    *PathList);
664709fac06SJung-uk Kim 
665709fac06SJung-uk Kim void
666709fac06SJung-uk Kim AcpiDmClearExternalFileList (
667709fac06SJung-uk Kim     void);
668709fac06SJung-uk Kim 
669f556842eSJung-uk Kim void
670f556842eSJung-uk Kim AcpiDmAddToExternalList (
671f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
672f556842eSJung-uk Kim     char                    *Path,
673f556842eSJung-uk Kim     UINT8                   Type,
674f556842eSJung-uk Kim     UINT32                  Value);
675f556842eSJung-uk Kim 
676f556842eSJung-uk Kim void
677f556842eSJung-uk Kim AcpiDmAddExternalsToNamespace (
678f556842eSJung-uk Kim     void);
679f556842eSJung-uk Kim 
680f556842eSJung-uk Kim UINT32
681f556842eSJung-uk Kim AcpiDmGetExternalMethodCount (
682f556842eSJung-uk Kim     void);
683f556842eSJung-uk Kim 
684f556842eSJung-uk Kim void
685f556842eSJung-uk Kim AcpiDmClearExternalList (
686f556842eSJung-uk Kim     void);
687f556842eSJung-uk Kim 
688f556842eSJung-uk Kim void
689f556842eSJung-uk Kim AcpiDmEmitExternals (
690f556842eSJung-uk Kim     void);
691f556842eSJung-uk Kim 
692*9c48c75eSJung-uk Kim void
693*9c48c75eSJung-uk Kim AcpiDmUnresolvedWarning (
694*9c48c75eSJung-uk Kim     UINT8                   Type);
695*9c48c75eSJung-uk Kim 
696f556842eSJung-uk Kim 
697f556842eSJung-uk Kim /*
698a9f12690SJung-uk Kim  * dmresrc
699a9f12690SJung-uk Kim  */
700a9f12690SJung-uk Kim void
701a9f12690SJung-uk Kim AcpiDmDumpInteger8 (
702a9f12690SJung-uk Kim     UINT8                   Value,
703a9f12690SJung-uk Kim     char                    *Name);
704a9f12690SJung-uk Kim 
705a9f12690SJung-uk Kim void
706a9f12690SJung-uk Kim AcpiDmDumpInteger16 (
707a9f12690SJung-uk Kim     UINT16                  Value,
708a9f12690SJung-uk Kim     char                    *Name);
709a9f12690SJung-uk Kim 
710a9f12690SJung-uk Kim void
711a9f12690SJung-uk Kim AcpiDmDumpInteger32 (
712a9f12690SJung-uk Kim     UINT32                  Value,
713a9f12690SJung-uk Kim     char                    *Name);
714a9f12690SJung-uk Kim 
715a9f12690SJung-uk Kim void
716a9f12690SJung-uk Kim AcpiDmDumpInteger64 (
717a9f12690SJung-uk Kim     UINT64                  Value,
718a9f12690SJung-uk Kim     char                    *Name);
719a9f12690SJung-uk Kim 
720a9f12690SJung-uk Kim void
721a9f12690SJung-uk Kim AcpiDmResourceTemplate (
722a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
723a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
724a9f12690SJung-uk Kim     UINT8                   *ByteData,
725a9f12690SJung-uk Kim     UINT32                  ByteCount);
726a9f12690SJung-uk Kim 
727a9f12690SJung-uk Kim ACPI_STATUS
728a9f12690SJung-uk Kim AcpiDmIsResourceTemplate (
729ed17e06eSJung-uk Kim     ACPI_WALK_STATE         *WalkState,
730a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
731a9f12690SJung-uk Kim 
732a9f12690SJung-uk Kim void
733a9f12690SJung-uk Kim AcpiDmBitList (
734a9f12690SJung-uk Kim     UINT16                  Mask);
735a9f12690SJung-uk Kim 
736a9f12690SJung-uk Kim void
737a9f12690SJung-uk Kim AcpiDmDescriptorName (
738a9f12690SJung-uk Kim     void);
739a9f12690SJung-uk Kim 
740a9f12690SJung-uk Kim 
741a9f12690SJung-uk Kim /*
742a9f12690SJung-uk Kim  * dmresrcl
743a9f12690SJung-uk Kim  */
744a9f12690SJung-uk Kim void
745a9f12690SJung-uk Kim AcpiDmWordDescriptor (
746a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
747a9f12690SJung-uk Kim     UINT32                  Length,
748a9f12690SJung-uk Kim     UINT32                  Level);
749a9f12690SJung-uk Kim 
750a9f12690SJung-uk Kim void
751a9f12690SJung-uk Kim AcpiDmDwordDescriptor (
752a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
753a9f12690SJung-uk Kim     UINT32                  Length,
754a9f12690SJung-uk Kim     UINT32                  Level);
755a9f12690SJung-uk Kim 
756a9f12690SJung-uk Kim void
757a9f12690SJung-uk Kim AcpiDmExtendedDescriptor (
758a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
759a9f12690SJung-uk Kim     UINT32                  Length,
760a9f12690SJung-uk Kim     UINT32                  Level);
761a9f12690SJung-uk Kim 
762a9f12690SJung-uk Kim void
763a9f12690SJung-uk Kim AcpiDmQwordDescriptor (
764a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
765a9f12690SJung-uk Kim     UINT32                  Length,
766a9f12690SJung-uk Kim     UINT32                  Level);
767a9f12690SJung-uk Kim 
768a9f12690SJung-uk Kim void
769a9f12690SJung-uk Kim AcpiDmMemory24Descriptor (
770a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
771a9f12690SJung-uk Kim     UINT32                  Length,
772a9f12690SJung-uk Kim     UINT32                  Level);
773a9f12690SJung-uk Kim 
774a9f12690SJung-uk Kim void
775a9f12690SJung-uk Kim AcpiDmMemory32Descriptor (
776a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
777a9f12690SJung-uk Kim     UINT32                  Length,
778a9f12690SJung-uk Kim     UINT32                  Level);
779a9f12690SJung-uk Kim 
780a9f12690SJung-uk Kim void
781a9f12690SJung-uk Kim AcpiDmFixedMemory32Descriptor (
782a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
783a9f12690SJung-uk Kim     UINT32                  Length,
784a9f12690SJung-uk Kim     UINT32                  Level);
785a9f12690SJung-uk Kim 
786a9f12690SJung-uk Kim void
787a9f12690SJung-uk Kim AcpiDmGenericRegisterDescriptor (
788a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
789a9f12690SJung-uk Kim     UINT32                  Length,
790a9f12690SJung-uk Kim     UINT32                  Level);
791a9f12690SJung-uk Kim 
792a9f12690SJung-uk Kim void
793a9f12690SJung-uk Kim AcpiDmInterruptDescriptor (
794a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
795a9f12690SJung-uk Kim     UINT32                  Length,
796a9f12690SJung-uk Kim     UINT32                  Level);
797a9f12690SJung-uk Kim 
798a9f12690SJung-uk Kim void
799a9f12690SJung-uk Kim AcpiDmVendorLargeDescriptor (
800a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
801a9f12690SJung-uk Kim     UINT32                  Length,
802a9f12690SJung-uk Kim     UINT32                  Level);
803a9f12690SJung-uk Kim 
804a9f12690SJung-uk Kim void
8053f0275a0SJung-uk Kim AcpiDmGpioDescriptor (
8063f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8073f0275a0SJung-uk Kim     UINT32                  Length,
8083f0275a0SJung-uk Kim     UINT32                  Level);
8093f0275a0SJung-uk Kim 
8103f0275a0SJung-uk Kim void
8113f0275a0SJung-uk Kim AcpiDmSerialBusDescriptor (
8123f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8133f0275a0SJung-uk Kim     UINT32                  Length,
8143f0275a0SJung-uk Kim     UINT32                  Level);
8153f0275a0SJung-uk Kim 
8163f0275a0SJung-uk Kim void
817a9f12690SJung-uk Kim AcpiDmVendorCommon (
818a9f12690SJung-uk Kim     char                    *Name,
819a9f12690SJung-uk Kim     UINT8                   *ByteData,
820a9f12690SJung-uk Kim     UINT32                  Length,
821a9f12690SJung-uk Kim     UINT32                  Level);
822a9f12690SJung-uk Kim 
823a9f12690SJung-uk Kim 
824a9f12690SJung-uk Kim /*
825a9f12690SJung-uk Kim  * dmresrcs
826a9f12690SJung-uk Kim  */
827a9f12690SJung-uk Kim void
828a9f12690SJung-uk Kim AcpiDmIrqDescriptor (
829a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
830a9f12690SJung-uk Kim     UINT32                  Length,
831a9f12690SJung-uk Kim     UINT32                  Level);
832a9f12690SJung-uk Kim 
833a9f12690SJung-uk Kim void
834a9f12690SJung-uk Kim AcpiDmDmaDescriptor (
835a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
836a9f12690SJung-uk Kim     UINT32                  Length,
837a9f12690SJung-uk Kim     UINT32                  Level);
838a9f12690SJung-uk Kim 
839a9f12690SJung-uk Kim void
8403f0275a0SJung-uk Kim AcpiDmFixedDmaDescriptor (
8413f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8423f0275a0SJung-uk Kim     UINT32                  Length,
8433f0275a0SJung-uk Kim     UINT32                  Level);
8443f0275a0SJung-uk Kim 
8453f0275a0SJung-uk Kim void
846a9f12690SJung-uk Kim AcpiDmIoDescriptor (
847a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
848a9f12690SJung-uk Kim     UINT32                  Length,
849a9f12690SJung-uk Kim     UINT32                  Level);
850a9f12690SJung-uk Kim 
851a9f12690SJung-uk Kim void
852a9f12690SJung-uk Kim AcpiDmFixedIoDescriptor (
853a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
854a9f12690SJung-uk Kim     UINT32                  Length,
855a9f12690SJung-uk Kim     UINT32                  Level);
856a9f12690SJung-uk Kim 
857a9f12690SJung-uk Kim void
858a9f12690SJung-uk Kim AcpiDmStartDependentDescriptor (
859a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
860a9f12690SJung-uk Kim     UINT32                  Length,
861a9f12690SJung-uk Kim     UINT32                  Level);
862a9f12690SJung-uk Kim 
863a9f12690SJung-uk Kim void
864a9f12690SJung-uk Kim AcpiDmEndDependentDescriptor (
865a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
866a9f12690SJung-uk Kim     UINT32                  Length,
867a9f12690SJung-uk Kim     UINT32                  Level);
868a9f12690SJung-uk Kim 
869a9f12690SJung-uk Kim void
870a9f12690SJung-uk Kim AcpiDmVendorSmallDescriptor (
871a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
872a9f12690SJung-uk Kim     UINT32                  Length,
873a9f12690SJung-uk Kim     UINT32                  Level);
874a9f12690SJung-uk Kim 
875a9f12690SJung-uk Kim 
876a9f12690SJung-uk Kim /*
877a9f12690SJung-uk Kim  * dmutils
878a9f12690SJung-uk Kim  */
879a9f12690SJung-uk Kim void
880f556842eSJung-uk Kim AcpiDmDecodeAttribute (
881f556842eSJung-uk Kim     UINT8                   Attribute);
882f556842eSJung-uk Kim 
883f556842eSJung-uk Kim void
884f556842eSJung-uk Kim AcpiDmIndent (
885f556842eSJung-uk Kim     UINT32                  Level);
886f556842eSJung-uk Kim 
887f556842eSJung-uk Kim BOOLEAN
888f556842eSJung-uk Kim AcpiDmCommaIfListMember (
889f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
890f556842eSJung-uk Kim 
891f556842eSJung-uk Kim void
892f556842eSJung-uk Kim AcpiDmCommaIfFieldMember (
893f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
894f556842eSJung-uk Kim 
895a9f12690SJung-uk Kim 
896a9f12690SJung-uk Kim /*
897a9f12690SJung-uk Kim  * dmrestag
898a9f12690SJung-uk Kim  */
899a9f12690SJung-uk Kim void
900a9f12690SJung-uk Kim AcpiDmFindResources (
901a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
902a9f12690SJung-uk Kim 
903a9f12690SJung-uk Kim void
904a9f12690SJung-uk Kim AcpiDmCheckResourceReference (
905a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
906a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
907a9f12690SJung-uk Kim 
908a88e22b7SJung-uk Kim 
909a88e22b7SJung-uk Kim /*
910a88e22b7SJung-uk Kim  * acdisasm
911a88e22b7SJung-uk Kim  */
912a88e22b7SJung-uk Kim void
913a88e22b7SJung-uk Kim AdDisassemblerHeader (
914a88e22b7SJung-uk Kim     char                    *Filename);
915a88e22b7SJung-uk Kim 
916a88e22b7SJung-uk Kim 
917a9f12690SJung-uk Kim #endif  /* __ACDISASM_H__ */
918