1 /******************************************************************************
2 *
3 * Name: acdisasm.h - AML disassembler
4 *
5 *****************************************************************************/
6
7 /******************************************************************************
8 *
9 * 1. Copyright Notice
10 *
11 * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
12 * All rights reserved.
13 *
14 * 2. License
15 *
16 * 2.1. This is your license from Intel Corp. under its intellectual property
17 * rights. You may have additional license terms from the party that provided
18 * you this software, covering your right to use that party's intellectual
19 * property rights.
20 *
21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 * copy of the source code appearing in this file ("Covered Code") an
23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 * base code distributed originally by Intel ("Original Intel Code") to copy,
25 * make derivatives, distribute, use and display any portion of the Covered
26 * Code in any form, with the right to sublicense such rights; and
27 *
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 * license (with the right to sublicense), under only those claims of Intel
30 * patents that are infringed by the Original Intel Code, to make, use, sell,
31 * offer to sell, and import the Covered Code and derivative works thereof
32 * solely to the minimum extent necessary to exercise the above copyright
33 * license, and in no event shall the patent license extend to any additions
34 * to or modifications of the Original Intel Code. No other license or right
35 * is granted directly or by implication, estoppel or otherwise;
36 *
37 * The above copyright and patent license is granted only if the following
38 * conditions are met:
39 *
40 * 3. Conditions
41 *
42 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 * Redistribution of source code of any substantial portion of the Covered
44 * Code or modification with rights to further distribute source must include
45 * the above Copyright Notice, the above License, this list of Conditions,
46 * and the following Disclaimer and Export Compliance provision. In addition,
47 * Licensee must cause all Covered Code to which Licensee contributes to
48 * contain a file documenting the changes Licensee made to create that Covered
49 * Code and the date of any change. Licensee must include in that file the
50 * documentation of any changes made by any predecessor Licensee. Licensee
51 * must include a prominent statement that the modification is derived,
52 * directly or indirectly, from Original Intel Code.
53 *
54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 * Redistribution of source code of any substantial portion of the Covered
56 * Code or modification without rights to further distribute source must
57 * include the following Disclaimer and Export Compliance provision in the
58 * documentation and/or other materials provided with distribution. In
59 * addition, Licensee may not authorize further sublicense of source of any
60 * portion of the Covered Code, and must include terms to the effect that the
61 * license from Licensee to its licensee is limited to the intellectual
62 * property embodied in the software Licensee provides to its licensee, and
63 * not to intellectual property embodied in modifications its licensee may
64 * make.
65 *
66 * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 * substantial portion of the Covered Code or modification must reproduce the
68 * above Copyright Notice, and the following Disclaimer and Export Compliance
69 * provision in the documentation and/or other materials provided with the
70 * distribution.
71 *
72 * 3.4. Intel retains all right, title, and interest in and to the Original
73 * Intel Code.
74 *
75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 * Intel shall be used in advertising or otherwise to promote the sale, use or
77 * other dealings in products derived from or relating to the Covered Code
78 * without prior written authorization from Intel.
79 *
80 * 4. Disclaimer and Export Compliance
81 *
82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88 * PARTICULAR PURPOSE.
89 *
90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97 * LIMITED REMEDY.
98 *
99 * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 * software or system incorporating such software without first obtaining any
101 * required license or other approval from the U. S. Department of Commerce or
102 * any other agency or department of the United States Government. In the
103 * event Licensee exports any such software from the United States or
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
106 * compliance with all laws, regulations, orders, or other restrictions of the
107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 * any of its subsidiaries will export/re-export any technical data, process,
109 * software, or service, directly or indirectly, to any country for which the
110 * United States government or any agency thereof requires an export license,
111 * other governmental approval, or letter of assurance, without first obtaining
112 * such license, approval or letter.
113 *
114 *****************************************************************************
115 *
116 * Alternatively, you may choose to be licensed under the terms of the
117 * following license:
118 *
119 * Redistribution and use in source and binary forms, with or without
120 * modification, are permitted provided that the following conditions
121 * are met:
122 * 1. Redistributions of source code must retain the above copyright
123 * notice, this list of conditions, and the following disclaimer,
124 * without modification.
125 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126 * substantially similar to the "NO WARRANTY" disclaimer below
127 * ("Disclaimer") and any redistribution must be conditioned upon
128 * including a substantially similar Disclaimer requirement for further
129 * binary redistribution.
130 * 3. Neither the names of the above-listed copyright holders nor the names
131 * of any contributors may be used to endorse or promote products derived
132 * from this software without specific prior written permission.
133 *
134 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145 *
146 * Alternatively, you may choose to be licensed under the terms of the
147 * GNU General Public License ("GPL") version 2 as published by the Free
148 * Software Foundation.
149 *
150 *****************************************************************************/
151
152 #ifndef __ACDISASM_H__
153 #define __ACDISASM_H__
154
155 #include <contrib/dev/acpica/include/amlresrc.h>
156
157
158 #define BLOCK_NONE 0
159 #define BLOCK_PAREN 1
160 #define BLOCK_BRACE 2
161 #define BLOCK_COMMA_LIST 4
162 #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD"
163
164 /*
165 * Raw table data header. Used by disassembler and data table compiler.
166 * Do not change.
167 */
168 #define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data"
169
170
171 typedef struct acpi_dmtable_info
172 {
173 UINT8 Opcode;
174 UINT16 Offset;
175 char *Name;
176 UINT8 Flags;
177
178 } ACPI_DMTABLE_INFO;
179
180 /* Values for Flags field above */
181
182 #define DT_LENGTH 0x01 /* Field is a subtable length */
183 #define DT_FLAG 0x02 /* Field is a flag value */
184 #define DT_NON_ZERO 0x04 /* Field must be non-zero */
185 #define DT_OPTIONAL 0x08 /* Field is optional */
186 #define DT_DESCRIBES_OPTIONAL 0x10 /* Field describes an optional field (length, etc.) */
187 #define DT_COUNT 0x20 /* Currently not used */
188
189 /*
190 * Values for Opcode above.
191 * Note: 0-7 must not change, they are used as a flag shift value. Other
192 * than those, new values can be added wherever appropriate.
193 */
194 typedef enum
195 {
196 /* Simple Data Types */
197
198 ACPI_DMT_FLAG0 = 0,
199 ACPI_DMT_FLAG1 = 1,
200 ACPI_DMT_FLAG2 = 2,
201 ACPI_DMT_FLAG3 = 3,
202 ACPI_DMT_FLAG4 = 4,
203 ACPI_DMT_FLAG5 = 5,
204 ACPI_DMT_FLAG6 = 6,
205 ACPI_DMT_FLAG7 = 7,
206 ACPI_DMT_FLAGS0,
207 ACPI_DMT_FLAGS1,
208 ACPI_DMT_FLAGS2,
209 ACPI_DMT_FLAGS8_2,
210 ACPI_DMT_FLAGS4,
211 ACPI_DMT_FLAGS4_0,
212 ACPI_DMT_FLAGS4_4,
213 ACPI_DMT_FLAGS4_8,
214 ACPI_DMT_FLAGS4_12,
215 ACPI_DMT_FLAGS16_16,
216 ACPI_DMT_UINT8,
217 ACPI_DMT_UINT16,
218 ACPI_DMT_UINT24,
219 ACPI_DMT_UINT32,
220 ACPI_DMT_UINT40,
221 ACPI_DMT_UINT48,
222 ACPI_DMT_UINT56,
223 ACPI_DMT_UINT64,
224 ACPI_DMT_BUF7,
225 ACPI_DMT_BUF10,
226 ACPI_DMT_BUF12,
227 ACPI_DMT_BUF16,
228 ACPI_DMT_BUF18,
229 ACPI_DMT_BUF128,
230 ACPI_DMT_SIG,
231 ACPI_DMT_STRING,
232 ACPI_DMT_NAME4,
233 ACPI_DMT_NAME6,
234 ACPI_DMT_NAME8,
235
236 /* Types that are decoded to strings and miscellaneous */
237
238 ACPI_DMT_ACCWIDTH,
239 ACPI_DMT_CHKSUM,
240 ACPI_DMT_GAS,
241 ACPI_DMT_SPACEID,
242 ACPI_DMT_UNICODE,
243 ACPI_DMT_UUID,
244
245 /* Types used only for the Data Table Compiler */
246
247 ACPI_DMT_BUFFER,
248 ACPI_DMT_RAW_BUFFER, /* Large, multiple line buffer */
249 ACPI_DMT_DEVICE_PATH,
250 ACPI_DMT_LABEL,
251 ACPI_DMT_PCI_PATH,
252
253 /* Types that are specific to particular ACPI tables */
254
255 ACPI_DMT_AEST,
256 ACPI_DMT_AEST_CACHE,
257 ACPI_DMT_AEST_GIC,
258 ACPI_DMT_AEST_RES,
259 ACPI_DMT_AEST_XFACE,
260 ACPI_DMT_AEST_XRUPT,
261 ACPI_DMT_AGDI,
262 ACPI_DMT_ASF,
263 ACPI_DMT_CDAT,
264 ACPI_DMT_CEDT,
265 ACPI_DMT_DMAR,
266 ACPI_DMT_DMAR_SCOPE,
267 ACPI_DMT_EINJACT,
268 ACPI_DMT_EINJINST,
269 ACPI_DMT_ERSTACT,
270 ACPI_DMT_ERSTINST,
271 ACPI_DMT_FADTPM,
272 ACPI_DMT_GTDT,
273 ACPI_DMT_HEST,
274 ACPI_DMT_HESTNTFY,
275 ACPI_DMT_HESTNTYP,
276 ACPI_DMT_HMAT,
277 ACPI_DMT_IORTMEM,
278 ACPI_DMT_IVRS,
279 ACPI_DMT_IVRS_DE,
280 ACPI_DMT_IVRS_UNTERMINATED_STRING,
281 ACPI_DMT_LPIT,
282 ACPI_DMT_MADT,
283 ACPI_DMT_NFIT,
284 ACPI_DMT_NHLT1,
285 ACPI_DMT_NHLT1a,
286 ACPI_DMT_NHLT1b,
287 ACPI_DMT_NHLT1c,
288 ACPI_DMT_NHLT1d,
289 ACPI_DMT_NHLT1e,
290 ACPI_DMT_NHLT1f,
291 ACPI_DMT_PCCT,
292 ACPI_DMT_PHAT,
293 ACPI_DMT_PMTT,
294 ACPI_DMT_PMTT_VENDOR,
295 ACPI_DMT_PPTT,
296 ACPI_DMT_RGRT,
297 ACPI_DMT_SDEI,
298 ACPI_DMT_SDEV,
299 ACPI_DMT_SLIC,
300 ACPI_DMT_SRAT,
301 ACPI_DMT_TPM2,
302 ACPI_DMT_VIOT,
303 ACPI_DMT_WPBT_UNICODE,
304
305 /* Special opcodes */
306
307 ACPI_DMT_EXTRA_TEXT,
308 ACPI_DMT_EXIT
309
310 } ACPI_ENTRY_TYPES;
311
312 typedef
313 void (*ACPI_DMTABLE_HANDLER) (
314 ACPI_TABLE_HEADER *Table);
315
316 typedef
317 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
318 void **PFieldList);
319
320 typedef struct acpi_dmtable_data
321 {
322 char *Signature;
323 ACPI_DMTABLE_INFO *TableInfo;
324 ACPI_DMTABLE_HANDLER TableHandler;
325 ACPI_CMTABLE_HANDLER CmTableHandler;
326 const unsigned char *Template;
327
328 } ACPI_DMTABLE_DATA;
329
330
331 typedef struct acpi_op_walk_info
332 {
333 ACPI_WALK_STATE *WalkState;
334 ACPI_PARSE_OBJECT *MappingOp;
335 UINT8 *PreviousAml;
336 UINT8 *StartAml;
337 UINT32 Level;
338 UINT32 LastLevel;
339 UINT32 Count;
340 UINT32 BitOffset;
341 UINT32 Flags;
342 UINT32 AmlOffset;
343
344 } ACPI_OP_WALK_INFO;
345
346 /*
347 * TBD - another copy of this is in asltypes.h, fix
348 */
349 #ifndef ASL_WALK_CALLBACK_DEFINED
350 typedef
351 ACPI_STATUS (*ASL_WALK_CALLBACK) (
352 ACPI_PARSE_OBJECT *Op,
353 UINT32 Level,
354 void *Context);
355 #define ASL_WALK_CALLBACK_DEFINED
356 #endif
357
358 typedef
359 void (*ACPI_RESOURCE_HANDLER) (
360 ACPI_OP_WALK_INFO *Info,
361 AML_RESOURCE *Resource,
362 UINT32 Length,
363 UINT32 Level);
364
365 typedef struct acpi_resource_tag
366 {
367 UINT32 BitIndex;
368 char *Tag;
369
370 } ACPI_RESOURCE_TAG;
371
372 /* Strings used for decoding flags to ASL keywords */
373
374 extern const char *AcpiGbl_WordDecode[];
375 extern const char *AcpiGbl_IrqDecode[];
376 extern const char *AcpiGbl_LockRule[];
377 extern const char *AcpiGbl_AccessTypes[];
378 extern const char *AcpiGbl_UpdateRules[];
379 extern const char *AcpiGbl_MatchOps[];
380
381 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestHdr[];
382 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProcError[];
383 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestCacheRsrc[];
384 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestTlbRsrc[];
385 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGenRsrc[];
386 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestMemError[];
387 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestSmmuError[];
388 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[];
389 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[];
390 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[];
391 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[];
392 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[];
393 extern ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[];
394 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
395 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[];
396 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[];
397 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[];
398 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[];
399 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
400 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
401 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
402 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[];
403 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
404 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
405 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[];
406 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCcel[];
407 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatTableHdr[];
408 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatHeader[];
409 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat0[];
410 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat1[];
411 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat2[];
412 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat3[];
413 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat4[];
414 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat5[];
415 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatEntries[];
416 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedtHdr[];
417 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt0[];
418 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1[];
419 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1_te[];
420 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[];
421 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[];
422 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[];
423 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[];
424 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[];
425 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[];
426 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[];
427 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[];
428 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[];
429 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[];
430 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[];
431 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[];
432 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[];
433 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[];
434 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[];
435 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[];
436 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[];
437 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[];
438 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[];
439 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[];
440 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[];
441 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar5[];
442 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[];
443 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[];
444 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[];
445 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[];
446 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[];
447 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[];
448 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[];
449 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[];
450 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[];
451 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[];
452 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[];
453 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[];
454 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[];
455 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[];
456 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[];
457 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[];
458 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[];
459 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[];
460 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[];
461 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[];
462 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[];
463 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[];
464 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[];
465 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[];
466 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtEl2[];
467 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[];
468 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[];
469 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[];
470 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[];
471 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[];
472 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[];
473 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[];
474 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[];
475 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[];
476 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[];
477 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[];
478 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[];
479 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[];
480 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest11[];
481 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[];
482 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[];
483 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[];
484 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[];
485 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[];
486 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[];
487 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat[];
488 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat0[];
489 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1[];
490 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1a[];
491 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1b[];
492 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1c[];
493 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2[];
494 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2a[];
495 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmatHdr[];
496 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort[];
497 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[];
498 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[];
499 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[];
500 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[];
501 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[];
502 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[];
503 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[];
504 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[];
505 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[];
506 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[];
507 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort5[];
508 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort6[];
509 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort6a[];
510 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[];
511 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[];
512 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr3[];
513 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[];
514 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[];
515 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[];
516 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware1[];
517 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware23[];
518 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsMemory[];
519 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
520 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
521 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
522 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
523 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidString[];
524 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidInteger[];
525 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid[];
526 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidString[];
527 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidInteger[];
528 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidString[];
529 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidInteger[];
530 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
531 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
532 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
533 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[];
534 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[];
535 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[];
536 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[];
537 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[];
538 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[];
539 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[];
540 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[];
541 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[];
542 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[];
543 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[];
544 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[];
545 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
546 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
547 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[];
548 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[];
549 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
550 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
551 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
552 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[];
553 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[];
554 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[];
555 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[];
556 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[];
557 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[];
558 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[];
559 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[];
560 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[];
561 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[];
562 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[];
563 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[];
564 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[];
565 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[];
566 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[];
567 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[];
568 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[];
569 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[];
570 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[];
571 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[];
572 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[];
573 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[];
574 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt[];
575 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt0[];
576 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt1[];
577 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt2[];
578 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3[];
579 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3a[];
580 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt4[];
581 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5[];
582 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5a[];
583 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5b[];
584 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5c[];
585 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6[];
586 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6a[];
587 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6b[];
588 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7[];
589 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7a[];
590 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7b[];
591 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt9[];
592 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhatHdr[];
593 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0[];
594 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0a[];
595 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1[];
596 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1a[];
597 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1b[];
598 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[];
599 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[];
600 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[];
601 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[];
602 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttVendor[];
603 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[];
604 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
605 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
606 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
607 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
608 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
609 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[];
610 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[];
611 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct5[];
612 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[];
613 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[];
614 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[];
615 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[];
616 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
617 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[];
618 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
619 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
620 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHdr[];
621 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtModule[];
622 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[];
623 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
624 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[];
625 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[];
626 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
627 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
628 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
629 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[];
630 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[];
631 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[];
632 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[];
633 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[];
634 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[];
635 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[];
636 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[];
637 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[];
638 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0b[];
639 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompHdr[];
640 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompId[];
641 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompMem[];
642 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[];
643 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[];
644 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[];
645 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[];
646 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[];
647 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[];
648 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[];
649 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[];
650 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[];
651 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[];
652 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[];
653 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[];
654 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[];
655 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[];
656 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
657 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat6[];
658 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
659 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
660 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl[];
661 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl0[];
662 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
663 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
664 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
665 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTdel[];
666 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[];
667 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[];
668 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[];
669 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[];
670 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[];
671 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[];
672 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot[];
673 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViotHeader[];
674 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot1[];
675 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot2[];
676 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot3[];
677 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot4[];
678 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[];
679 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[];
680 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[];
681 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[];
682 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[];
683 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[];
684 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[];
685 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[];
686 extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[];
687
688 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2];
689
690 /*
691 * dmtable and ahtable
692 */
693 extern const ACPI_DMTABLE_DATA AcpiDmTableData[];
694 extern const AH_TABLE AcpiGbl_SupportedTables[];
695
696 UINT8
697 AcpiDmGenerateChecksum (
698 void *Table,
699 UINT32 Length,
700 UINT8 OriginalChecksum);
701
702 const ACPI_DMTABLE_DATA *
703 AcpiDmGetTableData (
704 char *Signature);
705
706 void
707 AcpiDmDumpDataTable (
708 ACPI_TABLE_HEADER *Table);
709
710 ACPI_STATUS
711 AcpiDmDumpTable (
712 UINT32 TableLength,
713 UINT32 TableOffset,
714 void *Table,
715 UINT32 SubtableLength,
716 ACPI_DMTABLE_INFO *Info);
717
718 void
719 AcpiDmLineHeader (
720 UINT32 Offset,
721 UINT32 ByteLength,
722 char *Name);
723
724 void
725 AcpiDmLineHeader2 (
726 UINT32 Offset,
727 UINT32 ByteLength,
728 char *Name,
729 UINT32 Value);
730
731
732 /*
733 * dmtbdump
734 */
735 void
736 AcpiDmDumpBuffer (
737 void *Table,
738 UINT32 BufferOffset,
739 UINT32 Length,
740 UINT32 AbsoluteOffset,
741 char *Header);
742
743 void
744 AcpiDmDumpUnicode (
745 void *Table,
746 UINT32 BufferOffset,
747 UINT32 ByteLength);
748
749 void
750 AcpiDmDumpAest (
751 ACPI_TABLE_HEADER *Table);
752
753 void
754 AcpiDmDumpApmt (
755 ACPI_TABLE_HEADER *Table);
756
757 void
758 AcpiDmDumpAsf (
759 ACPI_TABLE_HEADER *Table);
760
761 void
762 AcpiDmDumpCcel (
763 ACPI_TABLE_HEADER *Table);
764
765 void
766 AcpiDmDumpCdat (
767 ACPI_TABLE_HEADER *Table);
768
769 void
770 AcpiDmDumpCedt (
771 ACPI_TABLE_HEADER *Table);
772
773 void
774 AcpiDmDumpCpep (
775 ACPI_TABLE_HEADER *Table);
776
777 void
778 AcpiDmDumpCsrt (
779 ACPI_TABLE_HEADER *Table);
780
781 void
782 AcpiDmDumpDbg2 (
783 ACPI_TABLE_HEADER *Table);
784
785 void
786 AcpiDmDumpDmar (
787 ACPI_TABLE_HEADER *Table);
788
789 void
790 AcpiDmDumpDrtm (
791 ACPI_TABLE_HEADER *Table);
792
793 void
794 AcpiDmDumpEinj (
795 ACPI_TABLE_HEADER *Table);
796
797 void
798 AcpiDmDumpErst (
799 ACPI_TABLE_HEADER *Table);
800
801 void
802 AcpiDmDumpFadt (
803 ACPI_TABLE_HEADER *Table);
804
805 void
806 AcpiDmDumpFpdt (
807 ACPI_TABLE_HEADER *Table);
808
809 void
810 AcpiDmDumpGtdt (
811 ACPI_TABLE_HEADER *Table);
812
813 void
814 AcpiDmDumpHest (
815 ACPI_TABLE_HEADER *Table);
816
817 void
818 AcpiDmDumpHmat (
819 ACPI_TABLE_HEADER *Table);
820
821 void
822 AcpiDmDumpIort (
823 ACPI_TABLE_HEADER *Table);
824
825 void
826 AcpiDmDumpIvrs (
827 ACPI_TABLE_HEADER *Table);
828
829 void
830 AcpiDmDumpLpit (
831 ACPI_TABLE_HEADER *Table);
832
833 void
834 AcpiDmDumpMadt (
835 ACPI_TABLE_HEADER *Table);
836
837 void
838 AcpiDmDumpMcfg (
839 ACPI_TABLE_HEADER *Table);
840
841 void
842 AcpiDmDumpMpst (
843 ACPI_TABLE_HEADER *Table);
844
845 void
846 AcpiDmDumpMsct (
847 ACPI_TABLE_HEADER *Table);
848
849 void
850 AcpiDmDumpNfit (
851 ACPI_TABLE_HEADER *Table);
852
853 void
854 AcpiDmDumpNhlt (
855 ACPI_TABLE_HEADER *Table);
856
857 void
858 AcpiDmDumpPcct (
859 ACPI_TABLE_HEADER *Table);
860
861 void
862 AcpiDmDumpPdtt (
863 ACPI_TABLE_HEADER *Table);
864
865 void
866 AcpiDmDumpPhat (
867 ACPI_TABLE_HEADER *Table);
868
869 void
870 AcpiDmDumpPmtt (
871 ACPI_TABLE_HEADER *Table);
872
873 void
874 AcpiDmDumpPptt (
875 ACPI_TABLE_HEADER *Table);
876
877 void
878 AcpiDmDumpPrmt (
879 ACPI_TABLE_HEADER *Table);
880
881 void
882 AcpiDmDumpRgrt (
883 ACPI_TABLE_HEADER *Table);
884
885 UINT32
886 AcpiDmDumpRsdp (
887 ACPI_TABLE_HEADER *Table);
888
889 void
890 AcpiDmDumpRsdt (
891 ACPI_TABLE_HEADER *Table);
892
893 UINT32
894 AcpiDmDumpS3pt (
895 ACPI_TABLE_HEADER *Table);
896
897 void
898 AcpiDmDumpSdev (
899 ACPI_TABLE_HEADER *Table);
900
901 void
902 AcpiDmDumpSlic (
903 ACPI_TABLE_HEADER *Table);
904
905 void
906 AcpiDmDumpSlit (
907 ACPI_TABLE_HEADER *Table);
908
909 void
910 AcpiDmDumpSrat (
911 ACPI_TABLE_HEADER *Table);
912
913 void
914 AcpiDmDumpStao (
915 ACPI_TABLE_HEADER *Table);
916
917 void
918 AcpiDmDumpSvkl (
919 ACPI_TABLE_HEADER *Table);
920
921 void
922 AcpiDmDumpTcpa (
923 ACPI_TABLE_HEADER *Table);
924
925 void
926 AcpiDmDumpTdel (
927 ACPI_TABLE_HEADER *Table);
928
929 void
930 AcpiDmDumpTpm2 (
931 ACPI_TABLE_HEADER *Table);
932
933 void
934 AcpiDmDumpViot (
935 ACPI_TABLE_HEADER *Table);
936
937 void
938 AcpiDmDumpWdat (
939 ACPI_TABLE_HEADER *Table);
940
941 void
942 AcpiDmDumpWpbt (
943 ACPI_TABLE_HEADER *Table);
944
945 void
946 AcpiDmDumpXsdt (
947 ACPI_TABLE_HEADER *Table);
948
949
950 /*
951 * dmwalk
952 */
953 void
954 AcpiDmDisassemble (
955 ACPI_WALK_STATE *WalkState,
956 ACPI_PARSE_OBJECT *Origin,
957 UINT32 NumOpcodes);
958
959 void
960 AcpiDmWalkParseTree (
961 ACPI_PARSE_OBJECT *Op,
962 ASL_WALK_CALLBACK DescendingCallback,
963 ASL_WALK_CALLBACK AscendingCallback,
964 void *Context);
965
966
967 /*
968 * dmopcode
969 */
970 void
971 AcpiDmDisassembleOneOp (
972 ACPI_WALK_STATE *WalkState,
973 ACPI_OP_WALK_INFO *Info,
974 ACPI_PARSE_OBJECT *Op);
975
976 UINT32
977 AcpiDmListType (
978 ACPI_PARSE_OBJECT *Op);
979
980 void
981 AcpiDmMethodFlags (
982 ACPI_PARSE_OBJECT *Op);
983
984 void
985 AcpiDmDisplayTargetPathname (
986 ACPI_PARSE_OBJECT *Op);
987
988 void
989 AcpiDmNotifyDescription (
990 ACPI_PARSE_OBJECT *Op);
991
992 void
993 AcpiDmPredefinedDescription (
994 ACPI_PARSE_OBJECT *Op);
995
996 void
997 AcpiDmFieldPredefinedDescription (
998 ACPI_PARSE_OBJECT *Op);
999
1000 void
1001 AcpiDmFieldFlags (
1002 ACPI_PARSE_OBJECT *Op);
1003
1004 void
1005 AcpiDmAddressSpace (
1006 UINT8 SpaceId);
1007
1008 void
1009 AcpiDmRegionFlags (
1010 ACPI_PARSE_OBJECT *Op);
1011
1012 void
1013 AcpiDmMatchOp (
1014 ACPI_PARSE_OBJECT *Op);
1015
1016
1017 /*
1018 * dmnames
1019 */
1020 UINT32
1021 AcpiDmDumpName (
1022 UINT32 Name);
1023
1024 ACPI_STATUS
1025 AcpiPsDisplayObjectPathname (
1026 ACPI_WALK_STATE *WalkState,
1027 ACPI_PARSE_OBJECT *Op);
1028
1029 void
1030 AcpiDmNamestring (
1031 char *Name);
1032
1033
1034 /*
1035 * dmbuffer
1036 */
1037 void
1038 AcpiDmDisasmByteList (
1039 UINT32 Level,
1040 UINT8 *ByteData,
1041 UINT32 ByteCount);
1042
1043 void
1044 AcpiDmByteList (
1045 ACPI_OP_WALK_INFO *Info,
1046 ACPI_PARSE_OBJECT *Op);
1047
1048 void
1049 AcpiDmCheckForHardwareId (
1050 ACPI_PARSE_OBJECT *Op);
1051
1052 void
1053 AcpiDmDecompressEisaId (
1054 UINT32 EncodedId);
1055
1056 BOOLEAN
1057 AcpiDmIsUuidBuffer (
1058 ACPI_PARSE_OBJECT *Op);
1059
1060 BOOLEAN
1061 AcpiDmIsUnicodeBuffer (
1062 ACPI_PARSE_OBJECT *Op);
1063
1064 BOOLEAN
1065 AcpiDmIsStringBuffer (
1066 ACPI_PARSE_OBJECT *Op);
1067
1068 BOOLEAN
1069 AcpiDmIsPldBuffer (
1070 ACPI_PARSE_OBJECT *Op);
1071
1072
1073 /*
1074 * dmdeferred
1075 */
1076 ACPI_STATUS
1077 AcpiDmParseDeferredOps (
1078 ACPI_PARSE_OBJECT *Root);
1079
1080
1081 /*
1082 * dmextern
1083 */
1084 ACPI_STATUS
1085 AcpiDmAddToExternalFileList (
1086 char *PathList);
1087
1088 void
1089 AcpiDmClearExternalFileList (
1090 void);
1091
1092 void
1093 AcpiDmAddOpToExternalList (
1094 ACPI_PARSE_OBJECT *Op,
1095 char *Path,
1096 UINT8 Type,
1097 UINT32 Value,
1098 UINT16 Flags);
1099
1100 void
1101 AcpiDmCreateSubobjectForExternal (
1102 UINT8 Type,
1103 ACPI_NAMESPACE_NODE **Node,
1104 UINT32 Value);
1105
1106 void
1107 AcpiDmAddNodeToExternalList (
1108 ACPI_NAMESPACE_NODE *Node,
1109 UINT8 Type,
1110 UINT32 Value,
1111 UINT16 Flags);
1112
1113 void
1114 AcpiDmAddExternalListToNamespace (
1115 void);
1116
1117 void
1118 AcpiDmAddOneExternalToNamespace (
1119 char *Path,
1120 UINT8 Type,
1121 UINT32 Value);
1122
1123 UINT32
1124 AcpiDmGetUnresolvedExternalMethodCount (
1125 void);
1126
1127 void
1128 AcpiDmClearExternalList (
1129 void);
1130
1131 void
1132 AcpiDmEmitExternals (
1133 void);
1134
1135 void
1136 AcpiDmEmitExternal (
1137 ACPI_PARSE_OBJECT *NameOp,
1138 ACPI_PARSE_OBJECT *TypeOp);
1139
1140 void
1141 AcpiDmUnresolvedWarning (
1142 UINT8 Type);
1143
1144 void
1145 AcpiDmGetExternalsFromFile (
1146 void);
1147
1148 void
1149 AcpiDmMarkExternalConflict (
1150 ACPI_NAMESPACE_NODE *Node);
1151
1152
1153 /*
1154 * dmresrc
1155 */
1156 void
1157 AcpiDmDumpInteger8 (
1158 UINT8 Value,
1159 const char *Name);
1160
1161 void
1162 AcpiDmDumpInteger16 (
1163 UINT16 Value,
1164 const char *Name);
1165
1166 void
1167 AcpiDmDumpInteger32 (
1168 UINT32 Value,
1169 const char *Name);
1170
1171 void
1172 AcpiDmDumpInteger64 (
1173 UINT64 Value,
1174 const char *Name);
1175
1176 void
1177 AcpiDmResourceTemplate (
1178 ACPI_OP_WALK_INFO *Info,
1179 ACPI_PARSE_OBJECT *Op,
1180 UINT8 *ByteData,
1181 UINT32 ByteCount);
1182
1183 ACPI_STATUS
1184 AcpiDmIsResourceTemplate (
1185 ACPI_WALK_STATE *WalkState,
1186 ACPI_PARSE_OBJECT *Op);
1187
1188 void
1189 AcpiDmBitList (
1190 UINT16 Mask);
1191
1192 void
1193 AcpiDmDescriptorName (
1194 void);
1195
1196
1197 /*
1198 * dmresrcl
1199 */
1200 void
1201 AcpiDmWordDescriptor (
1202 ACPI_OP_WALK_INFO *Info,
1203 AML_RESOURCE *Resource,
1204 UINT32 Length,
1205 UINT32 Level);
1206
1207 void
1208 AcpiDmDwordDescriptor (
1209 ACPI_OP_WALK_INFO *Info,
1210 AML_RESOURCE *Resource,
1211 UINT32 Length,
1212 UINT32 Level);
1213
1214 void
1215 AcpiDmExtendedDescriptor (
1216 ACPI_OP_WALK_INFO *Info,
1217 AML_RESOURCE *Resource,
1218 UINT32 Length,
1219 UINT32 Level);
1220
1221 void
1222 AcpiDmQwordDescriptor (
1223 ACPI_OP_WALK_INFO *Info,
1224 AML_RESOURCE *Resource,
1225 UINT32 Length,
1226 UINT32 Level);
1227
1228 void
1229 AcpiDmMemory24Descriptor (
1230 ACPI_OP_WALK_INFO *Info,
1231 AML_RESOURCE *Resource,
1232 UINT32 Length,
1233 UINT32 Level);
1234
1235 void
1236 AcpiDmMemory32Descriptor (
1237 ACPI_OP_WALK_INFO *Info,
1238 AML_RESOURCE *Resource,
1239 UINT32 Length,
1240 UINT32 Level);
1241
1242 void
1243 AcpiDmFixedMemory32Descriptor (
1244 ACPI_OP_WALK_INFO *Info,
1245 AML_RESOURCE *Resource,
1246 UINT32 Length,
1247 UINT32 Level);
1248
1249 void
1250 AcpiDmGenericRegisterDescriptor (
1251 ACPI_OP_WALK_INFO *Info,
1252 AML_RESOURCE *Resource,
1253 UINT32 Length,
1254 UINT32 Level);
1255
1256 void
1257 AcpiDmInterruptDescriptor (
1258 ACPI_OP_WALK_INFO *Info,
1259 AML_RESOURCE *Resource,
1260 UINT32 Length,
1261 UINT32 Level);
1262
1263 void
1264 AcpiDmVendorLargeDescriptor (
1265 ACPI_OP_WALK_INFO *Info,
1266 AML_RESOURCE *Resource,
1267 UINT32 Length,
1268 UINT32 Level);
1269
1270 void
1271 AcpiDmGpioDescriptor (
1272 ACPI_OP_WALK_INFO *Info,
1273 AML_RESOURCE *Resource,
1274 UINT32 Length,
1275 UINT32 Level);
1276
1277 void
1278 AcpiDmPinFunctionDescriptor (
1279 ACPI_OP_WALK_INFO *Info,
1280 AML_RESOURCE *Resource,
1281 UINT32 Length,
1282 UINT32 Level);
1283
1284 void
1285 AcpiDmPinConfigDescriptor (
1286 ACPI_OP_WALK_INFO *Info,
1287 AML_RESOURCE *Resource,
1288 UINT32 Length,
1289 UINT32 Level);
1290
1291 void
1292 AcpiDmPinGroupDescriptor (
1293 ACPI_OP_WALK_INFO *Info,
1294 AML_RESOURCE *Resource,
1295 UINT32 Length,
1296 UINT32 Level);
1297
1298 void
1299 AcpiDmPinGroupFunctionDescriptor (
1300 ACPI_OP_WALK_INFO *Info,
1301 AML_RESOURCE *Resource,
1302 UINT32 Length,
1303 UINT32 Level);
1304
1305 void
1306 AcpiDmPinGroupConfigDescriptor (
1307 ACPI_OP_WALK_INFO *Info,
1308 AML_RESOURCE *Resource,
1309 UINT32 Length,
1310 UINT32 Level);
1311
1312 void
1313 AcpiDmSerialBusDescriptor (
1314 ACPI_OP_WALK_INFO *Info,
1315 AML_RESOURCE *Resource,
1316 UINT32 Length,
1317 UINT32 Level);
1318
1319 void
1320 AcpiDmVendorCommon (
1321 const char *Name,
1322 UINT8 *ByteData,
1323 UINT32 Length,
1324 UINT32 Level);
1325
1326
1327 /*
1328 * dmresrcs
1329 */
1330 void
1331 AcpiDmIrqDescriptor (
1332 ACPI_OP_WALK_INFO *Info,
1333 AML_RESOURCE *Resource,
1334 UINT32 Length,
1335 UINT32 Level);
1336
1337 void
1338 AcpiDmDmaDescriptor (
1339 ACPI_OP_WALK_INFO *Info,
1340 AML_RESOURCE *Resource,
1341 UINT32 Length,
1342 UINT32 Level);
1343
1344 void
1345 AcpiDmFixedDmaDescriptor (
1346 ACPI_OP_WALK_INFO *Info,
1347 AML_RESOURCE *Resource,
1348 UINT32 Length,
1349 UINT32 Level);
1350
1351 void
1352 AcpiDmIoDescriptor (
1353 ACPI_OP_WALK_INFO *Info,
1354 AML_RESOURCE *Resource,
1355 UINT32 Length,
1356 UINT32 Level);
1357
1358 void
1359 AcpiDmFixedIoDescriptor (
1360 ACPI_OP_WALK_INFO *Info,
1361 AML_RESOURCE *Resource,
1362 UINT32 Length,
1363 UINT32 Level);
1364
1365 void
1366 AcpiDmStartDependentDescriptor (
1367 ACPI_OP_WALK_INFO *Info,
1368 AML_RESOURCE *Resource,
1369 UINT32 Length,
1370 UINT32 Level);
1371
1372 void
1373 AcpiDmEndDependentDescriptor (
1374 ACPI_OP_WALK_INFO *Info,
1375 AML_RESOURCE *Resource,
1376 UINT32 Length,
1377 UINT32 Level);
1378
1379 void
1380 AcpiDmVendorSmallDescriptor (
1381 ACPI_OP_WALK_INFO *Info,
1382 AML_RESOURCE *Resource,
1383 UINT32 Length,
1384 UINT32 Level);
1385
1386
1387 /*
1388 * dmutils
1389 */
1390 void
1391 AcpiDmDecodeAttribute (
1392 UINT8 Attribute);
1393
1394 void
1395 AcpiDmIndent (
1396 UINT32 Level);
1397
1398 BOOLEAN
1399 AcpiDmCommaIfListMember (
1400 ACPI_PARSE_OBJECT *Op);
1401
1402 void
1403 AcpiDmCommaIfFieldMember (
1404 ACPI_PARSE_OBJECT *Op);
1405
1406
1407 /*
1408 * dmrestag
1409 */
1410 void
1411 AcpiDmFindResources (
1412 ACPI_PARSE_OBJECT *Root);
1413
1414 void
1415 AcpiDmCheckResourceReference (
1416 ACPI_PARSE_OBJECT *Op,
1417 ACPI_WALK_STATE *WalkState);
1418
1419
1420 /*
1421 * dmcstyle
1422 */
1423 BOOLEAN
1424 AcpiDmCheckForSymbolicOpcode (
1425 ACPI_PARSE_OBJECT *Op,
1426 ACPI_OP_WALK_INFO *Info);
1427
1428 void
1429 AcpiDmCloseOperator (
1430 ACPI_PARSE_OBJECT *Op);
1431
1432
1433 /*
1434 * dmtables
1435 */
1436 ACPI_STATUS
1437 AcpiDmProcessSwitch (
1438 ACPI_PARSE_OBJECT *Op);
1439
1440 void
1441 AcpiDmClearTempList(
1442 void);
1443
1444 /*
1445 * dmtables
1446 */
1447 void
1448 AdDisassemblerHeader (
1449 char *Filename,
1450 UINT8 TableType);
1451
1452 #define ACPI_IS_AML_TABLE 0
1453 #define ACPI_IS_DATA_TABLE 1
1454
1455
1456 /*
1457 * adisasm
1458 */
1459 ACPI_STATUS
1460 AdAmlDisassemble (
1461 BOOLEAN OutToFile,
1462 char *Filename,
1463 char *Prefix,
1464 char **OutFilename);
1465
1466 ACPI_STATUS
1467 AdGetLocalTables (
1468 void);
1469
1470 ACPI_STATUS
1471 AdParseTable (
1472 ACPI_TABLE_HEADER *Table,
1473 ACPI_OWNER_ID *OwnerId,
1474 BOOLEAN LoadTable,
1475 BOOLEAN External);
1476
1477 ACPI_STATUS
1478 AdDisplayTables (
1479 char *Filename,
1480 ACPI_TABLE_HEADER *Table);
1481
1482 ACPI_STATUS
1483 AdDisplayStatistics (
1484 void);
1485
1486
1487 /*
1488 * dmwalk
1489 */
1490 UINT32
1491 AcpiDmBlockType (
1492 ACPI_PARSE_OBJECT *Op);
1493
1494
1495 #endif /* __ACDISASM_H__ */
Cache object: af46e56e4e2e89975e0e2efdc070adb9
|