acdisasm.h revision 167802
1185089Sraj/****************************************************************************** 2209131Sraj * 3209131Sraj * Name: acdisasm.h - AML disassembler 4240489Sgber * $Revision: 1.39 $ 5185089Sraj * 6185089Sraj *****************************************************************************/ 7185089Sraj 8185089Sraj/****************************************************************************** 9209131Sraj * 10209131Sraj * 1. Copyright Notice 11209131Sraj * 12185089Sraj * Some or all of this work - Copyright (c) 1999 - 2007, Intel Corp. 13185089Sraj * All rights reserved. 14185089Sraj * 15185089Sraj * 2. License 16185089Sraj * 17185089Sraj * 2.1. This is your license from Intel Corp. under its intellectual property 18185089Sraj * rights. You may have additional license terms from the party that provided 19185089Sraj * you this software, covering your right to use that party's intellectual 20185089Sraj * property rights. 21185089Sraj * 22185089Sraj * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 23185089Sraj * copy of the source code appearing in this file ("Covered Code") an 24185089Sraj * irrevocable, perpetual, worldwide license under Intel's copyrights in the 25185089Sraj * base code distributed originally by Intel ("Original Intel Code") to copy, 26185089Sraj * make derivatives, distribute, use and display any portion of the Covered 27185089Sraj * Code in any form, with the right to sublicense such rights; and 28185089Sraj * 29185089Sraj * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 30185089Sraj * license (with the right to sublicense), under only those claims of Intel 31185089Sraj * patents that are infringed by the Original Intel Code, to make, use, sell, 32185089Sraj * offer to sell, and import the Covered Code and derivative works thereof 33185089Sraj * solely to the minimum extent necessary to exercise the above copyright 34185089Sraj * license, and in no event shall the patent license extend to any additions 35185089Sraj * to or modifications of the Original Intel Code. No other license or right 36185089Sraj * is granted directly or by implication, estoppel or otherwise; 37185089Sraj * 38185089Sraj * The above copyright and patent license is granted only if the following 39185089Sraj * conditions are met: 40185089Sraj * 41185089Sraj * 3. Conditions 42185089Sraj * 43185089Sraj * 3.1. Redistribution of Source with Rights to Further Distribute Source. 44185089Sraj * Redistribution of source code of any substantial portion of the Covered 45185089Sraj * Code or modification with rights to further distribute source must include 46185089Sraj * the above Copyright Notice, the above License, this list of Conditions, 47185089Sraj * and the following Disclaimer and Export Compliance provision. In addition, 48185089Sraj * Licensee must cause all Covered Code to which Licensee contributes to 49185089Sraj * contain a file documenting the changes Licensee made to create that Covered 50185089Sraj * Code and the date of any change. Licensee must include in that file the 51185089Sraj * documentation of any changes made by any predecessor Licensee. Licensee 52185089Sraj * must include a prominent statement that the modification is derived, 53185089Sraj * directly or indirectly, from Original Intel Code. 54185089Sraj * 55185089Sraj * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 56260327Snwhitehorn * Redistribution of source code of any substantial portion of the Covered 57240493Sgber * Code or modification without rights to further distribute source must 58240493Sgber * include the following Disclaimer and Export Compliance provision in the 59185089Sraj * documentation and/or other materials provided with distribution. In 60185089Sraj * addition, Licensee may not authorize further sublicense of source of any 61185089Sraj * portion of the Covered Code, and must include terms to the effect that the 62209131Sraj * license from Licensee to its licensee is limited to the intellectual 63209131Sraj * property embodied in the software Licensee provides to its licensee, and 64259484Snwhitehorn * not to intellectual property embodied in modifications its licensee may 65209131Sraj * make. 66185089Sraj * 67185089Sraj * 3.3. Redistribution of Executable. Redistribution in executable form of any 68185089Sraj * substantial portion of the Covered Code or modification must reproduce the 69185089Sraj * above Copyright Notice, and the following Disclaimer and Export Compliance 70209131Sraj * provision in the documentation and/or other materials provided with the 71185089Sraj * distribution. 72185089Sraj * 73260340Sian * 3.4. Intel retains all right, title, and interest in and to the Original 74185089Sraj * Intel Code. 75185089Sraj * 76185089Sraj * 3.5. Neither the name Intel nor any other trademark owned or controlled by 77185089Sraj * Intel shall be used in advertising or otherwise to promote the sale, use or 78185089Sraj * other dealings in products derived from or relating to the Covered Code 79209131Sraj * without prior written authorization from Intel. 80185089Sraj * 81240493Sgber * 4. Disclaimer and Export Compliance 82240493Sgber * 83240493Sgber * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 84240493Sgber * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 85240493Sgber * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 86240493Sgber * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 87260340Sian * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 88260340Sian * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 89260340Sian * PARTICULAR PURPOSE. 90260340Sian * 91260340Sian * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 92260340Sian * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 93260340Sian * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 94260340Sian * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 95260340Sian * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 96260340Sian * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 97260340Sian * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 98260340Sian * LIMITED REMEDY. 99260340Sian * 100260340Sian * 4.3. Licensee shall not export, either directly or indirectly, any of this 101260340Sian * software or system incorporating such software without first obtaining any 102260340Sian * required license or other approval from the U. S. Department of Commerce or 103260340Sian * any other agency or department of the United States Government. In the 104260340Sian * event Licensee exports any such software from the United States or 105260340Sian * re-exports any such software from a foreign destination, Licensee shall 106260340Sian * ensure that the distribution and export/re-export of the software is in 107260340Sian * compliance with all laws, regulations, orders, or other restrictions of the 108260340Sian * U.S. Export Administration Regulations. Licensee agrees that neither it nor 109260340Sian * any of its subsidiaries will export/re-export any technical data, process, 110260340Sian * software, or service, directly or indirectly, to any country for which the 111260340Sian * United States government or any agency thereof requires an export license, 112260340Sian * other governmental approval, or letter of assurance, without first obtaining 113260340Sian * such license, approval or letter. 114260340Sian * 115260340Sian *****************************************************************************/ 116260340Sian 117260340Sian#ifndef __ACDISASM_H__ 118260340Sian#define __ACDISASM_H__ 119260340Sian 120260340Sian#include <contrib/dev/acpica/amlresrc.h> 121260340Sian 122260340Sian 123260340Sian#define BLOCK_NONE 0 124260340Sian#define BLOCK_PAREN 1 125260340Sian#define BLOCK_BRACE 2 126260340Sian#define BLOCK_COMMA_LIST 4 127260340Sian#define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 128260340Sian 129260340Siantypedef struct acpi_external_list 130260340Sian{ 131260340Sian char *Path; 132260340Sian char *InternalPath; 133260340Sian struct acpi_external_list *Next; 134260340Sian UINT32 Value; 135260340Sian UINT16 Length; 136260340Sian UINT8 Type; 137260340Sian 138260340Sian} ACPI_EXTERNAL_LIST; 139260340Sian 140260340Sianextern ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList; 141260340Sian 142260340Siantypedef const struct acpi_dmtable_info 143260340Sian{ 144260340Sian UINT8 Opcode; 145260340Sian UINT8 Offset; 146260340Sian char *Name; 147260340Sian 148260340Sian} ACPI_DMTABLE_INFO; 149260340Sian 150260340Sian/* 151260340Sian * Values for Opcode above. 152260340Sian * Note: 0-7 must not change, used as a flag shift value 153260340Sian */ 154260340Sian#define ACPI_DMT_FLAG0 0 155260340Sian#define ACPI_DMT_FLAG1 1 156260340Sian#define ACPI_DMT_FLAG2 2 157260340Sian#define ACPI_DMT_FLAG3 3 158260340Sian#define ACPI_DMT_FLAG4 4 159260340Sian#define ACPI_DMT_FLAG5 5 160260340Sian#define ACPI_DMT_FLAG6 6 161260340Sian#define ACPI_DMT_FLAG7 7 162260340Sian#define ACPI_DMT_FLAGS0 8 163260340Sian#define ACPI_DMT_FLAGS2 9 164260340Sian#define ACPI_DMT_UINT8 10 165260340Sian#define ACPI_DMT_UINT16 11 166260340Sian#define ACPI_DMT_UINT24 12 167260340Sian#define ACPI_DMT_UINT32 13 168260340Sian#define ACPI_DMT_UINT56 14 169260340Sian#define ACPI_DMT_UINT64 15 170260340Sian#define ACPI_DMT_STRING 16 171260340Sian#define ACPI_DMT_NAME4 17 172260340Sian#define ACPI_DMT_NAME6 18 173260340Sian#define ACPI_DMT_NAME8 19 174260340Sian#define ACPI_DMT_CHKSUM 20 175260340Sian#define ACPI_DMT_SPACEID 21 176260340Sian#define ACPI_DMT_GAS 22 177260340Sian#define ACPI_DMT_DMAR 23 178260340Sian#define ACPI_DMT_MADT 24 179260340Sian#define ACPI_DMT_SRAT 25 180260340Sian#define ACPI_DMT_EXIT 26 181260340Sian#define ACPI_DMT_SIG 27 182260340Sian 183260340Siantypedef 184260340Sianvoid (*ACPI_TABLE_HANDLER) ( 185260340Sian ACPI_TABLE_HEADER *Table); 186260340Sian 187260340Siantypedef struct acpi_dmtable_data 188260340Sian{ 189260340Sian char *Signature; 190260340Sian ACPI_DMTABLE_INFO *TableInfo; 191260340Sian ACPI_TABLE_HANDLER TableHandler; 192260340Sian char *Name; 193260340Sian 194260340Sian} ACPI_DMTABLE_DATA; 195260340Sian 196260340Sian 197260340Siantypedef struct acpi_op_walk_info 198260340Sian{ 199260340Sian UINT32 Level; 200260340Sian UINT32 LastLevel; 201260340Sian UINT32 Count; 202260340Sian UINT32 BitOffset; 203260340Sian UINT32 Flags; 204260340Sian ACPI_WALK_STATE *WalkState; 205260340Sian 206260340Sian} ACPI_OP_WALK_INFO; 207260340Sian 208260340Siantypedef 209260340SianACPI_STATUS (*ASL_WALK_CALLBACK) ( 210260340Sian ACPI_PARSE_OBJECT *Op, 211260340Sian UINT32 Level, 212260340Sian void *Context); 213260340Sian 214260340Siantypedef struct acpi_resource_tag 215260340Sian{ 216260340Sian UINT32 BitIndex; 217260340Sian char *Tag; 218260340Sian 219260340Sian} ACPI_RESOURCE_TAG; 220260340Sian 221260340Sian/* Strings used for decoding flags to ASL keywords */ 222260340Sian 223260340Sianextern const char *AcpiGbl_WordDecode[]; 224260340Sianextern const char *AcpiGbl_IrqDecode[]; 225260340Sianextern const char *AcpiGbl_LockRule[]; 226260340Sianextern const char *AcpiGbl_AccessTypes[]; 227260340Sianextern const char *AcpiGbl_UpdateRules[]; 228260340Sianextern const char *AcpiGbl_MatchOps[]; 229260340Sian 230260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 231260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 232260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 233260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 234260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 235260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 236260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 237260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 238260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 239260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 240260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 241260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 242260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 243260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 244260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 245260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 246260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 247260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 248260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 249260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 250260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 251260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 252260340Sianextern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 253258780Seadlerextern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 254185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 255185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 256185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 257185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 258185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 259185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 260185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 261185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 262185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 263185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 264185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 265185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 266185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 267185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 268185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 269240489Sgberextern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 270240489Sgberextern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 271185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 272240489Sgberextern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 273185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 274240489Sgberextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 275240489Sgberextern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 276185089Srajextern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 277240489Sgberextern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 278240489Sgber 279240489Sgber 280240489Sgber/* 281240489Sgber * dmtable 282240489Sgber */ 283209131Srajvoid 284185089SrajAcpiDmDumpDataTable ( 285185089Sraj ACPI_TABLE_HEADER *Table); 286209131Sraj 287209131Srajvoid 288209131SrajAcpiDmDumpTable ( 289240489Sgber UINT32 TableLength, 290240489Sgber UINT32 TableOffset, 291240489Sgber void *Table, 292209131Sraj UINT32 SubTableLength, 293185089Sraj ACPI_DMTABLE_INFO *Info); 294209131Sraj 295209131Srajvoid 296209131SrajAcpiDmLineHeader ( 297240489Sgber UINT32 Offset, 298240489Sgber UINT32 ByteLength, 299209131Sraj char *Name); 300185089Sraj 301185089Srajvoid 302185089SrajAcpiDmLineHeader2 ( 303185089Sraj UINT32 Offset, 304185089Sraj UINT32 ByteLength, 305185089Sraj char *Name, 306240493Sgber UINT32 Value); 307240493Sgber 308240493Sgber 309185089Sraj/* 310185089Sraj * dmtbdump 311209131Sraj */ 312240489Sgbervoid 313185089SrajAcpiDmDumpAsf ( 314259484Snwhitehorn ACPI_TABLE_HEADER *Table); 315185089Sraj 316185089Srajvoid 317209131SrajAcpiDmDumpCpep ( 318209131Sraj ACPI_TABLE_HEADER *Table); 319209131Sraj 320209131Srajvoid 321209131SrajAcpiDmDumpDmar ( 322209131Sraj ACPI_TABLE_HEADER *Table); 323209131Sraj 324209131Srajvoid 325209131SrajAcpiDmDumpFadt ( 326209131Sraj ACPI_TABLE_HEADER *Table); 327209131Sraj 328240489Sgbervoid 329240489SgberAcpiDmDumpSrat ( 330185089Sraj ACPI_TABLE_HEADER *Table); 331209131Sraj 332209131Srajvoid 333209131SrajAcpiDmDumpMcfg ( 334209131Sraj ACPI_TABLE_HEADER *Table); 335209131Sraj 336185089Srajvoid 337209131SrajAcpiDmDumpMadt ( 338185089Sraj ACPI_TABLE_HEADER *Table); 339209131Sraj 340209131SrajUINT32 341185089SrajAcpiDmDumpRsdp ( 342209131Sraj ACPI_TABLE_HEADER *Table); 343209131Sraj 344209131Srajvoid 345185089SrajAcpiDmDumpRsdt ( 346209131Sraj ACPI_TABLE_HEADER *Table); 347240493Sgber 348240493Sgbervoid 349240493SgberAcpiDmDumpSlit ( 350240493Sgber ACPI_TABLE_HEADER *Table); 351240493Sgber 352185089Srajvoid 353185089SrajAcpiDmDumpXsdt ( 354185089Sraj ACPI_TABLE_HEADER *Table); 355185089Sraj 356209131Sraj 357185089Sraj/* 358209131Sraj * dmwalk 359209131Sraj */ 360185089Srajvoid 361185089SrajAcpiDmDisassemble ( 362209131Sraj ACPI_WALK_STATE *WalkState, 363209131Sraj ACPI_PARSE_OBJECT *Origin, 364209131Sraj UINT32 NumOpcodes); 365209131Sraj 366185089Srajvoid 367185089SrajAcpiDmWalkParseTree ( 368185089Sraj ACPI_PARSE_OBJECT *Op, 369185089Sraj ASL_WALK_CALLBACK DescendingCallback, 370185089Sraj ASL_WALK_CALLBACK AscendingCallback, 371185089Sraj void *Context); 372209131Sraj 373209131Sraj 374209131Sraj/* 375209131Sraj * dmopcode 376240493Sgber */ 377240493Sgbervoid 378240493SgberAcpiDmDisassembleOneOp ( 379240493Sgber ACPI_WALK_STATE *WalkState, 380240493Sgber ACPI_OP_WALK_INFO *Info, 381240493Sgber ACPI_PARSE_OBJECT *Op); 382240493Sgber 383209131Srajvoid 384209131SrajAcpiDmDecodeInternalObject ( 385209131Sraj ACPI_OPERAND_OBJECT *ObjDesc); 386209131Sraj 387209131SrajUINT32 388209131SrajAcpiDmListType ( 389209131Sraj ACPI_PARSE_OBJECT *Op); 390227843Smarius 391185089Srajvoid 392185089SrajAcpiDmMethodFlags ( 393209131Sraj ACPI_PARSE_OBJECT *Op); 394185089Sraj 395209131Srajvoid 396209131SrajAcpiDmFieldFlags ( 397185089Sraj ACPI_PARSE_OBJECT *Op); 398185089Sraj 399185089Srajvoid 400185089SrajAcpiDmAddressSpace ( 401257702Snwhitehorn UINT8 SpaceId); 402185089Sraj 403185089Srajvoid 404185089SrajAcpiDmRegionFlags ( 405185089Sraj ACPI_PARSE_OBJECT *Op); 406209131Sraj 407185089Srajvoid 408218228SmarcelAcpiDmMatchOp ( 409185089Sraj ACPI_PARSE_OBJECT *Op); 410218228Smarcel 411218228SmarcelBOOLEAN 412209131SrajAcpiDmCommaIfListMember ( 413218228Smarcel ACPI_PARSE_OBJECT *Op); 414259484Snwhitehorn 415259484Snwhitehornvoid 416209131SrajAcpiDmCommaIfFieldMember ( 417185089Sraj ACPI_PARSE_OBJECT *Op); 418209131Sraj 419209131Sraj 420185089Sraj/* 421185089Sraj * dmnames 422185089Sraj */ 423209131SrajUINT32 424185089SrajAcpiDmDumpName ( 425209131Sraj char *Name); 426209131Sraj 427240489SgberACPI_STATUS 428209131SrajAcpiPsDisplayObjectPathname ( 429185089Sraj ACPI_WALK_STATE *WalkState, 430185089Sraj ACPI_PARSE_OBJECT *Op); 431209131Sraj 432240489Sgbervoid 433185089SrajAcpiDmNamestring ( 434240489Sgber char *Name); 435218228Smarcel 436218228Smarcel 437218228Smarcel/* 438209131Sraj * dmobject 439240489Sgber */ 440240489Sgbervoid 441240489SgberAcpiDmDisplayInternalObject ( 442218228Smarcel ACPI_OPERAND_OBJECT *ObjDesc, 443209131Sraj ACPI_WALK_STATE *WalkState); 444240489Sgber 445209131Srajvoid 446209131SrajAcpiDmDisplayArguments ( 447209131Sraj ACPI_WALK_STATE *WalkState); 448185089Sraj 449185089Srajvoid 450209131SrajAcpiDmDisplayLocals ( 451209131Sraj ACPI_WALK_STATE *WalkState); 452209131Sraj 453185089Srajvoid 454185089SrajAcpiDmDumpMethodInfo ( 455185089Sraj ACPI_STATUS Status, 456185089Sraj ACPI_WALK_STATE *WalkState, 457209131Sraj ACPI_PARSE_OBJECT *Op); 458185089Sraj 459185089Sraj 460185089Sraj/* 461185089Sraj * dmbuffer 462185089Sraj */ 463240489Sgbervoid 464240489SgberAcpiDmDisasmByteList ( 465240489Sgber UINT32 Level, 466240489Sgber UINT8 *ByteData, 467209131Sraj UINT32 ByteCount); 468240489Sgber 469240489Sgbervoid 470259484SnwhitehornAcpiDmByteList ( 471259484Snwhitehorn ACPI_OP_WALK_INFO *Info, 472240489Sgber ACPI_PARSE_OBJECT *Op); 473240489Sgber 474209131Srajvoid 475209131SrajAcpiDmIsEisaId ( 476209131Sraj ACPI_PARSE_OBJECT *Op); 477209131Sraj 478209131Srajvoid 479209131SrajAcpiDmEisaId ( 480209131Sraj UINT32 EncodedId); 481209131Sraj 482240489SgberBOOLEAN 483209131SrajAcpiDmIsUnicodeBuffer ( 484240489Sgber ACPI_PARSE_OBJECT *Op); 485185089Sraj 486240489SgberBOOLEAN 487240489SgberAcpiDmIsStringBuffer ( 488240489Sgber ACPI_PARSE_OBJECT *Op); 489240489Sgber 490240489Sgber 491240489Sgber/* 492185089Sraj * dmresrc 493240489Sgber */ 494240489Sgbervoid 495240489SgberAcpiDmDumpInteger8 ( 496240489Sgber UINT8 Value, 497240489Sgber char *Name); 498240489Sgber 499240489Sgbervoid 500240489SgberAcpiDmDumpInteger16 ( 501240489Sgber UINT16 Value, 502240489Sgber char *Name); 503240489Sgber 504240489Sgbervoid 505240489SgberAcpiDmDumpInteger32 ( 506240489Sgber UINT32 Value, 507240493Sgber char *Name); 508240489Sgber 509240489Sgbervoid 510240489SgberAcpiDmDumpInteger64 ( 511240489Sgber UINT64 Value, 512240489Sgber char *Name); 513240489Sgber 514240489Sgbervoid 515240489SgberAcpiDmResourceTemplate ( 516240489Sgber ACPI_OP_WALK_INFO *Info, 517240489Sgber ACPI_PARSE_OBJECT *Op, 518240489Sgber UINT8 *ByteData, 519240489Sgber UINT32 ByteCount); 520240489Sgber 521240489SgberACPI_STATUS 522240489SgberAcpiDmIsResourceTemplate ( 523240489Sgber ACPI_PARSE_OBJECT *Op); 524240489Sgber 525240489Sgbervoid 526240489SgberAcpiDmIndent ( 527240489Sgber UINT32 Level); 528240489Sgber 529240489Sgbervoid 530240489SgberAcpiDmBitList ( 531240489Sgber UINT16 Mask); 532240489Sgber 533240489Sgbervoid 534240489SgberAcpiDmDecodeAttribute ( 535240489Sgber UINT8 Attribute); 536240489Sgber 537240489Sgbervoid 538240489SgberAcpiDmDescriptorName ( 539240489Sgber void); 540240489Sgber 541240489Sgber 542240489Sgber/* 543240489Sgber * dmresrcl 544240489Sgber */ 545240489Sgbervoid 546240489SgberAcpiDmWordDescriptor ( 547240489Sgber AML_RESOURCE *Resource, 548240489Sgber UINT32 Length, 549240489Sgber UINT32 Level); 550240489Sgber 551240489Sgbervoid 552240489SgberAcpiDmDwordDescriptor ( 553240489Sgber AML_RESOURCE *Resource, 554240489Sgber UINT32 Length, 555240489Sgber UINT32 Level); 556240489Sgber 557240489Sgbervoid 558240489SgberAcpiDmExtendedDescriptor ( 559240489Sgber AML_RESOURCE *Resource, 560240489Sgber UINT32 Length, 561240489Sgber UINT32 Level); 562240489Sgber 563240489Sgbervoid 564209131SrajAcpiDmQwordDescriptor ( 565209131Sraj AML_RESOURCE *Resource, 566186932Sraj UINT32 Length, 567186932Sraj UINT32 Level); 568186932Sraj 569209131Srajvoid 570209131SrajAcpiDmMemory24Descriptor ( 571186932Sraj AML_RESOURCE *Resource, 572209131Sraj UINT32 Length, 573186932Sraj UINT32 Level); 574186932Sraj 575186932Srajvoid 576209131SrajAcpiDmMemory32Descriptor ( 577209131Sraj AML_RESOURCE *Resource, 578186932Sraj UINT32 Length, 579186932Sraj UINT32 Level); 580186932Sraj 581209131Srajvoid 582209131SrajAcpiDmFixedMemory32Descriptor ( 583186932Sraj AML_RESOURCE *Resource, 584186932Sraj UINT32 Length, 585186932Sraj UINT32 Level); 586240489Sgber 587185089Srajvoid 588186932SrajAcpiDmGenericRegisterDescriptor ( 589209131Sraj AML_RESOURCE *Resource, 590209131Sraj UINT32 Length, 591240489Sgber UINT32 Level); 592186932Sraj 593185089Srajvoid 594185089SrajAcpiDmInterruptDescriptor ( 595240489Sgber AML_RESOURCE *Resource, 596240489Sgber UINT32 Length, 597240489Sgber UINT32 Level); 598240489Sgber 599240489Sgbervoid 600240489SgberAcpiDmVendorLargeDescriptor ( 601240489Sgber AML_RESOURCE *Resource, 602240489Sgber UINT32 Length, 603240489Sgber UINT32 Level); 604240489Sgber 605240489Sgbervoid 606240489SgberAcpiDmVendorCommon ( 607240489Sgber char *Name, 608240489Sgber UINT8 *ByteData, 609240489Sgber UINT32 Length, 610240489Sgber UINT32 Level); 611240489Sgber 612240489Sgber 613240489Sgber/* 614240489Sgber * dmresrcs 615240489Sgber */ 616240489Sgbervoid 617240489SgberAcpiDmIrqDescriptor ( 618240489Sgber AML_RESOURCE *Resource, 619240489Sgber UINT32 Length, 620240489Sgber UINT32 Level); 621240489Sgber 622240489Sgbervoid 623240489SgberAcpiDmDmaDescriptor ( 624240489Sgber AML_RESOURCE *Resource, 625240489Sgber UINT32 Length, 626240489Sgber UINT32 Level); 627240489Sgber 628240489Sgbervoid 629240489SgberAcpiDmIoDescriptor ( 630240489Sgber AML_RESOURCE *Resource, 631240489Sgber UINT32 Length, 632240489Sgber UINT32 Level); 633240489Sgber 634240489Sgbervoid 635240489SgberAcpiDmFixedIoDescriptor ( 636240489Sgber AML_RESOURCE *Resource, 637240489Sgber UINT32 Length, 638240489Sgber UINT32 Level); 639240489Sgber 640240489Sgbervoid 641240489SgberAcpiDmStartDependentDescriptor ( 642240489Sgber AML_RESOURCE *Resource, 643240489Sgber UINT32 Length, 644240489Sgber UINT32 Level); 645240489Sgber 646240489Sgbervoid 647240489SgberAcpiDmEndDependentDescriptor ( 648240489Sgber AML_RESOURCE *Resource, 649240489Sgber UINT32 Length, 650240489Sgber UINT32 Level); 651240489Sgber 652240489Sgbervoid 653240489SgberAcpiDmVendorSmallDescriptor ( 654240489Sgber AML_RESOURCE *Resource, 655240489Sgber UINT32 Length, 656240489Sgber UINT32 Level); 657240489Sgber 658240489Sgber 659240489Sgber/* 660240489Sgber * dmutils 661240489Sgber */ 662240489Sgbervoid 663240489SgberAcpiDmAddToExternalList ( 664240489Sgber char *Path, 665240489Sgber UINT8 Type, 666240489Sgber UINT32 Value); 667240489Sgber 668240489Sgber/* 669240489Sgber * dmrestag 670240489Sgber */ 671240489Sgbervoid 672185089SrajAcpiDmFindResources ( 673209131Sraj ACPI_PARSE_OBJECT *Root); 674185089Sraj 675185089Srajvoid 676240489SgberAcpiDmCheckResourceReference ( 677185089Sraj ACPI_PARSE_OBJECT *Op, 678185089Sraj ACPI_WALK_STATE *WalkState); 679185089Sraj 680240489Sgber#endif /* __ACDISASM_H__ */ 681240489Sgber