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