acdisasm.h revision 193267
1100966Siwasaki/****************************************************************************** 2100966Siwasaki * 3100966Siwasaki * Name: acdisasm.h - AML disassembler 4100966Siwasaki * 5100966Siwasaki *****************************************************************************/ 6100966Siwasaki 7100966Siwasaki/****************************************************************************** 8100966Siwasaki * 9100966Siwasaki * 1. Copyright Notice 10100966Siwasaki * 11193267Sjkim * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. 12100966Siwasaki * All rights reserved. 13100966Siwasaki * 14100966Siwasaki * 2. License 15100966Siwasaki * 16100966Siwasaki * 2.1. This is your license from Intel Corp. under its intellectual property 17100966Siwasaki * rights. You may have additional license terms from the party that provided 18100966Siwasaki * you this software, covering your right to use that party's intellectual 19100966Siwasaki * property rights. 20100966Siwasaki * 21100966Siwasaki * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22100966Siwasaki * copy of the source code appearing in this file ("Covered Code") an 23100966Siwasaki * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24100966Siwasaki * base code distributed originally by Intel ("Original Intel Code") to copy, 25100966Siwasaki * make derivatives, distribute, use and display any portion of the Covered 26100966Siwasaki * Code in any form, with the right to sublicense such rights; and 27100966Siwasaki * 28100966Siwasaki * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29100966Siwasaki * license (with the right to sublicense), under only those claims of Intel 30100966Siwasaki * patents that are infringed by the Original Intel Code, to make, use, sell, 31100966Siwasaki * offer to sell, and import the Covered Code and derivative works thereof 32100966Siwasaki * solely to the minimum extent necessary to exercise the above copyright 33100966Siwasaki * license, and in no event shall the patent license extend to any additions 34100966Siwasaki * to or modifications of the Original Intel Code. No other license or right 35100966Siwasaki * is granted directly or by implication, estoppel or otherwise; 36100966Siwasaki * 37100966Siwasaki * The above copyright and patent license is granted only if the following 38100966Siwasaki * conditions are met: 39100966Siwasaki * 40100966Siwasaki * 3. Conditions 41100966Siwasaki * 42100966Siwasaki * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43100966Siwasaki * Redistribution of source code of any substantial portion of the Covered 44100966Siwasaki * Code or modification with rights to further distribute source must include 45100966Siwasaki * the above Copyright Notice, the above License, this list of Conditions, 46100966Siwasaki * and the following Disclaimer and Export Compliance provision. In addition, 47100966Siwasaki * Licensee must cause all Covered Code to which Licensee contributes to 48100966Siwasaki * contain a file documenting the changes Licensee made to create that Covered 49100966Siwasaki * Code and the date of any change. Licensee must include in that file the 50100966Siwasaki * documentation of any changes made by any predecessor Licensee. Licensee 51100966Siwasaki * must include a prominent statement that the modification is derived, 52100966Siwasaki * directly or indirectly, from Original Intel Code. 53100966Siwasaki * 54100966Siwasaki * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55100966Siwasaki * Redistribution of source code of any substantial portion of the Covered 56100966Siwasaki * Code or modification without rights to further distribute source must 57100966Siwasaki * include the following Disclaimer and Export Compliance provision in the 58100966Siwasaki * documentation and/or other materials provided with distribution. In 59100966Siwasaki * addition, Licensee may not authorize further sublicense of source of any 60100966Siwasaki * portion of the Covered Code, and must include terms to the effect that the 61100966Siwasaki * license from Licensee to its licensee is limited to the intellectual 62100966Siwasaki * property embodied in the software Licensee provides to its licensee, and 63100966Siwasaki * not to intellectual property embodied in modifications its licensee may 64100966Siwasaki * make. 65100966Siwasaki * 66100966Siwasaki * 3.3. Redistribution of Executable. Redistribution in executable form of any 67100966Siwasaki * substantial portion of the Covered Code or modification must reproduce the 68100966Siwasaki * above Copyright Notice, and the following Disclaimer and Export Compliance 69100966Siwasaki * provision in the documentation and/or other materials provided with the 70100966Siwasaki * distribution. 71100966Siwasaki * 72100966Siwasaki * 3.4. Intel retains all right, title, and interest in and to the Original 73100966Siwasaki * Intel Code. 74100966Siwasaki * 75100966Siwasaki * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76100966Siwasaki * Intel shall be used in advertising or otherwise to promote the sale, use or 77100966Siwasaki * other dealings in products derived from or relating to the Covered Code 78100966Siwasaki * without prior written authorization from Intel. 79100966Siwasaki * 80100966Siwasaki * 4. Disclaimer and Export Compliance 81100966Siwasaki * 82100966Siwasaki * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83100966Siwasaki * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84100966Siwasaki * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85100966Siwasaki * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86100966Siwasaki * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87100966Siwasaki * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88100966Siwasaki * PARTICULAR PURPOSE. 89100966Siwasaki * 90100966Siwasaki * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91100966Siwasaki * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92100966Siwasaki * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93100966Siwasaki * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94100966Siwasaki * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95100966Siwasaki * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96100966Siwasaki * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97100966Siwasaki * LIMITED REMEDY. 98100966Siwasaki * 99100966Siwasaki * 4.3. Licensee shall not export, either directly or indirectly, any of this 100100966Siwasaki * software or system incorporating such software without first obtaining any 101100966Siwasaki * required license or other approval from the U. S. Department of Commerce or 102100966Siwasaki * any other agency or department of the United States Government. In the 103100966Siwasaki * event Licensee exports any such software from the United States or 104100966Siwasaki * re-exports any such software from a foreign destination, Licensee shall 105100966Siwasaki * ensure that the distribution and export/re-export of the software is in 106100966Siwasaki * compliance with all laws, regulations, orders, or other restrictions of the 107100966Siwasaki * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108100966Siwasaki * any of its subsidiaries will export/re-export any technical data, process, 109100966Siwasaki * software, or service, directly or indirectly, to any country for which the 110100966Siwasaki * United States government or any agency thereof requires an export license, 111100966Siwasaki * other governmental approval, or letter of assurance, without first obtaining 112100966Siwasaki * such license, approval or letter. 113100966Siwasaki * 114100966Siwasaki *****************************************************************************/ 115100966Siwasaki 116100966Siwasaki#ifndef __ACDISASM_H__ 117100966Siwasaki#define __ACDISASM_H__ 118100966Siwasaki 119193251Sjkim#include "amlresrc.h" 120100966Siwasaki 121100966Siwasaki 122100966Siwasaki#define BLOCK_NONE 0 123100966Siwasaki#define BLOCK_PAREN 1 124100966Siwasaki#define BLOCK_BRACE 2 125100966Siwasaki#define BLOCK_COMMA_LIST 4 126167802Sjkim#define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 127100966Siwasaki 128128212Snjltypedef struct acpi_external_list 129128212Snjl{ 130128212Snjl char *Path; 131167802Sjkim char *InternalPath; 132128212Snjl struct acpi_external_list *Next; 133167802Sjkim UINT32 Value; 134167802Sjkim UINT16 Length; 135167802Sjkim UINT8 Type; 136128212Snjl 137128212Snjl} ACPI_EXTERNAL_LIST; 138128212Snjl 139128212Snjlextern ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList; 140151937Sjkim 141167802Sjkimtypedef const struct acpi_dmtable_info 142167802Sjkim{ 143167802Sjkim UINT8 Opcode; 144167802Sjkim UINT8 Offset; 145167802Sjkim char *Name; 146100966Siwasaki 147167802Sjkim} ACPI_DMTABLE_INFO; 148100966Siwasaki 149167802Sjkim/* 150167802Sjkim * Values for Opcode above. 151167802Sjkim * Note: 0-7 must not change, used as a flag shift value 152167802Sjkim */ 153167802Sjkim#define ACPI_DMT_FLAG0 0 154167802Sjkim#define ACPI_DMT_FLAG1 1 155167802Sjkim#define ACPI_DMT_FLAG2 2 156167802Sjkim#define ACPI_DMT_FLAG3 3 157167802Sjkim#define ACPI_DMT_FLAG4 4 158167802Sjkim#define ACPI_DMT_FLAG5 5 159167802Sjkim#define ACPI_DMT_FLAG6 6 160167802Sjkim#define ACPI_DMT_FLAG7 7 161167802Sjkim#define ACPI_DMT_FLAGS0 8 162167802Sjkim#define ACPI_DMT_FLAGS2 9 163167802Sjkim#define ACPI_DMT_UINT8 10 164167802Sjkim#define ACPI_DMT_UINT16 11 165167802Sjkim#define ACPI_DMT_UINT24 12 166167802Sjkim#define ACPI_DMT_UINT32 13 167167802Sjkim#define ACPI_DMT_UINT56 14 168167802Sjkim#define ACPI_DMT_UINT64 15 169167802Sjkim#define ACPI_DMT_STRING 16 170167802Sjkim#define ACPI_DMT_NAME4 17 171167802Sjkim#define ACPI_DMT_NAME6 18 172167802Sjkim#define ACPI_DMT_NAME8 19 173167802Sjkim#define ACPI_DMT_CHKSUM 20 174167802Sjkim#define ACPI_DMT_SPACEID 21 175167802Sjkim#define ACPI_DMT_GAS 22 176193267Sjkim#define ACPI_DMT_ASF 23 177193267Sjkim#define ACPI_DMT_DMAR 24 178193267Sjkim#define ACPI_DMT_HEST 25 179193267Sjkim#define ACPI_DMT_HESTNTFY 26 180193267Sjkim#define ACPI_DMT_HESTNTYP 27 181193267Sjkim#define ACPI_DMT_MADT 28 182193267Sjkim#define ACPI_DMT_SRAT 29 183193267Sjkim#define ACPI_DMT_EXIT 30 184193267Sjkim#define ACPI_DMT_SIG 31 185193267Sjkim#define ACPI_DMT_FADTPM 32 186167802Sjkim 187167802Sjkimtypedef 188193267Sjkimvoid (*ACPI_DMTABLE_HANDLER) ( 189167802Sjkim ACPI_TABLE_HEADER *Table); 190167802Sjkim 191167802Sjkimtypedef struct acpi_dmtable_data 192167802Sjkim{ 193167802Sjkim char *Signature; 194193267Sjkim ACPI_DMTABLE_INFO *TableInfo; 195193267Sjkim ACPI_DMTABLE_HANDLER TableHandler; 196167802Sjkim char *Name; 197167802Sjkim 198167802Sjkim} ACPI_DMTABLE_DATA; 199167802Sjkim 200167802Sjkim 201100966Siwasakitypedef struct acpi_op_walk_info 202100966Siwasaki{ 203100966Siwasaki UINT32 Level; 204167802Sjkim UINT32 LastLevel; 205167802Sjkim UINT32 Count; 206100966Siwasaki UINT32 BitOffset; 207167802Sjkim UINT32 Flags; 208151937Sjkim ACPI_WALK_STATE *WalkState; 209100966Siwasaki 210100966Siwasaki} ACPI_OP_WALK_INFO; 211100966Siwasaki 212100966Siwasakitypedef 213100966SiwasakiACPI_STATUS (*ASL_WALK_CALLBACK) ( 214100966Siwasaki ACPI_PARSE_OBJECT *Op, 215100966Siwasaki UINT32 Level, 216100966Siwasaki void *Context); 217100966Siwasaki 218167802Sjkimtypedef struct acpi_resource_tag 219167802Sjkim{ 220167802Sjkim UINT32 BitIndex; 221167802Sjkim char *Tag; 222100966Siwasaki 223167802Sjkim} ACPI_RESOURCE_TAG; 224167802Sjkim 225167802Sjkim/* Strings used for decoding flags to ASL keywords */ 226167802Sjkim 227167802Sjkimextern const char *AcpiGbl_WordDecode[]; 228167802Sjkimextern const char *AcpiGbl_IrqDecode[]; 229167802Sjkimextern const char *AcpiGbl_LockRule[]; 230167802Sjkimextern const char *AcpiGbl_AccessTypes[]; 231167802Sjkimextern const char *AcpiGbl_UpdateRules[]; 232167802Sjkimextern const char *AcpiGbl_MatchOps[]; 233167802Sjkim 234167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 235167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 236167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 237167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 238167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 239167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 240167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 241167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 242167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 243193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 244167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 245167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 246167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 247167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 248167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 249167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 250167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 251167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 252193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 253167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 254193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 255193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 256193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 257167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 258167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 259167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 260193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 261167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 262167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 263193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 264193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 265193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 266193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest3[]; 267193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest4[]; 268193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest5[]; 269193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 270193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 271193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 272193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 273193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 274167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 275167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 276167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 277167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 278167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 279167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 280167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 281167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 282167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 283167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 284167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 285193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 286193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 287167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 288167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 289167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 290167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 291167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 292167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 293193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 294167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 295167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 296167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 297167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 298193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 299167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 300167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 301193267Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 302167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 303167802Sjkimextern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 304167802Sjkim 305167802Sjkim 306100966Siwasaki/* 307167802Sjkim * dmtable 308167802Sjkim */ 309167802Sjkimvoid 310167802SjkimAcpiDmDumpDataTable ( 311167802Sjkim ACPI_TABLE_HEADER *Table); 312167802Sjkim 313193267SjkimACPI_STATUS 314167802SjkimAcpiDmDumpTable ( 315167802Sjkim UINT32 TableLength, 316167802Sjkim UINT32 TableOffset, 317167802Sjkim void *Table, 318167802Sjkim UINT32 SubTableLength, 319167802Sjkim ACPI_DMTABLE_INFO *Info); 320167802Sjkim 321167802Sjkimvoid 322167802SjkimAcpiDmLineHeader ( 323167802Sjkim UINT32 Offset, 324167802Sjkim UINT32 ByteLength, 325167802Sjkim char *Name); 326167802Sjkim 327167802Sjkimvoid 328167802SjkimAcpiDmLineHeader2 ( 329167802Sjkim UINT32 Offset, 330167802Sjkim UINT32 ByteLength, 331167802Sjkim char *Name, 332167802Sjkim UINT32 Value); 333167802Sjkim 334167802Sjkim 335167802Sjkim/* 336167802Sjkim * dmtbdump 337167802Sjkim */ 338167802Sjkimvoid 339167802SjkimAcpiDmDumpAsf ( 340167802Sjkim ACPI_TABLE_HEADER *Table); 341167802Sjkim 342167802Sjkimvoid 343167802SjkimAcpiDmDumpCpep ( 344167802Sjkim ACPI_TABLE_HEADER *Table); 345167802Sjkim 346167802Sjkimvoid 347167802SjkimAcpiDmDumpDmar ( 348167802Sjkim ACPI_TABLE_HEADER *Table); 349167802Sjkim 350167802Sjkimvoid 351193267SjkimAcpiDmDumpEinj ( 352193267Sjkim ACPI_TABLE_HEADER *Table); 353193267Sjkim 354193267Sjkimvoid 355193267SjkimAcpiDmDumpErst ( 356193267Sjkim ACPI_TABLE_HEADER *Table); 357193267Sjkim 358193267Sjkimvoid 359167802SjkimAcpiDmDumpFadt ( 360167802Sjkim ACPI_TABLE_HEADER *Table); 361167802Sjkim 362167802Sjkimvoid 363193267SjkimAcpiDmDumpHest ( 364167802Sjkim ACPI_TABLE_HEADER *Table); 365167802Sjkim 366167802Sjkimvoid 367167802SjkimAcpiDmDumpMcfg ( 368167802Sjkim ACPI_TABLE_HEADER *Table); 369167802Sjkim 370167802Sjkimvoid 371167802SjkimAcpiDmDumpMadt ( 372167802Sjkim ACPI_TABLE_HEADER *Table); 373167802Sjkim 374167802SjkimUINT32 375167802SjkimAcpiDmDumpRsdp ( 376167802Sjkim ACPI_TABLE_HEADER *Table); 377167802Sjkim 378167802Sjkimvoid 379167802SjkimAcpiDmDumpRsdt ( 380167802Sjkim ACPI_TABLE_HEADER *Table); 381167802Sjkim 382167802Sjkimvoid 383167802SjkimAcpiDmDumpSlit ( 384167802Sjkim ACPI_TABLE_HEADER *Table); 385167802Sjkim 386167802Sjkimvoid 387193267SjkimAcpiDmDumpSrat ( 388193267Sjkim ACPI_TABLE_HEADER *Table); 389193267Sjkim 390193267Sjkimvoid 391167802SjkimAcpiDmDumpXsdt ( 392167802Sjkim ACPI_TABLE_HEADER *Table); 393167802Sjkim 394167802Sjkim 395167802Sjkim/* 396100966Siwasaki * dmwalk 397100966Siwasaki */ 398100966Siwasakivoid 399100966SiwasakiAcpiDmDisassemble ( 400100966Siwasaki ACPI_WALK_STATE *WalkState, 401100966Siwasaki ACPI_PARSE_OBJECT *Origin, 402100966Siwasaki UINT32 NumOpcodes); 403100966Siwasaki 404167802Sjkimvoid 405167802SjkimAcpiDmWalkParseTree ( 406167802Sjkim ACPI_PARSE_OBJECT *Op, 407167802Sjkim ASL_WALK_CALLBACK DescendingCallback, 408167802Sjkim ASL_WALK_CALLBACK AscendingCallback, 409167802Sjkim void *Context); 410100966Siwasaki 411167802Sjkim 412151937Sjkim/* 413151937Sjkim * dmopcode 414151937Sjkim */ 415100966Siwasakivoid 416100966SiwasakiAcpiDmDisassembleOneOp ( 417100966Siwasaki ACPI_WALK_STATE *WalkState, 418102550Siwasaki ACPI_OP_WALK_INFO *Info, 419100966Siwasaki ACPI_PARSE_OBJECT *Op); 420100966Siwasaki 421100966Siwasakivoid 422100966SiwasakiAcpiDmDecodeInternalObject ( 423100966Siwasaki ACPI_OPERAND_OBJECT *ObjDesc); 424100966Siwasaki 425100966SiwasakiUINT32 426100966SiwasakiAcpiDmListType ( 427100966Siwasaki ACPI_PARSE_OBJECT *Op); 428100966Siwasaki 429100966Siwasakivoid 430100966SiwasakiAcpiDmMethodFlags ( 431100966Siwasaki ACPI_PARSE_OBJECT *Op); 432100966Siwasaki 433100966Siwasakivoid 434100966SiwasakiAcpiDmFieldFlags ( 435100966Siwasaki ACPI_PARSE_OBJECT *Op); 436100966Siwasaki 437100966Siwasakivoid 438100966SiwasakiAcpiDmAddressSpace ( 439100966Siwasaki UINT8 SpaceId); 440100966Siwasaki 441100966Siwasakivoid 442100966SiwasakiAcpiDmRegionFlags ( 443100966Siwasaki ACPI_PARSE_OBJECT *Op); 444100966Siwasaki 445100966Siwasakivoid 446100966SiwasakiAcpiDmMatchOp ( 447100966Siwasaki ACPI_PARSE_OBJECT *Op); 448100966Siwasaki 449100966SiwasakiBOOLEAN 450100966SiwasakiAcpiDmCommaIfListMember ( 451100966Siwasaki ACPI_PARSE_OBJECT *Op); 452100966Siwasaki 453102550Siwasakivoid 454100966SiwasakiAcpiDmCommaIfFieldMember ( 455100966Siwasaki ACPI_PARSE_OBJECT *Op); 456100966Siwasaki 457100966Siwasaki 458102550Siwasaki/* 459151937Sjkim * dmnames 460117521Snjl */ 461151937SjkimUINT32 462151937SjkimAcpiDmDumpName ( 463193267Sjkim UINT32 Name); 464117521Snjl 465151937SjkimACPI_STATUS 466151937SjkimAcpiPsDisplayObjectPathname ( 467151937Sjkim ACPI_WALK_STATE *WalkState, 468151937Sjkim ACPI_PARSE_OBJECT *Op); 469151937Sjkim 470117521Snjlvoid 471151937SjkimAcpiDmNamestring ( 472151937Sjkim char *Name); 473117521Snjl 474151937Sjkim 475151937Sjkim/* 476151937Sjkim * dmobject 477151937Sjkim */ 478117521Snjlvoid 479117521SnjlAcpiDmDisplayInternalObject ( 480117521Snjl ACPI_OPERAND_OBJECT *ObjDesc, 481117521Snjl ACPI_WALK_STATE *WalkState); 482117521Snjl 483117521Snjlvoid 484117521SnjlAcpiDmDisplayArguments ( 485117521Snjl ACPI_WALK_STATE *WalkState); 486117521Snjl 487117521Snjlvoid 488117521SnjlAcpiDmDisplayLocals ( 489117521Snjl ACPI_WALK_STATE *WalkState); 490117521Snjl 491117521Snjlvoid 492117521SnjlAcpiDmDumpMethodInfo ( 493117521Snjl ACPI_STATUS Status, 494117521Snjl ACPI_WALK_STATE *WalkState, 495117521Snjl ACPI_PARSE_OBJECT *Op); 496117521Snjl 497117521Snjl 498117521Snjl/* 499100966Siwasaki * dmbuffer 500100966Siwasaki */ 501151937Sjkimvoid 502151937SjkimAcpiDmDisasmByteList ( 503151937Sjkim UINT32 Level, 504151937Sjkim UINT8 *ByteData, 505151937Sjkim UINT32 ByteCount); 506100966Siwasaki 507100966Siwasakivoid 508151937SjkimAcpiDmByteList ( 509151937Sjkim ACPI_OP_WALK_INFO *Info, 510100966Siwasaki ACPI_PARSE_OBJECT *Op); 511100966Siwasaki 512100966Siwasakivoid 513151937SjkimAcpiDmIsEisaId ( 514151937Sjkim ACPI_PARSE_OBJECT *Op); 515151937Sjkim 516151937Sjkimvoid 517100966SiwasakiAcpiDmEisaId ( 518100966Siwasaki UINT32 EncodedId); 519100966Siwasaki 520100966SiwasakiBOOLEAN 521100966SiwasakiAcpiDmIsUnicodeBuffer ( 522100966Siwasaki ACPI_PARSE_OBJECT *Op); 523100966Siwasaki 524100966SiwasakiBOOLEAN 525100966SiwasakiAcpiDmIsStringBuffer ( 526100966Siwasaki ACPI_PARSE_OBJECT *Op); 527100966Siwasaki 528100966Siwasaki 529100966Siwasaki/* 530100966Siwasaki * dmresrc 531100966Siwasaki */ 532151937Sjkimvoid 533151937SjkimAcpiDmDumpInteger8 ( 534151937Sjkim UINT8 Value, 535151937Sjkim char *Name); 536100966Siwasaki 537100966Siwasakivoid 538151937SjkimAcpiDmDumpInteger16 ( 539151937Sjkim UINT16 Value, 540151937Sjkim char *Name); 541100966Siwasaki 542100966Siwasakivoid 543151937SjkimAcpiDmDumpInteger32 ( 544151937Sjkim UINT32 Value, 545151937Sjkim char *Name); 546100966Siwasaki 547100966Siwasakivoid 548151937SjkimAcpiDmDumpInteger64 ( 549151937Sjkim UINT64 Value, 550151937Sjkim char *Name); 551151937Sjkim 552151937Sjkimvoid 553151937SjkimAcpiDmResourceTemplate ( 554102550Siwasaki ACPI_OP_WALK_INFO *Info, 555167802Sjkim ACPI_PARSE_OBJECT *Op, 556100966Siwasaki UINT8 *ByteData, 557100966Siwasaki UINT32 ByteCount); 558100966Siwasaki 559167802SjkimACPI_STATUS 560151937SjkimAcpiDmIsResourceTemplate ( 561100966Siwasaki ACPI_PARSE_OBJECT *Op); 562100966Siwasaki 563100966Siwasakivoid 564100966SiwasakiAcpiDmIndent ( 565100966Siwasaki UINT32 Level); 566100966Siwasaki 567100966Siwasakivoid 568100966SiwasakiAcpiDmBitList ( 569100966Siwasaki UINT16 Mask); 570100966Siwasaki 571107325Siwasakivoid 572107325SiwasakiAcpiDmDecodeAttribute ( 573107325Siwasaki UINT8 Attribute); 574100966Siwasaki 575167802Sjkimvoid 576167802SjkimAcpiDmDescriptorName ( 577167802Sjkim void); 578151937Sjkim 579167802Sjkim 580100966Siwasaki/* 581100966Siwasaki * dmresrcl 582100966Siwasaki */ 583100966Siwasakivoid 584100966SiwasakiAcpiDmWordDescriptor ( 585151937Sjkim AML_RESOURCE *Resource, 586100966Siwasaki UINT32 Length, 587100966Siwasaki UINT32 Level); 588100966Siwasaki 589100966Siwasakivoid 590100966SiwasakiAcpiDmDwordDescriptor ( 591151937Sjkim AML_RESOURCE *Resource, 592100966Siwasaki UINT32 Length, 593100966Siwasaki UINT32 Level); 594100966Siwasaki 595100966Siwasakivoid 596151937SjkimAcpiDmExtendedDescriptor ( 597151937Sjkim AML_RESOURCE *Resource, 598151937Sjkim UINT32 Length, 599151937Sjkim UINT32 Level); 600151937Sjkim 601151937Sjkimvoid 602100966SiwasakiAcpiDmQwordDescriptor ( 603151937Sjkim AML_RESOURCE *Resource, 604100966Siwasaki UINT32 Length, 605100966Siwasaki UINT32 Level); 606100966Siwasaki 607100966Siwasakivoid 608100966SiwasakiAcpiDmMemory24Descriptor ( 609151937Sjkim AML_RESOURCE *Resource, 610100966Siwasaki UINT32 Length, 611100966Siwasaki UINT32 Level); 612100966Siwasaki 613100966Siwasakivoid 614100966SiwasakiAcpiDmMemory32Descriptor ( 615151937Sjkim AML_RESOURCE *Resource, 616100966Siwasaki UINT32 Length, 617100966Siwasaki UINT32 Level); 618100966Siwasaki 619100966Siwasakivoid 620151937SjkimAcpiDmFixedMemory32Descriptor ( 621151937Sjkim AML_RESOURCE *Resource, 622100966Siwasaki UINT32 Length, 623100966Siwasaki UINT32 Level); 624100966Siwasaki 625100966Siwasakivoid 626100966SiwasakiAcpiDmGenericRegisterDescriptor ( 627151937Sjkim AML_RESOURCE *Resource, 628100966Siwasaki UINT32 Length, 629100966Siwasaki UINT32 Level); 630100966Siwasaki 631100966Siwasakivoid 632100966SiwasakiAcpiDmInterruptDescriptor ( 633151937Sjkim AML_RESOURCE *Resource, 634100966Siwasaki UINT32 Length, 635100966Siwasaki UINT32 Level); 636100966Siwasaki 637100966Siwasakivoid 638100966SiwasakiAcpiDmVendorLargeDescriptor ( 639151937Sjkim AML_RESOURCE *Resource, 640100966Siwasaki UINT32 Length, 641100966Siwasaki UINT32 Level); 642100966Siwasaki 643151937Sjkimvoid 644151937SjkimAcpiDmVendorCommon ( 645151937Sjkim char *Name, 646151937Sjkim UINT8 *ByteData, 647151937Sjkim UINT32 Length, 648151937Sjkim UINT32 Level); 649100966Siwasaki 650151937Sjkim 651100966Siwasaki/* 652100966Siwasaki * dmresrcs 653100966Siwasaki */ 654100966Siwasakivoid 655100966SiwasakiAcpiDmIrqDescriptor ( 656151937Sjkim AML_RESOURCE *Resource, 657100966Siwasaki UINT32 Length, 658100966Siwasaki UINT32 Level); 659100966Siwasaki 660100966Siwasakivoid 661100966SiwasakiAcpiDmDmaDescriptor ( 662151937Sjkim AML_RESOURCE *Resource, 663100966Siwasaki UINT32 Length, 664100966Siwasaki UINT32 Level); 665100966Siwasaki 666100966Siwasakivoid 667100966SiwasakiAcpiDmIoDescriptor ( 668151937Sjkim AML_RESOURCE *Resource, 669100966Siwasaki UINT32 Length, 670100966Siwasaki UINT32 Level); 671100966Siwasaki 672100966Siwasakivoid 673100966SiwasakiAcpiDmFixedIoDescriptor ( 674151937Sjkim AML_RESOURCE *Resource, 675100966Siwasaki UINT32 Length, 676100966Siwasaki UINT32 Level); 677100966Siwasaki 678100966Siwasakivoid 679100966SiwasakiAcpiDmStartDependentDescriptor ( 680151937Sjkim AML_RESOURCE *Resource, 681100966Siwasaki UINT32 Length, 682100966Siwasaki UINT32 Level); 683100966Siwasaki 684100966Siwasakivoid 685100966SiwasakiAcpiDmEndDependentDescriptor ( 686151937Sjkim AML_RESOURCE *Resource, 687100966Siwasaki UINT32 Length, 688100966Siwasaki UINT32 Level); 689100966Siwasaki 690100966Siwasakivoid 691100966SiwasakiAcpiDmVendorSmallDescriptor ( 692151937Sjkim AML_RESOURCE *Resource, 693100966Siwasaki UINT32 Length, 694100966Siwasaki UINT32 Level); 695100966Siwasaki 696100966Siwasaki 697128212Snjl/* 698128212Snjl * dmutils 699128212Snjl */ 700128212Snjlvoid 701128212SnjlAcpiDmAddToExternalList ( 702167802Sjkim char *Path, 703167802Sjkim UINT8 Type, 704167802Sjkim UINT32 Value); 705128212Snjl 706167802Sjkim/* 707167802Sjkim * dmrestag 708167802Sjkim */ 709167802Sjkimvoid 710167802SjkimAcpiDmFindResources ( 711167802Sjkim ACPI_PARSE_OBJECT *Root); 712167802Sjkim 713167802Sjkimvoid 714167802SjkimAcpiDmCheckResourceReference ( 715167802Sjkim ACPI_PARSE_OBJECT *Op, 716167802Sjkim ACPI_WALK_STATE *WalkState); 717167802Sjkim 718100966Siwasaki#endif /* __ACDISASM_H__ */ 719