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