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