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