acdisasm.h revision 1.20 1 /******************************************************************************
2 *
3 * Name: acdisasm.h - AML disassembler
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2020, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
29 *
30 * NO WARRANTY
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
42 */
43
44 #ifndef __ACDISASM_H__
45 #define __ACDISASM_H__
46
47 #include "amlresrc.h"
48
49
50 #define BLOCK_NONE 0
51 #define BLOCK_PAREN 1
52 #define BLOCK_BRACE 2
53 #define BLOCK_COMMA_LIST 4
54 #define ACPI_DEFAULT_RESNAME *(const UINT32 *) "__RD"
55
56 /*
57 * Raw table data header. Used by disassembler and data table compiler.
58 * Do not change.
59 */
60 #define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data"
61
62
63 typedef struct acpi_dmtable_info
64 {
65 UINT8 Opcode;
66 UINT16 Offset;
67 char *Name;
68 UINT8 Flags;
69
70 } ACPI_DMTABLE_INFO;
71
72 /* Values for Flags field above */
73
74 #define DT_LENGTH 0x01 /* Field is a subtable length */
75 #define DT_FLAG 0x02 /* Field is a flag value */
76 #define DT_NON_ZERO 0x04 /* Field must be non-zero */
77 #define DT_OPTIONAL 0x08 /* Field is optional */
78 #define DT_DESCRIBES_OPTIONAL 0x10 /* Field describes an optional field (length, etc.) */
79 #define DT_COUNT 0x20 /* Currently not used */
80
81 /*
82 * Values for Opcode above.
83 * Note: 0-7 must not change, they are used as a flag shift value. Other
84 * than those, new values can be added wherever appropriate.
85 */
86 typedef enum
87 {
88 /* Simple Data Types */
89
90 ACPI_DMT_FLAG0 = 0,
91 ACPI_DMT_FLAG1 = 1,
92 ACPI_DMT_FLAG2 = 2,
93 ACPI_DMT_FLAG3 = 3,
94 ACPI_DMT_FLAG4 = 4,
95 ACPI_DMT_FLAG5 = 5,
96 ACPI_DMT_FLAG6 = 6,
97 ACPI_DMT_FLAG7 = 7,
98 ACPI_DMT_FLAGS0,
99 ACPI_DMT_FLAGS1,
100 ACPI_DMT_FLAGS2,
101 ACPI_DMT_FLAGS4,
102 ACPI_DMT_FLAGS4_0,
103 ACPI_DMT_FLAGS4_4,
104 ACPI_DMT_FLAGS4_8,
105 ACPI_DMT_FLAGS4_12,
106 ACPI_DMT_FLAGS16_16,
107 ACPI_DMT_UINT8,
108 ACPI_DMT_UINT16,
109 ACPI_DMT_UINT24,
110 ACPI_DMT_UINT32,
111 ACPI_DMT_UINT40,
112 ACPI_DMT_UINT48,
113 ACPI_DMT_UINT56,
114 ACPI_DMT_UINT64,
115 ACPI_DMT_BUF7,
116 ACPI_DMT_BUF10,
117 ACPI_DMT_BUF12,
118 ACPI_DMT_BUF16,
119 ACPI_DMT_BUF128,
120 ACPI_DMT_SIG,
121 ACPI_DMT_STRING,
122 ACPI_DMT_NAME4,
123 ACPI_DMT_NAME6,
124 ACPI_DMT_NAME8,
125
126 /* Types that are decoded to strings and miscellaneous */
127
128 ACPI_DMT_ACCWIDTH,
129 ACPI_DMT_CHKSUM,
130 ACPI_DMT_GAS,
131 ACPI_DMT_SPACEID,
132 ACPI_DMT_UNICODE,
133 ACPI_DMT_UUID,
134
135 /* Types used only for the Data Table Compiler */
136
137 ACPI_DMT_BUFFER,
138 ACPI_DMT_RAW_BUFFER, /* Large, multiple line buffer */
139 ACPI_DMT_DEVICE_PATH,
140 ACPI_DMT_LABEL,
141 ACPI_DMT_PCI_PATH,
142
143 /* Types that are specific to particular ACPI tables */
144
145 ACPI_DMT_ASF,
146 ACPI_DMT_DMAR,
147 ACPI_DMT_DMAR_SCOPE,
148 ACPI_DMT_EINJACT,
149 ACPI_DMT_EINJINST,
150 ACPI_DMT_ERSTACT,
151 ACPI_DMT_ERSTINST,
152 ACPI_DMT_FADTPM,
153 ACPI_DMT_GTDT,
154 ACPI_DMT_HEST,
155 ACPI_DMT_HESTNTFY,
156 ACPI_DMT_HESTNTYP,
157 ACPI_DMT_HMAT,
158 ACPI_DMT_IORTMEM,
159 ACPI_DMT_IVRS,
160 ACPI_DMT_LPIT,
161 ACPI_DMT_MADT,
162 ACPI_DMT_NFIT,
163 ACPI_DMT_PCCT,
164 ACPI_DMT_PMTT,
165 ACPI_DMT_PPTT,
166 ACPI_DMT_SDEI,
167 ACPI_DMT_SDEV,
168 ACPI_DMT_SLIC,
169 ACPI_DMT_SRAT,
170 ACPI_DMT_TPM2,
171
172 /* Special opcodes */
173
174 ACPI_DMT_EXTRA_TEXT,
175 ACPI_DMT_EXIT
176
177 } ACPI_ENTRY_TYPES;
178
179 typedef
180 void (*ACPI_DMTABLE_HANDLER) (
181 ACPI_TABLE_HEADER *Table);
182
183 typedef
184 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
185 void **PFieldList);
186
187 typedef struct acpi_dmtable_data
188 {
189 char *Signature;
190 ACPI_DMTABLE_INFO *TableInfo;
191 ACPI_DMTABLE_HANDLER TableHandler;
192 ACPI_CMTABLE_HANDLER CmTableHandler;
193 const unsigned char *Template;
194
195 } ACPI_DMTABLE_DATA;
196
197
198 typedef struct acpi_op_walk_info
199 {
200 ACPI_WALK_STATE *WalkState;
201 ACPI_PARSE_OBJECT *MappingOp;
202 UINT8 *PreviousAml;
203 UINT8 *StartAml;
204 UINT32 Level;
205 UINT32 LastLevel;
206 UINT32 Count;
207 UINT32 BitOffset;
208 UINT32 Flags;
209 UINT32 AmlOffset;
210
211 } ACPI_OP_WALK_INFO;
212
213 /*
214 * TBD - another copy of this is in asltypes.h, fix
215 */
216 #ifndef ASL_WALK_CALLBACK_DEFINED
217 typedef
218 ACPI_STATUS (*ASL_WALK_CALLBACK) (
219 ACPI_PARSE_OBJECT *Op,
220 UINT32 Level,
221 void *Context);
222 #define ASL_WALK_CALLBACK_DEFINED
223 #endif
224
225 typedef
226 void (*ACPI_RESOURCE_HANDLER) (
227 ACPI_OP_WALK_INFO *Info,
228 AML_RESOURCE *Resource,
229 UINT32 Length,
230 UINT32 Level);
231
232 typedef struct acpi_resource_tag
233 {
234 UINT32 BitIndex;
235 char *Tag;
236
237 } ACPI_RESOURCE_TAG;
238
239 /* Strings used for decoding flags to ASL keywords */
240
241 extern const char *AcpiGbl_WordDecode[];
242 extern const char *AcpiGbl_IrqDecode[];
243 extern const char *AcpiGbl_LockRule[];
244 extern const char *AcpiGbl_AccessTypes[];
245 extern const char *AcpiGbl_UpdateRules[];
246 extern const char *AcpiGbl_MatchOps[];
247
248 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
249 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[];
250 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[];
251 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[];
252 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[];
253 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
254 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
255 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
256 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
257 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
258 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[];
259 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[];
260 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[];
261 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[];
262 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[];
263 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[];
264 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[];
265 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[];
266 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[];
267 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[];
268 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[];
269 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[];
270 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[];
271 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[];
272 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[];
273 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[];
274 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[];
275 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[];
276 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[];
277 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[];
278 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[];
279 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[];
280 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[];
281 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[];
282 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[];
283 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[];
284 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[];
285 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[];
286 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[];
287 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[];
288 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[];
289 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[];
290 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[];
291 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[];
292 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[];
293 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[];
294 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[];
295 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[];
296 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[];
297 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[];
298 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[];
299 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[];
300 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[];
301 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[];
302 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[];
303 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[];
304 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtEl2[];
305 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[];
306 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[];
307 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[];
308 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[];
309 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[];
310 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[];
311 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[];
312 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[];
313 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[];
314 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[];
315 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[];
316 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[];
317 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[];
318 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest11[];
319 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[];
320 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[];
321 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[];
322 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[];
323 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[];
324 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[];
325 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat[];
326 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat0[];
327 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1[];
328 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1a[];
329 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1b[];
330 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1c[];
331 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2[];
332 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2a[];
333 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmatHdr[];
334 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort[];
335 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[];
336 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[];
337 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[];
338 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[];
339 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[];
340 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[];
341 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[];
342 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[];
343 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[];
344 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[];
345 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort5[];
346 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[];
347 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[];
348 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[];
349 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[];
350 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[];
351 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[];
352 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs01[];
353 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[];
354 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
355 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
356 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
357 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
358 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[];
359 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
360 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
361 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
362 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[];
363 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[];
364 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[];
365 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[];
366 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[];
367 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[];
368 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[];
369 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[];
370 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[];
371 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[];
372 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[];
373 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[];
374 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
375 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
376 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
377 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
378 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
379 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[];
380 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[];
381 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[];
382 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[];
383 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[];
384 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[];
385 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[];
386 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[];
387 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[];
388 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[];
389 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[];
390 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[];
391 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[];
392 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[];
393 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[];
394 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[];
395 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[];
396 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[];
397 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[];
398 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[];
399 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[];
400 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[];
401 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[];
402 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[];
403 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[];
404 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[];
405 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[];
406 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[];
407 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[];
408 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[];
409 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[];
410 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
411 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
412 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
413 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
414 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
415 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[];
416 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[];
417 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[];
418 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[];
419 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[];
420 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
421 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
422 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
423 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
424 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
425 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
426 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
427 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[];
428 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[];
429 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[];
430 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[];
431 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[];
432 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[];
433 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[];
434 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[];
435 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[];
436 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[];
437 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[];
438 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[];
439 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[];
440 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[];
441 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[];
442 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[];
443 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[];
444 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[];
445 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[];
446 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[];
447 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[];
448 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[];
449 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[];
450 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
451 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
452 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
453 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
454 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
455 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
456 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[];
457 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[];
458 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[];
459 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[];
460 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[];
461 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[];
462 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[];
463 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[];
464 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[];
465 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[];
466 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[];
467 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[];
468 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[];
469 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[];
470 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[];
471 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[];
472 extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[];
473
474 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2];
475
476 /*
477 * dmtable and ahtable
478 */
479 extern const ACPI_DMTABLE_DATA AcpiDmTableData[];
480 extern const AH_TABLE AcpiGbl_SupportedTables[];
481
482 UINT8
483 AcpiDmGenerateChecksum (
484 void *Table,
485 UINT32 Length,
486 UINT8 OriginalChecksum);
487
488 const ACPI_DMTABLE_DATA *
489 AcpiDmGetTableData (
490 char *Signature);
491
492 void
493 AcpiDmDumpDataTable (
494 ACPI_TABLE_HEADER *Table);
495
496 ACPI_STATUS
497 AcpiDmDumpTable (
498 UINT32 TableLength,
499 UINT32 TableOffset,
500 void *Table,
501 UINT32 SubtableLength,
502 ACPI_DMTABLE_INFO *Info);
503
504 void
505 AcpiDmLineHeader (
506 UINT32 Offset,
507 UINT32 ByteLength,
508 char *Name);
509
510 void
511 AcpiDmLineHeader2 (
512 UINT32 Offset,
513 UINT32 ByteLength,
514 char *Name,
515 UINT32 Value);
516
517
518 /*
519 * dmtbdump
520 */
521 void
522 AcpiDmDumpBuffer (
523 void *Table,
524 UINT32 BufferOffset,
525 UINT32 Length,
526 UINT32 AbsoluteOffset,
527 char *Header);
528
529 void
530 AcpiDmDumpUnicode (
531 void *Table,
532 UINT32 BufferOffset,
533 UINT32 ByteLength);
534
535 void
536 AcpiDmDumpAsf (
537 ACPI_TABLE_HEADER *Table);
538
539 void
540 AcpiDmDumpCpep (
541 ACPI_TABLE_HEADER *Table);
542
543 void
544 AcpiDmDumpCsrt (
545 ACPI_TABLE_HEADER *Table);
546
547 void
548 AcpiDmDumpDbg2 (
549 ACPI_TABLE_HEADER *Table);
550
551 void
552 AcpiDmDumpDmar (
553 ACPI_TABLE_HEADER *Table);
554
555 void
556 AcpiDmDumpDrtm (
557 ACPI_TABLE_HEADER *Table);
558
559 void
560 AcpiDmDumpEinj (
561 ACPI_TABLE_HEADER *Table);
562
563 void
564 AcpiDmDumpErst (
565 ACPI_TABLE_HEADER *Table);
566
567 void
568 AcpiDmDumpFadt (
569 ACPI_TABLE_HEADER *Table);
570
571 void
572 AcpiDmDumpFpdt (
573 ACPI_TABLE_HEADER *Table);
574
575 void
576 AcpiDmDumpGtdt (
577 ACPI_TABLE_HEADER *Table);
578
579 void
580 AcpiDmDumpHest (
581 ACPI_TABLE_HEADER *Table);
582
583 void
584 AcpiDmDumpHmat (
585 ACPI_TABLE_HEADER *Table);
586
587 void
588 AcpiDmDumpIort (
589 ACPI_TABLE_HEADER *Table);
590
591 void
592 AcpiDmDumpIvrs (
593 ACPI_TABLE_HEADER *Table);
594
595 void
596 AcpiDmDumpLpit (
597 ACPI_TABLE_HEADER *Table);
598
599 void
600 AcpiDmDumpMadt (
601 ACPI_TABLE_HEADER *Table);
602
603 void
604 AcpiDmDumpMcfg (
605 ACPI_TABLE_HEADER *Table);
606
607 void
608 AcpiDmDumpMpst (
609 ACPI_TABLE_HEADER *Table);
610
611 void
612 AcpiDmDumpMsct (
613 ACPI_TABLE_HEADER *Table);
614
615 void
616 AcpiDmDumpMtmr (
617 ACPI_TABLE_HEADER *Table);
618
619 void
620 AcpiDmDumpNfit (
621 ACPI_TABLE_HEADER *Table);
622
623 void
624 AcpiDmDumpPcct (
625 ACPI_TABLE_HEADER *Table);
626
627 void
628 AcpiDmDumpPdtt (
629 ACPI_TABLE_HEADER *Table);
630
631 void
632 AcpiDmDumpPmtt (
633 ACPI_TABLE_HEADER *Table);
634
635 void
636 AcpiDmDumpPptt (
637 ACPI_TABLE_HEADER *Table);
638
639 UINT32
640 AcpiDmDumpRsdp (
641 ACPI_TABLE_HEADER *Table);
642
643 void
644 AcpiDmDumpRsdt (
645 ACPI_TABLE_HEADER *Table);
646
647 UINT32
648 AcpiDmDumpS3pt (
649 ACPI_TABLE_HEADER *Table);
650
651 void
652 AcpiDmDumpSdev (
653 ACPI_TABLE_HEADER *Table);
654
655 void
656 AcpiDmDumpSlic (
657 ACPI_TABLE_HEADER *Table);
658
659 void
660 AcpiDmDumpSlit (
661 ACPI_TABLE_HEADER *Table);
662
663 void
664 AcpiDmDumpSrat (
665 ACPI_TABLE_HEADER *Table);
666
667 void
668 AcpiDmDumpStao (
669 ACPI_TABLE_HEADER *Table);
670
671 void
672 AcpiDmDumpTcpa (
673 ACPI_TABLE_HEADER *Table);
674
675 void
676 AcpiDmDumpTpm2 (
677 ACPI_TABLE_HEADER *Table);
678
679 void
680 AcpiDmDumpVrtc (
681 ACPI_TABLE_HEADER *Table);
682
683 void
684 AcpiDmDumpWdat (
685 ACPI_TABLE_HEADER *Table);
686
687 void
688 AcpiDmDumpWpbt (
689 ACPI_TABLE_HEADER *Table);
690
691 void
692 AcpiDmDumpXsdt (
693 ACPI_TABLE_HEADER *Table);
694
695
696 /*
697 * dmwalk
698 */
699 void
700 AcpiDmDisassemble (
701 ACPI_WALK_STATE *WalkState,
702 ACPI_PARSE_OBJECT *Origin,
703 UINT32 NumOpcodes);
704
705 void
706 AcpiDmWalkParseTree (
707 ACPI_PARSE_OBJECT *Op,
708 ASL_WALK_CALLBACK DescendingCallback,
709 ASL_WALK_CALLBACK AscendingCallback,
710 void *Context);
711
712
713 /*
714 * dmopcode
715 */
716 void
717 AcpiDmDisassembleOneOp (
718 ACPI_WALK_STATE *WalkState,
719 ACPI_OP_WALK_INFO *Info,
720 ACPI_PARSE_OBJECT *Op);
721
722 UINT32
723 AcpiDmListType (
724 ACPI_PARSE_OBJECT *Op);
725
726 void
727 AcpiDmMethodFlags (
728 ACPI_PARSE_OBJECT *Op);
729
730 void
731 AcpiDmDisplayTargetPathname (
732 ACPI_PARSE_OBJECT *Op);
733
734 void
735 AcpiDmNotifyDescription (
736 ACPI_PARSE_OBJECT *Op);
737
738 void
739 AcpiDmPredefinedDescription (
740 ACPI_PARSE_OBJECT *Op);
741
742 void
743 AcpiDmFieldPredefinedDescription (
744 ACPI_PARSE_OBJECT *Op);
745
746 void
747 AcpiDmFieldFlags (
748 ACPI_PARSE_OBJECT *Op);
749
750 void
751 AcpiDmAddressSpace (
752 UINT8 SpaceId);
753
754 void
755 AcpiDmRegionFlags (
756 ACPI_PARSE_OBJECT *Op);
757
758 void
759 AcpiDmMatchOp (
760 ACPI_PARSE_OBJECT *Op);
761
762
763 /*
764 * dmnames
765 */
766 UINT32
767 AcpiDmDumpName (
768 UINT32 Name);
769
770 ACPI_STATUS
771 AcpiPsDisplayObjectPathname (
772 ACPI_WALK_STATE *WalkState,
773 ACPI_PARSE_OBJECT *Op);
774
775 void
776 AcpiDmNamestring (
777 char *Name);
778
779
780 /*
781 * dmbuffer
782 */
783 void
784 AcpiDmDisasmByteList (
785 UINT32 Level,
786 UINT8 *ByteData,
787 UINT32 ByteCount);
788
789 void
790 AcpiDmByteList (
791 ACPI_OP_WALK_INFO *Info,
792 ACPI_PARSE_OBJECT *Op);
793
794 void
795 AcpiDmCheckForHardwareId (
796 ACPI_PARSE_OBJECT *Op);
797
798 void
799 AcpiDmDecompressEisaId (
800 UINT32 EncodedId);
801
802 BOOLEAN
803 AcpiDmIsUuidBuffer (
804 ACPI_PARSE_OBJECT *Op);
805
806 BOOLEAN
807 AcpiDmIsUnicodeBuffer (
808 ACPI_PARSE_OBJECT *Op);
809
810 BOOLEAN
811 AcpiDmIsStringBuffer (
812 ACPI_PARSE_OBJECT *Op);
813
814 BOOLEAN
815 AcpiDmIsPldBuffer (
816 ACPI_PARSE_OBJECT *Op);
817
818
819 /*
820 * dmdeferred
821 */
822 ACPI_STATUS
823 AcpiDmParseDeferredOps (
824 ACPI_PARSE_OBJECT *Root);
825
826
827 /*
828 * dmextern
829 */
830 ACPI_STATUS
831 AcpiDmAddToExternalFileList (
832 char *PathList);
833
834 void
835 AcpiDmClearExternalFileList (
836 void);
837
838 void
839 AcpiDmAddOpToExternalList (
840 ACPI_PARSE_OBJECT *Op,
841 char *Path,
842 UINT8 Type,
843 UINT32 Value,
844 UINT16 Flags);
845
846 void
847 AcpiDmCreateSubobjectForExternal (
848 UINT8 Type,
849 ACPI_NAMESPACE_NODE **Node,
850 UINT32 Value);
851
852 void
853 AcpiDmAddNodeToExternalList (
854 ACPI_NAMESPACE_NODE *Node,
855 UINT8 Type,
856 UINT32 Value,
857 UINT16 Flags);
858
859 void
860 AcpiDmAddExternalListToNamespace (
861 void);
862
863 void
864 AcpiDmAddOneExternalToNamespace (
865 char *Path,
866 UINT8 Type,
867 UINT32 Value);
868
869 UINT32
870 AcpiDmGetUnresolvedExternalMethodCount (
871 void);
872
873 void
874 AcpiDmClearExternalList (
875 void);
876
877 void
878 AcpiDmEmitExternals (
879 void);
880
881 void
882 AcpiDmEmitExternal (
883 ACPI_PARSE_OBJECT *NameOp,
884 ACPI_PARSE_OBJECT *TypeOp);
885
886 void
887 AcpiDmUnresolvedWarning (
888 UINT8 Type);
889
890 void
891 AcpiDmGetExternalsFromFile (
892 void);
893
894 void
895 AcpiDmMarkExternalConflict (
896 ACPI_NAMESPACE_NODE *Node);
897
898
899 /*
900 * dmresrc
901 */
902 void
903 AcpiDmDumpInteger8 (
904 UINT8 Value,
905 const char *Name);
906
907 void
908 AcpiDmDumpInteger16 (
909 UINT16 Value,
910 const char *Name);
911
912 void
913 AcpiDmDumpInteger32 (
914 UINT32 Value,
915 const char *Name);
916
917 void
918 AcpiDmDumpInteger64 (
919 UINT64 Value,
920 const char *Name);
921
922 void
923 AcpiDmResourceTemplate (
924 ACPI_OP_WALK_INFO *Info,
925 ACPI_PARSE_OBJECT *Op,
926 UINT8 *ByteData,
927 UINT32 ByteCount);
928
929 ACPI_STATUS
930 AcpiDmIsResourceTemplate (
931 ACPI_WALK_STATE *WalkState,
932 ACPI_PARSE_OBJECT *Op);
933
934 void
935 AcpiDmBitList (
936 UINT16 Mask);
937
938 void
939 AcpiDmDescriptorName (
940 void);
941
942
943 /*
944 * dmresrcl
945 */
946 void
947 AcpiDmWordDescriptor (
948 ACPI_OP_WALK_INFO *Info,
949 AML_RESOURCE *Resource,
950 UINT32 Length,
951 UINT32 Level);
952
953 void
954 AcpiDmDwordDescriptor (
955 ACPI_OP_WALK_INFO *Info,
956 AML_RESOURCE *Resource,
957 UINT32 Length,
958 UINT32 Level);
959
960 void
961 AcpiDmExtendedDescriptor (
962 ACPI_OP_WALK_INFO *Info,
963 AML_RESOURCE *Resource,
964 UINT32 Length,
965 UINT32 Level);
966
967 void
968 AcpiDmQwordDescriptor (
969 ACPI_OP_WALK_INFO *Info,
970 AML_RESOURCE *Resource,
971 UINT32 Length,
972 UINT32 Level);
973
974 void
975 AcpiDmMemory24Descriptor (
976 ACPI_OP_WALK_INFO *Info,
977 AML_RESOURCE *Resource,
978 UINT32 Length,
979 UINT32 Level);
980
981 void
982 AcpiDmMemory32Descriptor (
983 ACPI_OP_WALK_INFO *Info,
984 AML_RESOURCE *Resource,
985 UINT32 Length,
986 UINT32 Level);
987
988 void
989 AcpiDmFixedMemory32Descriptor (
990 ACPI_OP_WALK_INFO *Info,
991 AML_RESOURCE *Resource,
992 UINT32 Length,
993 UINT32 Level);
994
995 void
996 AcpiDmGenericRegisterDescriptor (
997 ACPI_OP_WALK_INFO *Info,
998 AML_RESOURCE *Resource,
999 UINT32 Length,
1000 UINT32 Level);
1001
1002 void
1003 AcpiDmInterruptDescriptor (
1004 ACPI_OP_WALK_INFO *Info,
1005 AML_RESOURCE *Resource,
1006 UINT32 Length,
1007 UINT32 Level);
1008
1009 void
1010 AcpiDmVendorLargeDescriptor (
1011 ACPI_OP_WALK_INFO *Info,
1012 AML_RESOURCE *Resource,
1013 UINT32 Length,
1014 UINT32 Level);
1015
1016 void
1017 AcpiDmGpioDescriptor (
1018 ACPI_OP_WALK_INFO *Info,
1019 AML_RESOURCE *Resource,
1020 UINT32 Length,
1021 UINT32 Level);
1022
1023 void
1024 AcpiDmPinFunctionDescriptor (
1025 ACPI_OP_WALK_INFO *Info,
1026 AML_RESOURCE *Resource,
1027 UINT32 Length,
1028 UINT32 Level);
1029
1030 void
1031 AcpiDmPinConfigDescriptor (
1032 ACPI_OP_WALK_INFO *Info,
1033 AML_RESOURCE *Resource,
1034 UINT32 Length,
1035 UINT32 Level);
1036
1037 void
1038 AcpiDmPinGroupDescriptor (
1039 ACPI_OP_WALK_INFO *Info,
1040 AML_RESOURCE *Resource,
1041 UINT32 Length,
1042 UINT32 Level);
1043
1044 void
1045 AcpiDmPinGroupFunctionDescriptor (
1046 ACPI_OP_WALK_INFO *Info,
1047 AML_RESOURCE *Resource,
1048 UINT32 Length,
1049 UINT32 Level);
1050
1051 void
1052 AcpiDmPinGroupConfigDescriptor (
1053 ACPI_OP_WALK_INFO *Info,
1054 AML_RESOURCE *Resource,
1055 UINT32 Length,
1056 UINT32 Level);
1057
1058 void
1059 AcpiDmSerialBusDescriptor (
1060 ACPI_OP_WALK_INFO *Info,
1061 AML_RESOURCE *Resource,
1062 UINT32 Length,
1063 UINT32 Level);
1064
1065 void
1066 AcpiDmVendorCommon (
1067 const char *Name,
1068 UINT8 *ByteData,
1069 UINT32 Length,
1070 UINT32 Level);
1071
1072
1073 /*
1074 * dmresrcs
1075 */
1076 void
1077 AcpiDmIrqDescriptor (
1078 ACPI_OP_WALK_INFO *Info,
1079 AML_RESOURCE *Resource,
1080 UINT32 Length,
1081 UINT32 Level);
1082
1083 void
1084 AcpiDmDmaDescriptor (
1085 ACPI_OP_WALK_INFO *Info,
1086 AML_RESOURCE *Resource,
1087 UINT32 Length,
1088 UINT32 Level);
1089
1090 void
1091 AcpiDmFixedDmaDescriptor (
1092 ACPI_OP_WALK_INFO *Info,
1093 AML_RESOURCE *Resource,
1094 UINT32 Length,
1095 UINT32 Level);
1096
1097 void
1098 AcpiDmIoDescriptor (
1099 ACPI_OP_WALK_INFO *Info,
1100 AML_RESOURCE *Resource,
1101 UINT32 Length,
1102 UINT32 Level);
1103
1104 void
1105 AcpiDmFixedIoDescriptor (
1106 ACPI_OP_WALK_INFO *Info,
1107 AML_RESOURCE *Resource,
1108 UINT32 Length,
1109 UINT32 Level);
1110
1111 void
1112 AcpiDmStartDependentDescriptor (
1113 ACPI_OP_WALK_INFO *Info,
1114 AML_RESOURCE *Resource,
1115 UINT32 Length,
1116 UINT32 Level);
1117
1118 void
1119 AcpiDmEndDependentDescriptor (
1120 ACPI_OP_WALK_INFO *Info,
1121 AML_RESOURCE *Resource,
1122 UINT32 Length,
1123 UINT32 Level);
1124
1125 void
1126 AcpiDmVendorSmallDescriptor (
1127 ACPI_OP_WALK_INFO *Info,
1128 AML_RESOURCE *Resource,
1129 UINT32 Length,
1130 UINT32 Level);
1131
1132
1133 /*
1134 * dmutils
1135 */
1136 void
1137 AcpiDmDecodeAttribute (
1138 UINT8 Attribute);
1139
1140 void
1141 AcpiDmIndent (
1142 UINT32 Level);
1143
1144 BOOLEAN
1145 AcpiDmCommaIfListMember (
1146 ACPI_PARSE_OBJECT *Op);
1147
1148 void
1149 AcpiDmCommaIfFieldMember (
1150 ACPI_PARSE_OBJECT *Op);
1151
1152
1153 /*
1154 * dmrestag
1155 */
1156 void
1157 AcpiDmFindResources (
1158 ACPI_PARSE_OBJECT *Root);
1159
1160 void
1161 AcpiDmCheckResourceReference (
1162 ACPI_PARSE_OBJECT *Op,
1163 ACPI_WALK_STATE *WalkState);
1164
1165
1166 /*
1167 * dmcstyle
1168 */
1169 BOOLEAN
1170 AcpiDmCheckForSymbolicOpcode (
1171 ACPI_PARSE_OBJECT *Op,
1172 ACPI_OP_WALK_INFO *Info);
1173
1174 void
1175 AcpiDmCloseOperator (
1176 ACPI_PARSE_OBJECT *Op);
1177
1178
1179 /*
1180 * dmtables
1181 */
1182 ACPI_STATUS
1183 AcpiDmProcessSwitch (
1184 ACPI_PARSE_OBJECT *Op);
1185
1186 void
1187 AcpiDmClearTempList(
1188 void);
1189
1190 /*
1191 * dmtables
1192 */
1193 void
1194 AdDisassemblerHeader (
1195 char *Filename,
1196 UINT8 TableType);
1197
1198 #define ACPI_IS_AML_TABLE 0
1199 #define ACPI_IS_DATA_TABLE 1
1200
1201
1202 /*
1203 * adisasm
1204 */
1205 ACPI_STATUS
1206 AdAmlDisassemble (
1207 BOOLEAN OutToFile,
1208 char *Filename,
1209 char *Prefix,
1210 char **OutFilename);
1211
1212 ACPI_STATUS
1213 AdGetLocalTables (
1214 void);
1215
1216 ACPI_STATUS
1217 AdParseTable (
1218 ACPI_TABLE_HEADER *Table,
1219 ACPI_OWNER_ID *OwnerId,
1220 BOOLEAN LoadTable,
1221 BOOLEAN External);
1222
1223 ACPI_STATUS
1224 AdDisplayTables (
1225 char *Filename,
1226 ACPI_TABLE_HEADER *Table);
1227
1228 ACPI_STATUS
1229 AdDisplayStatistics (
1230 void);
1231
1232
1233 /*
1234 * dmwalk
1235 */
1236 UINT32
1237 AcpiDmBlockType (
1238 ACPI_PARSE_OBJECT *Op);
1239
1240
1241 #endif /* __ACDISASM_H__ */
1242