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