xref: /freebsd/sys/contrib/dev/acpica/include/acdisasm.h (revision 7cf3e94a41ba78bb319589610ad72bf914dc75c1)
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 /*
81c0e1b6dSJung-uk Kim  * Copyright (C) 2000 - 2015, 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 
72313a0c13SJung-uk Kim /* Values for Flags field above */
73313a0c13SJung-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 */
77313a0c13SJung-uk Kim #define DT_OPTIONAL                     0x08    /* Field is optional */
78313a0c13SJung-uk Kim #define DT_DESCRIBES_OPTIONAL           0x10    /* Field describes an optional field (length, etc.) */
79313a0c13SJung-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,
132*7cf3e94aSJung-uk Kim     ACPI_DMT_RAW_BUFFER,  /* Large, multiple line buffer */
1333f0275a0SJung-uk Kim     ACPI_DMT_DEVICE_PATH,
1343f0275a0SJung-uk Kim     ACPI_DMT_LABEL,
1353f0275a0SJung-uk Kim     ACPI_DMT_PCI_PATH,
1363f0275a0SJung-uk Kim 
1373f0275a0SJung-uk Kim     /* Types that are specific to particular ACPI tables */
1383f0275a0SJung-uk Kim 
1393f0275a0SJung-uk Kim     ACPI_DMT_ASF,
1403f0275a0SJung-uk Kim     ACPI_DMT_DMAR,
141313a0c13SJung-uk Kim     ACPI_DMT_DMAR_SCOPE,
1423f0275a0SJung-uk Kim     ACPI_DMT_EINJACT,
1433f0275a0SJung-uk Kim     ACPI_DMT_EINJINST,
1443f0275a0SJung-uk Kim     ACPI_DMT_ERSTACT,
1453f0275a0SJung-uk Kim     ACPI_DMT_ERSTINST,
1463f0275a0SJung-uk Kim     ACPI_DMT_FADTPM,
147313a0c13SJung-uk Kim     ACPI_DMT_GTDT,
1483f0275a0SJung-uk Kim     ACPI_DMT_HEST,
1493f0275a0SJung-uk Kim     ACPI_DMT_HESTNTFY,
1503f0275a0SJung-uk Kim     ACPI_DMT_HESTNTYP,
1513f0275a0SJung-uk Kim     ACPI_DMT_IVRS,
152313a0c13SJung-uk Kim     ACPI_DMT_LPIT,
1533f0275a0SJung-uk Kim     ACPI_DMT_MADT,
154313a0c13SJung-uk Kim     ACPI_DMT_PCCT,
1553f0275a0SJung-uk Kim     ACPI_DMT_PMTT,
1563f0275a0SJung-uk Kim     ACPI_DMT_SLIC,
1573f0275a0SJung-uk Kim     ACPI_DMT_SRAT,
1583f0275a0SJung-uk Kim 
1593f0275a0SJung-uk Kim     /* Special opcodes */
1603f0275a0SJung-uk Kim 
1613f0275a0SJung-uk Kim     ACPI_DMT_EXTRA_TEXT,
1623f0275a0SJung-uk Kim     ACPI_DMT_EXIT
1633f0275a0SJung-uk Kim 
1643f0275a0SJung-uk Kim } ACPI_ENTRY_TYPES;
165a9f12690SJung-uk Kim 
166a9f12690SJung-uk Kim typedef
167a9f12690SJung-uk Kim void (*ACPI_DMTABLE_HANDLER) (
168a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
169a9f12690SJung-uk Kim 
170a88e22b7SJung-uk Kim typedef
171a88e22b7SJung-uk Kim ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
172a88e22b7SJung-uk Kim     void                    **PFieldList);
173a88e22b7SJung-uk Kim 
174a9f12690SJung-uk Kim typedef struct acpi_dmtable_data
175a9f12690SJung-uk Kim {
176a9f12690SJung-uk Kim     char                    *Signature;
177a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO       *TableInfo;
178a9f12690SJung-uk Kim     ACPI_DMTABLE_HANDLER    TableHandler;
179a88e22b7SJung-uk Kim     ACPI_CMTABLE_HANDLER    CmTableHandler;
180a88e22b7SJung-uk Kim     const unsigned char     *Template;
181a9f12690SJung-uk Kim     char                    *Name;
182a9f12690SJung-uk Kim 
183a9f12690SJung-uk Kim } ACPI_DMTABLE_DATA;
184a9f12690SJung-uk Kim 
185a9f12690SJung-uk Kim 
186a9f12690SJung-uk Kim typedef struct acpi_op_walk_info
187a9f12690SJung-uk Kim {
188a9f12690SJung-uk Kim     UINT32                  Level;
189a9f12690SJung-uk Kim     UINT32                  LastLevel;
190a9f12690SJung-uk Kim     UINT32                  Count;
191a9f12690SJung-uk Kim     UINT32                  BitOffset;
192a9f12690SJung-uk Kim     UINT32                  Flags;
193a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState;
194313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *MappingOp;
195a9f12690SJung-uk Kim 
196a9f12690SJung-uk Kim } ACPI_OP_WALK_INFO;
197a9f12690SJung-uk Kim 
198a88e22b7SJung-uk Kim /*
199a88e22b7SJung-uk Kim  * TBD - another copy of this is in asltypes.h, fix
200a88e22b7SJung-uk Kim  */
201a88e22b7SJung-uk Kim #ifndef ASL_WALK_CALLBACK_DEFINED
202a9f12690SJung-uk Kim typedef
203a9f12690SJung-uk Kim ACPI_STATUS (*ASL_WALK_CALLBACK) (
204a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT           *Op,
205a9f12690SJung-uk Kim     UINT32                      Level,
206a9f12690SJung-uk Kim     void                        *Context);
207a88e22b7SJung-uk Kim #define ASL_WALK_CALLBACK_DEFINED
208a88e22b7SJung-uk Kim #endif
209a88e22b7SJung-uk Kim 
2103f0275a0SJung-uk Kim typedef
2113f0275a0SJung-uk Kim void (*ACPI_RESOURCE_HANDLER) (
212313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
2133f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
2143f0275a0SJung-uk Kim     UINT32                  Length,
2153f0275a0SJung-uk Kim     UINT32                  Level);
216a9f12690SJung-uk Kim 
217a9f12690SJung-uk Kim typedef struct acpi_resource_tag
218a9f12690SJung-uk Kim {
219a9f12690SJung-uk Kim     UINT32                  BitIndex;
220a9f12690SJung-uk Kim     char                    *Tag;
221a9f12690SJung-uk Kim 
222a9f12690SJung-uk Kim } ACPI_RESOURCE_TAG;
223a9f12690SJung-uk Kim 
224a9f12690SJung-uk Kim /* Strings used for decoding flags to ASL keywords */
225a9f12690SJung-uk Kim 
226a9f12690SJung-uk Kim extern const char               *AcpiGbl_WordDecode[];
227a9f12690SJung-uk Kim extern const char               *AcpiGbl_IrqDecode[];
228a9f12690SJung-uk Kim extern const char               *AcpiGbl_LockRule[];
229a9f12690SJung-uk Kim extern const char               *AcpiGbl_AccessTypes[];
230a9f12690SJung-uk Kim extern const char               *AcpiGbl_UpdateRules[];
231a9f12690SJung-uk Kim extern const char               *AcpiGbl_MatchOps[];
232a9f12690SJung-uk Kim 
233a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
234a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
235a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
236a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
237a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
238a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
239a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
240a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
241a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
242a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
2433f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
244a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
245a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
2461df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
2471df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
248efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
2491df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
2501df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
2511df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
2521df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
2531df130f1SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
254313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2OemData[];
255a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
256a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
257a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
258a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
259a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
260a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
261a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
262d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
263313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar4[];
2643f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
265a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
266a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
267a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
268a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
269a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
270a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
271a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
272a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
273a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
2743f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
2753f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
2763f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
2773f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
2783f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
279a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
2803f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
281313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtHdr[];
282313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0[];
283313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0a[];
284313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt1[];
285a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
286a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
287a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
288a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
289d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
290a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
291a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
292a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
293a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
294a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
295d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
296a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
297313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpitHdr[];
298313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit0[];
299313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit1[];
300d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
301d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
302d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
303d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
304d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
305d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
306d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
307d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
308a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
309a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
310a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
311a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
312a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
313a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
314a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
315a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
316a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
317a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
318a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
319a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
3203f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
3213f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
322313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt13[];
323313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt14[];
324a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
325a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
326a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
327ca3cf4faSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
3283f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
3293f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
3303f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
3313f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
3323f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
3333f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
334d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
335d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
3369c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr[];
3379c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr0[];
3383f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
3393f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
3403f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
3413f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1a[];
3423f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
3433f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
3443f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
345313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcctHdr[];
3463f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
347313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct1[];
348a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
349a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
3503f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
3513f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
3523f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
3533f0275a0SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
354a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
355*7cf3e94aSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic[];
356a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
357a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
358a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
359a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
360a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
361a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
362a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
363a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
364313a0c13SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat3[];
365a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpa[];
366efcc2a30SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
367d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
3689c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc[];
3699c48c75eSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc0[];
370d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
371d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
372d6dd1baeSJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
373a88e22b7SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
374a9f12690SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
375a9f12690SJung-uk Kim 
376d244b227SJung-uk Kim extern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
377d244b227SJung-uk Kim 
378a9f12690SJung-uk Kim 
379a9f12690SJung-uk Kim /*
380a9f12690SJung-uk Kim  * dmtable
381a9f12690SJung-uk Kim  */
382a88e22b7SJung-uk Kim extern ACPI_DMTABLE_DATA        AcpiDmTableData[];
383a88e22b7SJung-uk Kim 
384a88e22b7SJung-uk Kim UINT8
385a88e22b7SJung-uk Kim AcpiDmGenerateChecksum (
386a88e22b7SJung-uk Kim     void                    *Table,
387a88e22b7SJung-uk Kim     UINT32                  Length,
388a88e22b7SJung-uk Kim     UINT8                   OriginalChecksum);
389a88e22b7SJung-uk Kim 
390a88e22b7SJung-uk Kim ACPI_DMTABLE_DATA *
391a88e22b7SJung-uk Kim AcpiDmGetTableData (
392a88e22b7SJung-uk Kim     char                    *Signature);
393a88e22b7SJung-uk Kim 
394a9f12690SJung-uk Kim void
395a9f12690SJung-uk Kim AcpiDmDumpDataTable (
396a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
397a9f12690SJung-uk Kim 
398a9f12690SJung-uk Kim ACPI_STATUS
399a9f12690SJung-uk Kim AcpiDmDumpTable (
400a9f12690SJung-uk Kim     UINT32                  TableLength,
401a9f12690SJung-uk Kim     UINT32                  TableOffset,
402a9f12690SJung-uk Kim     void                    *Table,
403a9f12690SJung-uk Kim     UINT32                  SubTableLength,
404a9f12690SJung-uk Kim     ACPI_DMTABLE_INFO        *Info);
405a9f12690SJung-uk Kim 
406a9f12690SJung-uk Kim void
407a9f12690SJung-uk Kim AcpiDmLineHeader (
408a9f12690SJung-uk Kim     UINT32                  Offset,
409a9f12690SJung-uk Kim     UINT32                  ByteLength,
410a9f12690SJung-uk Kim     char                    *Name);
411a9f12690SJung-uk Kim 
412a9f12690SJung-uk Kim void
413a9f12690SJung-uk Kim AcpiDmLineHeader2 (
414a9f12690SJung-uk Kim     UINT32                  Offset,
415a9f12690SJung-uk Kim     UINT32                  ByteLength,
416a9f12690SJung-uk Kim     char                    *Name,
417a9f12690SJung-uk Kim     UINT32                  Value);
418a9f12690SJung-uk Kim 
419a9f12690SJung-uk Kim 
420a9f12690SJung-uk Kim /*
421a9f12690SJung-uk Kim  * dmtbdump
422a9f12690SJung-uk Kim  */
423a9f12690SJung-uk Kim void
424*7cf3e94aSJung-uk Kim AcpiDmDumpBuffer (
425*7cf3e94aSJung-uk Kim     void                    *Table,
426*7cf3e94aSJung-uk Kim     UINT32                  BufferOffset,
427*7cf3e94aSJung-uk Kim     UINT32                  Length,
428*7cf3e94aSJung-uk Kim     UINT32                  AbsoluteOffset,
429*7cf3e94aSJung-uk Kim     char                    *Header,
430*7cf3e94aSJung-uk Kim     BOOLEAN                 MultiLine);
431*7cf3e94aSJung-uk Kim 
432*7cf3e94aSJung-uk Kim void
433a9f12690SJung-uk Kim AcpiDmDumpAsf (
434a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
435a9f12690SJung-uk Kim 
436a9f12690SJung-uk Kim void
437a9f12690SJung-uk Kim AcpiDmDumpCpep (
438a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
439a9f12690SJung-uk Kim 
440a9f12690SJung-uk Kim void
4411df130f1SJung-uk Kim AcpiDmDumpCsrt (
4421df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4431df130f1SJung-uk Kim 
4441df130f1SJung-uk Kim void
4451df130f1SJung-uk Kim AcpiDmDumpDbg2 (
4461df130f1SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4471df130f1SJung-uk Kim 
4481df130f1SJung-uk Kim void
449a9f12690SJung-uk Kim AcpiDmDumpDmar (
450a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
451a9f12690SJung-uk Kim 
452a9f12690SJung-uk Kim void
453a9f12690SJung-uk Kim AcpiDmDumpEinj (
454a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
455a9f12690SJung-uk Kim 
456a9f12690SJung-uk Kim void
457a9f12690SJung-uk Kim AcpiDmDumpErst (
458a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
459a9f12690SJung-uk Kim 
460a9f12690SJung-uk Kim void
461a9f12690SJung-uk Kim AcpiDmDumpFadt (
462a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
463a9f12690SJung-uk Kim 
464a9f12690SJung-uk Kim void
4653f0275a0SJung-uk Kim AcpiDmDumpFpdt (
4663f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4673f0275a0SJung-uk Kim 
4683f0275a0SJung-uk Kim void
469313a0c13SJung-uk Kim AcpiDmDumpGtdt (
470313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
471313a0c13SJung-uk Kim 
472313a0c13SJung-uk Kim void
473a9f12690SJung-uk Kim AcpiDmDumpHest (
474a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
475a9f12690SJung-uk Kim 
476a9f12690SJung-uk Kim void
477d6dd1baeSJung-uk Kim AcpiDmDumpIvrs (
478d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
479d6dd1baeSJung-uk Kim 
480d6dd1baeSJung-uk Kim void
481313a0c13SJung-uk Kim AcpiDmDumpLpit (
482313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
483313a0c13SJung-uk Kim 
484313a0c13SJung-uk Kim void
485a9f12690SJung-uk Kim AcpiDmDumpMadt (
486a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
487a9f12690SJung-uk Kim 
488d6dd1baeSJung-uk Kim void
4893f0275a0SJung-uk Kim AcpiDmDumpMcfg (
4903f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4913f0275a0SJung-uk Kim 
4923f0275a0SJung-uk Kim void
4933f0275a0SJung-uk Kim AcpiDmDumpMpst (
4943f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
4953f0275a0SJung-uk Kim 
4963f0275a0SJung-uk Kim void
497d6dd1baeSJung-uk Kim AcpiDmDumpMsct (
498d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
499d6dd1baeSJung-uk Kim 
5003f0275a0SJung-uk Kim void
5019c48c75eSJung-uk Kim AcpiDmDumpMtmr (
5029c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5039c48c75eSJung-uk Kim 
5049c48c75eSJung-uk Kim void
5053f0275a0SJung-uk Kim AcpiDmDumpPcct (
5063f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5073f0275a0SJung-uk Kim 
5083f0275a0SJung-uk Kim void
5093f0275a0SJung-uk Kim AcpiDmDumpPmtt (
5103f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5113f0275a0SJung-uk Kim 
512a9f12690SJung-uk Kim UINT32
513a9f12690SJung-uk Kim AcpiDmDumpRsdp (
514a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
515a9f12690SJung-uk Kim 
516a9f12690SJung-uk Kim void
517a9f12690SJung-uk Kim AcpiDmDumpRsdt (
518a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
519a9f12690SJung-uk Kim 
5203f0275a0SJung-uk Kim UINT32
5213f0275a0SJung-uk Kim AcpiDmDumpS3pt (
5223f0275a0SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5233f0275a0SJung-uk Kim 
524a9f12690SJung-uk Kim void
525dcbce41eSJung-uk Kim AcpiDmDumpSlic (
526dcbce41eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
527dcbce41eSJung-uk Kim 
528dcbce41eSJung-uk Kim void
529a9f12690SJung-uk Kim AcpiDmDumpSlit (
530a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
531a9f12690SJung-uk Kim 
532a9f12690SJung-uk Kim void
533a9f12690SJung-uk Kim AcpiDmDumpSrat (
534a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
535a9f12690SJung-uk Kim 
536a9f12690SJung-uk Kim void
5379c48c75eSJung-uk Kim AcpiDmDumpVrtc (
5389c48c75eSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
5399c48c75eSJung-uk Kim 
5409c48c75eSJung-uk Kim void
541d6dd1baeSJung-uk Kim AcpiDmDumpWdat (
542d6dd1baeSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
543d6dd1baeSJung-uk Kim 
544d6dd1baeSJung-uk Kim void
545a9f12690SJung-uk Kim AcpiDmDumpXsdt (
546a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *Table);
547a9f12690SJung-uk Kim 
548a9f12690SJung-uk Kim 
549a9f12690SJung-uk Kim /*
550a9f12690SJung-uk Kim  * dmwalk
551a9f12690SJung-uk Kim  */
552a9f12690SJung-uk Kim void
553a9f12690SJung-uk Kim AcpiDmDisassemble (
554a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
555a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Origin,
556a9f12690SJung-uk Kim     UINT32                  NumOpcodes);
557a9f12690SJung-uk Kim 
558a9f12690SJung-uk Kim void
559a9f12690SJung-uk Kim AcpiDmWalkParseTree (
560a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
561a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       DescendingCallback,
562a9f12690SJung-uk Kim     ASL_WALK_CALLBACK       AscendingCallback,
563a9f12690SJung-uk Kim     void                    *Context);
564a9f12690SJung-uk Kim 
565a9f12690SJung-uk Kim 
566a9f12690SJung-uk Kim /*
567a9f12690SJung-uk Kim  * dmopcode
568a9f12690SJung-uk Kim  */
569a9f12690SJung-uk Kim void
570a9f12690SJung-uk Kim AcpiDmDisassembleOneOp (
571a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
572a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
573a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
574a9f12690SJung-uk Kim 
575a9f12690SJung-uk Kim void
576a9f12690SJung-uk Kim AcpiDmDecodeInternalObject (
577a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
578a9f12690SJung-uk Kim 
579a9f12690SJung-uk Kim UINT32
580a9f12690SJung-uk Kim AcpiDmListType (
581a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
582a9f12690SJung-uk Kim 
583a9f12690SJung-uk Kim void
584a9f12690SJung-uk Kim AcpiDmMethodFlags (
585a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
586a9f12690SJung-uk Kim 
587a9f12690SJung-uk Kim void
588313a0c13SJung-uk Kim AcpiDmDisplayTargetPathname (
589313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
590313a0c13SJung-uk Kim 
591313a0c13SJung-uk Kim void
592313a0c13SJung-uk Kim AcpiDmNotifyDescription (
593313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
594313a0c13SJung-uk Kim 
595313a0c13SJung-uk Kim void
596f38b0f21SJung-uk Kim AcpiDmPredefinedDescription (
597f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
598f38b0f21SJung-uk Kim 
599f38b0f21SJung-uk Kim void
600f38b0f21SJung-uk Kim AcpiDmFieldPredefinedDescription (
601f38b0f21SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
602f38b0f21SJung-uk Kim 
603f38b0f21SJung-uk Kim void
604a9f12690SJung-uk Kim AcpiDmFieldFlags (
605a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
606a9f12690SJung-uk Kim 
607a9f12690SJung-uk Kim void
608a9f12690SJung-uk Kim AcpiDmAddressSpace (
609a9f12690SJung-uk Kim     UINT8                   SpaceId);
610a9f12690SJung-uk Kim 
611a9f12690SJung-uk Kim void
612a9f12690SJung-uk Kim AcpiDmRegionFlags (
613a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
614a9f12690SJung-uk Kim 
615a9f12690SJung-uk Kim void
616a9f12690SJung-uk Kim AcpiDmMatchOp (
617a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
618a9f12690SJung-uk Kim 
619a9f12690SJung-uk Kim 
620a9f12690SJung-uk Kim /*
621a9f12690SJung-uk Kim  * dmnames
622a9f12690SJung-uk Kim  */
623a9f12690SJung-uk Kim UINT32
624a9f12690SJung-uk Kim AcpiDmDumpName (
625a9f12690SJung-uk Kim     UINT32                  Name);
626a9f12690SJung-uk Kim 
627a9f12690SJung-uk Kim ACPI_STATUS
628a9f12690SJung-uk Kim AcpiPsDisplayObjectPathname (
629a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
630a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
631a9f12690SJung-uk Kim 
632a9f12690SJung-uk Kim void
633a9f12690SJung-uk Kim AcpiDmNamestring (
634a9f12690SJung-uk Kim     char                    *Name);
635a9f12690SJung-uk Kim 
636a9f12690SJung-uk Kim 
637a9f12690SJung-uk Kim /*
638a9f12690SJung-uk Kim  * dmobject
639a9f12690SJung-uk Kim  */
640a9f12690SJung-uk Kim void
641a9f12690SJung-uk Kim AcpiDmDisplayInternalObject (
642a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
643a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
644a9f12690SJung-uk Kim 
645a9f12690SJung-uk Kim void
646a9f12690SJung-uk Kim AcpiDmDisplayArguments (
647a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
648a9f12690SJung-uk Kim 
649a9f12690SJung-uk Kim void
650a9f12690SJung-uk Kim AcpiDmDisplayLocals (
651a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
652a9f12690SJung-uk Kim 
653a9f12690SJung-uk Kim void
654a9f12690SJung-uk Kim AcpiDmDumpMethodInfo (
655a9f12690SJung-uk Kim     ACPI_STATUS             Status,
656a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
657a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
658a9f12690SJung-uk Kim 
659a9f12690SJung-uk Kim 
660a9f12690SJung-uk Kim /*
661a9f12690SJung-uk Kim  * dmbuffer
662a9f12690SJung-uk Kim  */
663a9f12690SJung-uk Kim void
664a9f12690SJung-uk Kim AcpiDmDisasmByteList (
665a9f12690SJung-uk Kim     UINT32                  Level,
666a9f12690SJung-uk Kim     UINT8                   *ByteData,
667a9f12690SJung-uk Kim     UINT32                  ByteCount);
668a9f12690SJung-uk Kim 
669a9f12690SJung-uk Kim void
670a9f12690SJung-uk Kim AcpiDmByteList (
671a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
672a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
673a9f12690SJung-uk Kim 
674a9f12690SJung-uk Kim void
675313a0c13SJung-uk Kim AcpiDmCheckForHardwareId (
676a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
677a9f12690SJung-uk Kim 
678a9f12690SJung-uk Kim void
679313a0c13SJung-uk Kim AcpiDmDecompressEisaId (
680a9f12690SJung-uk Kim     UINT32                  EncodedId);
681a9f12690SJung-uk Kim 
682a9f12690SJung-uk Kim BOOLEAN
683313a0c13SJung-uk Kim AcpiDmIsUuidBuffer (
684313a0c13SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
685313a0c13SJung-uk Kim 
686313a0c13SJung-uk Kim BOOLEAN
687a9f12690SJung-uk Kim AcpiDmIsUnicodeBuffer (
688a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
689a9f12690SJung-uk Kim 
690a9f12690SJung-uk Kim BOOLEAN
691a9f12690SJung-uk Kim AcpiDmIsStringBuffer (
692a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
693a9f12690SJung-uk Kim 
6941df130f1SJung-uk Kim BOOLEAN
6951df130f1SJung-uk Kim AcpiDmIsPldBuffer (
6961df130f1SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
6971df130f1SJung-uk Kim 
698a9f12690SJung-uk Kim 
699a9f12690SJung-uk Kim /*
700ed17e06eSJung-uk Kim  * dmdeferred
701ed17e06eSJung-uk Kim  */
702ed17e06eSJung-uk Kim ACPI_STATUS
703ed17e06eSJung-uk Kim AcpiDmParseDeferredOps (
704ed17e06eSJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
705ed17e06eSJung-uk Kim 
706ed17e06eSJung-uk Kim 
707ed17e06eSJung-uk Kim /*
708f556842eSJung-uk Kim  * dmextern
709f556842eSJung-uk Kim  */
710709fac06SJung-uk Kim ACPI_STATUS
711709fac06SJung-uk Kim AcpiDmAddToExternalFileList (
712709fac06SJung-uk Kim     char                    *PathList);
713709fac06SJung-uk Kim 
714709fac06SJung-uk Kim void
715709fac06SJung-uk Kim AcpiDmClearExternalFileList (
716709fac06SJung-uk Kim     void);
717709fac06SJung-uk Kim 
718f556842eSJung-uk Kim void
719313a0c13SJung-uk Kim AcpiDmAddOpToExternalList (
720f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
721f556842eSJung-uk Kim     char                    *Path,
722f556842eSJung-uk Kim     UINT8                   Type,
723313a0c13SJung-uk Kim     UINT32                  Value,
724313a0c13SJung-uk Kim     UINT16                  Flags);
725313a0c13SJung-uk Kim 
726313a0c13SJung-uk Kim void
727313a0c13SJung-uk Kim AcpiDmAddNodeToExternalList (
728313a0c13SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node,
729313a0c13SJung-uk Kim     UINT8                   Type,
730313a0c13SJung-uk Kim     UINT32                  Value,
731313a0c13SJung-uk Kim     UINT16                  Flags);
732f556842eSJung-uk Kim 
733f556842eSJung-uk Kim void
734f556842eSJung-uk Kim AcpiDmAddExternalsToNamespace (
735f556842eSJung-uk Kim     void);
736f556842eSJung-uk Kim 
737f556842eSJung-uk Kim UINT32
738f556842eSJung-uk Kim AcpiDmGetExternalMethodCount (
739f556842eSJung-uk Kim     void);
740f556842eSJung-uk Kim 
741f556842eSJung-uk Kim void
742f556842eSJung-uk Kim AcpiDmClearExternalList (
743f556842eSJung-uk Kim     void);
744f556842eSJung-uk Kim 
745f556842eSJung-uk Kim void
746f556842eSJung-uk Kim AcpiDmEmitExternals (
747f556842eSJung-uk Kim     void);
748f556842eSJung-uk Kim 
7499c48c75eSJung-uk Kim void
7509c48c75eSJung-uk Kim AcpiDmUnresolvedWarning (
7519c48c75eSJung-uk Kim     UINT8                   Type);
7529c48c75eSJung-uk Kim 
75379c6d946SJung-uk Kim void
75479c6d946SJung-uk Kim AcpiDmGetExternalsFromFile (
75579c6d946SJung-uk Kim     void);
756f556842eSJung-uk Kim 
757f556842eSJung-uk Kim /*
758a9f12690SJung-uk Kim  * dmresrc
759a9f12690SJung-uk Kim  */
760a9f12690SJung-uk Kim void
761a9f12690SJung-uk Kim AcpiDmDumpInteger8 (
762a9f12690SJung-uk Kim     UINT8                   Value,
763a9f12690SJung-uk Kim     char                    *Name);
764a9f12690SJung-uk Kim 
765a9f12690SJung-uk Kim void
766a9f12690SJung-uk Kim AcpiDmDumpInteger16 (
767a9f12690SJung-uk Kim     UINT16                  Value,
768a9f12690SJung-uk Kim     char                    *Name);
769a9f12690SJung-uk Kim 
770a9f12690SJung-uk Kim void
771a9f12690SJung-uk Kim AcpiDmDumpInteger32 (
772a9f12690SJung-uk Kim     UINT32                  Value,
773a9f12690SJung-uk Kim     char                    *Name);
774a9f12690SJung-uk Kim 
775a9f12690SJung-uk Kim void
776a9f12690SJung-uk Kim AcpiDmDumpInteger64 (
777a9f12690SJung-uk Kim     UINT64                  Value,
778a9f12690SJung-uk Kim     char                    *Name);
779a9f12690SJung-uk Kim 
780a9f12690SJung-uk Kim void
781a9f12690SJung-uk Kim AcpiDmResourceTemplate (
782a9f12690SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
783a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
784a9f12690SJung-uk Kim     UINT8                   *ByteData,
785a9f12690SJung-uk Kim     UINT32                  ByteCount);
786a9f12690SJung-uk Kim 
787a9f12690SJung-uk Kim ACPI_STATUS
788a9f12690SJung-uk Kim AcpiDmIsResourceTemplate (
789ed17e06eSJung-uk Kim     ACPI_WALK_STATE         *WalkState,
790a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
791a9f12690SJung-uk Kim 
792a9f12690SJung-uk Kim void
793a9f12690SJung-uk Kim AcpiDmBitList (
794a9f12690SJung-uk Kim     UINT16                  Mask);
795a9f12690SJung-uk Kim 
796a9f12690SJung-uk Kim void
797a9f12690SJung-uk Kim AcpiDmDescriptorName (
798a9f12690SJung-uk Kim     void);
799a9f12690SJung-uk Kim 
800a9f12690SJung-uk Kim 
801a9f12690SJung-uk Kim /*
802a9f12690SJung-uk Kim  * dmresrcl
803a9f12690SJung-uk Kim  */
804a9f12690SJung-uk Kim void
805a9f12690SJung-uk Kim AcpiDmWordDescriptor (
806313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
807a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
808a9f12690SJung-uk Kim     UINT32                  Length,
809a9f12690SJung-uk Kim     UINT32                  Level);
810a9f12690SJung-uk Kim 
811a9f12690SJung-uk Kim void
812a9f12690SJung-uk Kim AcpiDmDwordDescriptor (
813313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
814a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
815a9f12690SJung-uk Kim     UINT32                  Length,
816a9f12690SJung-uk Kim     UINT32                  Level);
817a9f12690SJung-uk Kim 
818a9f12690SJung-uk Kim void
819a9f12690SJung-uk Kim AcpiDmExtendedDescriptor (
820313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
821a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
822a9f12690SJung-uk Kim     UINT32                  Length,
823a9f12690SJung-uk Kim     UINT32                  Level);
824a9f12690SJung-uk Kim 
825a9f12690SJung-uk Kim void
826a9f12690SJung-uk Kim AcpiDmQwordDescriptor (
827313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
828a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
829a9f12690SJung-uk Kim     UINT32                  Length,
830a9f12690SJung-uk Kim     UINT32                  Level);
831a9f12690SJung-uk Kim 
832a9f12690SJung-uk Kim void
833a9f12690SJung-uk Kim AcpiDmMemory24Descriptor (
834313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
835a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
836a9f12690SJung-uk Kim     UINT32                  Length,
837a9f12690SJung-uk Kim     UINT32                  Level);
838a9f12690SJung-uk Kim 
839a9f12690SJung-uk Kim void
840a9f12690SJung-uk Kim AcpiDmMemory32Descriptor (
841313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
842a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
843a9f12690SJung-uk Kim     UINT32                  Length,
844a9f12690SJung-uk Kim     UINT32                  Level);
845a9f12690SJung-uk Kim 
846a9f12690SJung-uk Kim void
847a9f12690SJung-uk Kim AcpiDmFixedMemory32Descriptor (
848313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
849a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
850a9f12690SJung-uk Kim     UINT32                  Length,
851a9f12690SJung-uk Kim     UINT32                  Level);
852a9f12690SJung-uk Kim 
853a9f12690SJung-uk Kim void
854a9f12690SJung-uk Kim AcpiDmGenericRegisterDescriptor (
855313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
856a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
857a9f12690SJung-uk Kim     UINT32                  Length,
858a9f12690SJung-uk Kim     UINT32                  Level);
859a9f12690SJung-uk Kim 
860a9f12690SJung-uk Kim void
861a9f12690SJung-uk Kim AcpiDmInterruptDescriptor (
862313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
863a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
864a9f12690SJung-uk Kim     UINT32                  Length,
865a9f12690SJung-uk Kim     UINT32                  Level);
866a9f12690SJung-uk Kim 
867a9f12690SJung-uk Kim void
868a9f12690SJung-uk Kim AcpiDmVendorLargeDescriptor (
869313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
870a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
871a9f12690SJung-uk Kim     UINT32                  Length,
872a9f12690SJung-uk Kim     UINT32                  Level);
873a9f12690SJung-uk Kim 
874a9f12690SJung-uk Kim void
8753f0275a0SJung-uk Kim AcpiDmGpioDescriptor (
876313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
8773f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8783f0275a0SJung-uk Kim     UINT32                  Length,
8793f0275a0SJung-uk Kim     UINT32                  Level);
8803f0275a0SJung-uk Kim 
8813f0275a0SJung-uk Kim void
8823f0275a0SJung-uk Kim AcpiDmSerialBusDescriptor (
883313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
8843f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
8853f0275a0SJung-uk Kim     UINT32                  Length,
8863f0275a0SJung-uk Kim     UINT32                  Level);
8873f0275a0SJung-uk Kim 
8883f0275a0SJung-uk Kim void
889a9f12690SJung-uk Kim AcpiDmVendorCommon (
890a9f12690SJung-uk Kim     char                    *Name,
891a9f12690SJung-uk Kim     UINT8                   *ByteData,
892a9f12690SJung-uk Kim     UINT32                  Length,
893a9f12690SJung-uk Kim     UINT32                  Level);
894a9f12690SJung-uk Kim 
895a9f12690SJung-uk Kim 
896a9f12690SJung-uk Kim /*
897a9f12690SJung-uk Kim  * dmresrcs
898a9f12690SJung-uk Kim  */
899a9f12690SJung-uk Kim void
900a9f12690SJung-uk Kim AcpiDmIrqDescriptor (
901313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
902a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
903a9f12690SJung-uk Kim     UINT32                  Length,
904a9f12690SJung-uk Kim     UINT32                  Level);
905a9f12690SJung-uk Kim 
906a9f12690SJung-uk Kim void
907a9f12690SJung-uk Kim AcpiDmDmaDescriptor (
908313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
909a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
910a9f12690SJung-uk Kim     UINT32                  Length,
911a9f12690SJung-uk Kim     UINT32                  Level);
912a9f12690SJung-uk Kim 
913a9f12690SJung-uk Kim void
9143f0275a0SJung-uk Kim AcpiDmFixedDmaDescriptor (
915313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
9163f0275a0SJung-uk Kim     AML_RESOURCE            *Resource,
9173f0275a0SJung-uk Kim     UINT32                  Length,
9183f0275a0SJung-uk Kim     UINT32                  Level);
9193f0275a0SJung-uk Kim 
9203f0275a0SJung-uk Kim void
921a9f12690SJung-uk Kim AcpiDmIoDescriptor (
922313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
923a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
924a9f12690SJung-uk Kim     UINT32                  Length,
925a9f12690SJung-uk Kim     UINT32                  Level);
926a9f12690SJung-uk Kim 
927a9f12690SJung-uk Kim void
928a9f12690SJung-uk Kim AcpiDmFixedIoDescriptor (
929313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
930a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
931a9f12690SJung-uk Kim     UINT32                  Length,
932a9f12690SJung-uk Kim     UINT32                  Level);
933a9f12690SJung-uk Kim 
934a9f12690SJung-uk Kim void
935a9f12690SJung-uk Kim AcpiDmStartDependentDescriptor (
936313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
937a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
938a9f12690SJung-uk Kim     UINT32                  Length,
939a9f12690SJung-uk Kim     UINT32                  Level);
940a9f12690SJung-uk Kim 
941a9f12690SJung-uk Kim void
942a9f12690SJung-uk Kim AcpiDmEndDependentDescriptor (
943313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
944a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
945a9f12690SJung-uk Kim     UINT32                  Length,
946a9f12690SJung-uk Kim     UINT32                  Level);
947a9f12690SJung-uk Kim 
948a9f12690SJung-uk Kim void
949a9f12690SJung-uk Kim AcpiDmVendorSmallDescriptor (
950313a0c13SJung-uk Kim     ACPI_OP_WALK_INFO       *Info,
951a9f12690SJung-uk Kim     AML_RESOURCE            *Resource,
952a9f12690SJung-uk Kim     UINT32                  Length,
953a9f12690SJung-uk Kim     UINT32                  Level);
954a9f12690SJung-uk Kim 
955a9f12690SJung-uk Kim 
956a9f12690SJung-uk Kim /*
957a9f12690SJung-uk Kim  * dmutils
958a9f12690SJung-uk Kim  */
959a9f12690SJung-uk Kim void
960f556842eSJung-uk Kim AcpiDmDecodeAttribute (
961f556842eSJung-uk Kim     UINT8                   Attribute);
962f556842eSJung-uk Kim 
963f556842eSJung-uk Kim void
964f556842eSJung-uk Kim AcpiDmIndent (
965f556842eSJung-uk Kim     UINT32                  Level);
966f556842eSJung-uk Kim 
967f556842eSJung-uk Kim BOOLEAN
968f556842eSJung-uk Kim AcpiDmCommaIfListMember (
969f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
970f556842eSJung-uk Kim 
971f556842eSJung-uk Kim void
972f556842eSJung-uk Kim AcpiDmCommaIfFieldMember (
973f556842eSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
974f556842eSJung-uk Kim 
975a9f12690SJung-uk Kim 
976a9f12690SJung-uk Kim /*
977a9f12690SJung-uk Kim  * dmrestag
978a9f12690SJung-uk Kim  */
979a9f12690SJung-uk Kim void
980a9f12690SJung-uk Kim AcpiDmFindResources (
981a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Root);
982a9f12690SJung-uk Kim 
983a9f12690SJung-uk Kim void
984a9f12690SJung-uk Kim AcpiDmCheckResourceReference (
985a9f12690SJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
986a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
987a9f12690SJung-uk Kim 
988a88e22b7SJung-uk Kim 
989a88e22b7SJung-uk Kim /*
9901c0e1b6dSJung-uk Kim  * dmcstyle
9911c0e1b6dSJung-uk Kim  */
9921c0e1b6dSJung-uk Kim BOOLEAN
9931c0e1b6dSJung-uk Kim AcpiDmCheckForSymbolicOpcode (
9941c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
9951c0e1b6dSJung-uk Kim     ACPI_OP_WALK_INFO       *Info);
9961c0e1b6dSJung-uk Kim 
9971c0e1b6dSJung-uk Kim void
9981c0e1b6dSJung-uk Kim AcpiDmCloseOperator (
9991c0e1b6dSJung-uk Kim     ACPI_PARSE_OBJECT       *Op);
10001c0e1b6dSJung-uk Kim 
10011c0e1b6dSJung-uk Kim 
10021c0e1b6dSJung-uk Kim /*
1003a88e22b7SJung-uk Kim  * acdisasm
1004a88e22b7SJung-uk Kim  */
1005a88e22b7SJung-uk Kim void
1006a88e22b7SJung-uk Kim AdDisassemblerHeader (
1007*7cf3e94aSJung-uk Kim     char                    *Filename,
1008*7cf3e94aSJung-uk Kim     UINT8                   TableType);
1009*7cf3e94aSJung-uk Kim 
1010*7cf3e94aSJung-uk Kim #define ACPI_IS_AML_TABLE   0
1011*7cf3e94aSJung-uk Kim #define ACPI_IS_DATA_TABLE  1
1012a88e22b7SJung-uk Kim 
1013a9f12690SJung-uk Kim #endif  /* __ACDISASM_H__ */
1014