xref: /freebsd/sys/contrib/dev/acpica/include/acdisasm.h (revision 313a0c13efa638cf248e35eed49f36ec0a1a7f26)
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 /*
8*313a0c13SJung-uk Kim  * Copyright (C) 2000 - 2014, 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 
72*313a0c13SJung-uk Kim /* Values for Flags field above */
73*313a0c13SJung-uk Kim 
74a88e22b7SJung-uk Kim #define DT_LENGTH                       0x01    /* Field is a subtable length */
75a88e22b7SJung-uk Kim #define DT_FLAG                         0x02    /* Field is a flag value */
76a88e22b7SJung-uk Kim #define DT_NON_ZERO                     0x04    /* Field must be non-zero */
77*313a0c13SJung-uk Kim #define DT_OPTIONAL                     0x08    /* Field is optional */
78*313a0c13SJung-uk Kim #define DT_DESCRIBES_OPTIONAL           0x10    /* Field describes an optional field (length, etc.) */
79*313a0c13SJung-uk Kim #define DT_COUNT                        0x20    /* Currently not used */
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,
140*313a0c13SJung-uk Kim     ACPI_DMT_DMAR_SCOPE,
1413f0275a0SJung-uk Kim     ACPI_DMT_EINJACT,
1423f0275a0SJung-uk Kim     ACPI_DMT_EINJINST,
1433f0275a0SJung-uk Kim     ACPI_DMT_ERSTACT,
1443f0275a0SJung-uk Kim     ACPI_DMT_ERSTINST,
1453f0275a0SJung-uk Kim     ACPI_DMT_FADTPM,
146*313a0c13SJung-uk Kim     ACPI_DMT_GTDT,
1473f0275a0SJung-uk Kim     ACPI_DMT_HEST,
1483f0275a0SJung-uk Kim     ACPI_DMT_HESTNTFY,
1493f0275a0SJung-uk Kim     ACPI_DMT_HESTNTYP,
1503f0275a0SJung-uk Kim     ACPI_DMT_IVRS,
151*313a0c13SJung-uk Kim     ACPI_DMT_LPIT,
1523f0275a0SJung-uk Kim     ACPI_DMT_MADT,
153*313a0c13SJung-uk Kim     ACPI_DMT_PCCT,
1543f0275a0SJung-uk Kim     ACPI_DMT_PMTT,
1553f0275a0SJung-uk Kim     ACPI_DMT_SLIC,
1563f0275a0SJung-uk Kim     ACPI_DMT_SRAT,
1573f0275a0SJung-uk Kim 
1583f0275a0SJung-uk Kim     /* Special opcodes */
1593f0275a0SJung-uk Kim 
1603f0275a0SJung-uk Kim     ACPI_DMT_EXTRA_TEXT,
1613f0275a0SJung-uk Kim     ACPI_DMT_EXIT
1623f0275a0SJung-uk Kim 
1633f0275a0SJung-uk Kim } ACPI_ENTRY_TYPES;
164a9f12690SJung-uk Kim 
165a9f12690SJung-uk Kim typedef
166a9f12690SJung-uk Kim void (*ACPI_DMTABLE_HANDLER) (
167a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
168a9f12690SJung-uk Kim 
169a88e22b7SJung-uk Kim typedef
170a88e22b7SJung-uk Kim ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
171a88e22b7SJung-uk Kim     void                    **PFieldList);
172a88e22b7SJung-uk Kim 
173a9f12690SJung-uk Kim typedef struct acpi_dmtable_data
174a9f12690SJung-uk Kim {
175a9f12690SJung-uk Kim     char                    *Signature;
176a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO       *TableInfo;
177a9f12690SJung-uk Kim     ACPI_DMTABLE_HANDLER    TableHandler;
178a88e22b7SJung-uk Kim     ACPI_CMTABLE_HANDLER    CmTableHandler;
179a88e22b7SJung-uk Kim     const unsigned char     *Template;
180a9f12690SJung-uk Kim     char                    *Name;
181a9f12690SJung-uk Kim 
182a9f12690SJung-uk Kim } ACPI_DMTABLE_DATA;
183a9f12690SJung-uk Kim 
184a9f12690SJung-uk Kim 
185a9f12690SJung-uk Kim typedef struct acpi_op_walk_info
186a9f12690SJung-uk Kim {
187a9f12690SJung-uk Kim     UINT32                  Level;
188a9f12690SJung-uk Kim     UINT32                  LastLevel;
189a9f12690SJung-uk Kim     UINT32                  Count;
190a9f12690SJung-uk Kim     UINT32                  BitOffset;
191a9f12690SJung-uk Kim     UINT32                  Flags;
192a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState;
193*313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *MappingOp;
194a9f12690SJung-uk Kim 
195a9f12690SJung-uk Kim } ACPI_OP_WALK_INFO;
196a9f12690SJung-uk Kim 
197a88e22b7SJung-uk Kim /*
198a88e22b7SJung-uk Kim  * TBD - another copy of this is in asltypes.h, fix
199a88e22b7SJung-uk Kim  */
200a88e22b7SJung-uk Kim #ifndef ASL_WALK_CALLBACK_DEFINED
201a9f12690SJung-uk Kim typedef
202a9f12690SJung-uk Kim ACPI_STATUS (*ASL_WALK_CALLBACK) (
203a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT           *Op,
204a9f12690SJung-uk Kim     UINT32                      Level,
205a9f12690SJung-uk Kim     void                        *Context);
206a88e22b7SJung-uk Kim #define ASL_WALK_CALLBACK_DEFINED
207a88e22b7SJung-uk Kim #endif
208a88e22b7SJung-uk Kim 
2093f0275a0SJung-uk Kim typedef
2103f0275a0SJung-uk Kim void (*ACPI_RESOURCE_HANDLER) (
211*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
2123f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
2133f0275a0SJung-uk Kim     UINT32                  Length,
2143f0275a0SJung-uk Kim     UINT32                  Level);
215a9f12690SJung-uk Kim 
216a9f12690SJung-uk Kim typedef struct acpi_resource_tag
217a9f12690SJung-uk Kim {
218a9f12690SJung-uk Kim     UINT32                  BitIndex;
219a9f12690SJung-uk Kim     char                    *Tag;
220a9f12690SJung-uk Kim 
221a9f12690SJung-uk Kim } ACPI_RESOURCE_TAG;
222a9f12690SJung-uk Kim 
223a9f12690SJung-uk Kim /* Strings used for decoding flags to ASL keywords */
224a9f12690SJung-uk Kim 
225a9f12690SJung-uk Kim extern const char               *AcpiGbl_WordDecode[];
226a9f12690SJung-uk Kim extern const char               *AcpiGbl_IrqDecode[];
227a9f12690SJung-uk Kim extern const char               *AcpiGbl_LockRule[];
228a9f12690SJung-uk Kim extern const char               *AcpiGbl_AccessTypes[];
229a9f12690SJung-uk Kim extern const char               *AcpiGbl_UpdateRules[];
230a9f12690SJung-uk Kim extern const char               *AcpiGbl_MatchOps[];
231a9f12690SJung-uk Kim 
232a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
233a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
234a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
235a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
236a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
237a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
238a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
239a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
240a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
241a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
2423f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
243a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
244a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
2451df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
2461df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
247efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
2481df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
2491df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
2501df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
2511df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
2521df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
253*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2OemData[];
254a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
255a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
256a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
257a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
258a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
259a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
260a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
261d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
262*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar4[];
2633f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
264a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
265a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
266a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
267a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
268a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
269a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
270a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
271a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
272a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
2733f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
2743f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
2753f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
2763f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
2773f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
278a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
2793f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
280*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtHdr[];
281*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0[];
282*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0a[];
283*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt1[];
284a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
285a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
286a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
287a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
288d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
289a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
290a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
291a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
292a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
293a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
294d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
295a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
296*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpitHdr[];
297*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit0[];
298*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit1[];
299d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
300d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
301d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
302d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
303d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
304d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
305d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
306d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
307a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
308a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
309a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
310a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
311a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
312a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
313a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
314a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
315a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
316a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
317a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
318a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
3193f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
3203f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
321*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt13[];
322*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt14[];
323a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
324a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
325a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
326ca3cf4faSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
3273f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
3283f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
3293f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
3303f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
3313f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
3323f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
333d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
334d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
3359c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr[];
3369c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr0[];
3373f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
3383f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
3393f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
3403f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1a[];
3413f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
3423f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
3433f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
344*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcctHdr[];
3453f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
346*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct1[];
347a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
348a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
3493f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
3503f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
3513f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
3523f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
353a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
354dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlicHdr[];
355dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic0[];
356dcbce41eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic1[];
357a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
358a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
359a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
360a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
361a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
362a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
363a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
364a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
365*313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat3[];
366a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpa[];
367efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
368d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
3699c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc[];
3709c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc0[];
371d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
372d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
373d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
374a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
375a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
376a9f12690SJung-uk Kim 
377d244b227SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
378d244b227SJung-uk Kim 
379a9f12690SJung-uk Kim 
380a9f12690SJung-uk Kim /*
381a9f12690SJung-uk Kim  * dmtable
382a9f12690SJung-uk Kim  */
383a88e22b7SJung-uk Kim extern ACPI_DMTABLE_DATA        AcpiDmTableData[];
384a88e22b7SJung-uk Kim 
385a88e22b7SJung-uk Kim UINT8
386a88e22b7SJung-uk Kim AcpiDmGenerateChecksum (
387a88e22b7SJung-uk Kim     void                    *Table,
388a88e22b7SJung-uk Kim     UINT32                  Length,
389a88e22b7SJung-uk Kim     UINT8                   OriginalChecksum);
390a88e22b7SJung-uk Kim 
391a88e22b7SJung-uk Kim ACPI_DMTABLE_DATA *
392a88e22b7SJung-uk Kim AcpiDmGetTableData (
393a88e22b7SJung-uk Kim     char                    *Signature);
394a88e22b7SJung-uk Kim 
395a9f12690SJung-uk Kim void
396a9f12690SJung-uk Kim AcpiDmDumpDataTable (
397a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
398a9f12690SJung-uk Kim 
399a9f12690SJung-uk Kim ACPI_STATUS
400a9f12690SJung-uk Kim AcpiDmDumpTable (
401a9f12690SJung-uk Kim     UINT32                  TableLength,
402a9f12690SJung-uk Kim     UINT32                  TableOffset,
403a9f12690SJung-uk Kim     void                    *Table,
404a9f12690SJung-uk Kim     UINT32                  SubTableLength,
405a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO        *Info);
406a9f12690SJung-uk Kim 
407a9f12690SJung-uk Kim void
408a9f12690SJung-uk Kim AcpiDmLineHeader (
409a9f12690SJung-uk Kim     UINT32                  Offset,
410a9f12690SJung-uk Kim     UINT32                  ByteLength,
411a9f12690SJung-uk Kim     char                    *Name);
412a9f12690SJung-uk Kim 
413a9f12690SJung-uk Kim void
414a9f12690SJung-uk Kim AcpiDmLineHeader2 (
415a9f12690SJung-uk Kim     UINT32                  Offset,
416a9f12690SJung-uk Kim     UINT32                  ByteLength,
417a9f12690SJung-uk Kim     char                    *Name,
418a9f12690SJung-uk Kim     UINT32                  Value);
419a9f12690SJung-uk Kim 
420a9f12690SJung-uk Kim 
421a9f12690SJung-uk Kim /*
422a9f12690SJung-uk Kim  * dmtbdump
423a9f12690SJung-uk Kim  */
424a9f12690SJung-uk Kim void
425a9f12690SJung-uk Kim AcpiDmDumpAsf (
426a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
427a9f12690SJung-uk Kim 
428a9f12690SJung-uk Kim void
429a9f12690SJung-uk Kim AcpiDmDumpCpep (
430a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
431a9f12690SJung-uk Kim 
432a9f12690SJung-uk Kim void
4331df130f1SJung-uk Kim AcpiDmDumpCsrt (
4341df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4351df130f1SJung-uk Kim 
4361df130f1SJung-uk Kim void
4371df130f1SJung-uk Kim AcpiDmDumpDbg2 (
4381df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4391df130f1SJung-uk Kim 
4401df130f1SJung-uk Kim void
441a9f12690SJung-uk Kim AcpiDmDumpDmar (
442a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
443a9f12690SJung-uk Kim 
444a9f12690SJung-uk Kim void
445a9f12690SJung-uk Kim AcpiDmDumpEinj (
446a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
447a9f12690SJung-uk Kim 
448a9f12690SJung-uk Kim void
449a9f12690SJung-uk Kim AcpiDmDumpErst (
450a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
451a9f12690SJung-uk Kim 
452a9f12690SJung-uk Kim void
453a9f12690SJung-uk Kim AcpiDmDumpFadt (
454a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
455a9f12690SJung-uk Kim 
456a9f12690SJung-uk Kim void
4573f0275a0SJung-uk Kim AcpiDmDumpFpdt (
4583f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4593f0275a0SJung-uk Kim 
4603f0275a0SJung-uk Kim void
461*313a0c13SJung-uk Kim AcpiDmDumpGtdt (
462*313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
463*313a0c13SJung-uk Kim 
464*313a0c13SJung-uk Kim void
465a9f12690SJung-uk Kim AcpiDmDumpHest (
466a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
467a9f12690SJung-uk Kim 
468a9f12690SJung-uk Kim void
469d6dd1baeSJung-uk Kim AcpiDmDumpIvrs (
470d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
471d6dd1baeSJung-uk Kim 
472d6dd1baeSJung-uk Kim void
473*313a0c13SJung-uk Kim AcpiDmDumpLpit (
474*313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
475*313a0c13SJung-uk Kim 
476*313a0c13SJung-uk Kim void
477a9f12690SJung-uk Kim AcpiDmDumpMadt (
478a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
479a9f12690SJung-uk Kim 
480d6dd1baeSJung-uk Kim void
4813f0275a0SJung-uk Kim AcpiDmDumpMcfg (
4823f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4833f0275a0SJung-uk Kim 
4843f0275a0SJung-uk Kim void
4853f0275a0SJung-uk Kim AcpiDmDumpMpst (
4863f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4873f0275a0SJung-uk Kim 
4883f0275a0SJung-uk Kim void
489d6dd1baeSJung-uk Kim AcpiDmDumpMsct (
490d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
491d6dd1baeSJung-uk Kim 
4923f0275a0SJung-uk Kim void
4939c48c75eSJung-uk Kim AcpiDmDumpMtmr (
4949c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4959c48c75eSJung-uk Kim 
4969c48c75eSJung-uk Kim void
4973f0275a0SJung-uk Kim AcpiDmDumpPcct (
4983f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4993f0275a0SJung-uk Kim 
5003f0275a0SJung-uk Kim void
5013f0275a0SJung-uk Kim AcpiDmDumpPmtt (
5023f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5033f0275a0SJung-uk Kim 
504a9f12690SJung-uk Kim UINT32
505a9f12690SJung-uk Kim AcpiDmDumpRsdp (
506a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
507a9f12690SJung-uk Kim 
508a9f12690SJung-uk Kim void
509a9f12690SJung-uk Kim AcpiDmDumpRsdt (
510a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
511a9f12690SJung-uk Kim 
5123f0275a0SJung-uk Kim UINT32
5133f0275a0SJung-uk Kim AcpiDmDumpS3pt (
5143f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5153f0275a0SJung-uk Kim 
516a9f12690SJung-uk Kim void
517dcbce41eSJung-uk Kim AcpiDmDumpSlic (
518dcbce41eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
519dcbce41eSJung-uk Kim 
520dcbce41eSJung-uk Kim void
521a9f12690SJung-uk Kim AcpiDmDumpSlit (
522a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
523a9f12690SJung-uk Kim 
524a9f12690SJung-uk Kim void
525a9f12690SJung-uk Kim AcpiDmDumpSrat (
526a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
527a9f12690SJung-uk Kim 
528a9f12690SJung-uk Kim void
5299c48c75eSJung-uk Kim AcpiDmDumpVrtc (
5309c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5319c48c75eSJung-uk Kim 
5329c48c75eSJung-uk Kim void
533d6dd1baeSJung-uk Kim AcpiDmDumpWdat (
534d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
535d6dd1baeSJung-uk Kim 
536d6dd1baeSJung-uk Kim void
537a9f12690SJung-uk Kim AcpiDmDumpXsdt (
538a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
539a9f12690SJung-uk Kim 
540a9f12690SJung-uk Kim 
541a9f12690SJung-uk Kim /*
542a9f12690SJung-uk Kim  * dmwalk
543a9f12690SJung-uk Kim  */
544a9f12690SJung-uk Kim void
545a9f12690SJung-uk Kim AcpiDmDisassemble (
546a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
547a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Origin,
548a9f12690SJung-uk Kim     UINT32                  NumOpcodes);
549a9f12690SJung-uk Kim 
550a9f12690SJung-uk Kim void
551a9f12690SJung-uk Kim AcpiDmWalkParseTree (
552a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
553a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       DescendingCallback,
554a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       AscendingCallback,
555a9f12690SJung-uk Kim     void                    *Context);
556a9f12690SJung-uk Kim 
557a9f12690SJung-uk Kim 
558a9f12690SJung-uk Kim /*
559a9f12690SJung-uk Kim  * dmopcode
560a9f12690SJung-uk Kim  */
561a9f12690SJung-uk Kim void
562a9f12690SJung-uk Kim AcpiDmDisassembleOneOp (
563a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
564a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
565a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
566a9f12690SJung-uk Kim 
567a9f12690SJung-uk Kim void
568a9f12690SJung-uk Kim AcpiDmDecodeInternalObject (
569a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
570a9f12690SJung-uk Kim 
571a9f12690SJung-uk Kim UINT32
572a9f12690SJung-uk Kim AcpiDmListType (
573a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
574a9f12690SJung-uk Kim 
575a9f12690SJung-uk Kim void
576a9f12690SJung-uk Kim AcpiDmMethodFlags (
577a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
578a9f12690SJung-uk Kim 
579a9f12690SJung-uk Kim void
580*313a0c13SJung-uk Kim AcpiDmDisplayTargetPathname (
581*313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
582*313a0c13SJung-uk Kim 
583*313a0c13SJung-uk Kim void
584*313a0c13SJung-uk Kim AcpiDmNotifyDescription (
585*313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
586*313a0c13SJung-uk Kim 
587*313a0c13SJung-uk Kim void
588f38b0f21SJung-uk Kim AcpiDmPredefinedDescription (
589f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
590f38b0f21SJung-uk Kim 
591f38b0f21SJung-uk Kim void
592f38b0f21SJung-uk Kim AcpiDmFieldPredefinedDescription (
593f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
594f38b0f21SJung-uk Kim 
595f38b0f21SJung-uk Kim void
596a9f12690SJung-uk Kim AcpiDmFieldFlags (
597a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
598a9f12690SJung-uk Kim 
599a9f12690SJung-uk Kim void
600a9f12690SJung-uk Kim AcpiDmAddressSpace (
601a9f12690SJung-uk Kim     UINT8                   SpaceId);
602a9f12690SJung-uk Kim 
603a9f12690SJung-uk Kim void
604a9f12690SJung-uk Kim AcpiDmRegionFlags (
605a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
606a9f12690SJung-uk Kim 
607a9f12690SJung-uk Kim void
608a9f12690SJung-uk Kim AcpiDmMatchOp (
609a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
610a9f12690SJung-uk Kim 
611a9f12690SJung-uk Kim 
612a9f12690SJung-uk Kim /*
613a9f12690SJung-uk Kim  * dmnames
614a9f12690SJung-uk Kim  */
615a9f12690SJung-uk Kim UINT32
616a9f12690SJung-uk Kim AcpiDmDumpName (
617a9f12690SJung-uk Kim     UINT32                  Name);
618a9f12690SJung-uk Kim 
619a9f12690SJung-uk Kim ACPI_STATUS
620a9f12690SJung-uk Kim AcpiPsDisplayObjectPathname (
621a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
622a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
623a9f12690SJung-uk Kim 
624a9f12690SJung-uk Kim void
625a9f12690SJung-uk Kim AcpiDmNamestring (
626a9f12690SJung-uk Kim     char                    *Name);
627a9f12690SJung-uk Kim 
628a9f12690SJung-uk Kim 
629a9f12690SJung-uk Kim /*
630a9f12690SJung-uk Kim  * dmobject
631a9f12690SJung-uk Kim  */
632a9f12690SJung-uk Kim void
633a9f12690SJung-uk Kim AcpiDmDisplayInternalObject (
634a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
635a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
636a9f12690SJung-uk Kim 
637a9f12690SJung-uk Kim void
638a9f12690SJung-uk Kim AcpiDmDisplayArguments (
639a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
640a9f12690SJung-uk Kim 
641a9f12690SJung-uk Kim void
642a9f12690SJung-uk Kim AcpiDmDisplayLocals (
643a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
644a9f12690SJung-uk Kim 
645a9f12690SJung-uk Kim void
646a9f12690SJung-uk Kim AcpiDmDumpMethodInfo (
647a9f12690SJung-uk Kim     ACPI_STATUS             Status,
648a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
649a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
650a9f12690SJung-uk Kim 
651a9f12690SJung-uk Kim 
652a9f12690SJung-uk Kim /*
653a9f12690SJung-uk Kim  * dmbuffer
654a9f12690SJung-uk Kim  */
655a9f12690SJung-uk Kim void
656a9f12690SJung-uk Kim AcpiDmDisasmByteList (
657a9f12690SJung-uk Kim     UINT32                  Level,
658a9f12690SJung-uk Kim     UINT8                   *ByteData,
659a9f12690SJung-uk Kim     UINT32                  ByteCount);
660a9f12690SJung-uk Kim 
661a9f12690SJung-uk Kim void
662a9f12690SJung-uk Kim AcpiDmByteList (
663a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
664a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
665a9f12690SJung-uk Kim 
666a9f12690SJung-uk Kim void
667*313a0c13SJung-uk Kim AcpiDmCheckForHardwareId (
668a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
669a9f12690SJung-uk Kim 
670a9f12690SJung-uk Kim void
671*313a0c13SJung-uk Kim AcpiDmDecompressEisaId (
672a9f12690SJung-uk Kim     UINT32                  EncodedId);
673a9f12690SJung-uk Kim 
674a9f12690SJung-uk Kim BOOLEAN
675*313a0c13SJung-uk Kim AcpiDmIsUuidBuffer (
676*313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
677*313a0c13SJung-uk Kim 
678*313a0c13SJung-uk Kim BOOLEAN
679a9f12690SJung-uk Kim AcpiDmIsUnicodeBuffer (
680a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
681a9f12690SJung-uk Kim 
682a9f12690SJung-uk Kim BOOLEAN
683a9f12690SJung-uk Kim AcpiDmIsStringBuffer (
684a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
685a9f12690SJung-uk Kim 
6861df130f1SJung-uk Kim BOOLEAN
6871df130f1SJung-uk Kim AcpiDmIsPldBuffer (
6881df130f1SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
6891df130f1SJung-uk Kim 
690a9f12690SJung-uk Kim 
691a9f12690SJung-uk Kim /*
692ed17e06eSJung-uk Kim  * dmdeferred
693ed17e06eSJung-uk Kim  */
694ed17e06eSJung-uk Kim ACPI_STATUS
695ed17e06eSJung-uk Kim AcpiDmParseDeferredOps (
696ed17e06eSJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
697ed17e06eSJung-uk Kim 
698ed17e06eSJung-uk Kim 
699ed17e06eSJung-uk Kim /*
700f556842eSJung-uk Kim  * dmextern
701f556842eSJung-uk Kim  */
702709fac06SJung-uk Kim ACPI_STATUS
703709fac06SJung-uk Kim AcpiDmAddToExternalFileList (
704709fac06SJung-uk Kim     char                    *PathList);
705709fac06SJung-uk Kim 
706709fac06SJung-uk Kim void
707709fac06SJung-uk Kim AcpiDmClearExternalFileList (
708709fac06SJung-uk Kim     void);
709709fac06SJung-uk Kim 
710f556842eSJung-uk Kim void
711*313a0c13SJung-uk Kim AcpiDmAddOpToExternalList (
712f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
713f556842eSJung-uk Kim     char                    *Path,
714f556842eSJung-uk Kim     UINT8                   Type,
715*313a0c13SJung-uk Kim     UINT32                  Value,
716*313a0c13SJung-uk Kim     UINT16                  Flags);
717*313a0c13SJung-uk Kim 
718*313a0c13SJung-uk Kim void
719*313a0c13SJung-uk Kim AcpiDmAddNodeToExternalList (
720*313a0c13SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node,
721*313a0c13SJung-uk Kim     UINT8                   Type,
722*313a0c13SJung-uk Kim     UINT32                  Value,
723*313a0c13SJung-uk Kim     UINT16                  Flags);
724f556842eSJung-uk Kim 
725f556842eSJung-uk Kim void
726f556842eSJung-uk Kim AcpiDmAddExternalsToNamespace (
727f556842eSJung-uk Kim     void);
728f556842eSJung-uk Kim 
729f556842eSJung-uk Kim UINT32
730f556842eSJung-uk Kim AcpiDmGetExternalMethodCount (
731f556842eSJung-uk Kim     void);
732f556842eSJung-uk Kim 
733f556842eSJung-uk Kim void
734f556842eSJung-uk Kim AcpiDmClearExternalList (
735f556842eSJung-uk Kim     void);
736f556842eSJung-uk Kim 
737f556842eSJung-uk Kim void
738f556842eSJung-uk Kim AcpiDmEmitExternals (
739f556842eSJung-uk Kim     void);
740f556842eSJung-uk Kim 
7419c48c75eSJung-uk Kim void
7429c48c75eSJung-uk Kim AcpiDmUnresolvedWarning (
7439c48c75eSJung-uk Kim     UINT8                   Type);
7449c48c75eSJung-uk Kim 
74579c6d946SJung-uk Kim void
74679c6d946SJung-uk Kim AcpiDmGetExternalsFromFile (
74779c6d946SJung-uk Kim     void);
748f556842eSJung-uk Kim 
749f556842eSJung-uk Kim /*
750a9f12690SJung-uk Kim  * dmresrc
751a9f12690SJung-uk Kim  */
752a9f12690SJung-uk Kim void
753a9f12690SJung-uk Kim AcpiDmDumpInteger8 (
754a9f12690SJung-uk Kim     UINT8                   Value,
755a9f12690SJung-uk Kim     char                    *Name);
756a9f12690SJung-uk Kim 
757a9f12690SJung-uk Kim void
758a9f12690SJung-uk Kim AcpiDmDumpInteger16 (
759a9f12690SJung-uk Kim     UINT16                  Value,
760a9f12690SJung-uk Kim     char                    *Name);
761a9f12690SJung-uk Kim 
762a9f12690SJung-uk Kim void
763a9f12690SJung-uk Kim AcpiDmDumpInteger32 (
764a9f12690SJung-uk Kim     UINT32                  Value,
765a9f12690SJung-uk Kim     char                    *Name);
766a9f12690SJung-uk Kim 
767a9f12690SJung-uk Kim void
768a9f12690SJung-uk Kim AcpiDmDumpInteger64 (
769a9f12690SJung-uk Kim     UINT64                  Value,
770a9f12690SJung-uk Kim     char                    *Name);
771a9f12690SJung-uk Kim 
772a9f12690SJung-uk Kim void
773a9f12690SJung-uk Kim AcpiDmResourceTemplate (
774a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
775a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
776a9f12690SJung-uk Kim     UINT8                   *ByteData,
777a9f12690SJung-uk Kim     UINT32                  ByteCount);
778a9f12690SJung-uk Kim 
779a9f12690SJung-uk Kim ACPI_STATUS
780a9f12690SJung-uk Kim AcpiDmIsResourceTemplate (
781ed17e06eSJung-uk Kim     ACPI_WALK_STATE         *WalkState,
782a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
783a9f12690SJung-uk Kim 
784a9f12690SJung-uk Kim void
785a9f12690SJung-uk Kim AcpiDmBitList (
786a9f12690SJung-uk Kim     UINT16                  Mask);
787a9f12690SJung-uk Kim 
788a9f12690SJung-uk Kim void
789a9f12690SJung-uk Kim AcpiDmDescriptorName (
790a9f12690SJung-uk Kim     void);
791a9f12690SJung-uk Kim 
792a9f12690SJung-uk Kim 
793a9f12690SJung-uk Kim /*
794a9f12690SJung-uk Kim  * dmresrcl
795a9f12690SJung-uk Kim  */
796a9f12690SJung-uk Kim void
797a9f12690SJung-uk Kim AcpiDmWordDescriptor (
798*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
799a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
800a9f12690SJung-uk Kim     UINT32                  Length,
801a9f12690SJung-uk Kim     UINT32                  Level);
802a9f12690SJung-uk Kim 
803a9f12690SJung-uk Kim void
804a9f12690SJung-uk Kim AcpiDmDwordDescriptor (
805*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
806a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
807a9f12690SJung-uk Kim     UINT32                  Length,
808a9f12690SJung-uk Kim     UINT32                  Level);
809a9f12690SJung-uk Kim 
810a9f12690SJung-uk Kim void
811a9f12690SJung-uk Kim AcpiDmExtendedDescriptor (
812*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
813a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
814a9f12690SJung-uk Kim     UINT32                  Length,
815a9f12690SJung-uk Kim     UINT32                  Level);
816a9f12690SJung-uk Kim 
817a9f12690SJung-uk Kim void
818a9f12690SJung-uk Kim AcpiDmQwordDescriptor (
819*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
820a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
821a9f12690SJung-uk Kim     UINT32                  Length,
822a9f12690SJung-uk Kim     UINT32                  Level);
823a9f12690SJung-uk Kim 
824a9f12690SJung-uk Kim void
825a9f12690SJung-uk Kim AcpiDmMemory24Descriptor (
826*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
827a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
828a9f12690SJung-uk Kim     UINT32                  Length,
829a9f12690SJung-uk Kim     UINT32                  Level);
830a9f12690SJung-uk Kim 
831a9f12690SJung-uk Kim void
832a9f12690SJung-uk Kim AcpiDmMemory32Descriptor (
833*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
834a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
835a9f12690SJung-uk Kim     UINT32                  Length,
836a9f12690SJung-uk Kim     UINT32                  Level);
837a9f12690SJung-uk Kim 
838a9f12690SJung-uk Kim void
839a9f12690SJung-uk Kim AcpiDmFixedMemory32Descriptor (
840*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
841a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
842a9f12690SJung-uk Kim     UINT32                  Length,
843a9f12690SJung-uk Kim     UINT32                  Level);
844a9f12690SJung-uk Kim 
845a9f12690SJung-uk Kim void
846a9f12690SJung-uk Kim AcpiDmGenericRegisterDescriptor (
847*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
848a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
849a9f12690SJung-uk Kim     UINT32                  Length,
850a9f12690SJung-uk Kim     UINT32                  Level);
851a9f12690SJung-uk Kim 
852a9f12690SJung-uk Kim void
853a9f12690SJung-uk Kim AcpiDmInterruptDescriptor (
854*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
855a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
856a9f12690SJung-uk Kim     UINT32                  Length,
857a9f12690SJung-uk Kim     UINT32                  Level);
858a9f12690SJung-uk Kim 
859a9f12690SJung-uk Kim void
860a9f12690SJung-uk Kim AcpiDmVendorLargeDescriptor (
861*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
862a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
863a9f12690SJung-uk Kim     UINT32                  Length,
864a9f12690SJung-uk Kim     UINT32                  Level);
865a9f12690SJung-uk Kim 
866a9f12690SJung-uk Kim void
8673f0275a0SJung-uk Kim AcpiDmGpioDescriptor (
868*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
8693f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8703f0275a0SJung-uk Kim     UINT32                  Length,
8713f0275a0SJung-uk Kim     UINT32                  Level);
8723f0275a0SJung-uk Kim 
8733f0275a0SJung-uk Kim void
8743f0275a0SJung-uk Kim AcpiDmSerialBusDescriptor (
875*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
8763f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8773f0275a0SJung-uk Kim     UINT32                  Length,
8783f0275a0SJung-uk Kim     UINT32                  Level);
8793f0275a0SJung-uk Kim 
8803f0275a0SJung-uk Kim void
881a9f12690SJung-uk Kim AcpiDmVendorCommon (
882a9f12690SJung-uk Kim     char                    *Name,
883a9f12690SJung-uk Kim     UINT8                   *ByteData,
884a9f12690SJung-uk Kim     UINT32                  Length,
885a9f12690SJung-uk Kim     UINT32                  Level);
886a9f12690SJung-uk Kim 
887a9f12690SJung-uk Kim 
888a9f12690SJung-uk Kim /*
889a9f12690SJung-uk Kim  * dmresrcs
890a9f12690SJung-uk Kim  */
891a9f12690SJung-uk Kim void
892a9f12690SJung-uk Kim AcpiDmIrqDescriptor (
893*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
894a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
895a9f12690SJung-uk Kim     UINT32                  Length,
896a9f12690SJung-uk Kim     UINT32                  Level);
897a9f12690SJung-uk Kim 
898a9f12690SJung-uk Kim void
899a9f12690SJung-uk Kim AcpiDmDmaDescriptor (
900*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
901a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
902a9f12690SJung-uk Kim     UINT32                  Length,
903a9f12690SJung-uk Kim     UINT32                  Level);
904a9f12690SJung-uk Kim 
905a9f12690SJung-uk Kim void
9063f0275a0SJung-uk Kim AcpiDmFixedDmaDescriptor (
907*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
9083f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
9093f0275a0SJung-uk Kim     UINT32                  Length,
9103f0275a0SJung-uk Kim     UINT32                  Level);
9113f0275a0SJung-uk Kim 
9123f0275a0SJung-uk Kim void
913a9f12690SJung-uk Kim AcpiDmIoDescriptor (
914*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
915a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
916a9f12690SJung-uk Kim     UINT32                  Length,
917a9f12690SJung-uk Kim     UINT32                  Level);
918a9f12690SJung-uk Kim 
919a9f12690SJung-uk Kim void
920a9f12690SJung-uk Kim AcpiDmFixedIoDescriptor (
921*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
922a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
923a9f12690SJung-uk Kim     UINT32                  Length,
924a9f12690SJung-uk Kim     UINT32                  Level);
925a9f12690SJung-uk Kim 
926a9f12690SJung-uk Kim void
927a9f12690SJung-uk Kim AcpiDmStartDependentDescriptor (
928*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
929a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
930a9f12690SJung-uk Kim     UINT32                  Length,
931a9f12690SJung-uk Kim     UINT32                  Level);
932a9f12690SJung-uk Kim 
933a9f12690SJung-uk Kim void
934a9f12690SJung-uk Kim AcpiDmEndDependentDescriptor (
935*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
936a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
937a9f12690SJung-uk Kim     UINT32                  Length,
938a9f12690SJung-uk Kim     UINT32                  Level);
939a9f12690SJung-uk Kim 
940a9f12690SJung-uk Kim void
941a9f12690SJung-uk Kim AcpiDmVendorSmallDescriptor (
942*313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
943a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
944a9f12690SJung-uk Kim     UINT32                  Length,
945a9f12690SJung-uk Kim     UINT32                  Level);
946a9f12690SJung-uk Kim 
947a9f12690SJung-uk Kim 
948a9f12690SJung-uk Kim /*
949a9f12690SJung-uk Kim  * dmutils
950a9f12690SJung-uk Kim  */
951a9f12690SJung-uk Kim void
952f556842eSJung-uk Kim AcpiDmDecodeAttribute (
953f556842eSJung-uk Kim     UINT8                   Attribute);
954f556842eSJung-uk Kim 
955f556842eSJung-uk Kim void
956f556842eSJung-uk Kim AcpiDmIndent (
957f556842eSJung-uk Kim     UINT32                  Level);
958f556842eSJung-uk Kim 
959f556842eSJung-uk Kim BOOLEAN
960f556842eSJung-uk Kim AcpiDmCommaIfListMember (
961f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
962f556842eSJung-uk Kim 
963f556842eSJung-uk Kim void
964f556842eSJung-uk Kim AcpiDmCommaIfFieldMember (
965f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
966f556842eSJung-uk Kim 
967a9f12690SJung-uk Kim 
968a9f12690SJung-uk Kim /*
969a9f12690SJung-uk Kim  * dmrestag
970a9f12690SJung-uk Kim  */
971a9f12690SJung-uk Kim void
972a9f12690SJung-uk Kim AcpiDmFindResources (
973a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
974a9f12690SJung-uk Kim 
975a9f12690SJung-uk Kim void
976a9f12690SJung-uk Kim AcpiDmCheckResourceReference (
977a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
978a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
979a9f12690SJung-uk Kim 
980a88e22b7SJung-uk Kim 
981a88e22b7SJung-uk Kim /*
982a88e22b7SJung-uk Kim  * acdisasm
983a88e22b7SJung-uk Kim  */
984a88e22b7SJung-uk Kim void
985a88e22b7SJung-uk Kim AdDisassemblerHeader (
986a88e22b7SJung-uk Kim     char                    *Filename);
987a88e22b7SJung-uk Kim 
988a88e22b7SJung-uk Kim 
989a9f12690SJung-uk Kim #endif  /* __ACDISASM_H__ */
990