10Sstevel@tonic-gate /****************************************************************************** 20Sstevel@tonic-gate * 30Sstevel@tonic-gate * Name: acdisasm.h - AML disassembler 4*7851SDana.Myers@Sun.COM * $Revision: 1.45 $ 50Sstevel@tonic-gate * 60Sstevel@tonic-gate *****************************************************************************/ 70Sstevel@tonic-gate 80Sstevel@tonic-gate /****************************************************************************** 90Sstevel@tonic-gate * 100Sstevel@tonic-gate * 1. Copyright Notice 110Sstevel@tonic-gate * 12*7851SDana.Myers@Sun.COM * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. 130Sstevel@tonic-gate * All rights reserved. 140Sstevel@tonic-gate * 150Sstevel@tonic-gate * 2. License 160Sstevel@tonic-gate * 170Sstevel@tonic-gate * 2.1. This is your license from Intel Corp. under its intellectual property 180Sstevel@tonic-gate * rights. You may have additional license terms from the party that provided 190Sstevel@tonic-gate * you this software, covering your right to use that party's intellectual 200Sstevel@tonic-gate * property rights. 210Sstevel@tonic-gate * 220Sstevel@tonic-gate * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 230Sstevel@tonic-gate * copy of the source code appearing in this file ("Covered Code") an 240Sstevel@tonic-gate * irrevocable, perpetual, worldwide license under Intel's copyrights in the 250Sstevel@tonic-gate * base code distributed originally by Intel ("Original Intel Code") to copy, 260Sstevel@tonic-gate * make derivatives, distribute, use and display any portion of the Covered 270Sstevel@tonic-gate * Code in any form, with the right to sublicense such rights; and 280Sstevel@tonic-gate * 290Sstevel@tonic-gate * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 300Sstevel@tonic-gate * license (with the right to sublicense), under only those claims of Intel 310Sstevel@tonic-gate * patents that are infringed by the Original Intel Code, to make, use, sell, 320Sstevel@tonic-gate * offer to sell, and import the Covered Code and derivative works thereof 330Sstevel@tonic-gate * solely to the minimum extent necessary to exercise the above copyright 340Sstevel@tonic-gate * license, and in no event shall the patent license extend to any additions 350Sstevel@tonic-gate * to or modifications of the Original Intel Code. No other license or right 360Sstevel@tonic-gate * is granted directly or by implication, estoppel or otherwise; 370Sstevel@tonic-gate * 380Sstevel@tonic-gate * The above copyright and patent license is granted only if the following 390Sstevel@tonic-gate * conditions are met: 400Sstevel@tonic-gate * 410Sstevel@tonic-gate * 3. Conditions 420Sstevel@tonic-gate * 430Sstevel@tonic-gate * 3.1. Redistribution of Source with Rights to Further Distribute Source. 440Sstevel@tonic-gate * Redistribution of source code of any substantial portion of the Covered 450Sstevel@tonic-gate * Code or modification with rights to further distribute source must include 460Sstevel@tonic-gate * the above Copyright Notice, the above License, this list of Conditions, 470Sstevel@tonic-gate * and the following Disclaimer and Export Compliance provision. In addition, 480Sstevel@tonic-gate * Licensee must cause all Covered Code to which Licensee contributes to 490Sstevel@tonic-gate * contain a file documenting the changes Licensee made to create that Covered 500Sstevel@tonic-gate * Code and the date of any change. Licensee must include in that file the 510Sstevel@tonic-gate * documentation of any changes made by any predecessor Licensee. Licensee 520Sstevel@tonic-gate * must include a prominent statement that the modification is derived, 530Sstevel@tonic-gate * directly or indirectly, from Original Intel Code. 540Sstevel@tonic-gate * 550Sstevel@tonic-gate * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 560Sstevel@tonic-gate * Redistribution of source code of any substantial portion of the Covered 570Sstevel@tonic-gate * Code or modification without rights to further distribute source must 580Sstevel@tonic-gate * include the following Disclaimer and Export Compliance provision in the 590Sstevel@tonic-gate * documentation and/or other materials provided with distribution. In 600Sstevel@tonic-gate * addition, Licensee may not authorize further sublicense of source of any 610Sstevel@tonic-gate * portion of the Covered Code, and must include terms to the effect that the 620Sstevel@tonic-gate * license from Licensee to its licensee is limited to the intellectual 630Sstevel@tonic-gate * property embodied in the software Licensee provides to its licensee, and 640Sstevel@tonic-gate * not to intellectual property embodied in modifications its licensee may 650Sstevel@tonic-gate * make. 660Sstevel@tonic-gate * 670Sstevel@tonic-gate * 3.3. Redistribution of Executable. Redistribution in executable form of any 680Sstevel@tonic-gate * substantial portion of the Covered Code or modification must reproduce the 690Sstevel@tonic-gate * above Copyright Notice, and the following Disclaimer and Export Compliance 700Sstevel@tonic-gate * provision in the documentation and/or other materials provided with the 710Sstevel@tonic-gate * distribution. 720Sstevel@tonic-gate * 730Sstevel@tonic-gate * 3.4. Intel retains all right, title, and interest in and to the Original 740Sstevel@tonic-gate * Intel Code. 750Sstevel@tonic-gate * 760Sstevel@tonic-gate * 3.5. Neither the name Intel nor any other trademark owned or controlled by 770Sstevel@tonic-gate * Intel shall be used in advertising or otherwise to promote the sale, use or 780Sstevel@tonic-gate * other dealings in products derived from or relating to the Covered Code 790Sstevel@tonic-gate * without prior written authorization from Intel. 800Sstevel@tonic-gate * 810Sstevel@tonic-gate * 4. Disclaimer and Export Compliance 820Sstevel@tonic-gate * 830Sstevel@tonic-gate * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 840Sstevel@tonic-gate * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 850Sstevel@tonic-gate * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 860Sstevel@tonic-gate * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 870Sstevel@tonic-gate * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 880Sstevel@tonic-gate * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 890Sstevel@tonic-gate * PARTICULAR PURPOSE. 900Sstevel@tonic-gate * 910Sstevel@tonic-gate * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 920Sstevel@tonic-gate * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 930Sstevel@tonic-gate * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 940Sstevel@tonic-gate * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 950Sstevel@tonic-gate * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 960Sstevel@tonic-gate * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 970Sstevel@tonic-gate * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 980Sstevel@tonic-gate * LIMITED REMEDY. 990Sstevel@tonic-gate * 1000Sstevel@tonic-gate * 4.3. Licensee shall not export, either directly or indirectly, any of this 1010Sstevel@tonic-gate * software or system incorporating such software without first obtaining any 1020Sstevel@tonic-gate * required license or other approval from the U. S. Department of Commerce or 1030Sstevel@tonic-gate * any other agency or department of the United States Government. In the 1040Sstevel@tonic-gate * event Licensee exports any such software from the United States or 1050Sstevel@tonic-gate * re-exports any such software from a foreign destination, Licensee shall 1060Sstevel@tonic-gate * ensure that the distribution and export/re-export of the software is in 1070Sstevel@tonic-gate * compliance with all laws, regulations, orders, or other restrictions of the 1080Sstevel@tonic-gate * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1090Sstevel@tonic-gate * any of its subsidiaries will export/re-export any technical data, process, 1100Sstevel@tonic-gate * software, or service, directly or indirectly, to any country for which the 1110Sstevel@tonic-gate * United States government or any agency thereof requires an export license, 1120Sstevel@tonic-gate * other governmental approval, or letter of assurance, without first obtaining 1130Sstevel@tonic-gate * such license, approval or letter. 1140Sstevel@tonic-gate * 1150Sstevel@tonic-gate *****************************************************************************/ 1160Sstevel@tonic-gate 1170Sstevel@tonic-gate #ifndef __ACDISASM_H__ 1180Sstevel@tonic-gate #define __ACDISASM_H__ 1190Sstevel@tonic-gate 1200Sstevel@tonic-gate #include "amlresrc.h" 1210Sstevel@tonic-gate 1220Sstevel@tonic-gate 1230Sstevel@tonic-gate #define BLOCK_NONE 0 1240Sstevel@tonic-gate #define BLOCK_PAREN 1 1250Sstevel@tonic-gate #define BLOCK_BRACE 2 1260Sstevel@tonic-gate #define BLOCK_COMMA_LIST 4 1272623Smyers #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 1280Sstevel@tonic-gate 1290Sstevel@tonic-gate typedef struct acpi_external_list 1300Sstevel@tonic-gate { 1310Sstevel@tonic-gate char *Path; 1322623Smyers char *InternalPath; 1330Sstevel@tonic-gate struct acpi_external_list *Next; 1342623Smyers UINT32 Value; 1352623Smyers UINT16 Length; 1362623Smyers UINT8 Type; 1370Sstevel@tonic-gate 1380Sstevel@tonic-gate } ACPI_EXTERNAL_LIST; 1390Sstevel@tonic-gate 1400Sstevel@tonic-gate extern ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList; 1411560Smyers 1422623Smyers typedef const struct acpi_dmtable_info 1432623Smyers { 1442623Smyers UINT8 Opcode; 1452623Smyers UINT8 Offset; 1462623Smyers char *Name; 1472623Smyers 1482623Smyers } ACPI_DMTABLE_INFO; 1491560Smyers 1502623Smyers /* 1512623Smyers * Values for Opcode above. 1522623Smyers * Note: 0-7 must not change, used as a flag shift value 1532623Smyers */ 1542623Smyers #define ACPI_DMT_FLAG0 0 1552623Smyers #define ACPI_DMT_FLAG1 1 1562623Smyers #define ACPI_DMT_FLAG2 2 1572623Smyers #define ACPI_DMT_FLAG3 3 1582623Smyers #define ACPI_DMT_FLAG4 4 1592623Smyers #define ACPI_DMT_FLAG5 5 1602623Smyers #define ACPI_DMT_FLAG6 6 1612623Smyers #define ACPI_DMT_FLAG7 7 1622623Smyers #define ACPI_DMT_FLAGS0 8 1632623Smyers #define ACPI_DMT_FLAGS2 9 1642623Smyers #define ACPI_DMT_UINT8 10 1652623Smyers #define ACPI_DMT_UINT16 11 1662623Smyers #define ACPI_DMT_UINT24 12 1672623Smyers #define ACPI_DMT_UINT32 13 1682623Smyers #define ACPI_DMT_UINT56 14 1692623Smyers #define ACPI_DMT_UINT64 15 1702623Smyers #define ACPI_DMT_STRING 16 1712623Smyers #define ACPI_DMT_NAME4 17 1722623Smyers #define ACPI_DMT_NAME6 18 1732623Smyers #define ACPI_DMT_NAME8 19 1742623Smyers #define ACPI_DMT_CHKSUM 20 1752623Smyers #define ACPI_DMT_SPACEID 21 1762623Smyers #define ACPI_DMT_GAS 22 177*7851SDana.Myers@Sun.COM #define ACPI_DMT_ASF 23 178*7851SDana.Myers@Sun.COM #define ACPI_DMT_DMAR 24 179*7851SDana.Myers@Sun.COM #define ACPI_DMT_HEST 25 180*7851SDana.Myers@Sun.COM #define ACPI_DMT_HESTNTFY 26 181*7851SDana.Myers@Sun.COM #define ACPI_DMT_HESTNTYP 27 182*7851SDana.Myers@Sun.COM #define ACPI_DMT_MADT 28 183*7851SDana.Myers@Sun.COM #define ACPI_DMT_SRAT 29 184*7851SDana.Myers@Sun.COM #define ACPI_DMT_EXIT 30 185*7851SDana.Myers@Sun.COM #define ACPI_DMT_SIG 31 1862623Smyers 1872623Smyers typedef 188*7851SDana.Myers@Sun.COM void (*ACPI_DMTABLE_HANDLER) ( 1892623Smyers ACPI_TABLE_HEADER *Table); 1902623Smyers 1912623Smyers typedef struct acpi_dmtable_data 1922623Smyers { 1932623Smyers char *Signature; 194*7851SDana.Myers@Sun.COM ACPI_DMTABLE_INFO *TableInfo; 195*7851SDana.Myers@Sun.COM ACPI_DMTABLE_HANDLER TableHandler; 196*7851SDana.Myers@Sun.COM char *Name; 1972623Smyers 1982623Smyers } ACPI_DMTABLE_DATA; 1990Sstevel@tonic-gate 2000Sstevel@tonic-gate 2010Sstevel@tonic-gate typedef struct acpi_op_walk_info 2020Sstevel@tonic-gate { 2030Sstevel@tonic-gate UINT32 Level; 2042623Smyers UINT32 LastLevel; 2052623Smyers UINT32 Count; 2060Sstevel@tonic-gate UINT32 BitOffset; 2071560Smyers UINT32 Flags; 208347Smyers ACPI_WALK_STATE *WalkState; 2090Sstevel@tonic-gate 2100Sstevel@tonic-gate } ACPI_OP_WALK_INFO; 2110Sstevel@tonic-gate 2120Sstevel@tonic-gate typedef 2130Sstevel@tonic-gate ACPI_STATUS (*ASL_WALK_CALLBACK) ( 2140Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 2150Sstevel@tonic-gate UINT32 Level, 2160Sstevel@tonic-gate void *Context); 2170Sstevel@tonic-gate 2182623Smyers typedef struct acpi_resource_tag 2192623Smyers { 2202623Smyers UINT32 BitIndex; 2212623Smyers char *Tag; 2222623Smyers 2232623Smyers } ACPI_RESOURCE_TAG; 2242623Smyers 2252623Smyers /* Strings used for decoding flags to ASL keywords */ 2262623Smyers 2272623Smyers extern const char *AcpiGbl_WordDecode[]; 2282623Smyers extern const char *AcpiGbl_IrqDecode[]; 2292623Smyers extern const char *AcpiGbl_LockRule[]; 2302623Smyers extern const char *AcpiGbl_AccessTypes[]; 2312623Smyers extern const char *AcpiGbl_UpdateRules[]; 2322623Smyers extern const char *AcpiGbl_MatchOps[]; 2332623Smyers 2342623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 2352623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 236*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 2372623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 238*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 2392623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 2402623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 2412623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 2422623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 243*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 2442623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 2452623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 2462623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 247*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 248*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 249*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 250*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 251*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 252*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 2532623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 254*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 255*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 256*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 2572623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 2582623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 2592623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 2602623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 2612623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 262*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 263*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 264*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 2652623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 2662623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 2672623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 2682623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 2692623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 2702623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 2712623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 2722623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 2732623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 2742623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 2752623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 276*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 277*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 2782623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 2792623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 2802623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 2812623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 2822623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 2832623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 284*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 2852623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 2862623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 2872623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 2882623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 289*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 2902623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 2912623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 292*7851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 2932623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 2942623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 2952623Smyers 2962623Smyers 2972623Smyers /* 2982623Smyers * dmtable 2992623Smyers */ 3002623Smyers void 3012623Smyers AcpiDmDumpDataTable ( 3022623Smyers ACPI_TABLE_HEADER *Table); 3032623Smyers 304*7851SDana.Myers@Sun.COM ACPI_STATUS 3052623Smyers AcpiDmDumpTable ( 3062623Smyers UINT32 TableLength, 3072623Smyers UINT32 TableOffset, 3082623Smyers void *Table, 3092623Smyers UINT32 SubTableLength, 3102623Smyers ACPI_DMTABLE_INFO *Info); 3112623Smyers 3122623Smyers void 3132623Smyers AcpiDmLineHeader ( 3142623Smyers UINT32 Offset, 3152623Smyers UINT32 ByteLength, 3162623Smyers char *Name); 3172623Smyers 3182623Smyers void 3192623Smyers AcpiDmLineHeader2 ( 3202623Smyers UINT32 Offset, 3212623Smyers UINT32 ByteLength, 3222623Smyers char *Name, 3232623Smyers UINT32 Value); 3242623Smyers 3252623Smyers 3262623Smyers /* 3272623Smyers * dmtbdump 3282623Smyers */ 3292623Smyers void 3302623Smyers AcpiDmDumpAsf ( 3312623Smyers ACPI_TABLE_HEADER *Table); 3322623Smyers 3332623Smyers void 3342623Smyers AcpiDmDumpCpep ( 3352623Smyers ACPI_TABLE_HEADER *Table); 3362623Smyers 3372623Smyers void 338*7851SDana.Myers@Sun.COM AcpiDmDumpDmar ( 339*7851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 340*7851SDana.Myers@Sun.COM 341*7851SDana.Myers@Sun.COM void 342*7851SDana.Myers@Sun.COM AcpiDmDumpEinj ( 343*7851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 344*7851SDana.Myers@Sun.COM 345*7851SDana.Myers@Sun.COM void 346*7851SDana.Myers@Sun.COM AcpiDmDumpErst ( 347*7851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 348*7851SDana.Myers@Sun.COM 349*7851SDana.Myers@Sun.COM void 3502623Smyers AcpiDmDumpFadt ( 3512623Smyers ACPI_TABLE_HEADER *Table); 3522623Smyers 3532623Smyers void 354*7851SDana.Myers@Sun.COM AcpiDmDumpHest ( 3552623Smyers ACPI_TABLE_HEADER *Table); 3562623Smyers 3572623Smyers void 3582623Smyers AcpiDmDumpMcfg ( 3592623Smyers ACPI_TABLE_HEADER *Table); 3602623Smyers 3612623Smyers void 3622623Smyers AcpiDmDumpMadt ( 3632623Smyers ACPI_TABLE_HEADER *Table); 3642623Smyers 3652623Smyers UINT32 3662623Smyers AcpiDmDumpRsdp ( 3672623Smyers ACPI_TABLE_HEADER *Table); 3682623Smyers 3692623Smyers void 3702623Smyers AcpiDmDumpRsdt ( 3712623Smyers ACPI_TABLE_HEADER *Table); 3722623Smyers 3732623Smyers void 3742623Smyers AcpiDmDumpSlit ( 3752623Smyers ACPI_TABLE_HEADER *Table); 3762623Smyers 3772623Smyers void 378*7851SDana.Myers@Sun.COM AcpiDmDumpSrat ( 379*7851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 380*7851SDana.Myers@Sun.COM 381*7851SDana.Myers@Sun.COM void 3822623Smyers AcpiDmDumpXsdt ( 3832623Smyers ACPI_TABLE_HEADER *Table); 3842623Smyers 3850Sstevel@tonic-gate 3860Sstevel@tonic-gate /* 3870Sstevel@tonic-gate * dmwalk 3880Sstevel@tonic-gate */ 3890Sstevel@tonic-gate void 3900Sstevel@tonic-gate AcpiDmDisassemble ( 3910Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 3920Sstevel@tonic-gate ACPI_PARSE_OBJECT *Origin, 3930Sstevel@tonic-gate UINT32 NumOpcodes); 3940Sstevel@tonic-gate 3952623Smyers void 3962623Smyers AcpiDmWalkParseTree ( 3972623Smyers ACPI_PARSE_OBJECT *Op, 3982623Smyers ASL_WALK_CALLBACK DescendingCallback, 3992623Smyers ASL_WALK_CALLBACK AscendingCallback, 4002623Smyers void *Context); 4012623Smyers 4020Sstevel@tonic-gate 4030Sstevel@tonic-gate /* 4040Sstevel@tonic-gate * dmopcode 4050Sstevel@tonic-gate */ 4060Sstevel@tonic-gate void 4070Sstevel@tonic-gate AcpiDmDisassembleOneOp ( 4080Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4090Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 4100Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4110Sstevel@tonic-gate 4120Sstevel@tonic-gate void 4130Sstevel@tonic-gate AcpiDmDecodeInternalObject ( 4140Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 4150Sstevel@tonic-gate 4160Sstevel@tonic-gate UINT32 4170Sstevel@tonic-gate AcpiDmListType ( 4180Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4190Sstevel@tonic-gate 4200Sstevel@tonic-gate void 4210Sstevel@tonic-gate AcpiDmMethodFlags ( 4220Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4230Sstevel@tonic-gate 4240Sstevel@tonic-gate void 4250Sstevel@tonic-gate AcpiDmFieldFlags ( 4260Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4270Sstevel@tonic-gate 4280Sstevel@tonic-gate void 4290Sstevel@tonic-gate AcpiDmAddressSpace ( 4300Sstevel@tonic-gate UINT8 SpaceId); 4310Sstevel@tonic-gate 4320Sstevel@tonic-gate void 4330Sstevel@tonic-gate AcpiDmRegionFlags ( 4340Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4350Sstevel@tonic-gate 4360Sstevel@tonic-gate void 4370Sstevel@tonic-gate AcpiDmMatchOp ( 4380Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4390Sstevel@tonic-gate 4400Sstevel@tonic-gate BOOLEAN 4410Sstevel@tonic-gate AcpiDmCommaIfListMember ( 4420Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4430Sstevel@tonic-gate 4440Sstevel@tonic-gate void 4450Sstevel@tonic-gate AcpiDmCommaIfFieldMember ( 4460Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4470Sstevel@tonic-gate 4480Sstevel@tonic-gate 4490Sstevel@tonic-gate /* 4500Sstevel@tonic-gate * dmnames 4510Sstevel@tonic-gate */ 4520Sstevel@tonic-gate UINT32 4530Sstevel@tonic-gate AcpiDmDumpName ( 454*7851SDana.Myers@Sun.COM UINT32 Name); 4550Sstevel@tonic-gate 4560Sstevel@tonic-gate ACPI_STATUS 4570Sstevel@tonic-gate AcpiPsDisplayObjectPathname ( 4580Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4590Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4600Sstevel@tonic-gate 4610Sstevel@tonic-gate void 4620Sstevel@tonic-gate AcpiDmNamestring ( 4630Sstevel@tonic-gate char *Name); 4640Sstevel@tonic-gate 4650Sstevel@tonic-gate 4660Sstevel@tonic-gate /* 4670Sstevel@tonic-gate * dmobject 4680Sstevel@tonic-gate */ 4690Sstevel@tonic-gate void 4700Sstevel@tonic-gate AcpiDmDisplayInternalObject ( 4710Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc, 4720Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4730Sstevel@tonic-gate 4740Sstevel@tonic-gate void 4750Sstevel@tonic-gate AcpiDmDisplayArguments ( 4760Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4770Sstevel@tonic-gate 4780Sstevel@tonic-gate void 4790Sstevel@tonic-gate AcpiDmDisplayLocals ( 4800Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4810Sstevel@tonic-gate 4820Sstevel@tonic-gate void 4830Sstevel@tonic-gate AcpiDmDumpMethodInfo ( 4840Sstevel@tonic-gate ACPI_STATUS Status, 4850Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4860Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4870Sstevel@tonic-gate 4880Sstevel@tonic-gate 4890Sstevel@tonic-gate /* 4900Sstevel@tonic-gate * dmbuffer 4910Sstevel@tonic-gate */ 4920Sstevel@tonic-gate void 4930Sstevel@tonic-gate AcpiDmDisasmByteList ( 4940Sstevel@tonic-gate UINT32 Level, 4950Sstevel@tonic-gate UINT8 *ByteData, 4960Sstevel@tonic-gate UINT32 ByteCount); 4970Sstevel@tonic-gate 4980Sstevel@tonic-gate void 4990Sstevel@tonic-gate AcpiDmByteList ( 5000Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 5010Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5020Sstevel@tonic-gate 5030Sstevel@tonic-gate void 504347Smyers AcpiDmIsEisaId ( 5050Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5060Sstevel@tonic-gate 5070Sstevel@tonic-gate void 5080Sstevel@tonic-gate AcpiDmEisaId ( 5090Sstevel@tonic-gate UINT32 EncodedId); 5100Sstevel@tonic-gate 5110Sstevel@tonic-gate BOOLEAN 5120Sstevel@tonic-gate AcpiDmIsUnicodeBuffer ( 5130Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5140Sstevel@tonic-gate 5150Sstevel@tonic-gate BOOLEAN 5160Sstevel@tonic-gate AcpiDmIsStringBuffer ( 5170Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5180Sstevel@tonic-gate 5190Sstevel@tonic-gate 5200Sstevel@tonic-gate /* 5210Sstevel@tonic-gate * dmresrc 5220Sstevel@tonic-gate */ 5230Sstevel@tonic-gate void 5241560Smyers AcpiDmDumpInteger8 ( 5251560Smyers UINT8 Value, 5261560Smyers char *Name); 5271560Smyers 5281560Smyers void 5291560Smyers AcpiDmDumpInteger16 ( 5301560Smyers UINT16 Value, 5311560Smyers char *Name); 5321560Smyers 5331560Smyers void 5341560Smyers AcpiDmDumpInteger32 ( 5351560Smyers UINT32 Value, 5361560Smyers char *Name); 5371560Smyers 5381560Smyers void 5391560Smyers AcpiDmDumpInteger64 ( 5401560Smyers UINT64 Value, 5411560Smyers char *Name); 5421560Smyers 5431560Smyers void 5441560Smyers AcpiDmResourceTemplate ( 5450Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 5462623Smyers ACPI_PARSE_OBJECT *Op, 5470Sstevel@tonic-gate UINT8 *ByteData, 5480Sstevel@tonic-gate UINT32 ByteCount); 5490Sstevel@tonic-gate 550*7851SDana.Myers@Sun.COM ACPI_STATUS 5511560Smyers AcpiDmIsResourceTemplate ( 5520Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5530Sstevel@tonic-gate 5540Sstevel@tonic-gate void 5550Sstevel@tonic-gate AcpiDmIndent ( 5560Sstevel@tonic-gate UINT32 Level); 5570Sstevel@tonic-gate 5580Sstevel@tonic-gate void 5590Sstevel@tonic-gate AcpiDmBitList ( 5600Sstevel@tonic-gate UINT16 Mask); 5610Sstevel@tonic-gate 5620Sstevel@tonic-gate void 5630Sstevel@tonic-gate AcpiDmDecodeAttribute ( 5640Sstevel@tonic-gate UINT8 Attribute); 5650Sstevel@tonic-gate 5662623Smyers void 5672623Smyers AcpiDmDescriptorName ( 5682623Smyers void); 5692623Smyers 5700Sstevel@tonic-gate 5710Sstevel@tonic-gate /* 5720Sstevel@tonic-gate * dmresrcl 5730Sstevel@tonic-gate */ 5740Sstevel@tonic-gate void 5750Sstevel@tonic-gate AcpiDmWordDescriptor ( 576941Smyers AML_RESOURCE *Resource, 5770Sstevel@tonic-gate UINT32 Length, 5780Sstevel@tonic-gate UINT32 Level); 5790Sstevel@tonic-gate 5800Sstevel@tonic-gate void 5810Sstevel@tonic-gate AcpiDmDwordDescriptor ( 582941Smyers AML_RESOURCE *Resource, 5830Sstevel@tonic-gate UINT32 Length, 5840Sstevel@tonic-gate UINT32 Level); 5850Sstevel@tonic-gate 5860Sstevel@tonic-gate void 5870Sstevel@tonic-gate AcpiDmExtendedDescriptor ( 588941Smyers AML_RESOURCE *Resource, 5890Sstevel@tonic-gate UINT32 Length, 5900Sstevel@tonic-gate UINT32 Level); 5910Sstevel@tonic-gate 5920Sstevel@tonic-gate void 5930Sstevel@tonic-gate AcpiDmQwordDescriptor ( 594941Smyers AML_RESOURCE *Resource, 5950Sstevel@tonic-gate UINT32 Length, 5960Sstevel@tonic-gate UINT32 Level); 5970Sstevel@tonic-gate 5980Sstevel@tonic-gate void 5990Sstevel@tonic-gate AcpiDmMemory24Descriptor ( 600941Smyers AML_RESOURCE *Resource, 6010Sstevel@tonic-gate UINT32 Length, 6020Sstevel@tonic-gate UINT32 Level); 6030Sstevel@tonic-gate 6040Sstevel@tonic-gate void 6050Sstevel@tonic-gate AcpiDmMemory32Descriptor ( 606941Smyers AML_RESOURCE *Resource, 6070Sstevel@tonic-gate UINT32 Length, 6080Sstevel@tonic-gate UINT32 Level); 6090Sstevel@tonic-gate 6100Sstevel@tonic-gate void 611941Smyers AcpiDmFixedMemory32Descriptor ( 612941Smyers AML_RESOURCE *Resource, 6130Sstevel@tonic-gate UINT32 Length, 6140Sstevel@tonic-gate UINT32 Level); 6150Sstevel@tonic-gate 6160Sstevel@tonic-gate void 6170Sstevel@tonic-gate AcpiDmGenericRegisterDescriptor ( 618941Smyers AML_RESOURCE *Resource, 6190Sstevel@tonic-gate UINT32 Length, 6200Sstevel@tonic-gate UINT32 Level); 6210Sstevel@tonic-gate 6220Sstevel@tonic-gate void 6230Sstevel@tonic-gate AcpiDmInterruptDescriptor ( 624941Smyers AML_RESOURCE *Resource, 6250Sstevel@tonic-gate UINT32 Length, 6260Sstevel@tonic-gate UINT32 Level); 6270Sstevel@tonic-gate 6280Sstevel@tonic-gate void 6290Sstevel@tonic-gate AcpiDmVendorLargeDescriptor ( 630941Smyers AML_RESOURCE *Resource, 6310Sstevel@tonic-gate UINT32 Length, 6320Sstevel@tonic-gate UINT32 Level); 6330Sstevel@tonic-gate 6341560Smyers void 6351560Smyers AcpiDmVendorCommon ( 6361560Smyers char *Name, 6371560Smyers UINT8 *ByteData, 6381560Smyers UINT32 Length, 6391560Smyers UINT32 Level); 6401560Smyers 6410Sstevel@tonic-gate 6420Sstevel@tonic-gate /* 6430Sstevel@tonic-gate * dmresrcs 6440Sstevel@tonic-gate */ 6450Sstevel@tonic-gate void 6460Sstevel@tonic-gate AcpiDmIrqDescriptor ( 647941Smyers AML_RESOURCE *Resource, 6480Sstevel@tonic-gate UINT32 Length, 6490Sstevel@tonic-gate UINT32 Level); 6500Sstevel@tonic-gate 6510Sstevel@tonic-gate void 6520Sstevel@tonic-gate AcpiDmDmaDescriptor ( 653941Smyers AML_RESOURCE *Resource, 6540Sstevel@tonic-gate UINT32 Length, 6550Sstevel@tonic-gate UINT32 Level); 6560Sstevel@tonic-gate 6570Sstevel@tonic-gate void 6580Sstevel@tonic-gate AcpiDmIoDescriptor ( 659941Smyers AML_RESOURCE *Resource, 6600Sstevel@tonic-gate UINT32 Length, 6610Sstevel@tonic-gate UINT32 Level); 6620Sstevel@tonic-gate 6630Sstevel@tonic-gate void 6640Sstevel@tonic-gate AcpiDmFixedIoDescriptor ( 665941Smyers AML_RESOURCE *Resource, 6660Sstevel@tonic-gate UINT32 Length, 6670Sstevel@tonic-gate UINT32 Level); 6680Sstevel@tonic-gate 6690Sstevel@tonic-gate void 6700Sstevel@tonic-gate AcpiDmStartDependentDescriptor ( 671941Smyers AML_RESOURCE *Resource, 6720Sstevel@tonic-gate UINT32 Length, 6730Sstevel@tonic-gate UINT32 Level); 6740Sstevel@tonic-gate 6750Sstevel@tonic-gate void 6760Sstevel@tonic-gate AcpiDmEndDependentDescriptor ( 677941Smyers AML_RESOURCE *Resource, 6780Sstevel@tonic-gate UINT32 Length, 6790Sstevel@tonic-gate UINT32 Level); 6800Sstevel@tonic-gate 6810Sstevel@tonic-gate void 6820Sstevel@tonic-gate AcpiDmVendorSmallDescriptor ( 683941Smyers AML_RESOURCE *Resource, 6840Sstevel@tonic-gate UINT32 Length, 6850Sstevel@tonic-gate UINT32 Level); 6860Sstevel@tonic-gate 6870Sstevel@tonic-gate 6880Sstevel@tonic-gate /* 6890Sstevel@tonic-gate * dmutils 6900Sstevel@tonic-gate */ 6910Sstevel@tonic-gate void 6920Sstevel@tonic-gate AcpiDmAddToExternalList ( 6932623Smyers char *Path, 6942623Smyers UINT8 Type, 6952623Smyers UINT32 Value); 6962623Smyers 6972623Smyers /* 6982623Smyers * dmrestag 6992623Smyers */ 7002623Smyers void 7012623Smyers AcpiDmFindResources ( 7022623Smyers ACPI_PARSE_OBJECT *Root); 7032623Smyers 7042623Smyers void 7052623Smyers AcpiDmCheckResourceReference ( 7062623Smyers ACPI_PARSE_OBJECT *Op, 7072623Smyers ACPI_WALK_STATE *WalkState); 7080Sstevel@tonic-gate 7090Sstevel@tonic-gate #endif /* __ACDISASM_H__ */ 710