10Sstevel@tonic-gate /****************************************************************************** 20Sstevel@tonic-gate * 30Sstevel@tonic-gate * Name: acdisasm.h - AML disassembler 40Sstevel@tonic-gate * 50Sstevel@tonic-gate *****************************************************************************/ 60Sstevel@tonic-gate 70Sstevel@tonic-gate /****************************************************************************** 80Sstevel@tonic-gate * 90Sstevel@tonic-gate * 1. Copyright Notice 100Sstevel@tonic-gate * 11*9980SDana.Myers@Sun.COM * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. 120Sstevel@tonic-gate * All rights reserved. 130Sstevel@tonic-gate * 140Sstevel@tonic-gate * 2. License 150Sstevel@tonic-gate * 160Sstevel@tonic-gate * 2.1. This is your license from Intel Corp. under its intellectual property 170Sstevel@tonic-gate * rights. You may have additional license terms from the party that provided 180Sstevel@tonic-gate * you this software, covering your right to use that party's intellectual 190Sstevel@tonic-gate * property rights. 200Sstevel@tonic-gate * 210Sstevel@tonic-gate * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 220Sstevel@tonic-gate * copy of the source code appearing in this file ("Covered Code") an 230Sstevel@tonic-gate * irrevocable, perpetual, worldwide license under Intel's copyrights in the 240Sstevel@tonic-gate * base code distributed originally by Intel ("Original Intel Code") to copy, 250Sstevel@tonic-gate * make derivatives, distribute, use and display any portion of the Covered 260Sstevel@tonic-gate * Code in any form, with the right to sublicense such rights; and 270Sstevel@tonic-gate * 280Sstevel@tonic-gate * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 290Sstevel@tonic-gate * license (with the right to sublicense), under only those claims of Intel 300Sstevel@tonic-gate * patents that are infringed by the Original Intel Code, to make, use, sell, 310Sstevel@tonic-gate * offer to sell, and import the Covered Code and derivative works thereof 320Sstevel@tonic-gate * solely to the minimum extent necessary to exercise the above copyright 330Sstevel@tonic-gate * license, and in no event shall the patent license extend to any additions 340Sstevel@tonic-gate * to or modifications of the Original Intel Code. No other license or right 350Sstevel@tonic-gate * is granted directly or by implication, estoppel or otherwise; 360Sstevel@tonic-gate * 370Sstevel@tonic-gate * The above copyright and patent license is granted only if the following 380Sstevel@tonic-gate * conditions are met: 390Sstevel@tonic-gate * 400Sstevel@tonic-gate * 3. Conditions 410Sstevel@tonic-gate * 420Sstevel@tonic-gate * 3.1. Redistribution of Source with Rights to Further Distribute Source. 430Sstevel@tonic-gate * Redistribution of source code of any substantial portion of the Covered 440Sstevel@tonic-gate * Code or modification with rights to further distribute source must include 450Sstevel@tonic-gate * the above Copyright Notice, the above License, this list of Conditions, 460Sstevel@tonic-gate * and the following Disclaimer and Export Compliance provision. In addition, 470Sstevel@tonic-gate * Licensee must cause all Covered Code to which Licensee contributes to 480Sstevel@tonic-gate * contain a file documenting the changes Licensee made to create that Covered 490Sstevel@tonic-gate * Code and the date of any change. Licensee must include in that file the 500Sstevel@tonic-gate * documentation of any changes made by any predecessor Licensee. Licensee 510Sstevel@tonic-gate * must include a prominent statement that the modification is derived, 520Sstevel@tonic-gate * directly or indirectly, from Original Intel Code. 530Sstevel@tonic-gate * 540Sstevel@tonic-gate * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 550Sstevel@tonic-gate * Redistribution of source code of any substantial portion of the Covered 560Sstevel@tonic-gate * Code or modification without rights to further distribute source must 570Sstevel@tonic-gate * include the following Disclaimer and Export Compliance provision in the 580Sstevel@tonic-gate * documentation and/or other materials provided with distribution. In 590Sstevel@tonic-gate * addition, Licensee may not authorize further sublicense of source of any 600Sstevel@tonic-gate * portion of the Covered Code, and must include terms to the effect that the 610Sstevel@tonic-gate * license from Licensee to its licensee is limited to the intellectual 620Sstevel@tonic-gate * property embodied in the software Licensee provides to its licensee, and 630Sstevel@tonic-gate * not to intellectual property embodied in modifications its licensee may 640Sstevel@tonic-gate * make. 650Sstevel@tonic-gate * 660Sstevel@tonic-gate * 3.3. Redistribution of Executable. Redistribution in executable form of any 670Sstevel@tonic-gate * substantial portion of the Covered Code or modification must reproduce the 680Sstevel@tonic-gate * above Copyright Notice, and the following Disclaimer and Export Compliance 690Sstevel@tonic-gate * provision in the documentation and/or other materials provided with the 700Sstevel@tonic-gate * distribution. 710Sstevel@tonic-gate * 720Sstevel@tonic-gate * 3.4. Intel retains all right, title, and interest in and to the Original 730Sstevel@tonic-gate * Intel Code. 740Sstevel@tonic-gate * 750Sstevel@tonic-gate * 3.5. Neither the name Intel nor any other trademark owned or controlled by 760Sstevel@tonic-gate * Intel shall be used in advertising or otherwise to promote the sale, use or 770Sstevel@tonic-gate * other dealings in products derived from or relating to the Covered Code 780Sstevel@tonic-gate * without prior written authorization from Intel. 790Sstevel@tonic-gate * 800Sstevel@tonic-gate * 4. Disclaimer and Export Compliance 810Sstevel@tonic-gate * 820Sstevel@tonic-gate * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 830Sstevel@tonic-gate * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 840Sstevel@tonic-gate * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 850Sstevel@tonic-gate * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 860Sstevel@tonic-gate * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 870Sstevel@tonic-gate * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 880Sstevel@tonic-gate * PARTICULAR PURPOSE. 890Sstevel@tonic-gate * 900Sstevel@tonic-gate * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 910Sstevel@tonic-gate * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 920Sstevel@tonic-gate * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 930Sstevel@tonic-gate * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 940Sstevel@tonic-gate * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 950Sstevel@tonic-gate * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 960Sstevel@tonic-gate * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 970Sstevel@tonic-gate * LIMITED REMEDY. 980Sstevel@tonic-gate * 990Sstevel@tonic-gate * 4.3. Licensee shall not export, either directly or indirectly, any of this 1000Sstevel@tonic-gate * software or system incorporating such software without first obtaining any 1010Sstevel@tonic-gate * required license or other approval from the U. S. Department of Commerce or 1020Sstevel@tonic-gate * any other agency or department of the United States Government. In the 1030Sstevel@tonic-gate * event Licensee exports any such software from the United States or 1040Sstevel@tonic-gate * re-exports any such software from a foreign destination, Licensee shall 1050Sstevel@tonic-gate * ensure that the distribution and export/re-export of the software is in 1060Sstevel@tonic-gate * compliance with all laws, regulations, orders, or other restrictions of the 1070Sstevel@tonic-gate * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1080Sstevel@tonic-gate * any of its subsidiaries will export/re-export any technical data, process, 1090Sstevel@tonic-gate * software, or service, directly or indirectly, to any country for which the 1100Sstevel@tonic-gate * United States government or any agency thereof requires an export license, 1110Sstevel@tonic-gate * other governmental approval, or letter of assurance, without first obtaining 1120Sstevel@tonic-gate * such license, approval or letter. 1130Sstevel@tonic-gate * 1140Sstevel@tonic-gate *****************************************************************************/ 1150Sstevel@tonic-gate 1160Sstevel@tonic-gate #ifndef __ACDISASM_H__ 1170Sstevel@tonic-gate #define __ACDISASM_H__ 1180Sstevel@tonic-gate 1190Sstevel@tonic-gate #include "amlresrc.h" 1200Sstevel@tonic-gate 1210Sstevel@tonic-gate 1220Sstevel@tonic-gate #define BLOCK_NONE 0 1230Sstevel@tonic-gate #define BLOCK_PAREN 1 1240Sstevel@tonic-gate #define BLOCK_BRACE 2 1250Sstevel@tonic-gate #define BLOCK_COMMA_LIST 4 1262623Smyers #define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" 1270Sstevel@tonic-gate 1280Sstevel@tonic-gate typedef struct acpi_external_list 1290Sstevel@tonic-gate { 1300Sstevel@tonic-gate char *Path; 1312623Smyers char *InternalPath; 1320Sstevel@tonic-gate struct acpi_external_list *Next; 1332623Smyers UINT32 Value; 1342623Smyers UINT16 Length; 1352623Smyers UINT8 Type; 1360Sstevel@tonic-gate 1370Sstevel@tonic-gate } ACPI_EXTERNAL_LIST; 1380Sstevel@tonic-gate 1390Sstevel@tonic-gate extern ACPI_EXTERNAL_LIST *AcpiGbl_ExternalList; 1401560Smyers 1412623Smyers typedef const struct acpi_dmtable_info 1422623Smyers { 1432623Smyers UINT8 Opcode; 1442623Smyers UINT8 Offset; 1452623Smyers char *Name; 1462623Smyers 1472623Smyers } ACPI_DMTABLE_INFO; 1481560Smyers 1492623Smyers /* 1502623Smyers * Values for Opcode above. 1512623Smyers * Note: 0-7 must not change, used as a flag shift value 1522623Smyers */ 1532623Smyers #define ACPI_DMT_FLAG0 0 1542623Smyers #define ACPI_DMT_FLAG1 1 1552623Smyers #define ACPI_DMT_FLAG2 2 1562623Smyers #define ACPI_DMT_FLAG3 3 1572623Smyers #define ACPI_DMT_FLAG4 4 1582623Smyers #define ACPI_DMT_FLAG5 5 1592623Smyers #define ACPI_DMT_FLAG6 6 1602623Smyers #define ACPI_DMT_FLAG7 7 1612623Smyers #define ACPI_DMT_FLAGS0 8 1622623Smyers #define ACPI_DMT_FLAGS2 9 1632623Smyers #define ACPI_DMT_UINT8 10 1642623Smyers #define ACPI_DMT_UINT16 11 1652623Smyers #define ACPI_DMT_UINT24 12 1662623Smyers #define ACPI_DMT_UINT32 13 1672623Smyers #define ACPI_DMT_UINT56 14 1682623Smyers #define ACPI_DMT_UINT64 15 1692623Smyers #define ACPI_DMT_STRING 16 1702623Smyers #define ACPI_DMT_NAME4 17 1712623Smyers #define ACPI_DMT_NAME6 18 1722623Smyers #define ACPI_DMT_NAME8 19 1732623Smyers #define ACPI_DMT_CHKSUM 20 1742623Smyers #define ACPI_DMT_SPACEID 21 1752623Smyers #define ACPI_DMT_GAS 22 1767851SDana.Myers@Sun.COM #define ACPI_DMT_ASF 23 1777851SDana.Myers@Sun.COM #define ACPI_DMT_DMAR 24 1787851SDana.Myers@Sun.COM #define ACPI_DMT_HEST 25 1797851SDana.Myers@Sun.COM #define ACPI_DMT_HESTNTFY 26 1807851SDana.Myers@Sun.COM #define ACPI_DMT_HESTNTYP 27 1817851SDana.Myers@Sun.COM #define ACPI_DMT_MADT 28 1827851SDana.Myers@Sun.COM #define ACPI_DMT_SRAT 29 1837851SDana.Myers@Sun.COM #define ACPI_DMT_EXIT 30 1847851SDana.Myers@Sun.COM #define ACPI_DMT_SIG 31 185*9980SDana.Myers@Sun.COM #define ACPI_DMT_FADTPM 32 1862623Smyers 1872623Smyers typedef 1887851SDana.Myers@Sun.COM void (*ACPI_DMTABLE_HANDLER) ( 1892623Smyers ACPI_TABLE_HEADER *Table); 1902623Smyers 1912623Smyers typedef struct acpi_dmtable_data 1922623Smyers { 1932623Smyers char *Signature; 1947851SDana.Myers@Sun.COM ACPI_DMTABLE_INFO *TableInfo; 1957851SDana.Myers@Sun.COM ACPI_DMTABLE_HANDLER TableHandler; 1967851SDana.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[]; 2367851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 2372623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 2387851SDana.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[]; 2437851SDana.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[]; 2477851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 2487851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 2497851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 2507851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 2517851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 2527851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 2532623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 2547851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 2557851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 2567851SDana.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[]; 260*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 2612623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 2622623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 2637851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 264*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 265*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 266*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest3[]; 267*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest4[]; 268*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest5[]; 269*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 270*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 271*9980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 2727851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 2737851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 2742623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 2752623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 2762623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 2772623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 2782623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 2792623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 2802623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 2812623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 2822623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 2832623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 2842623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 2857851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 2867851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 2872623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 2882623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 2892623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 2902623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 2912623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 2922623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 2937851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 2942623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 2952623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 2962623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 2972623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 2987851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 2992623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 3002623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 3017851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 3022623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 3032623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 3042623Smyers 3052623Smyers 3062623Smyers /* 3072623Smyers * dmtable 3082623Smyers */ 3092623Smyers void 3102623Smyers AcpiDmDumpDataTable ( 3112623Smyers ACPI_TABLE_HEADER *Table); 3122623Smyers 3137851SDana.Myers@Sun.COM ACPI_STATUS 3142623Smyers AcpiDmDumpTable ( 3152623Smyers UINT32 TableLength, 3162623Smyers UINT32 TableOffset, 3172623Smyers void *Table, 3182623Smyers UINT32 SubTableLength, 3192623Smyers ACPI_DMTABLE_INFO *Info); 3202623Smyers 3212623Smyers void 3222623Smyers AcpiDmLineHeader ( 3232623Smyers UINT32 Offset, 3242623Smyers UINT32 ByteLength, 3252623Smyers char *Name); 3262623Smyers 3272623Smyers void 3282623Smyers AcpiDmLineHeader2 ( 3292623Smyers UINT32 Offset, 3302623Smyers UINT32 ByteLength, 3312623Smyers char *Name, 3322623Smyers UINT32 Value); 3332623Smyers 3342623Smyers 3352623Smyers /* 3362623Smyers * dmtbdump 3372623Smyers */ 3382623Smyers void 3392623Smyers AcpiDmDumpAsf ( 3402623Smyers ACPI_TABLE_HEADER *Table); 3412623Smyers 3422623Smyers void 3432623Smyers AcpiDmDumpCpep ( 3442623Smyers ACPI_TABLE_HEADER *Table); 3452623Smyers 3462623Smyers void 3477851SDana.Myers@Sun.COM AcpiDmDumpDmar ( 3487851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3497851SDana.Myers@Sun.COM 3507851SDana.Myers@Sun.COM void 3517851SDana.Myers@Sun.COM AcpiDmDumpEinj ( 3527851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3537851SDana.Myers@Sun.COM 3547851SDana.Myers@Sun.COM void 3557851SDana.Myers@Sun.COM AcpiDmDumpErst ( 3567851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3577851SDana.Myers@Sun.COM 3587851SDana.Myers@Sun.COM void 3592623Smyers AcpiDmDumpFadt ( 3602623Smyers ACPI_TABLE_HEADER *Table); 3612623Smyers 3622623Smyers void 3637851SDana.Myers@Sun.COM AcpiDmDumpHest ( 3642623Smyers ACPI_TABLE_HEADER *Table); 3652623Smyers 3662623Smyers void 3672623Smyers AcpiDmDumpMcfg ( 3682623Smyers ACPI_TABLE_HEADER *Table); 3692623Smyers 3702623Smyers void 3712623Smyers AcpiDmDumpMadt ( 3722623Smyers ACPI_TABLE_HEADER *Table); 3732623Smyers 3742623Smyers UINT32 3752623Smyers AcpiDmDumpRsdp ( 3762623Smyers ACPI_TABLE_HEADER *Table); 3772623Smyers 3782623Smyers void 3792623Smyers AcpiDmDumpRsdt ( 3802623Smyers ACPI_TABLE_HEADER *Table); 3812623Smyers 3822623Smyers void 3832623Smyers AcpiDmDumpSlit ( 3842623Smyers ACPI_TABLE_HEADER *Table); 3852623Smyers 3862623Smyers void 3877851SDana.Myers@Sun.COM AcpiDmDumpSrat ( 3887851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3897851SDana.Myers@Sun.COM 3907851SDana.Myers@Sun.COM void 3912623Smyers AcpiDmDumpXsdt ( 3922623Smyers ACPI_TABLE_HEADER *Table); 3932623Smyers 3940Sstevel@tonic-gate 3950Sstevel@tonic-gate /* 3960Sstevel@tonic-gate * dmwalk 3970Sstevel@tonic-gate */ 3980Sstevel@tonic-gate void 3990Sstevel@tonic-gate AcpiDmDisassemble ( 4000Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4010Sstevel@tonic-gate ACPI_PARSE_OBJECT *Origin, 4020Sstevel@tonic-gate UINT32 NumOpcodes); 4030Sstevel@tonic-gate 4042623Smyers void 4052623Smyers AcpiDmWalkParseTree ( 4062623Smyers ACPI_PARSE_OBJECT *Op, 4072623Smyers ASL_WALK_CALLBACK DescendingCallback, 4082623Smyers ASL_WALK_CALLBACK AscendingCallback, 4092623Smyers void *Context); 4102623Smyers 4110Sstevel@tonic-gate 4120Sstevel@tonic-gate /* 4130Sstevel@tonic-gate * dmopcode 4140Sstevel@tonic-gate */ 4150Sstevel@tonic-gate void 4160Sstevel@tonic-gate AcpiDmDisassembleOneOp ( 4170Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4180Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 4190Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4200Sstevel@tonic-gate 4210Sstevel@tonic-gate void 4220Sstevel@tonic-gate AcpiDmDecodeInternalObject ( 4230Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 4240Sstevel@tonic-gate 4250Sstevel@tonic-gate UINT32 4260Sstevel@tonic-gate AcpiDmListType ( 4270Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4280Sstevel@tonic-gate 4290Sstevel@tonic-gate void 4300Sstevel@tonic-gate AcpiDmMethodFlags ( 4310Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4320Sstevel@tonic-gate 4330Sstevel@tonic-gate void 4340Sstevel@tonic-gate AcpiDmFieldFlags ( 4350Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4360Sstevel@tonic-gate 4370Sstevel@tonic-gate void 4380Sstevel@tonic-gate AcpiDmAddressSpace ( 4390Sstevel@tonic-gate UINT8 SpaceId); 4400Sstevel@tonic-gate 4410Sstevel@tonic-gate void 4420Sstevel@tonic-gate AcpiDmRegionFlags ( 4430Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4440Sstevel@tonic-gate 4450Sstevel@tonic-gate void 4460Sstevel@tonic-gate AcpiDmMatchOp ( 4470Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4480Sstevel@tonic-gate 4490Sstevel@tonic-gate BOOLEAN 4500Sstevel@tonic-gate AcpiDmCommaIfListMember ( 4510Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4520Sstevel@tonic-gate 4530Sstevel@tonic-gate void 4540Sstevel@tonic-gate AcpiDmCommaIfFieldMember ( 4550Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4560Sstevel@tonic-gate 4570Sstevel@tonic-gate 4580Sstevel@tonic-gate /* 4590Sstevel@tonic-gate * dmnames 4600Sstevel@tonic-gate */ 4610Sstevel@tonic-gate UINT32 4620Sstevel@tonic-gate AcpiDmDumpName ( 4637851SDana.Myers@Sun.COM UINT32 Name); 4640Sstevel@tonic-gate 4650Sstevel@tonic-gate ACPI_STATUS 4660Sstevel@tonic-gate AcpiPsDisplayObjectPathname ( 4670Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4680Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4690Sstevel@tonic-gate 4700Sstevel@tonic-gate void 4710Sstevel@tonic-gate AcpiDmNamestring ( 4720Sstevel@tonic-gate char *Name); 4730Sstevel@tonic-gate 4740Sstevel@tonic-gate 4750Sstevel@tonic-gate /* 4760Sstevel@tonic-gate * dmobject 4770Sstevel@tonic-gate */ 4780Sstevel@tonic-gate void 4790Sstevel@tonic-gate AcpiDmDisplayInternalObject ( 4800Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc, 4810Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4820Sstevel@tonic-gate 4830Sstevel@tonic-gate void 4840Sstevel@tonic-gate AcpiDmDisplayArguments ( 4850Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4860Sstevel@tonic-gate 4870Sstevel@tonic-gate void 4880Sstevel@tonic-gate AcpiDmDisplayLocals ( 4890Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4900Sstevel@tonic-gate 4910Sstevel@tonic-gate void 4920Sstevel@tonic-gate AcpiDmDumpMethodInfo ( 4930Sstevel@tonic-gate ACPI_STATUS Status, 4940Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4950Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4960Sstevel@tonic-gate 4970Sstevel@tonic-gate 4980Sstevel@tonic-gate /* 4990Sstevel@tonic-gate * dmbuffer 5000Sstevel@tonic-gate */ 5010Sstevel@tonic-gate void 5020Sstevel@tonic-gate AcpiDmDisasmByteList ( 5030Sstevel@tonic-gate UINT32 Level, 5040Sstevel@tonic-gate UINT8 *ByteData, 5050Sstevel@tonic-gate UINT32 ByteCount); 5060Sstevel@tonic-gate 5070Sstevel@tonic-gate void 5080Sstevel@tonic-gate AcpiDmByteList ( 5090Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 5100Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5110Sstevel@tonic-gate 5120Sstevel@tonic-gate void 513347Smyers AcpiDmIsEisaId ( 5140Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5150Sstevel@tonic-gate 5160Sstevel@tonic-gate void 5170Sstevel@tonic-gate AcpiDmEisaId ( 5180Sstevel@tonic-gate UINT32 EncodedId); 5190Sstevel@tonic-gate 5200Sstevel@tonic-gate BOOLEAN 5210Sstevel@tonic-gate AcpiDmIsUnicodeBuffer ( 5220Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5230Sstevel@tonic-gate 5240Sstevel@tonic-gate BOOLEAN 5250Sstevel@tonic-gate AcpiDmIsStringBuffer ( 5260Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5270Sstevel@tonic-gate 5280Sstevel@tonic-gate 5290Sstevel@tonic-gate /* 5300Sstevel@tonic-gate * dmresrc 5310Sstevel@tonic-gate */ 5320Sstevel@tonic-gate void 5331560Smyers AcpiDmDumpInteger8 ( 5341560Smyers UINT8 Value, 5351560Smyers char *Name); 5361560Smyers 5371560Smyers void 5381560Smyers AcpiDmDumpInteger16 ( 5391560Smyers UINT16 Value, 5401560Smyers char *Name); 5411560Smyers 5421560Smyers void 5431560Smyers AcpiDmDumpInteger32 ( 5441560Smyers UINT32 Value, 5451560Smyers char *Name); 5461560Smyers 5471560Smyers void 5481560Smyers AcpiDmDumpInteger64 ( 5491560Smyers UINT64 Value, 5501560Smyers char *Name); 5511560Smyers 5521560Smyers void 5531560Smyers AcpiDmResourceTemplate ( 5540Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 5552623Smyers ACPI_PARSE_OBJECT *Op, 5560Sstevel@tonic-gate UINT8 *ByteData, 5570Sstevel@tonic-gate UINT32 ByteCount); 5580Sstevel@tonic-gate 5597851SDana.Myers@Sun.COM ACPI_STATUS 5601560Smyers AcpiDmIsResourceTemplate ( 5610Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5620Sstevel@tonic-gate 5630Sstevel@tonic-gate void 5640Sstevel@tonic-gate AcpiDmIndent ( 5650Sstevel@tonic-gate UINT32 Level); 5660Sstevel@tonic-gate 5670Sstevel@tonic-gate void 5680Sstevel@tonic-gate AcpiDmBitList ( 5690Sstevel@tonic-gate UINT16 Mask); 5700Sstevel@tonic-gate 5710Sstevel@tonic-gate void 5720Sstevel@tonic-gate AcpiDmDecodeAttribute ( 5730Sstevel@tonic-gate UINT8 Attribute); 5740Sstevel@tonic-gate 5752623Smyers void 5762623Smyers AcpiDmDescriptorName ( 5772623Smyers void); 5782623Smyers 5790Sstevel@tonic-gate 5800Sstevel@tonic-gate /* 5810Sstevel@tonic-gate * dmresrcl 5820Sstevel@tonic-gate */ 5830Sstevel@tonic-gate void 5840Sstevel@tonic-gate AcpiDmWordDescriptor ( 585941Smyers AML_RESOURCE *Resource, 5860Sstevel@tonic-gate UINT32 Length, 5870Sstevel@tonic-gate UINT32 Level); 5880Sstevel@tonic-gate 5890Sstevel@tonic-gate void 5900Sstevel@tonic-gate AcpiDmDwordDescriptor ( 591941Smyers AML_RESOURCE *Resource, 5920Sstevel@tonic-gate UINT32 Length, 5930Sstevel@tonic-gate UINT32 Level); 5940Sstevel@tonic-gate 5950Sstevel@tonic-gate void 5960Sstevel@tonic-gate AcpiDmExtendedDescriptor ( 597941Smyers AML_RESOURCE *Resource, 5980Sstevel@tonic-gate UINT32 Length, 5990Sstevel@tonic-gate UINT32 Level); 6000Sstevel@tonic-gate 6010Sstevel@tonic-gate void 6020Sstevel@tonic-gate AcpiDmQwordDescriptor ( 603941Smyers AML_RESOURCE *Resource, 6040Sstevel@tonic-gate UINT32 Length, 6050Sstevel@tonic-gate UINT32 Level); 6060Sstevel@tonic-gate 6070Sstevel@tonic-gate void 6080Sstevel@tonic-gate AcpiDmMemory24Descriptor ( 609941Smyers AML_RESOURCE *Resource, 6100Sstevel@tonic-gate UINT32 Length, 6110Sstevel@tonic-gate UINT32 Level); 6120Sstevel@tonic-gate 6130Sstevel@tonic-gate void 6140Sstevel@tonic-gate AcpiDmMemory32Descriptor ( 615941Smyers AML_RESOURCE *Resource, 6160Sstevel@tonic-gate UINT32 Length, 6170Sstevel@tonic-gate UINT32 Level); 6180Sstevel@tonic-gate 6190Sstevel@tonic-gate void 620941Smyers AcpiDmFixedMemory32Descriptor ( 621941Smyers AML_RESOURCE *Resource, 6220Sstevel@tonic-gate UINT32 Length, 6230Sstevel@tonic-gate UINT32 Level); 6240Sstevel@tonic-gate 6250Sstevel@tonic-gate void 6260Sstevel@tonic-gate AcpiDmGenericRegisterDescriptor ( 627941Smyers AML_RESOURCE *Resource, 6280Sstevel@tonic-gate UINT32 Length, 6290Sstevel@tonic-gate UINT32 Level); 6300Sstevel@tonic-gate 6310Sstevel@tonic-gate void 6320Sstevel@tonic-gate AcpiDmInterruptDescriptor ( 633941Smyers AML_RESOURCE *Resource, 6340Sstevel@tonic-gate UINT32 Length, 6350Sstevel@tonic-gate UINT32 Level); 6360Sstevel@tonic-gate 6370Sstevel@tonic-gate void 6380Sstevel@tonic-gate AcpiDmVendorLargeDescriptor ( 639941Smyers AML_RESOURCE *Resource, 6400Sstevel@tonic-gate UINT32 Length, 6410Sstevel@tonic-gate UINT32 Level); 6420Sstevel@tonic-gate 6431560Smyers void 6441560Smyers AcpiDmVendorCommon ( 6451560Smyers char *Name, 6461560Smyers UINT8 *ByteData, 6471560Smyers UINT32 Length, 6481560Smyers UINT32 Level); 6491560Smyers 6500Sstevel@tonic-gate 6510Sstevel@tonic-gate /* 6520Sstevel@tonic-gate * dmresrcs 6530Sstevel@tonic-gate */ 6540Sstevel@tonic-gate void 6550Sstevel@tonic-gate AcpiDmIrqDescriptor ( 656941Smyers AML_RESOURCE *Resource, 6570Sstevel@tonic-gate UINT32 Length, 6580Sstevel@tonic-gate UINT32 Level); 6590Sstevel@tonic-gate 6600Sstevel@tonic-gate void 6610Sstevel@tonic-gate AcpiDmDmaDescriptor ( 662941Smyers AML_RESOURCE *Resource, 6630Sstevel@tonic-gate UINT32 Length, 6640Sstevel@tonic-gate UINT32 Level); 6650Sstevel@tonic-gate 6660Sstevel@tonic-gate void 6670Sstevel@tonic-gate AcpiDmIoDescriptor ( 668941Smyers AML_RESOURCE *Resource, 6690Sstevel@tonic-gate UINT32 Length, 6700Sstevel@tonic-gate UINT32 Level); 6710Sstevel@tonic-gate 6720Sstevel@tonic-gate void 6730Sstevel@tonic-gate AcpiDmFixedIoDescriptor ( 674941Smyers AML_RESOURCE *Resource, 6750Sstevel@tonic-gate UINT32 Length, 6760Sstevel@tonic-gate UINT32 Level); 6770Sstevel@tonic-gate 6780Sstevel@tonic-gate void 6790Sstevel@tonic-gate AcpiDmStartDependentDescriptor ( 680941Smyers AML_RESOURCE *Resource, 6810Sstevel@tonic-gate UINT32 Length, 6820Sstevel@tonic-gate UINT32 Level); 6830Sstevel@tonic-gate 6840Sstevel@tonic-gate void 6850Sstevel@tonic-gate AcpiDmEndDependentDescriptor ( 686941Smyers AML_RESOURCE *Resource, 6870Sstevel@tonic-gate UINT32 Length, 6880Sstevel@tonic-gate UINT32 Level); 6890Sstevel@tonic-gate 6900Sstevel@tonic-gate void 6910Sstevel@tonic-gate AcpiDmVendorSmallDescriptor ( 692941Smyers AML_RESOURCE *Resource, 6930Sstevel@tonic-gate UINT32 Length, 6940Sstevel@tonic-gate UINT32 Level); 6950Sstevel@tonic-gate 6960Sstevel@tonic-gate 6970Sstevel@tonic-gate /* 6980Sstevel@tonic-gate * dmutils 6990Sstevel@tonic-gate */ 7000Sstevel@tonic-gate void 7010Sstevel@tonic-gate AcpiDmAddToExternalList ( 7022623Smyers char *Path, 7032623Smyers UINT8 Type, 7042623Smyers UINT32 Value); 7052623Smyers 7062623Smyers /* 7072623Smyers * dmrestag 7082623Smyers */ 7092623Smyers void 7102623Smyers AcpiDmFindResources ( 7112623Smyers ACPI_PARSE_OBJECT *Root); 7122623Smyers 7132623Smyers void 7142623Smyers AcpiDmCheckResourceReference ( 7152623Smyers ACPI_PARSE_OBJECT *Op, 7162623Smyers ACPI_WALK_STATE *WalkState); 7170Sstevel@tonic-gate 7180Sstevel@tonic-gate #endif /* __ACDISASM_H__ */ 719