acdisasm.h revision 287168
1156952Sume/******************************************************************************
2156952Sume *
3156952Sume * Name: acdisasm.h - AML disassembler
4156952Sume *
5156952Sume *****************************************************************************/
6156952Sume
7156952Sume/*
8156952Sume * Copyright (C) 2000 - 2015, Intel Corp.
9156952Sume * All rights reserved.
10156952Sume *
11156952Sume * Redistribution and use in source and binary forms, with or without
12156952Sume * modification, are permitted provided that the following conditions
13156952Sume * are met:
14156952Sume * 1. Redistributions of source code must retain the above copyright
15156952Sume *    notice, this list of conditions, and the following disclaimer,
16156952Sume *    without modification.
17156952Sume * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18156952Sume *    substantially similar to the "NO WARRANTY" disclaimer below
19156952Sume *    ("Disclaimer") and any redistribution must be conditioned upon
20156952Sume *    including a substantially similar Disclaimer requirement for further
21156952Sume *    binary redistribution.
22156952Sume * 3. Neither the names of the above-listed copyright holders nor the names
23156952Sume *    of any contributors may be used to endorse or promote products derived
24156952Sume *    from this software without specific prior written permission.
25156952Sume *
26156952Sume * Alternatively, this software may be distributed under the terms of the
27156952Sume * GNU General Public License ("GPL") version 2 as published by the Free
28156952Sume * Software Foundation.
29156952Sume *
30156952Sume * NO WARRANTY
31156952Sume * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32156952Sume * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33156952Sume * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34156952Sume * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35156952Sume * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36156952Sume * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37156952Sume * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38156952Sume * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39156952Sume * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40156952Sume * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41156952Sume * POSSIBILITY OF SUCH DAMAGES.
42156952Sume */
43156952Sume
44156952Sume#ifndef __ACDISASM_H__
45156952Sume#define __ACDISASM_H__
46156952Sume
47156952Sume#include <contrib/dev/acpica/include/amlresrc.h>
48156952Sume
49156952Sume
50156952Sume#define BLOCK_NONE              0
51156952Sume#define BLOCK_PAREN             1
52156952Sume#define BLOCK_BRACE             2
53156952Sume#define BLOCK_COMMA_LIST        4
54156952Sume#define ACPI_DEFAULT_RESNAME    *(UINT32 *) "__RD"
55156952Sume
56156952Sume/*
57156952Sume * Raw table data header. Used by disassembler and data table compiler.
58156952Sume * Do not change.
59156952Sume */
60156952Sume#define ACPI_RAW_TABLE_DATA_HEADER      "Raw Table Data"
61156952Sume
62156952Sume
63156952Sumetypedef struct acpi_dmtable_info
64156952Sume{
65156952Sume    UINT8                       Opcode;
66156952Sume    UINT16                      Offset;
67156952Sume    char                        *Name;
68156952Sume    UINT8                       Flags;
69156952Sume
70156952Sume} ACPI_DMTABLE_INFO;
71156952Sume
72156952Sume/* Values for Flags field above */
73156952Sume
74156952Sume#define DT_LENGTH                       0x01    /* Field is a subtable length */
75156952Sume#define DT_FLAG                         0x02    /* Field is a flag value */
76156952Sume#define DT_NON_ZERO                     0x04    /* Field must be non-zero */
77156952Sume#define DT_OPTIONAL                     0x08    /* Field is optional */
78156952Sume#define DT_DESCRIBES_OPTIONAL           0x10    /* Field describes an optional field (length, etc.) */
79156952Sume#define DT_COUNT                        0x20    /* Currently not used */
80156952Sume
81156952Sume/*
82156952Sume * Values for Opcode above.
83156952Sume * Note: 0-7 must not change, they are used as a flag shift value. Other
84156952Sume * than those, new values can be added wherever appropriate.
85156952Sume */
86156952Sumetypedef enum
87156952Sume{
88156952Sume    /* Simple Data Types */
89156952Sume
90156952Sume    ACPI_DMT_FLAG0          = 0,
91156952Sume    ACPI_DMT_FLAG1          = 1,
92156952Sume    ACPI_DMT_FLAG2          = 2,
93156952Sume    ACPI_DMT_FLAG3          = 3,
94170244Sume    ACPI_DMT_FLAG4          = 4,
95156952Sume    ACPI_DMT_FLAG5          = 5,
96156956Sume    ACPI_DMT_FLAG6          = 6,
97156956Sume    ACPI_DMT_FLAG7          = 7,
98156952Sume    ACPI_DMT_FLAGS0,
99156952Sume    ACPI_DMT_FLAGS1,
100156952Sume    ACPI_DMT_FLAGS2,
101156952Sume    ACPI_DMT_FLAGS4,
102156952Sume    ACPI_DMT_UINT8,
103156952Sume    ACPI_DMT_UINT16,
104156952Sume    ACPI_DMT_UINT24,
105156952Sume    ACPI_DMT_UINT32,
106156952Sume    ACPI_DMT_UINT40,
107156952Sume    ACPI_DMT_UINT48,
108156952Sume    ACPI_DMT_UINT56,
109156952Sume    ACPI_DMT_UINT64,
110156952Sume    ACPI_DMT_BUF7,
111156952Sume    ACPI_DMT_BUF10,
112156952Sume    ACPI_DMT_BUF16,
113156952Sume    ACPI_DMT_BUF128,
114156952Sume    ACPI_DMT_SIG,
115156952Sume    ACPI_DMT_STRING,
116156952Sume    ACPI_DMT_NAME4,
117156952Sume    ACPI_DMT_NAME6,
118156952Sume    ACPI_DMT_NAME8,
119156952Sume
120156952Sume    /* Types that are decoded to strings and miscellaneous */
121156952Sume
122156952Sume    ACPI_DMT_ACCWIDTH,
123156952Sume    ACPI_DMT_CHKSUM,
124156952Sume    ACPI_DMT_GAS,
125156952Sume    ACPI_DMT_SPACEID,
126156952Sume    ACPI_DMT_UNICODE,
127156952Sume    ACPI_DMT_UUID,
128156952Sume
129156952Sume    /* Types used only for the Data Table Compiler */
130156952Sume
131170244Sume    ACPI_DMT_BUFFER,
132156952Sume    ACPI_DMT_RAW_BUFFER,  /* Large, multiple line buffer */
133156952Sume    ACPI_DMT_DEVICE_PATH,
134156952Sume    ACPI_DMT_LABEL,
135156952Sume    ACPI_DMT_PCI_PATH,
136156952Sume
137156952Sume    /* Types that are specific to particular ACPI tables */
138156952Sume
139156952Sume    ACPI_DMT_ASF,
140156952Sume    ACPI_DMT_DMAR,
141156952Sume    ACPI_DMT_DMAR_SCOPE,
142156952Sume    ACPI_DMT_EINJACT,
143156952Sume    ACPI_DMT_EINJINST,
144156952Sume    ACPI_DMT_ERSTACT,
145156952Sume    ACPI_DMT_ERSTINST,
146156952Sume    ACPI_DMT_FADTPM,
147156952Sume    ACPI_DMT_GTDT,
148156952Sume    ACPI_DMT_HEST,
149156952Sume    ACPI_DMT_HESTNTFY,
150156952Sume    ACPI_DMT_HESTNTYP,
151156952Sume    ACPI_DMT_IORTMEM,
152156952Sume    ACPI_DMT_IVRS,
153156952Sume    ACPI_DMT_LPIT,
154156952Sume    ACPI_DMT_MADT,
155156952Sume    ACPI_DMT_NFIT,
156156952Sume    ACPI_DMT_PCCT,
157156952Sume    ACPI_DMT_PMTT,
158156952Sume    ACPI_DMT_SLIC,
159156952Sume    ACPI_DMT_SRAT,
160156952Sume
161156952Sume    /* Special opcodes */
162156952Sume
163156952Sume    ACPI_DMT_EXTRA_TEXT,
164156952Sume    ACPI_DMT_EXIT
165156952Sume
166156952Sume} ACPI_ENTRY_TYPES;
167156952Sume
168156952Sumetypedef
169156952Sumevoid (*ACPI_DMTABLE_HANDLER) (
170156952Sume    ACPI_TABLE_HEADER       *Table);
171156952Sume
172156952Sumetypedef
173156952SumeACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
174156952Sume    void                    **PFieldList);
175156952Sume
176156952Sumetypedef struct acpi_dmtable_data
177156952Sume{
178156952Sume    char                    *Signature;
179156952Sume    ACPI_DMTABLE_INFO       *TableInfo;
180156952Sume    ACPI_DMTABLE_HANDLER    TableHandler;
181156952Sume    ACPI_CMTABLE_HANDLER    CmTableHandler;
182156952Sume    const unsigned char     *Template;
183156952Sume
184156952Sume} ACPI_DMTABLE_DATA;
185156952Sume
186156952Sume
187156952Sumetypedef struct acpi_op_walk_info
188156952Sume{
189156952Sume    ACPI_WALK_STATE         *WalkState;
190156952Sume    ACPI_PARSE_OBJECT       *MappingOp;
191156952Sume    UINT8                   *PreviousAml;
192156952Sume    UINT8                   *StartAml;
193156952Sume    UINT32                  Level;
194156952Sume    UINT32                  LastLevel;
195156952Sume    UINT32                  Count;
196156952Sume    UINT32                  BitOffset;
197156952Sume    UINT32                  Flags;
198156952Sume    UINT32                  AmlOffset;
199156952Sume
200156952Sume} ACPI_OP_WALK_INFO;
201156952Sume
202156952Sume/*
203156952Sume * TBD - another copy of this is in asltypes.h, fix
204156952Sume */
205156952Sume#ifndef ASL_WALK_CALLBACK_DEFINED
206156952Sumetypedef
207156952SumeACPI_STATUS (*ASL_WALK_CALLBACK) (
208156952Sume    ACPI_PARSE_OBJECT           *Op,
209156952Sume    UINT32                      Level,
210156952Sume    void                        *Context);
211156952Sume#define ASL_WALK_CALLBACK_DEFINED
212156952Sume#endif
213156952Sume
214156952Sumetypedef
215156952Sumevoid (*ACPI_RESOURCE_HANDLER) (
216156952Sume    ACPI_OP_WALK_INFO       *Info,
217156952Sume    AML_RESOURCE            *Resource,
218156952Sume    UINT32                  Length,
219156952Sume    UINT32                  Level);
220156952Sume
221156952Sumetypedef struct acpi_resource_tag
222156952Sume{
223156952Sume    UINT32                  BitIndex;
224170244Sume    char                    *Tag;
225156952Sume
226156952Sume} ACPI_RESOURCE_TAG;
227156952Sume
228156952Sume/* Strings used for decoding flags to ASL keywords */
229156952Sume
230156952Sumeextern const char               *AcpiGbl_WordDecode[];
231156952Sumeextern const char               *AcpiGbl_IrqDecode[];
232156952Sumeextern const char               *AcpiGbl_LockRule[];
233156952Sumeextern const char               *AcpiGbl_AccessTypes[];
234156952Sumeextern const char               *AcpiGbl_UpdateRules[];
235156952Sumeextern const char               *AcpiGbl_MatchOps[];
236156952Sume
237156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf0[];
238156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1[];
239156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf1a[];
240156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2[];
241156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
242156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
243156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
244156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
245156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
246156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
247156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoBgrt[];
248156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep[];
249156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoCpep0[];
250156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt0[];
251156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt1[];
252156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2[];
253156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoCsrt2a[];
254156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2[];
255156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Device[];
256156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Addr[];
257156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Size[];
258156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2Name[];
259156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbg2OemData[];
260156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDbgp[];
261156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar[];
262156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarHdr[];
263156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmarScope[];
264156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar0[];
265156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar1[];
266156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar2[];
267156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar3[];
268156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDmar4[];
269156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm[];
270156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm0[];
271156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm0a[];
272156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm1[];
273156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm1a[];
274156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoDrtm2[];
275156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoEcdt[];
276156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj[];
277156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoEinj0[];
278156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst[];
279156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoErst0[];
280156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFacs[];
281156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt1[];
282156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt2[];
283156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt3[];
284156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt5[];
285156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFadt6[];
286156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt[];
287156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdtHdr[];
288156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt0[];
289156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoFpdt1[];
290156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGas[];
291156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt[];
292156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdtHdr[];
293156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0[];
294156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt0a[];
295156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGtdt1[];
296156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHeader[];
297156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest[];
298156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest0[];
299156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest1[];
300156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest2[];
301156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest6[];
302156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest7[];
303156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest8[];
304156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHest9[];
305156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestNotify[];
306156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHestBank[];
307156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoHpet[];
308156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpitHdr[];
309156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit0[];
310156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoLpit1[];
311156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort[];
312156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort0[];
313156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort0a[];
314156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort1[];
315156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort1a[];
316156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort2[];
317156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3[];
318156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3a[];
319170244Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3b[];
320170244Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIort3c[];
321156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortAcc[];
322156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortHdr[];
323156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortMap[];
324156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIortPad[];
325156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs[];
326156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs0[];
327156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs1[];
328156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs4[];
329156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8a[];
330156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8b[];
331156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrs8c[];
332156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoIvrsHdr[];
333156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt[];
334156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt0[];
335156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt1[];
336170244Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt2[];
337156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt3[];
338156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt4[];
339156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt5[];
340156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt6[];
341156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt7[];
342156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt8[];
343156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt9[];
344156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt10[];
345156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt11[];
346156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt12[];
347156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt13[];
348156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt14[];
349156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadt15[];
350156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
351156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
352156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
353156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
354156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
355156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
356156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
357156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0B[];
358170244Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst1[];
359156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst2[];
360156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct[];
361156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMsct0[];
362156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr[];
363156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoMtmr0[];
364156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit[];
365156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfitHdr[];
366156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit0[];
367156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit1[];
368156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit2[];
369156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit2a[];
370156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit3[];
371156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit3a[];
372156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit4[];
373156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit5[];
374170244Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit6[];
375156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoNfit6a[];
376156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt[];
377156956Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt0[];
378156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1[];
379156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt1a[];
380156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmtt2[];
381156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPmttHdr[];
382156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct[];
383156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcctHdr[];
384156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct0[];
385156956Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoPcct1[];
386156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
387156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
388156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
389156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3ptHdr[];
390156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt0[];
391156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt1[];
392156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSbst[];
393156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlic[];
394156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSlit[];
395156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpcr[];
396156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSpmi[];
397156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat[];
398156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSratHdr[];
399156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat0[];
400156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat1[];
401156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat2[];
402156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoSrat3[];
403156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoStao[];
404156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoStaoStr[];
405156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaHdr[];
406156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaClient[];
407156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoTcpaServer[];
408156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoTpm2[];
409156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoUefi[];
410156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc[];
411170244Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoVrtc0[];
412156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWaet[];
413156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat[];
414156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdat0[];
415156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWddt[];
416156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWdrt[];
417156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWpbt[];
418156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoWpbt0[];
419156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoXenv[];
420156952Sume
421156952Sumeextern ACPI_DMTABLE_INFO        AcpiDmTableInfoGeneric[][2];
422156952Sume
423156952Sume/*
424156952Sume * dmtable and ahtable
425156952Sume */
426156952Sumeextern const ACPI_DMTABLE_DATA  AcpiDmTableData[];
427156952Sumeextern const AH_TABLE           AcpiSupportedTables[];
428156952Sume
429156952SumeUINT8
430156952SumeAcpiDmGenerateChecksum (
431156952Sume    void                    *Table,
432156952Sume    UINT32                  Length,
433156952Sume    UINT8                   OriginalChecksum);
434156952Sume
435156952Sumeconst ACPI_DMTABLE_DATA *
436156952SumeAcpiDmGetTableData (
437156952Sume    char                    *Signature);
438156952Sume
439156952Sumevoid
440156952SumeAcpiDmDumpDataTable (
441156952Sume    ACPI_TABLE_HEADER       *Table);
442156952Sume
443156952SumeACPI_STATUS
444156952SumeAcpiDmDumpTable (
445156952Sume    UINT32                  TableLength,
446156952Sume    UINT32                  TableOffset,
447156952Sume    void                    *Table,
448156952Sume    UINT32                  SubTableLength,
449156952Sume    ACPI_DMTABLE_INFO        *Info);
450156952Sume
451156952Sumevoid
452156952SumeAcpiDmLineHeader (
453156952Sume    UINT32                  Offset,
454156952Sume    UINT32                  ByteLength,
455156952Sume    char                    *Name);
456156952Sume
457156952Sumevoid
458156952SumeAcpiDmLineHeader2 (
459156952Sume    UINT32                  Offset,
460156952Sume    UINT32                  ByteLength,
461156952Sume    char                    *Name,
462156952Sume    UINT32                  Value);
463156952Sume
464156952Sume
465156952Sume/*
466156952Sume * dmtbdump
467156952Sume */
468156952Sumevoid
469170244SumeAcpiDmDumpBuffer (
470156952Sume    void                    *Table,
471156952Sume    UINT32                  BufferOffset,
472168441Skan    UINT32                  Length,
473156952Sume    UINT32                  AbsoluteOffset,
474156952Sume    char                    *Header);
475156952Sume
476156952Sumevoid
477156952SumeAcpiDmDumpUnicode (
478156952Sume    void                    *Table,
479156952Sume    UINT32                  BufferOffset,
480156952Sume    UINT32                  ByteLength);
481156952Sume
482156952Sumevoid
483156952SumeAcpiDmDumpAsf (
484156952Sume    ACPI_TABLE_HEADER       *Table);
485156952Sume
486156952Sumevoid
487156952SumeAcpiDmDumpCpep (
488156952Sume    ACPI_TABLE_HEADER       *Table);
489156952Sume
490156952Sumevoid
491156952SumeAcpiDmDumpCsrt (
492156952Sume    ACPI_TABLE_HEADER       *Table);
493156952Sume
494156952Sumevoid
495156952SumeAcpiDmDumpDbg2 (
496156952Sume    ACPI_TABLE_HEADER       *Table);
497156952Sume
498156952Sumevoid
499156952SumeAcpiDmDumpDmar (
500156952Sume    ACPI_TABLE_HEADER       *Table);
501156952Sume
502170244Sumevoid
503156952SumeAcpiDmDumpDrtm (
504156952Sume    ACPI_TABLE_HEADER       *Table);
505156952Sume
506156952Sumevoid
507156952SumeAcpiDmDumpEinj (
508156952Sume    ACPI_TABLE_HEADER       *Table);
509156952Sume
510156952Sumevoid
511156952SumeAcpiDmDumpErst (
512156952Sume    ACPI_TABLE_HEADER       *Table);
513156952Sume
514156952Sumevoid
515156952SumeAcpiDmDumpFadt (
516156952Sume    ACPI_TABLE_HEADER       *Table);
517170244Sume
518156952Sumevoid
519156952SumeAcpiDmDumpFpdt (
520156952Sume    ACPI_TABLE_HEADER       *Table);
521156952Sume
522156952Sumevoid
523156952SumeAcpiDmDumpGtdt (
524156952Sume    ACPI_TABLE_HEADER       *Table);
525156952Sume
526156952Sumevoid
527156952SumeAcpiDmDumpHest (
528156952Sume    ACPI_TABLE_HEADER       *Table);
529156952Sume
530156952Sumevoid
531156952SumeAcpiDmDumpIort (
532156952Sume    ACPI_TABLE_HEADER       *Table);
533156952Sume
534170244Sumevoid
535156952SumeAcpiDmDumpIvrs (
536156952Sume    ACPI_TABLE_HEADER       *Table);
537156952Sume
538156952Sumevoid
539156952SumeAcpiDmDumpLpit (
540170244Sume    ACPI_TABLE_HEADER       *Table);
541156952Sume
542156952Sumevoid
543156952SumeAcpiDmDumpMadt (
544156952Sume    ACPI_TABLE_HEADER       *Table);
545156952Sume
546156952Sumevoid
547156952SumeAcpiDmDumpMcfg (
548156952Sume    ACPI_TABLE_HEADER       *Table);
549156952Sume
550156952Sumevoid
551156952SumeAcpiDmDumpMpst (
552156952Sume    ACPI_TABLE_HEADER       *Table);
553156952Sume
554156952Sumevoid
555156952SumeAcpiDmDumpMsct (
556156952Sume    ACPI_TABLE_HEADER       *Table);
557156952Sume
558170244Sumevoid
559156952SumeAcpiDmDumpMtmr (
560156952Sume    ACPI_TABLE_HEADER       *Table);
561156952Sume
562156952Sumevoid
563156952SumeAcpiDmDumpNfit (
564156952Sume    ACPI_TABLE_HEADER       *Table);
565156952Sume
566156952Sumevoid
567156952SumeAcpiDmDumpPcct (
568156952Sume    ACPI_TABLE_HEADER       *Table);
569156952Sume
570156952Sumevoid
571156952SumeAcpiDmDumpPmtt (
572156952Sume    ACPI_TABLE_HEADER       *Table);
573156952Sume
574156952SumeUINT32
575156952SumeAcpiDmDumpRsdp (
576170244Sume    ACPI_TABLE_HEADER       *Table);
577156952Sume
578156952Sumevoid
579156952SumeAcpiDmDumpRsdt (
580156952Sume    ACPI_TABLE_HEADER       *Table);
581156952Sume
582156952SumeUINT32
583156952SumeAcpiDmDumpS3pt (
584156952Sume    ACPI_TABLE_HEADER       *Table);
585156952Sume
586156952Sumevoid
587156952SumeAcpiDmDumpSlic (
588156952Sume    ACPI_TABLE_HEADER       *Table);
589156952Sume
590156952Sumevoid
591156952SumeAcpiDmDumpSlit (
592156952Sume    ACPI_TABLE_HEADER       *Table);
593156952Sume
594170244Sumevoid
595156952SumeAcpiDmDumpSrat (
596156952Sume    ACPI_TABLE_HEADER       *Table);
597156952Sume
598156952Sumevoid
599156952SumeAcpiDmDumpStao (
600156952Sume    ACPI_TABLE_HEADER       *Table);
601156952Sume
602156952Sumevoid
603156952SumeAcpiDmDumpTcpa (
604156952Sume    ACPI_TABLE_HEADER       *Table);
605156952Sume
606156952Sumevoid
607156952SumeAcpiDmDumpVrtc (
608156952Sume    ACPI_TABLE_HEADER       *Table);
609156952Sume
610156952Sumevoid
611156952SumeAcpiDmDumpWdat (
612156952Sume    ACPI_TABLE_HEADER       *Table);
613156952Sume
614156952Sumevoid
615156952SumeAcpiDmDumpWpbt (
616170244Sume    ACPI_TABLE_HEADER       *Table);
617156952Sume
618156952Sumevoid
619156952SumeAcpiDmDumpXsdt (
620156952Sume    ACPI_TABLE_HEADER       *Table);
621156952Sume
622156952Sume
623156952Sume/*
624156952Sume * dmwalk
625156952Sume */
626156952Sumevoid
627156952SumeAcpiDmDisassemble (
628156952Sume    ACPI_WALK_STATE         *WalkState,
629156952Sume    ACPI_PARSE_OBJECT       *Origin,
630156952Sume    UINT32                  NumOpcodes);
631156952Sume
632156952Sumevoid
633156952SumeAcpiDmWalkParseTree (
634156952Sume    ACPI_PARSE_OBJECT       *Op,
635156952Sume    ASL_WALK_CALLBACK       DescendingCallback,
636156952Sume    ASL_WALK_CALLBACK       AscendingCallback,
637170244Sume    void                    *Context);
638156952Sume
639156952Sume
640156952Sume/*
641156952Sume * dmopcode
642156952Sume */
643156952Sumevoid
644156952SumeAcpiDmDisassembleOneOp (
645156952Sume    ACPI_WALK_STATE         *WalkState,
646156952Sume    ACPI_OP_WALK_INFO       *Info,
647156952Sume    ACPI_PARSE_OBJECT       *Op);
648156952Sume
649170244SumeUINT32
650156952SumeAcpiDmListType (
651156952Sume    ACPI_PARSE_OBJECT       *Op);
652156952Sume
653156952Sumevoid
654156952SumeAcpiDmMethodFlags (
655156952Sume    ACPI_PARSE_OBJECT       *Op);
656156952Sume
657170244Sumevoid
658156952SumeAcpiDmDisplayTargetPathname (
659156952Sume    ACPI_PARSE_OBJECT       *Op);
660156952Sume
661156952Sumevoid
662156952SumeAcpiDmNotifyDescription (
663156952Sume    ACPI_PARSE_OBJECT       *Op);
664156952Sume
665156952Sumevoid
666156952SumeAcpiDmPredefinedDescription (
667156952Sume    ACPI_PARSE_OBJECT       *Op);
668156952Sume
669156952Sumevoid
670156952SumeAcpiDmFieldPredefinedDescription (
671156952Sume    ACPI_PARSE_OBJECT       *Op);
672156952Sume
673156952Sumevoid
674156952SumeAcpiDmFieldFlags (
675156952Sume    ACPI_PARSE_OBJECT       *Op);
676156952Sume
677156952Sumevoid
678156952SumeAcpiDmAddressSpace (
679156952Sume    UINT8                   SpaceId);
680156952Sume
681156952Sumevoid
682156952SumeAcpiDmRegionFlags (
683156952Sume    ACPI_PARSE_OBJECT       *Op);
684170244Sume
685156952Sumevoid
686156952SumeAcpiDmMatchOp (
687156952Sume    ACPI_PARSE_OBJECT       *Op);
688156952Sume
689156952Sume
690156952Sume/*
691156952Sume * dmnames
692156952Sume */
693170244SumeUINT32
694156952SumeAcpiDmDumpName (
695156952Sume    UINT32                  Name);
696156952Sume
697156952SumeACPI_STATUS
698156952SumeAcpiPsDisplayObjectPathname (
699156952Sume    ACPI_WALK_STATE         *WalkState,
700156952Sume    ACPI_PARSE_OBJECT       *Op);
701156952Sume
702156952Sumevoid
703156952SumeAcpiDmNamestring (
704156952Sume    char                    *Name);
705156952Sume
706156952Sume
707156952Sume/*
708156952Sume * dmbuffer
709156952Sume */
710156952Sumevoid
711170244SumeAcpiDmDisasmByteList (
712156952Sume    UINT32                  Level,
713156952Sume    UINT8                   *ByteData,
714156952Sume    UINT32                  ByteCount);
715156952Sume
716156952Sumevoid
717156952SumeAcpiDmByteList (
718156952Sume    ACPI_OP_WALK_INFO       *Info,
719156952Sume    ACPI_PARSE_OBJECT       *Op);
720156952Sume
721156952Sumevoid
722156952SumeAcpiDmCheckForHardwareId (
723156952Sume    ACPI_PARSE_OBJECT       *Op);
724156952Sume
725170244Sumevoid
726156952SumeAcpiDmDecompressEisaId (
727156952Sume    UINT32                  EncodedId);
728156952Sume
729156952SumeBOOLEAN
730156952SumeAcpiDmIsUuidBuffer (
731156952Sume    ACPI_PARSE_OBJECT       *Op);
732156952Sume
733156952SumeBOOLEAN
734156952SumeAcpiDmIsUnicodeBuffer (
735156952Sume    ACPI_PARSE_OBJECT       *Op);
736156952Sume
737156952SumeBOOLEAN
738156952SumeAcpiDmIsStringBuffer (
739156952Sume    ACPI_PARSE_OBJECT       *Op);
740156952Sume
741156952SumeBOOLEAN
742156952SumeAcpiDmIsPldBuffer (
743156952Sume    ACPI_PARSE_OBJECT       *Op);
744156952Sume
745156952Sume
746156952Sume/*
747156952Sume * dmdeferred
748156952Sume */
749156952SumeACPI_STATUS
750156952SumeAcpiDmParseDeferredOps (
751170244Sume    ACPI_PARSE_OBJECT       *Root);
752156952Sume
753156952Sume
754156952Sume/*
755156952Sume * dmextern
756156952Sume */
757156952SumeACPI_STATUS
758156952SumeAcpiDmAddToExternalFileList (
759156952Sume    char                    *PathList);
760156952Sume
761156952Sumevoid
762156952SumeAcpiDmClearExternalFileList (
763156952Sume    void);
764156952Sume
765156952Sumevoid
766156952SumeAcpiDmAddOpToExternalList (
767156952Sume    ACPI_PARSE_OBJECT       *Op,
768156952Sume    char                    *Path,
769156952Sume    UINT8                   Type,
770156952Sume    UINT32                  Value,
771156952Sume    UINT16                  Flags);
772156952Sume
773156952Sumevoid
774156952SumeAcpiDmAddNodeToExternalList (
775156952Sume    ACPI_NAMESPACE_NODE     *Node,
776156952Sume    UINT8                   Type,
777156952Sume    UINT32                  Value,
778156952Sume    UINT16                  Flags);
779156952Sume
780156952Sumevoid
781170244SumeAcpiDmAddExternalsToNamespace (
782156952Sume    void);
783156952Sume
784156952SumeUINT32
785156952SumeAcpiDmGetExternalMethodCount (
786156952Sume    void);
787156952Sume
788156952Sumevoid
789156952SumeAcpiDmClearExternalList (
790156952Sume    void);
791156952Sume
792156952Sumevoid
793156952SumeAcpiDmEmitExternals (
794170244Sume    void);
795156952Sume
796156952Sumevoid
797156952SumeAcpiDmUnresolvedWarning (
798156952Sume    UINT8                   Type);
799156952Sume
800156952Sumevoid
801156952SumeAcpiDmGetExternalsFromFile (
802156952Sume    void);
803156952Sume
804156952Sume/*
805156952Sume * dmresrc
806156952Sume */
807156952Sumevoid
808156952SumeAcpiDmDumpInteger8 (
809156952Sume    UINT8                   Value,
810156952Sume    char                    *Name);
811156952Sume
812156952Sumevoid
813156952SumeAcpiDmDumpInteger16 (
814156952Sume    UINT16                  Value,
815170244Sume    char                    *Name);
816156952Sume
817156952Sumevoid
818156952SumeAcpiDmDumpInteger32 (
819156952Sume    UINT32                  Value,
820156952Sume    char                    *Name);
821156952Sume
822170244Sumevoid
823156952SumeAcpiDmDumpInteger64 (
824156952Sume    UINT64                  Value,
825156952Sume    char                    *Name);
826170244Sume
827156952Sumevoid
828156952SumeAcpiDmResourceTemplate (
829170244Sume    ACPI_OP_WALK_INFO       *Info,
830156952Sume    ACPI_PARSE_OBJECT       *Op,
831156952Sume    UINT8                   *ByteData,
832156952Sume    UINT32                  ByteCount);
833170244Sume
834170244SumeACPI_STATUS
835156952SumeAcpiDmIsResourceTemplate (
836156952Sume    ACPI_WALK_STATE         *WalkState,
837170244Sume    ACPI_PARSE_OBJECT       *Op);
838156952Sume
839156952Sumevoid
840156952SumeAcpiDmBitList (
841156952Sume    UINT16                  Mask);
842156952Sume
843156952Sumevoid
844156952SumeAcpiDmDescriptorName (
845170244Sume    void);
846170244Sume
847156952Sume
848156952Sume/*
849156952Sume * dmresrcl
850156952Sume */
851156952Sumevoid
852156952SumeAcpiDmWordDescriptor (
853156952Sume    ACPI_OP_WALK_INFO       *Info,
854156952Sume    AML_RESOURCE            *Resource,
855156952Sume    UINT32                  Length,
856156952Sume    UINT32                  Level);
857156952Sume
858156952Sumevoid
859170244SumeAcpiDmDwordDescriptor (
860170244Sume    ACPI_OP_WALK_INFO       *Info,
861170244Sume    AML_RESOURCE            *Resource,
862156952Sume    UINT32                  Length,
863156952Sume    UINT32                  Level);
864156952Sume
865156952Sumevoid
866156952SumeAcpiDmExtendedDescriptor (
867156952Sume    ACPI_OP_WALK_INFO       *Info,
868156952Sume    AML_RESOURCE            *Resource,
869156952Sume    UINT32                  Length,
870156952Sume    UINT32                  Level);
871156952Sume
872170244Sumevoid
873170244SumeAcpiDmQwordDescriptor (
874156952Sume    ACPI_OP_WALK_INFO       *Info,
875156952Sume    AML_RESOURCE            *Resource,
876170244Sume    UINT32                  Length,
877156952Sume    UINT32                  Level);
878156952Sume
879170244Sumevoid
880156952SumeAcpiDmMemory24Descriptor (
881156952Sume    ACPI_OP_WALK_INFO       *Info,
882156952Sume    AML_RESOURCE            *Resource,
883170244Sume    UINT32                  Length,
884156952Sume    UINT32                  Level);
885156952Sume
886156952Sumevoid
887156952SumeAcpiDmMemory32Descriptor (
888156952Sume    ACPI_OP_WALK_INFO       *Info,
889156952Sume    AML_RESOURCE            *Resource,
890156952Sume    UINT32                  Length,
891156952Sume    UINT32                  Level);
892156952Sume
893156952Sumevoid
894156952SumeAcpiDmFixedMemory32Descriptor (
895156952Sume    ACPI_OP_WALK_INFO       *Info,
896156952Sume    AML_RESOURCE            *Resource,
897156952Sume    UINT32                  Length,
898156952Sume    UINT32                  Level);
899170244Sume
900156952Sumevoid
901156952SumeAcpiDmGenericRegisterDescriptor (
902156952Sume    ACPI_OP_WALK_INFO       *Info,
903156952Sume    AML_RESOURCE            *Resource,
904156952Sume    UINT32                  Length,
905156952Sume    UINT32                  Level);
906156952Sume
907156952Sumevoid
908156952SumeAcpiDmInterruptDescriptor (
909156952Sume    ACPI_OP_WALK_INFO       *Info,
910156952Sume    AML_RESOURCE            *Resource,
911170244Sume    UINT32                  Length,
912156952Sume    UINT32                  Level);
913156952Sume
914156952Sumevoid
915156952SumeAcpiDmVendorLargeDescriptor (
916156952Sume    ACPI_OP_WALK_INFO       *Info,
917156952Sume    AML_RESOURCE            *Resource,
918156952Sume    UINT32                  Length,
919156952Sume    UINT32                  Level);
920156952Sume
921156952Sumevoid
922170244SumeAcpiDmGpioDescriptor (
923156952Sume    ACPI_OP_WALK_INFO       *Info,
924156952Sume    AML_RESOURCE            *Resource,
925156952Sume    UINT32                  Length,
926156952Sume    UINT32                  Level);
927156952Sume
928156952Sumevoid
929156952SumeAcpiDmSerialBusDescriptor (
930156952Sume    ACPI_OP_WALK_INFO       *Info,
931156952Sume    AML_RESOURCE            *Resource,
932156952Sume    UINT32                  Length,
933170244Sume    UINT32                  Level);
934156952Sume
935156952Sumevoid
936156952SumeAcpiDmVendorCommon (
937156952Sume    char                    *Name,
938156952Sume    UINT8                   *ByteData,
939156952Sume    UINT32                  Length,
940156952Sume    UINT32                  Level);
941156952Sume
942156952Sume
943156952Sume/*
944156952Sume * dmresrcs
945156952Sume */
946156952Sumevoid
947170244SumeAcpiDmIrqDescriptor (
948156952Sume    ACPI_OP_WALK_INFO       *Info,
949156952Sume    AML_RESOURCE            *Resource,
950156952Sume    UINT32                  Length,
951156952Sume    UINT32                  Level);
952156952Sume
953156952Sumevoid
954156952SumeAcpiDmDmaDescriptor (
955170244Sume    ACPI_OP_WALK_INFO       *Info,
956156952Sume    AML_RESOURCE            *Resource,
957156952Sume    UINT32                  Length,
958170244Sume    UINT32                  Level);
959156952Sume
960156952Sumevoid
961156952SumeAcpiDmFixedDmaDescriptor (
962156952Sume    ACPI_OP_WALK_INFO       *Info,
963156952Sume    AML_RESOURCE            *Resource,
964156952Sume    UINT32                  Length,
965156952Sume    UINT32                  Level);
966156952Sume
967156952Sumevoid
968156952SumeAcpiDmIoDescriptor (
969156952Sume    ACPI_OP_WALK_INFO       *Info,
970156952Sume    AML_RESOURCE            *Resource,
971156952Sume    UINT32                  Length,
972156952Sume    UINT32                  Level);
973156952Sume
974156952Sumevoid
975156952SumeAcpiDmFixedIoDescriptor (
976156952Sume    ACPI_OP_WALK_INFO       *Info,
977156952Sume    AML_RESOURCE            *Resource,
978156952Sume    UINT32                  Length,
979156952Sume    UINT32                  Level);
980156952Sume
981156952Sumevoid
982156952SumeAcpiDmStartDependentDescriptor (
983156952Sume    ACPI_OP_WALK_INFO       *Info,
984156952Sume    AML_RESOURCE            *Resource,
985156952Sume    UINT32                  Length,
986156952Sume    UINT32                  Level);
987156952Sume
988156952Sumevoid
989156952SumeAcpiDmEndDependentDescriptor (
990156952Sume    ACPI_OP_WALK_INFO       *Info,
991156952Sume    AML_RESOURCE            *Resource,
992156952Sume    UINT32                  Length,
993156952Sume    UINT32                  Level);
994156952Sume
995156952Sumevoid
996156952SumeAcpiDmVendorSmallDescriptor (
997156952Sume    ACPI_OP_WALK_INFO       *Info,
998156952Sume    AML_RESOURCE            *Resource,
999156952Sume    UINT32                  Length,
1000156952Sume    UINT32                  Level);
1001156952Sume
1002156952Sume
1003156952Sume/*
1004156952Sume * dmutils
1005170244Sume */
1006156952Sumevoid
1007156952SumeAcpiDmDecodeAttribute (
1008156952Sume    UINT8                   Attribute);
1009156952Sume
1010156952Sumevoid
1011156952SumeAcpiDmIndent (
1012156952Sume    UINT32                  Level);
1013156952Sume
1014156952SumeBOOLEAN
1015156952SumeAcpiDmCommaIfListMember (
1016156952Sume    ACPI_PARSE_OBJECT       *Op);
1017156952Sume
1018156952Sumevoid
1019156952SumeAcpiDmCommaIfFieldMember (
1020156952Sume    ACPI_PARSE_OBJECT       *Op);
1021156952Sume
1022156952Sume
1023156952Sume/*
1024156952Sume * dmrestag
1025156952Sume */
1026156952Sumevoid
1027156952SumeAcpiDmFindResources (
1028156952Sume    ACPI_PARSE_OBJECT       *Root);
1029156952Sume
1030156952Sumevoid
1031156952SumeAcpiDmCheckResourceReference (
1032156952Sume    ACPI_PARSE_OBJECT       *Op,
1033156952Sume    ACPI_WALK_STATE         *WalkState);
1034156952Sume
1035156952Sume
1036156952Sume/*
1037156952Sume * dmcstyle
1038156952Sume */
1039156952SumeBOOLEAN
1040156952SumeAcpiDmCheckForSymbolicOpcode (
1041156952Sume    ACPI_PARSE_OBJECT       *Op,
1042156952Sume    ACPI_OP_WALK_INFO       *Info);
1043156952Sume
1044156952Sumevoid
1045156952SumeAcpiDmCloseOperator (
1046156952Sume    ACPI_PARSE_OBJECT       *Op);
1047156952Sume
1048156952Sume
1049156952Sume/*
1050156952Sume * acdisasm
1051156952Sume */
1052156952Sumevoid
1053156952SumeAdDisassemblerHeader (
1054156952Sume    char                    *Filename,
1055156952Sume    UINT8                   TableType);
1056156952Sume
1057156952Sume#define ACPI_IS_AML_TABLE   0
1058156952Sume#define ACPI_IS_DATA_TABLE  1
1059156952Sume
1060156952Sume#endif  /* __ACDISASM_H__ */
1061156952Sume