acdisasm.h revision 1.19 1 /******************************************************************************
2 *
3 * Name: acdisasm.h - AML disassembler
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2019, 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 AcpiDmTableInfoIvrs1[];
353 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
354 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
355 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
356 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
357 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[];
358 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
359 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
360 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
361 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[];
362 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[];
363 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[];
364 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[];
365 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[];
366 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[];
367 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[];
368 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[];
369 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[];
370 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[];
371 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[];
372 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[];
373 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
374 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
375 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
376 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
377 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
378 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[];
379 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[];
380 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[];
381 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[];
382 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[];
383 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[];
384 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[];
385 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[];
386 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[];
387 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[];
388 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[];
389 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[];
390 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[];
391 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[];
392 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[];
393 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[];
394 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[];
395 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[];
396 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[];
397 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[];
398 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[];
399 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[];
400 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[];
401 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[];
402 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[];
403 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[];
404 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[];
405 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[];
406 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[];
407 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[];
408 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[];
409 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
410 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
411 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
412 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
413 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
414 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[];
415 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[];
416 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[];
417 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[];
418 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[];
419 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
420 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
421 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
422 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
423 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
424 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
425 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
426 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[];
427 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[];
428 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[];
429 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[];
430 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[];
431 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[];
432 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[];
433 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[];
434 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[];
435 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[];
436 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[];
437 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[];
438 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[];
439 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[];
440 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[];
441 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[];
442 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[];
443 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[];
444 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[];
445 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[];
446 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[];
447 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[];
448 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[];
449 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
450 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
451 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
452 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
453 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
454 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
455 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[];
456 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[];
457 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[];
458 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[];
459 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[];
460 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[];
461 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[];
462 extern ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[];
463 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[];
464 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[];
465 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[];
466 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[];
467 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[];
468 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[];
469 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[];
470 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[];
471 extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[];
472
473 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2];
474
475 /*
476 * dmtable and ahtable
477 */
478 extern const ACPI_DMTABLE_DATA AcpiDmTableData[];
479 extern const AH_TABLE AcpiGbl_SupportedTables[];
480
481 UINT8
482 AcpiDmGenerateChecksum (
483 void *Table,
484 UINT32 Length,
485 UINT8 OriginalChecksum);
486
487 const ACPI_DMTABLE_DATA *
488 AcpiDmGetTableData (
489 char *Signature);
490
491 void
492 AcpiDmDumpDataTable (
493 ACPI_TABLE_HEADER *Table);
494
495 ACPI_STATUS
496 AcpiDmDumpTable (
497 UINT32 TableLength,
498 UINT32 TableOffset,
499 void *Table,
500 UINT32 SubtableLength,
501 ACPI_DMTABLE_INFO *Info);
502
503 void
504 AcpiDmLineHeader (
505 UINT32 Offset,
506 UINT32 ByteLength,
507 char *Name);
508
509 void
510 AcpiDmLineHeader2 (
511 UINT32 Offset,
512 UINT32 ByteLength,
513 char *Name,
514 UINT32 Value);
515
516
517 /*
518 * dmtbdump
519 */
520 void
521 AcpiDmDumpBuffer (
522 void *Table,
523 UINT32 BufferOffset,
524 UINT32 Length,
525 UINT32 AbsoluteOffset,
526 char *Header);
527
528 void
529 AcpiDmDumpUnicode (
530 void *Table,
531 UINT32 BufferOffset,
532 UINT32 ByteLength);
533
534 void
535 AcpiDmDumpAsf (
536 ACPI_TABLE_HEADER *Table);
537
538 void
539 AcpiDmDumpCpep (
540 ACPI_TABLE_HEADER *Table);
541
542 void
543 AcpiDmDumpCsrt (
544 ACPI_TABLE_HEADER *Table);
545
546 void
547 AcpiDmDumpDbg2 (
548 ACPI_TABLE_HEADER *Table);
549
550 void
551 AcpiDmDumpDmar (
552 ACPI_TABLE_HEADER *Table);
553
554 void
555 AcpiDmDumpDrtm (
556 ACPI_TABLE_HEADER *Table);
557
558 void
559 AcpiDmDumpEinj (
560 ACPI_TABLE_HEADER *Table);
561
562 void
563 AcpiDmDumpErst (
564 ACPI_TABLE_HEADER *Table);
565
566 void
567 AcpiDmDumpFadt (
568 ACPI_TABLE_HEADER *Table);
569
570 void
571 AcpiDmDumpFpdt (
572 ACPI_TABLE_HEADER *Table);
573
574 void
575 AcpiDmDumpGtdt (
576 ACPI_TABLE_HEADER *Table);
577
578 void
579 AcpiDmDumpHest (
580 ACPI_TABLE_HEADER *Table);
581
582 void
583 AcpiDmDumpHmat (
584 ACPI_TABLE_HEADER *Table);
585
586 void
587 AcpiDmDumpIort (
588 ACPI_TABLE_HEADER *Table);
589
590 void
591 AcpiDmDumpIvrs (
592 ACPI_TABLE_HEADER *Table);
593
594 void
595 AcpiDmDumpLpit (
596 ACPI_TABLE_HEADER *Table);
597
598 void
599 AcpiDmDumpMadt (
600 ACPI_TABLE_HEADER *Table);
601
602 void
603 AcpiDmDumpMcfg (
604 ACPI_TABLE_HEADER *Table);
605
606 void
607 AcpiDmDumpMpst (
608 ACPI_TABLE_HEADER *Table);
609
610 void
611 AcpiDmDumpMsct (
612 ACPI_TABLE_HEADER *Table);
613
614 void
615 AcpiDmDumpMtmr (
616 ACPI_TABLE_HEADER *Table);
617
618 void
619 AcpiDmDumpNfit (
620 ACPI_TABLE_HEADER *Table);
621
622 void
623 AcpiDmDumpPcct (
624 ACPI_TABLE_HEADER *Table);
625
626 void
627 AcpiDmDumpPdtt (
628 ACPI_TABLE_HEADER *Table);
629
630 void
631 AcpiDmDumpPmtt (
632 ACPI_TABLE_HEADER *Table);
633
634 void
635 AcpiDmDumpPptt (
636 ACPI_TABLE_HEADER *Table);
637
638 UINT32
639 AcpiDmDumpRsdp (
640 ACPI_TABLE_HEADER *Table);
641
642 void
643 AcpiDmDumpRsdt (
644 ACPI_TABLE_HEADER *Table);
645
646 UINT32
647 AcpiDmDumpS3pt (
648 ACPI_TABLE_HEADER *Table);
649
650 void
651 AcpiDmDumpSdev (
652 ACPI_TABLE_HEADER *Table);
653
654 void
655 AcpiDmDumpSlic (
656 ACPI_TABLE_HEADER *Table);
657
658 void
659 AcpiDmDumpSlit (
660 ACPI_TABLE_HEADER *Table);
661
662 void
663 AcpiDmDumpSrat (
664 ACPI_TABLE_HEADER *Table);
665
666 void
667 AcpiDmDumpStao (
668 ACPI_TABLE_HEADER *Table);
669
670 void
671 AcpiDmDumpTcpa (
672 ACPI_TABLE_HEADER *Table);
673
674 void
675 AcpiDmDumpTpm2 (
676 ACPI_TABLE_HEADER *Table);
677
678 void
679 AcpiDmDumpVrtc (
680 ACPI_TABLE_HEADER *Table);
681
682 void
683 AcpiDmDumpWdat (
684 ACPI_TABLE_HEADER *Table);
685
686 void
687 AcpiDmDumpWpbt (
688 ACPI_TABLE_HEADER *Table);
689
690 void
691 AcpiDmDumpXsdt (
692 ACPI_TABLE_HEADER *Table);
693
694
695 /*
696 * dmwalk
697 */
698 void
699 AcpiDmDisassemble (
700 ACPI_WALK_STATE *WalkState,
701 ACPI_PARSE_OBJECT *Origin,
702 UINT32 NumOpcodes);
703
704 void
705 AcpiDmWalkParseTree (
706 ACPI_PARSE_OBJECT *Op,
707 ASL_WALK_CALLBACK DescendingCallback,
708 ASL_WALK_CALLBACK AscendingCallback,
709 void *Context);
710
711
712 /*
713 * dmopcode
714 */
715 void
716 AcpiDmDisassembleOneOp (
717 ACPI_WALK_STATE *WalkState,
718 ACPI_OP_WALK_INFO *Info,
719 ACPI_PARSE_OBJECT *Op);
720
721 UINT32
722 AcpiDmListType (
723 ACPI_PARSE_OBJECT *Op);
724
725 void
726 AcpiDmMethodFlags (
727 ACPI_PARSE_OBJECT *Op);
728
729 void
730 AcpiDmDisplayTargetPathname (
731 ACPI_PARSE_OBJECT *Op);
732
733 void
734 AcpiDmNotifyDescription (
735 ACPI_PARSE_OBJECT *Op);
736
737 void
738 AcpiDmPredefinedDescription (
739 ACPI_PARSE_OBJECT *Op);
740
741 void
742 AcpiDmFieldPredefinedDescription (
743 ACPI_PARSE_OBJECT *Op);
744
745 void
746 AcpiDmFieldFlags (
747 ACPI_PARSE_OBJECT *Op);
748
749 void
750 AcpiDmAddressSpace (
751 UINT8 SpaceId);
752
753 void
754 AcpiDmRegionFlags (
755 ACPI_PARSE_OBJECT *Op);
756
757 void
758 AcpiDmMatchOp (
759 ACPI_PARSE_OBJECT *Op);
760
761
762 /*
763 * dmnames
764 */
765 UINT32
766 AcpiDmDumpName (
767 UINT32 Name);
768
769 ACPI_STATUS
770 AcpiPsDisplayObjectPathname (
771 ACPI_WALK_STATE *WalkState,
772 ACPI_PARSE_OBJECT *Op);
773
774 void
775 AcpiDmNamestring (
776 char *Name);
777
778
779 /*
780 * dmbuffer
781 */
782 void
783 AcpiDmDisasmByteList (
784 UINT32 Level,
785 UINT8 *ByteData,
786 UINT32 ByteCount);
787
788 void
789 AcpiDmByteList (
790 ACPI_OP_WALK_INFO *Info,
791 ACPI_PARSE_OBJECT *Op);
792
793 void
794 AcpiDmCheckForHardwareId (
795 ACPI_PARSE_OBJECT *Op);
796
797 void
798 AcpiDmDecompressEisaId (
799 UINT32 EncodedId);
800
801 BOOLEAN
802 AcpiDmIsUuidBuffer (
803 ACPI_PARSE_OBJECT *Op);
804
805 BOOLEAN
806 AcpiDmIsUnicodeBuffer (
807 ACPI_PARSE_OBJECT *Op);
808
809 BOOLEAN
810 AcpiDmIsStringBuffer (
811 ACPI_PARSE_OBJECT *Op);
812
813 BOOLEAN
814 AcpiDmIsPldBuffer (
815 ACPI_PARSE_OBJECT *Op);
816
817
818 /*
819 * dmdeferred
820 */
821 ACPI_STATUS
822 AcpiDmParseDeferredOps (
823 ACPI_PARSE_OBJECT *Root);
824
825
826 /*
827 * dmextern
828 */
829 ACPI_STATUS
830 AcpiDmAddToExternalFileList (
831 char *PathList);
832
833 void
834 AcpiDmClearExternalFileList (
835 void);
836
837 void
838 AcpiDmAddOpToExternalList (
839 ACPI_PARSE_OBJECT *Op,
840 char *Path,
841 UINT8 Type,
842 UINT32 Value,
843 UINT16 Flags);
844
845 void
846 AcpiDmCreateSubobjectForExternal (
847 UINT8 Type,
848 ACPI_NAMESPACE_NODE **Node,
849 UINT32 Value);
850
851 void
852 AcpiDmAddNodeToExternalList (
853 ACPI_NAMESPACE_NODE *Node,
854 UINT8 Type,
855 UINT32 Value,
856 UINT16 Flags);
857
858 void
859 AcpiDmAddExternalListToNamespace (
860 void);
861
862 void
863 AcpiDmAddOneExternalToNamespace (
864 char *Path,
865 UINT8 Type,
866 UINT32 Value);
867
868 UINT32
869 AcpiDmGetUnresolvedExternalMethodCount (
870 void);
871
872 void
873 AcpiDmClearExternalList (
874 void);
875
876 void
877 AcpiDmEmitExternals (
878 void);
879
880 void
881 AcpiDmEmitExternal (
882 ACPI_PARSE_OBJECT *NameOp,
883 ACPI_PARSE_OBJECT *TypeOp);
884
885 void
886 AcpiDmUnresolvedWarning (
887 UINT8 Type);
888
889 void
890 AcpiDmGetExternalsFromFile (
891 void);
892
893 void
894 AcpiDmMarkExternalConflict (
895 ACPI_NAMESPACE_NODE *Node);
896
897
898 /*
899 * dmresrc
900 */
901 void
902 AcpiDmDumpInteger8 (
903 UINT8 Value,
904 const char *Name);
905
906 void
907 AcpiDmDumpInteger16 (
908 UINT16 Value,
909 const char *Name);
910
911 void
912 AcpiDmDumpInteger32 (
913 UINT32 Value,
914 const char *Name);
915
916 void
917 AcpiDmDumpInteger64 (
918 UINT64 Value,
919 const char *Name);
920
921 void
922 AcpiDmResourceTemplate (
923 ACPI_OP_WALK_INFO *Info,
924 ACPI_PARSE_OBJECT *Op,
925 UINT8 *ByteData,
926 UINT32 ByteCount);
927
928 ACPI_STATUS
929 AcpiDmIsResourceTemplate (
930 ACPI_WALK_STATE *WalkState,
931 ACPI_PARSE_OBJECT *Op);
932
933 void
934 AcpiDmBitList (
935 UINT16 Mask);
936
937 void
938 AcpiDmDescriptorName (
939 void);
940
941
942 /*
943 * dmresrcl
944 */
945 void
946 AcpiDmWordDescriptor (
947 ACPI_OP_WALK_INFO *Info,
948 AML_RESOURCE *Resource,
949 UINT32 Length,
950 UINT32 Level);
951
952 void
953 AcpiDmDwordDescriptor (
954 ACPI_OP_WALK_INFO *Info,
955 AML_RESOURCE *Resource,
956 UINT32 Length,
957 UINT32 Level);
958
959 void
960 AcpiDmExtendedDescriptor (
961 ACPI_OP_WALK_INFO *Info,
962 AML_RESOURCE *Resource,
963 UINT32 Length,
964 UINT32 Level);
965
966 void
967 AcpiDmQwordDescriptor (
968 ACPI_OP_WALK_INFO *Info,
969 AML_RESOURCE *Resource,
970 UINT32 Length,
971 UINT32 Level);
972
973 void
974 AcpiDmMemory24Descriptor (
975 ACPI_OP_WALK_INFO *Info,
976 AML_RESOURCE *Resource,
977 UINT32 Length,
978 UINT32 Level);
979
980 void
981 AcpiDmMemory32Descriptor (
982 ACPI_OP_WALK_INFO *Info,
983 AML_RESOURCE *Resource,
984 UINT32 Length,
985 UINT32 Level);
986
987 void
988 AcpiDmFixedMemory32Descriptor (
989 ACPI_OP_WALK_INFO *Info,
990 AML_RESOURCE *Resource,
991 UINT32 Length,
992 UINT32 Level);
993
994 void
995 AcpiDmGenericRegisterDescriptor (
996 ACPI_OP_WALK_INFO *Info,
997 AML_RESOURCE *Resource,
998 UINT32 Length,
999 UINT32 Level);
1000
1001 void
1002 AcpiDmInterruptDescriptor (
1003 ACPI_OP_WALK_INFO *Info,
1004 AML_RESOURCE *Resource,
1005 UINT32 Length,
1006 UINT32 Level);
1007
1008 void
1009 AcpiDmVendorLargeDescriptor (
1010 ACPI_OP_WALK_INFO *Info,
1011 AML_RESOURCE *Resource,
1012 UINT32 Length,
1013 UINT32 Level);
1014
1015 void
1016 AcpiDmGpioDescriptor (
1017 ACPI_OP_WALK_INFO *Info,
1018 AML_RESOURCE *Resource,
1019 UINT32 Length,
1020 UINT32 Level);
1021
1022 void
1023 AcpiDmPinFunctionDescriptor (
1024 ACPI_OP_WALK_INFO *Info,
1025 AML_RESOURCE *Resource,
1026 UINT32 Length,
1027 UINT32 Level);
1028
1029 void
1030 AcpiDmPinConfigDescriptor (
1031 ACPI_OP_WALK_INFO *Info,
1032 AML_RESOURCE *Resource,
1033 UINT32 Length,
1034 UINT32 Level);
1035
1036 void
1037 AcpiDmPinGroupDescriptor (
1038 ACPI_OP_WALK_INFO *Info,
1039 AML_RESOURCE *Resource,
1040 UINT32 Length,
1041 UINT32 Level);
1042
1043 void
1044 AcpiDmPinGroupFunctionDescriptor (
1045 ACPI_OP_WALK_INFO *Info,
1046 AML_RESOURCE *Resource,
1047 UINT32 Length,
1048 UINT32 Level);
1049
1050 void
1051 AcpiDmPinGroupConfigDescriptor (
1052 ACPI_OP_WALK_INFO *Info,
1053 AML_RESOURCE *Resource,
1054 UINT32 Length,
1055 UINT32 Level);
1056
1057 void
1058 AcpiDmSerialBusDescriptor (
1059 ACPI_OP_WALK_INFO *Info,
1060 AML_RESOURCE *Resource,
1061 UINT32 Length,
1062 UINT32 Level);
1063
1064 void
1065 AcpiDmVendorCommon (
1066 const char *Name,
1067 UINT8 *ByteData,
1068 UINT32 Length,
1069 UINT32 Level);
1070
1071
1072 /*
1073 * dmresrcs
1074 */
1075 void
1076 AcpiDmIrqDescriptor (
1077 ACPI_OP_WALK_INFO *Info,
1078 AML_RESOURCE *Resource,
1079 UINT32 Length,
1080 UINT32 Level);
1081
1082 void
1083 AcpiDmDmaDescriptor (
1084 ACPI_OP_WALK_INFO *Info,
1085 AML_RESOURCE *Resource,
1086 UINT32 Length,
1087 UINT32 Level);
1088
1089 void
1090 AcpiDmFixedDmaDescriptor (
1091 ACPI_OP_WALK_INFO *Info,
1092 AML_RESOURCE *Resource,
1093 UINT32 Length,
1094 UINT32 Level);
1095
1096 void
1097 AcpiDmIoDescriptor (
1098 ACPI_OP_WALK_INFO *Info,
1099 AML_RESOURCE *Resource,
1100 UINT32 Length,
1101 UINT32 Level);
1102
1103 void
1104 AcpiDmFixedIoDescriptor (
1105 ACPI_OP_WALK_INFO *Info,
1106 AML_RESOURCE *Resource,
1107 UINT32 Length,
1108 UINT32 Level);
1109
1110 void
1111 AcpiDmStartDependentDescriptor (
1112 ACPI_OP_WALK_INFO *Info,
1113 AML_RESOURCE *Resource,
1114 UINT32 Length,
1115 UINT32 Level);
1116
1117 void
1118 AcpiDmEndDependentDescriptor (
1119 ACPI_OP_WALK_INFO *Info,
1120 AML_RESOURCE *Resource,
1121 UINT32 Length,
1122 UINT32 Level);
1123
1124 void
1125 AcpiDmVendorSmallDescriptor (
1126 ACPI_OP_WALK_INFO *Info,
1127 AML_RESOURCE *Resource,
1128 UINT32 Length,
1129 UINT32 Level);
1130
1131
1132 /*
1133 * dmutils
1134 */
1135 void
1136 AcpiDmDecodeAttribute (
1137 UINT8 Attribute);
1138
1139 void
1140 AcpiDmIndent (
1141 UINT32 Level);
1142
1143 BOOLEAN
1144 AcpiDmCommaIfListMember (
1145 ACPI_PARSE_OBJECT *Op);
1146
1147 void
1148 AcpiDmCommaIfFieldMember (
1149 ACPI_PARSE_OBJECT *Op);
1150
1151
1152 /*
1153 * dmrestag
1154 */
1155 void
1156 AcpiDmFindResources (
1157 ACPI_PARSE_OBJECT *Root);
1158
1159 void
1160 AcpiDmCheckResourceReference (
1161 ACPI_PARSE_OBJECT *Op,
1162 ACPI_WALK_STATE *WalkState);
1163
1164
1165 /*
1166 * dmcstyle
1167 */
1168 BOOLEAN
1169 AcpiDmCheckForSymbolicOpcode (
1170 ACPI_PARSE_OBJECT *Op,
1171 ACPI_OP_WALK_INFO *Info);
1172
1173 void
1174 AcpiDmCloseOperator (
1175 ACPI_PARSE_OBJECT *Op);
1176
1177
1178 /*
1179 * dmtables
1180 */
1181 ACPI_STATUS
1182 AcpiDmProcessSwitch (
1183 ACPI_PARSE_OBJECT *Op);
1184
1185 void
1186 AcpiDmClearTempList(
1187 void);
1188
1189 /*
1190 * dmtables
1191 */
1192 void
1193 AdDisassemblerHeader (
1194 char *Filename,
1195 UINT8 TableType);
1196
1197 #define ACPI_IS_AML_TABLE 0
1198 #define ACPI_IS_DATA_TABLE 1
1199
1200
1201 /*
1202 * adisasm
1203 */
1204 ACPI_STATUS
1205 AdAmlDisassemble (
1206 BOOLEAN OutToFile,
1207 char *Filename,
1208 char *Prefix,
1209 char **OutFilename);
1210
1211 ACPI_STATUS
1212 AdGetLocalTables (
1213 void);
1214
1215 ACPI_STATUS
1216 AdParseTable (
1217 ACPI_TABLE_HEADER *Table,
1218 ACPI_OWNER_ID *OwnerId,
1219 BOOLEAN LoadTable,
1220 BOOLEAN External);
1221
1222 ACPI_STATUS
1223 AdDisplayTables (
1224 char *Filename,
1225 ACPI_TABLE_HEADER *Table);
1226
1227 ACPI_STATUS
1228 AdDisplayStatistics (
1229 void);
1230
1231
1232 /*
1233 * dmwalk
1234 */
1235 UINT32
1236 AcpiDmBlockType (
1237 ACPI_PARSE_OBJECT *Op);
1238
1239
1240 #endif /* __ACDISASM_H__ */
1241