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