acdisasm.h revision 1.29 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 - 2024, 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 "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 *(const 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_BUF32,
230 ACPI_DMT_BUF112,
231 ACPI_DMT_BUF128,
232 ACPI_DMT_SIG,
233 ACPI_DMT_STRING,
234 ACPI_DMT_NAME4,
235 ACPI_DMT_NAME6,
236 ACPI_DMT_NAME8,
237
238 /* Types that are decoded to strings and miscellaneous */
239
240 ACPI_DMT_ACCWIDTH,
241 ACPI_DMT_CHKSUM,
242 ACPI_DMT_GAS,
243 ACPI_DMT_SPACEID,
244 ACPI_DMT_UNICODE,
245 ACPI_DMT_UUID,
246
247 /* Types used only for the Data Table Compiler */
248
249 ACPI_DMT_BUFFER,
250 ACPI_DMT_RAW_BUFFER, /* Large, multiple line buffer */
251 ACPI_DMT_DEVICE_PATH,
252 ACPI_DMT_LABEL,
253 ACPI_DMT_PCI_PATH,
254
255 /* Types that are specific to particular ACPI tables */
256
257 ACPI_DMT_AEST,
258 ACPI_DMT_AEST_CACHE,
259 ACPI_DMT_AEST_GIC,
260 ACPI_DMT_AEST_RES,
261 ACPI_DMT_AEST_XFACE,
262 ACPI_DMT_AEST_XRUPT,
263 ACPI_DMT_AGDI,
264 ACPI_DMT_ASF,
265 ACPI_DMT_ASPT,
266 ACPI_DMT_CDAT,
267 ACPI_DMT_CEDT,
268 ACPI_DMT_DMAR,
269 ACPI_DMT_DMAR_SCOPE,
270 ACPI_DMT_EINJACT,
271 ACPI_DMT_EINJINST,
272 ACPI_DMT_ERSTACT,
273 ACPI_DMT_ERSTINST,
274 ACPI_DMT_FADTPM,
275 ACPI_DMT_GTDT,
276 ACPI_DMT_HEST,
277 ACPI_DMT_HESTNTFY,
278 ACPI_DMT_HESTNTYP,
279 ACPI_DMT_HMAT,
280 ACPI_DMT_IORTMEM,
281 ACPI_DMT_IVRS,
282 ACPI_DMT_IVRS_DE,
283 ACPI_DMT_IVRS_UNTERMINATED_STRING,
284 ACPI_DMT_LPIT,
285 ACPI_DMT_MADT,
286 ACPI_DMT_MPAM_LOCATOR,
287 ACPI_DMT_NFIT,
288 ACPI_DMT_NHLT1,
289 ACPI_DMT_NHLT1a,
290 ACPI_DMT_NHLT1b,
291 ACPI_DMT_NHLT1c,
292 ACPI_DMT_NHLT1d,
293 ACPI_DMT_NHLT1e,
294 ACPI_DMT_NHLT1f,
295 ACPI_DMT_PCCT,
296 ACPI_DMT_PHAT,
297 ACPI_DMT_PMTT,
298 ACPI_DMT_PMTT_VENDOR,
299 ACPI_DMT_PPTT,
300 ACPI_DMT_RGRT,
301 ACPI_DMT_RHCT,
302 ACPI_DMT_SDEI,
303 ACPI_DMT_SDEV,
304 ACPI_DMT_SLIC,
305 ACPI_DMT_SRAT,
306 ACPI_DMT_TPM2,
307 ACPI_DMT_VIOT,
308 ACPI_DMT_WPBT_UNICODE,
309
310 /* Special opcodes */
311
312 ACPI_DMT_EXTRA_TEXT,
313 ACPI_DMT_EXIT
314
315 } ACPI_ENTRY_TYPES;
316
317 typedef
318 void (*ACPI_DMTABLE_HANDLER) (
319 ACPI_TABLE_HEADER *Table);
320
321 typedef
322 ACPI_STATUS (*ACPI_CMTABLE_HANDLER) (
323 void **PFieldList);
324
325 typedef struct acpi_dmtable_data
326 {
327 char *Signature;
328 ACPI_DMTABLE_INFO *TableInfo;
329 ACPI_DMTABLE_HANDLER TableHandler;
330 ACPI_CMTABLE_HANDLER CmTableHandler;
331 const unsigned char *Template;
332
333 } ACPI_DMTABLE_DATA;
334
335
336 typedef struct acpi_op_walk_info
337 {
338 ACPI_WALK_STATE *WalkState;
339 ACPI_PARSE_OBJECT *MappingOp;
340 UINT8 *PreviousAml;
341 UINT8 *StartAml;
342 UINT32 Level;
343 UINT32 LastLevel;
344 UINT32 Count;
345 UINT32 BitOffset;
346 UINT32 Flags;
347 UINT32 AmlOffset;
348
349 } ACPI_OP_WALK_INFO;
350
351 /*
352 * TBD - another copy of this is in asltypes.h, fix
353 */
354 #ifndef ASL_WALK_CALLBACK_DEFINED
355 typedef
356 ACPI_STATUS (*ASL_WALK_CALLBACK) (
357 ACPI_PARSE_OBJECT *Op,
358 UINT32 Level,
359 void *Context);
360 #define ASL_WALK_CALLBACK_DEFINED
361 #endif
362
363 typedef
364 void (*ACPI_RESOURCE_HANDLER) (
365 ACPI_OP_WALK_INFO *Info,
366 AML_RESOURCE *Resource,
367 UINT32 Length,
368 UINT32 Level);
369
370 typedef struct acpi_resource_tag
371 {
372 UINT32 BitIndex;
373 char *Tag;
374
375 } ACPI_RESOURCE_TAG;
376
377 /* Strings used for decoding flags to ASL keywords */
378
379 extern const char *AcpiGbl_WordDecode[];
380 extern const char *AcpiGbl_IrqDecode[];
381 extern const char *AcpiGbl_LockRule[];
382 extern const char *AcpiGbl_AccessTypes[];
383 extern const char *AcpiGbl_UpdateRules[];
384 extern const char *AcpiGbl_MatchOps[];
385
386 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestHdr[];
387 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProcError[];
388 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestCacheRsrc[];
389 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestTlbRsrc[];
390 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGenRsrc[];
391 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestMemError[];
392 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestSmmuError[];
393 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[];
394 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorV2Error[];
395 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[];
396 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestPCIeError[];
397 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProxyError[];
398 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[];
399 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXfaceHeader[];
400 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface4k[];
401 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface16k[];
402 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface64k[];
403 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[];
404 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXruptV2[];
405 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[];
406 extern ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[];
407 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
408 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[];
409 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[];
410 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[];
411 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[];
412 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
413 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
414 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
415 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt[];
416 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsptHdr[];
417 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[];
418 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[];
419 extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[];
420 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[];
421 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
422 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
423 extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[];
424 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCcel[];
425 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatTableHdr[];
426 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatHeader[];
427 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat0[];
428 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat1[];
429 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat2[];
430 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat3[];
431 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat4[];
432 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat5[];
433 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatEntries[];
434 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedtHdr[];
435 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt0[];
436 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1[];
437 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1_te[];
438 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt2[];
439 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt2_te[];
440 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[];
441 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[];
442 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[];
443 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[];
444 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[];
445 extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[];
446 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[];
447 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[];
448 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[];
449 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[];
450 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[];
451 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[];
452 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[];
453 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[];
454 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[];
455 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[];
456 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[];
457 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[];
458 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[];
459 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[];
460 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[];
461 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar5[];
462 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[];
463 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[];
464 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[];
465 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[];
466 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[];
467 extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[];
468 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[];
469 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[];
470 extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[];
471 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[];
472 extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[];
473 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[];
474 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[];
475 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[];
476 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[];
477 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[];
478 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[];
479 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[];
480 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[];
481 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[];
482 extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[];
483 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[];
484 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[];
485 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[];
486 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtEl2[];
487 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[];
488 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[];
489 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[];
490 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[];
491 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[];
492 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[];
493 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[];
494 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[];
495 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[];
496 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[];
497 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[];
498 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[];
499 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[];
500 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest11[];
501 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[];
502 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[];
503 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[];
504 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[];
505 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[];
506 extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[];
507 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat[];
508 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat0[];
509 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1[];
510 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1a[];
511 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1b[];
512 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1c[];
513 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2[];
514 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2a[];
515 extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmatHdr[];
516 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort[];
517 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[];
518 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[];
519 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[];
520 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[];
521 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[];
522 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[];
523 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[];
524 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[];
525 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[];
526 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[];
527 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort5[];
528 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort6[];
529 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort6a[];
530 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[];
531 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[];
532 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr3[];
533 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[];
534 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[];
535 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[];
536 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware1[];
537 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware23[];
538 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsMemory[];
539 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
540 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
541 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
542 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
543 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidString[];
544 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidInteger[];
545 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid[];
546 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidString[];
547 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidInteger[];
548 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidString[];
549 extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidInteger[];
550 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
551 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
552 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
553 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[];
554 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[];
555 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[];
556 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[];
557 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[];
558 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[];
559 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[];
560 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[];
561 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[];
562 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[];
563 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11a[];
564 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11b[];
565 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[];
566 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[];
567 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
568 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14a[];
569 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
570 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15a[];
571 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[];
572 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[];
573 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt18[];
574 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt19[];
575 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt20[];
576 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt21[];
577 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt22[];
578 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt23[];
579 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt24[];
580 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt25[];
581 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt26[];
582 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt27[];
583 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt128[];
584 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
585 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
586 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
587 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[];
588 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam0[];
589 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1[];
590 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1A[];
591 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1B[];
592 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1C[];
593 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1D[];
594 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1E[];
595 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1F[];
596 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1G[];
597 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1Deps[];
598 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam2[];
599 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[];
600 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[];
601 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[];
602 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[];
603 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[];
604 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[];
605 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[];
606 extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[];
607 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[];
608 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[];
609 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[];
610 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[];
611 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[];
612 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[];
613 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[];
614 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[];
615 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[];
616 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[];
617 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[];
618 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[];
619 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[];
620 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt[];
621 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt0[];
622 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt1[];
623 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt2[];
624 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3[];
625 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3a[];
626 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt4[];
627 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5[];
628 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5a[];
629 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5b[];
630 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5c[];
631 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6[];
632 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6a[];
633 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6b[];
634 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7[];
635 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7a[];
636 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7b[];
637 extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt9[];
638 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhatHdr[];
639 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0[];
640 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0a[];
641 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1[];
642 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1a[];
643 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1b[];
644 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[];
645 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[];
646 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[];
647 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[];
648 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttVendor[];
649 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[];
650 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
651 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
652 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
653 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
654 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
655 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[];
656 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[];
657 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct5[];
658 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[];
659 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[];
660 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[];
661 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[];
662 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
663 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[];
664 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
665 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
666 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHdr[];
667 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtModule[];
668 extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[];
669 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
670 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRas2[];
671 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRas2PccDesc[];
672 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[];
673 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[];
674 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[];
675 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctNodeHdr[];
676 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsa1[];
677 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsaPad[];
678 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctCmo1[];
679 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctMmu1[];
680 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo1[];
681 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo2[];
682 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
683 extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
684 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
685 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[];
686 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[];
687 extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[];
688 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[];
689 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[];
690 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[];
691 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[];
692 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[];
693 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[];
694 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0b[];
695 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompHdr[];
696 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompId[];
697 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompMem[];
698 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[];
699 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[];
700 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[];
701 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[];
702 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[];
703 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[];
704 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[];
705 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[];
706 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[];
707 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[];
708 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[];
709 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[];
710 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[];
711 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[];
712 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
713 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat6[];
714 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat7[];
715 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
716 extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
717 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl[];
718 extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl0[];
719 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
720 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
721 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
722 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTdel[];
723 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[];
724 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[];
725 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[];
726 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[];
727 extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[];
728 extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[];
729 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot[];
730 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViotHeader[];
731 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot1[];
732 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot2[];
733 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot3[];
734 extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot4[];
735 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[];
736 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[];
737 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[];
738 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[];
739 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[];
740 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[];
741 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[];
742 extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[];
743 extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[];
744
745 extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2];
746
747 /*
748 * dmtable and ahtable
749 */
750 extern const ACPI_DMTABLE_DATA AcpiDmTableData[];
751 extern const AH_TABLE AcpiGbl_SupportedTables[];
752
753 UINT8
754 AcpiDmGenerateChecksum (
755 void *Table,
756 UINT32 Length,
757 UINT8 OriginalChecksum);
758
759 const ACPI_DMTABLE_DATA *
760 AcpiDmGetTableData (
761 char *Signature);
762
763 void
764 AcpiDmDumpDataTable (
765 ACPI_TABLE_HEADER *Table);
766
767 ACPI_STATUS
768 AcpiDmDumpTable (
769 UINT32 TableLength,
770 UINT32 TableOffset,
771 void *Table,
772 UINT32 SubtableLength,
773 ACPI_DMTABLE_INFO *Info);
774
775 void
776 AcpiDmLineHeader (
777 UINT32 Offset,
778 UINT32 ByteLength,
779 char *Name);
780
781 void
782 AcpiDmLineHeader2 (
783 UINT32 Offset,
784 UINT32 ByteLength,
785 char *Name,
786 UINT32 Value);
787
788
789 /*
790 * dmtbdump
791 */
792 void
793 AcpiDmDumpBuffer (
794 void *Table,
795 UINT32 BufferOffset,
796 UINT32 Length,
797 UINT32 AbsoluteOffset,
798 char *Header);
799
800 void
801 AcpiDmDumpUnicode (
802 void *Table,
803 UINT32 BufferOffset,
804 UINT32 ByteLength);
805
806 void
807 AcpiDmDumpAest (
808 ACPI_TABLE_HEADER *Table);
809
810 void
811 AcpiDmDumpApmt (
812 ACPI_TABLE_HEADER *Table);
813
814 void
815 AcpiDmDumpAsf (
816 ACPI_TABLE_HEADER *Table);
817
818 void
819 AcpiDmDumpAspt (
820 ACPI_TABLE_HEADER *Table);
821
822 void
823 AcpiDmDumpCcel (
824 ACPI_TABLE_HEADER *Table);
825
826 void
827 AcpiDmDumpCdat (
828 ACPI_TABLE_HEADER *Table);
829
830 void
831 AcpiDmDumpCedt (
832 ACPI_TABLE_HEADER *Table);
833
834 void
835 AcpiDmDumpCpep (
836 ACPI_TABLE_HEADER *Table);
837
838 void
839 AcpiDmDumpCsrt (
840 ACPI_TABLE_HEADER *Table);
841
842 void
843 AcpiDmDumpDbg2 (
844 ACPI_TABLE_HEADER *Table);
845
846 void
847 AcpiDmDumpDmar (
848 ACPI_TABLE_HEADER *Table);
849
850 void
851 AcpiDmDumpDrtm (
852 ACPI_TABLE_HEADER *Table);
853
854 void
855 AcpiDmDumpEinj (
856 ACPI_TABLE_HEADER *Table);
857
858 void
859 AcpiDmDumpErst (
860 ACPI_TABLE_HEADER *Table);
861
862 void
863 AcpiDmDumpFadt (
864 ACPI_TABLE_HEADER *Table);
865
866 void
867 AcpiDmDumpFpdt (
868 ACPI_TABLE_HEADER *Table);
869
870 void
871 AcpiDmDumpGtdt (
872 ACPI_TABLE_HEADER *Table);
873
874 void
875 AcpiDmDumpHest (
876 ACPI_TABLE_HEADER *Table);
877
878 void
879 AcpiDmDumpHmat (
880 ACPI_TABLE_HEADER *Table);
881
882 void
883 AcpiDmDumpIort (
884 ACPI_TABLE_HEADER *Table);
885
886 void
887 AcpiDmDumpIvrs (
888 ACPI_TABLE_HEADER *Table);
889
890 void
891 AcpiDmDumpLpit (
892 ACPI_TABLE_HEADER *Table);
893
894 void
895 AcpiDmDumpMadt (
896 ACPI_TABLE_HEADER *Table);
897
898 void
899 AcpiDmDumpMcfg (
900 ACPI_TABLE_HEADER *Table);
901
902 void
903 AcpiDmDumpMpam (
904 ACPI_TABLE_HEADER *Table);
905
906 void
907 AcpiDmDumpMpst (
908 ACPI_TABLE_HEADER *Table);
909
910 void
911 AcpiDmDumpMsct (
912 ACPI_TABLE_HEADER *Table);
913
914 void
915 AcpiDmDumpNfit (
916 ACPI_TABLE_HEADER *Table);
917
918 void
919 AcpiDmDumpNhlt (
920 ACPI_TABLE_HEADER *Table);
921
922 void
923 AcpiDmDumpPcct (
924 ACPI_TABLE_HEADER *Table);
925
926 void
927 AcpiDmDumpPdtt (
928 ACPI_TABLE_HEADER *Table);
929
930 void
931 AcpiDmDumpPhat (
932 ACPI_TABLE_HEADER *Table);
933
934 void
935 AcpiDmDumpPmtt (
936 ACPI_TABLE_HEADER *Table);
937
938 void
939 AcpiDmDumpPptt (
940 ACPI_TABLE_HEADER *Table);
941
942 void
943 AcpiDmDumpPrmt (
944 ACPI_TABLE_HEADER *Table);
945
946 void
947 AcpiDmDumpRas2 (
948 ACPI_TABLE_HEADER *Table);
949
950 void
951 AcpiDmDumpRgrt (
952 ACPI_TABLE_HEADER *Table);
953
954 void
955 AcpiDmDumpRhct (
956 ACPI_TABLE_HEADER *Table);
957
958 UINT32
959 AcpiDmDumpRsdp (
960 ACPI_TABLE_HEADER *Table);
961
962 void
963 AcpiDmDumpRsdt (
964 ACPI_TABLE_HEADER *Table);
965
966 UINT32
967 AcpiDmDumpS3pt (
968 ACPI_TABLE_HEADER *Table);
969
970 void
971 AcpiDmDumpSdev (
972 ACPI_TABLE_HEADER *Table);
973
974 void
975 AcpiDmDumpSlic (
976 ACPI_TABLE_HEADER *Table);
977
978 void
979 AcpiDmDumpSlit (
980 ACPI_TABLE_HEADER *Table);
981
982 void
983 AcpiDmDumpSrat (
984 ACPI_TABLE_HEADER *Table);
985
986 void
987 AcpiDmDumpStao (
988 ACPI_TABLE_HEADER *Table);
989
990 void
991 AcpiDmDumpSvkl (
992 ACPI_TABLE_HEADER *Table);
993
994 void
995 AcpiDmDumpTcpa (
996 ACPI_TABLE_HEADER *Table);
997
998 void
999 AcpiDmDumpTdel (
1000 ACPI_TABLE_HEADER *Table);
1001
1002 void
1003 AcpiDmDumpTpm2 (
1004 ACPI_TABLE_HEADER *Table);
1005
1006 void
1007 AcpiDmDumpViot (
1008 ACPI_TABLE_HEADER *Table);
1009
1010 void
1011 AcpiDmDumpWdat (
1012 ACPI_TABLE_HEADER *Table);
1013
1014 void
1015 AcpiDmDumpWpbt (
1016 ACPI_TABLE_HEADER *Table);
1017
1018 void
1019 AcpiDmDumpXsdt (
1020 ACPI_TABLE_HEADER *Table);
1021
1022
1023 /*
1024 * dmwalk
1025 */
1026 void
1027 AcpiDmDisassemble (
1028 ACPI_WALK_STATE *WalkState,
1029 ACPI_PARSE_OBJECT *Origin,
1030 UINT32 NumOpcodes);
1031
1032 void
1033 AcpiDmWalkParseTree (
1034 ACPI_PARSE_OBJECT *Op,
1035 ASL_WALK_CALLBACK DescendingCallback,
1036 ASL_WALK_CALLBACK AscendingCallback,
1037 void *Context);
1038
1039
1040 /*
1041 * dmopcode
1042 */
1043 void
1044 AcpiDmDisassembleOneOp (
1045 ACPI_WALK_STATE *WalkState,
1046 ACPI_OP_WALK_INFO *Info,
1047 ACPI_PARSE_OBJECT *Op);
1048
1049 UINT32
1050 AcpiDmListType (
1051 ACPI_PARSE_OBJECT *Op);
1052
1053 void
1054 AcpiDmMethodFlags (
1055 ACPI_PARSE_OBJECT *Op);
1056
1057 void
1058 AcpiDmDisplayTargetPathname (
1059 ACPI_PARSE_OBJECT *Op);
1060
1061 void
1062 AcpiDmNotifyDescription (
1063 ACPI_PARSE_OBJECT *Op);
1064
1065 void
1066 AcpiDmPredefinedDescription (
1067 ACPI_PARSE_OBJECT *Op);
1068
1069 void
1070 AcpiDmFieldPredefinedDescription (
1071 ACPI_PARSE_OBJECT *Op);
1072
1073 void
1074 AcpiDmFieldFlags (
1075 ACPI_PARSE_OBJECT *Op);
1076
1077 void
1078 AcpiDmAddressSpace (
1079 UINT8 SpaceId);
1080
1081 void
1082 AcpiDmRegionFlags (
1083 ACPI_PARSE_OBJECT *Op);
1084
1085 void
1086 AcpiDmMatchOp (
1087 ACPI_PARSE_OBJECT *Op);
1088
1089
1090 /*
1091 * dmnames
1092 */
1093 UINT32
1094 AcpiDmDumpName (
1095 UINT32 Name);
1096
1097 ACPI_STATUS
1098 AcpiPsDisplayObjectPathname (
1099 ACPI_WALK_STATE *WalkState,
1100 ACPI_PARSE_OBJECT *Op);
1101
1102 void
1103 AcpiDmNamestring (
1104 char *Name);
1105
1106
1107 /*
1108 * dmbuffer
1109 */
1110 void
1111 AcpiDmDisasmByteList (
1112 UINT32 Level,
1113 UINT8 *ByteData,
1114 UINT32 ByteCount);
1115
1116 void
1117 AcpiDmByteList (
1118 ACPI_OP_WALK_INFO *Info,
1119 ACPI_PARSE_OBJECT *Op);
1120
1121 void
1122 AcpiDmCheckForHardwareId (
1123 ACPI_PARSE_OBJECT *Op);
1124
1125 void
1126 AcpiDmDecompressEisaId (
1127 UINT32 EncodedId);
1128
1129 BOOLEAN
1130 AcpiDmIsUuidBuffer (
1131 ACPI_PARSE_OBJECT *Op);
1132
1133 BOOLEAN
1134 AcpiDmIsUnicodeBuffer (
1135 ACPI_PARSE_OBJECT *Op);
1136
1137 BOOLEAN
1138 AcpiDmIsStringBuffer (
1139 ACPI_PARSE_OBJECT *Op);
1140
1141 BOOLEAN
1142 AcpiDmIsPldBuffer (
1143 ACPI_PARSE_OBJECT *Op);
1144
1145
1146 /*
1147 * dmdeferred
1148 */
1149 ACPI_STATUS
1150 AcpiDmParseDeferredOps (
1151 ACPI_PARSE_OBJECT *Root);
1152
1153
1154 /*
1155 * dmextern
1156 */
1157 ACPI_STATUS
1158 AcpiDmAddToExternalFileList (
1159 char *PathList);
1160
1161 void
1162 AcpiDmClearExternalFileList (
1163 void);
1164
1165 void
1166 AcpiDmAddOpToExternalList (
1167 ACPI_PARSE_OBJECT *Op,
1168 char *Path,
1169 UINT8 Type,
1170 UINT32 Value,
1171 UINT16 Flags);
1172
1173 void
1174 AcpiDmCreateSubobjectForExternal (
1175 UINT8 Type,
1176 ACPI_NAMESPACE_NODE **Node,
1177 UINT32 Value);
1178
1179 void
1180 AcpiDmAddNodeToExternalList (
1181 ACPI_NAMESPACE_NODE *Node,
1182 UINT8 Type,
1183 UINT32 Value,
1184 UINT16 Flags);
1185
1186 void
1187 AcpiDmAddExternalListToNamespace (
1188 void);
1189
1190 void
1191 AcpiDmAddOneExternalToNamespace (
1192 char *Path,
1193 UINT8 Type,
1194 UINT32 Value);
1195
1196 UINT32
1197 AcpiDmGetUnresolvedExternalMethodCount (
1198 void);
1199
1200 void
1201 AcpiDmClearExternalList (
1202 void);
1203
1204 void
1205 AcpiDmEmitExternals (
1206 void);
1207
1208 void
1209 AcpiDmEmitExternal (
1210 ACPI_PARSE_OBJECT *NameOp,
1211 ACPI_PARSE_OBJECT *TypeOp);
1212
1213 void
1214 AcpiDmUnresolvedWarning (
1215 UINT8 Type);
1216
1217 void
1218 AcpiDmGetExternalsFromFile (
1219 void);
1220
1221 void
1222 AcpiDmMarkExternalConflict (
1223 ACPI_NAMESPACE_NODE *Node);
1224
1225
1226 /*
1227 * dmresrc
1228 */
1229 void
1230 AcpiDmDumpInteger8 (
1231 UINT8 Value,
1232 const char *Name);
1233
1234 void
1235 AcpiDmDumpInteger16 (
1236 UINT16 Value,
1237 const char *Name);
1238
1239 void
1240 AcpiDmDumpInteger32 (
1241 UINT32 Value,
1242 const char *Name);
1243
1244 void
1245 AcpiDmDumpInteger64 (
1246 UINT64 Value,
1247 const char *Name);
1248
1249 void
1250 AcpiDmResourceTemplate (
1251 ACPI_OP_WALK_INFO *Info,
1252 ACPI_PARSE_OBJECT *Op,
1253 UINT8 *ByteData,
1254 UINT32 ByteCount);
1255
1256 ACPI_STATUS
1257 AcpiDmIsResourceTemplate (
1258 ACPI_WALK_STATE *WalkState,
1259 ACPI_PARSE_OBJECT *Op);
1260
1261 void
1262 AcpiDmBitList (
1263 UINT16 Mask);
1264
1265 void
1266 AcpiDmDescriptorName (
1267 void);
1268
1269
1270 /*
1271 * dmresrcl
1272 */
1273 void
1274 AcpiDmWordDescriptor (
1275 ACPI_OP_WALK_INFO *Info,
1276 AML_RESOURCE *Resource,
1277 UINT32 Length,
1278 UINT32 Level);
1279
1280 void
1281 AcpiDmDwordDescriptor (
1282 ACPI_OP_WALK_INFO *Info,
1283 AML_RESOURCE *Resource,
1284 UINT32 Length,
1285 UINT32 Level);
1286
1287 void
1288 AcpiDmExtendedDescriptor (
1289 ACPI_OP_WALK_INFO *Info,
1290 AML_RESOURCE *Resource,
1291 UINT32 Length,
1292 UINT32 Level);
1293
1294 void
1295 AcpiDmQwordDescriptor (
1296 ACPI_OP_WALK_INFO *Info,
1297 AML_RESOURCE *Resource,
1298 UINT32 Length,
1299 UINT32 Level);
1300
1301 void
1302 AcpiDmMemory24Descriptor (
1303 ACPI_OP_WALK_INFO *Info,
1304 AML_RESOURCE *Resource,
1305 UINT32 Length,
1306 UINT32 Level);
1307
1308 void
1309 AcpiDmMemory32Descriptor (
1310 ACPI_OP_WALK_INFO *Info,
1311 AML_RESOURCE *Resource,
1312 UINT32 Length,
1313 UINT32 Level);
1314
1315 void
1316 AcpiDmFixedMemory32Descriptor (
1317 ACPI_OP_WALK_INFO *Info,
1318 AML_RESOURCE *Resource,
1319 UINT32 Length,
1320 UINT32 Level);
1321
1322 void
1323 AcpiDmGenericRegisterDescriptor (
1324 ACPI_OP_WALK_INFO *Info,
1325 AML_RESOURCE *Resource,
1326 UINT32 Length,
1327 UINT32 Level);
1328
1329 void
1330 AcpiDmInterruptDescriptor (
1331 ACPI_OP_WALK_INFO *Info,
1332 AML_RESOURCE *Resource,
1333 UINT32 Length,
1334 UINT32 Level);
1335
1336 void
1337 AcpiDmVendorLargeDescriptor (
1338 ACPI_OP_WALK_INFO *Info,
1339 AML_RESOURCE *Resource,
1340 UINT32 Length,
1341 UINT32 Level);
1342
1343 void
1344 AcpiDmGpioDescriptor (
1345 ACPI_OP_WALK_INFO *Info,
1346 AML_RESOURCE *Resource,
1347 UINT32 Length,
1348 UINT32 Level);
1349
1350 void
1351 AcpiDmPinFunctionDescriptor (
1352 ACPI_OP_WALK_INFO *Info,
1353 AML_RESOURCE *Resource,
1354 UINT32 Length,
1355 UINT32 Level);
1356
1357 void
1358 AcpiDmPinConfigDescriptor (
1359 ACPI_OP_WALK_INFO *Info,
1360 AML_RESOURCE *Resource,
1361 UINT32 Length,
1362 UINT32 Level);
1363
1364 void
1365 AcpiDmPinGroupDescriptor (
1366 ACPI_OP_WALK_INFO *Info,
1367 AML_RESOURCE *Resource,
1368 UINT32 Length,
1369 UINT32 Level);
1370
1371 void
1372 AcpiDmPinGroupFunctionDescriptor (
1373 ACPI_OP_WALK_INFO *Info,
1374 AML_RESOURCE *Resource,
1375 UINT32 Length,
1376 UINT32 Level);
1377
1378 void
1379 AcpiDmPinGroupConfigDescriptor (
1380 ACPI_OP_WALK_INFO *Info,
1381 AML_RESOURCE *Resource,
1382 UINT32 Length,
1383 UINT32 Level);
1384
1385 void
1386 AcpiDmSerialBusDescriptor (
1387 ACPI_OP_WALK_INFO *Info,
1388 AML_RESOURCE *Resource,
1389 UINT32 Length,
1390 UINT32 Level);
1391
1392 void
1393 AcpiDmVendorCommon (
1394 const char *Name,
1395 UINT8 *ByteData,
1396 UINT32 Length,
1397 UINT32 Level);
1398
1399 void
1400 AcpiDmClockInputDescriptor (
1401 ACPI_OP_WALK_INFO *Info,
1402 AML_RESOURCE *Resource,
1403 UINT32 Length,
1404 UINT32 Level);
1405
1406 /*
1407 * dmresrcs
1408 */
1409 void
1410 AcpiDmIrqDescriptor (
1411 ACPI_OP_WALK_INFO *Info,
1412 AML_RESOURCE *Resource,
1413 UINT32 Length,
1414 UINT32 Level);
1415
1416 void
1417 AcpiDmDmaDescriptor (
1418 ACPI_OP_WALK_INFO *Info,
1419 AML_RESOURCE *Resource,
1420 UINT32 Length,
1421 UINT32 Level);
1422
1423 void
1424 AcpiDmFixedDmaDescriptor (
1425 ACPI_OP_WALK_INFO *Info,
1426 AML_RESOURCE *Resource,
1427 UINT32 Length,
1428 UINT32 Level);
1429
1430 void
1431 AcpiDmIoDescriptor (
1432 ACPI_OP_WALK_INFO *Info,
1433 AML_RESOURCE *Resource,
1434 UINT32 Length,
1435 UINT32 Level);
1436
1437 void
1438 AcpiDmFixedIoDescriptor (
1439 ACPI_OP_WALK_INFO *Info,
1440 AML_RESOURCE *Resource,
1441 UINT32 Length,
1442 UINT32 Level);
1443
1444 void
1445 AcpiDmStartDependentDescriptor (
1446 ACPI_OP_WALK_INFO *Info,
1447 AML_RESOURCE *Resource,
1448 UINT32 Length,
1449 UINT32 Level);
1450
1451 void
1452 AcpiDmEndDependentDescriptor (
1453 ACPI_OP_WALK_INFO *Info,
1454 AML_RESOURCE *Resource,
1455 UINT32 Length,
1456 UINT32 Level);
1457
1458 void
1459 AcpiDmVendorSmallDescriptor (
1460 ACPI_OP_WALK_INFO *Info,
1461 AML_RESOURCE *Resource,
1462 UINT32 Length,
1463 UINT32 Level);
1464
1465
1466 /*
1467 * dmutils
1468 */
1469 void
1470 AcpiDmDecodeAttribute (
1471 UINT8 Attribute);
1472
1473 void
1474 AcpiDmIndent (
1475 UINT32 Level);
1476
1477 BOOLEAN
1478 AcpiDmCommaIfListMember (
1479 ACPI_PARSE_OBJECT *Op);
1480
1481 void
1482 AcpiDmCommaIfFieldMember (
1483 ACPI_PARSE_OBJECT *Op);
1484
1485
1486 /*
1487 * dmrestag
1488 */
1489 void
1490 AcpiDmFindResources (
1491 ACPI_PARSE_OBJECT *Root);
1492
1493 void
1494 AcpiDmCheckResourceReference (
1495 ACPI_PARSE_OBJECT *Op,
1496 ACPI_WALK_STATE *WalkState);
1497
1498
1499 /*
1500 * dmcstyle
1501 */
1502 BOOLEAN
1503 AcpiDmCheckForSymbolicOpcode (
1504 ACPI_PARSE_OBJECT *Op,
1505 ACPI_OP_WALK_INFO *Info);
1506
1507 void
1508 AcpiDmCloseOperator (
1509 ACPI_PARSE_OBJECT *Op);
1510
1511
1512 /*
1513 * dmtables
1514 */
1515 ACPI_STATUS
1516 AcpiDmProcessSwitch (
1517 ACPI_PARSE_OBJECT *Op);
1518
1519 void
1520 AcpiDmClearTempList(
1521 void);
1522
1523 /*
1524 * dmtables
1525 */
1526 void
1527 AdDisassemblerHeader (
1528 char *Filename,
1529 UINT8 TableType);
1530
1531 #define ACPI_IS_AML_TABLE 0
1532 #define ACPI_IS_DATA_TABLE 1
1533
1534
1535 /*
1536 * adisasm
1537 */
1538 ACPI_STATUS
1539 AdAmlDisassemble (
1540 BOOLEAN OutToFile,
1541 char *Filename,
1542 char *Prefix,
1543 char **OutFilename);
1544
1545 ACPI_STATUS
1546 AdGetLocalTables (
1547 void);
1548
1549 ACPI_STATUS
1550 AdParseTable (
1551 ACPI_TABLE_HEADER *Table,
1552 ACPI_OWNER_ID *OwnerId,
1553 BOOLEAN LoadTable,
1554 BOOLEAN External);
1555
1556 ACPI_STATUS
1557 AdDisplayTables (
1558 char *Filename,
1559 ACPI_TABLE_HEADER *Table);
1560
1561 ACPI_STATUS
1562 AdDisplayStatistics (
1563 void);
1564
1565
1566 /*
1567 * dmwalk
1568 */
1569 UINT32
1570 AcpiDmBlockType (
1571 ACPI_PARSE_OBJECT *Op);
1572
1573
1574 #endif /* __ACDISASM_H__ */
1575