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