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 * 119980SDana.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 1281560Smyers 1292623Smyers typedef const struct acpi_dmtable_info 1302623Smyers { 1312623Smyers UINT8 Opcode; 1322623Smyers UINT8 Offset; 1332623Smyers char *Name; 1342623Smyers 1352623Smyers } ACPI_DMTABLE_INFO; 1361560Smyers 1372623Smyers /* 1382623Smyers * Values for Opcode above. 1392623Smyers * Note: 0-7 must not change, used as a flag shift value 1402623Smyers */ 1412623Smyers #define ACPI_DMT_FLAG0 0 1422623Smyers #define ACPI_DMT_FLAG1 1 1432623Smyers #define ACPI_DMT_FLAG2 2 1442623Smyers #define ACPI_DMT_FLAG3 3 1452623Smyers #define ACPI_DMT_FLAG4 4 1462623Smyers #define ACPI_DMT_FLAG5 5 1472623Smyers #define ACPI_DMT_FLAG6 6 1482623Smyers #define ACPI_DMT_FLAG7 7 1492623Smyers #define ACPI_DMT_FLAGS0 8 1502623Smyers #define ACPI_DMT_FLAGS2 9 1512623Smyers #define ACPI_DMT_UINT8 10 1522623Smyers #define ACPI_DMT_UINT16 11 1532623Smyers #define ACPI_DMT_UINT24 12 1542623Smyers #define ACPI_DMT_UINT32 13 1552623Smyers #define ACPI_DMT_UINT56 14 1562623Smyers #define ACPI_DMT_UINT64 15 1572623Smyers #define ACPI_DMT_STRING 16 1582623Smyers #define ACPI_DMT_NAME4 17 1592623Smyers #define ACPI_DMT_NAME6 18 1602623Smyers #define ACPI_DMT_NAME8 19 1612623Smyers #define ACPI_DMT_CHKSUM 20 1622623Smyers #define ACPI_DMT_SPACEID 21 1632623Smyers #define ACPI_DMT_GAS 22 1647851SDana.Myers@Sun.COM #define ACPI_DMT_ASF 23 1657851SDana.Myers@Sun.COM #define ACPI_DMT_DMAR 24 1667851SDana.Myers@Sun.COM #define ACPI_DMT_HEST 25 1677851SDana.Myers@Sun.COM #define ACPI_DMT_HESTNTFY 26 1687851SDana.Myers@Sun.COM #define ACPI_DMT_HESTNTYP 27 1697851SDana.Myers@Sun.COM #define ACPI_DMT_MADT 28 1707851SDana.Myers@Sun.COM #define ACPI_DMT_SRAT 29 1717851SDana.Myers@Sun.COM #define ACPI_DMT_EXIT 30 1727851SDana.Myers@Sun.COM #define ACPI_DMT_SIG 31 1739980SDana.Myers@Sun.COM #define ACPI_DMT_FADTPM 32 174*11225SDana.Myers@Sun.COM #define ACPI_DMT_BUF16 33 175*11225SDana.Myers@Sun.COM #define ACPI_DMT_IVRS 34 176*11225SDana.Myers@Sun.COM 1772623Smyers 1782623Smyers typedef 1797851SDana.Myers@Sun.COM void (*ACPI_DMTABLE_HANDLER) ( 1802623Smyers ACPI_TABLE_HEADER *Table); 1812623Smyers 1822623Smyers typedef struct acpi_dmtable_data 1832623Smyers { 1842623Smyers char *Signature; 1857851SDana.Myers@Sun.COM ACPI_DMTABLE_INFO *TableInfo; 1867851SDana.Myers@Sun.COM ACPI_DMTABLE_HANDLER TableHandler; 1877851SDana.Myers@Sun.COM char *Name; 1882623Smyers 1892623Smyers } ACPI_DMTABLE_DATA; 1900Sstevel@tonic-gate 1910Sstevel@tonic-gate 1920Sstevel@tonic-gate typedef struct acpi_op_walk_info 1930Sstevel@tonic-gate { 1940Sstevel@tonic-gate UINT32 Level; 1952623Smyers UINT32 LastLevel; 1962623Smyers UINT32 Count; 1970Sstevel@tonic-gate UINT32 BitOffset; 1981560Smyers UINT32 Flags; 199347Smyers ACPI_WALK_STATE *WalkState; 2000Sstevel@tonic-gate 2010Sstevel@tonic-gate } ACPI_OP_WALK_INFO; 2020Sstevel@tonic-gate 2030Sstevel@tonic-gate typedef 2040Sstevel@tonic-gate ACPI_STATUS (*ASL_WALK_CALLBACK) ( 2050Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 2060Sstevel@tonic-gate UINT32 Level, 2070Sstevel@tonic-gate void *Context); 2080Sstevel@tonic-gate 2092623Smyers typedef struct acpi_resource_tag 2102623Smyers { 2112623Smyers UINT32 BitIndex; 2122623Smyers char *Tag; 2132623Smyers 2142623Smyers } ACPI_RESOURCE_TAG; 2152623Smyers 2162623Smyers /* Strings used for decoding flags to ASL keywords */ 2172623Smyers 2182623Smyers extern const char *AcpiGbl_WordDecode[]; 2192623Smyers extern const char *AcpiGbl_IrqDecode[]; 2202623Smyers extern const char *AcpiGbl_LockRule[]; 2212623Smyers extern const char *AcpiGbl_AccessTypes[]; 2222623Smyers extern const char *AcpiGbl_UpdateRules[]; 2232623Smyers extern const char *AcpiGbl_MatchOps[]; 2242623Smyers 2252623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; 2262623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; 2277851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; 2282623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; 2297851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; 2302623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; 2312623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; 2322623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; 2332623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; 2347851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; 2352623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; 2362623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; 2372623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; 2387851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; 2397851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; 2407851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; 2417851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; 2427851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; 2437851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; 244*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; 2452623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; 2467851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; 2477851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; 2487851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; 2492623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; 2502623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; 2512623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; 2529980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; 2532623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; 2542623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; 2557851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; 2569980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; 2579980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; 258*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[]; 2599980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; 2609980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; 2619980SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; 2627851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; 2637851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; 264*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[]; 2652623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; 266*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; 267*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[]; 268*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; 269*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; 270*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; 271*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; 272*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; 273*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; 2742623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; 2752623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; 2762623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; 2772623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; 2782623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; 2792623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; 2802623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; 2812623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; 2822623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; 2832623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; 2847851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; 2857851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; 2862623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; 2872623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; 2882623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; 289*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; 290*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; 2912623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; 2922623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; 2932623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; 2947851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; 2952623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; 2962623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; 2972623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; 2982623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; 2997851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; 3002623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; 3012623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; 3027851SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; 3032623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpa[]; 304*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; 305*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; 306*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; 307*11225SDana.Myers@Sun.COM extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; 3082623Smyers extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; 3092623Smyers 3102623Smyers 3112623Smyers /* 3122623Smyers * dmtable 3132623Smyers */ 3142623Smyers void 3152623Smyers AcpiDmDumpDataTable ( 3162623Smyers ACPI_TABLE_HEADER *Table); 3172623Smyers 3187851SDana.Myers@Sun.COM ACPI_STATUS 3192623Smyers AcpiDmDumpTable ( 3202623Smyers UINT32 TableLength, 3212623Smyers UINT32 TableOffset, 3222623Smyers void *Table, 3232623Smyers UINT32 SubTableLength, 3242623Smyers ACPI_DMTABLE_INFO *Info); 3252623Smyers 3262623Smyers void 3272623Smyers AcpiDmLineHeader ( 3282623Smyers UINT32 Offset, 3292623Smyers UINT32 ByteLength, 3302623Smyers char *Name); 3312623Smyers 3322623Smyers void 3332623Smyers AcpiDmLineHeader2 ( 3342623Smyers UINT32 Offset, 3352623Smyers UINT32 ByteLength, 3362623Smyers char *Name, 3372623Smyers UINT32 Value); 3382623Smyers 3392623Smyers 3402623Smyers /* 3412623Smyers * dmtbdump 3422623Smyers */ 3432623Smyers void 3442623Smyers AcpiDmDumpAsf ( 3452623Smyers ACPI_TABLE_HEADER *Table); 3462623Smyers 3472623Smyers void 3482623Smyers AcpiDmDumpCpep ( 3492623Smyers ACPI_TABLE_HEADER *Table); 3502623Smyers 3512623Smyers void 3527851SDana.Myers@Sun.COM AcpiDmDumpDmar ( 3537851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3547851SDana.Myers@Sun.COM 3557851SDana.Myers@Sun.COM void 3567851SDana.Myers@Sun.COM AcpiDmDumpEinj ( 3577851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3587851SDana.Myers@Sun.COM 3597851SDana.Myers@Sun.COM void 3607851SDana.Myers@Sun.COM AcpiDmDumpErst ( 3617851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 3627851SDana.Myers@Sun.COM 3637851SDana.Myers@Sun.COM void 3642623Smyers AcpiDmDumpFadt ( 3652623Smyers ACPI_TABLE_HEADER *Table); 3662623Smyers 3672623Smyers void 3687851SDana.Myers@Sun.COM AcpiDmDumpHest ( 3692623Smyers ACPI_TABLE_HEADER *Table); 3702623Smyers 3712623Smyers void 372*11225SDana.Myers@Sun.COM AcpiDmDumpIvrs ( 373*11225SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 374*11225SDana.Myers@Sun.COM 375*11225SDana.Myers@Sun.COM void 3762623Smyers AcpiDmDumpMcfg ( 3772623Smyers ACPI_TABLE_HEADER *Table); 3782623Smyers 3792623Smyers void 3802623Smyers AcpiDmDumpMadt ( 3812623Smyers ACPI_TABLE_HEADER *Table); 3822623Smyers 383*11225SDana.Myers@Sun.COM void 384*11225SDana.Myers@Sun.COM AcpiDmDumpMsct ( 385*11225SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 386*11225SDana.Myers@Sun.COM 3872623Smyers UINT32 3882623Smyers AcpiDmDumpRsdp ( 3892623Smyers ACPI_TABLE_HEADER *Table); 3902623Smyers 3912623Smyers void 3922623Smyers AcpiDmDumpRsdt ( 3932623Smyers ACPI_TABLE_HEADER *Table); 3942623Smyers 3952623Smyers void 3962623Smyers AcpiDmDumpSlit ( 3972623Smyers ACPI_TABLE_HEADER *Table); 3982623Smyers 3992623Smyers void 4007851SDana.Myers@Sun.COM AcpiDmDumpSrat ( 4017851SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 4027851SDana.Myers@Sun.COM 4037851SDana.Myers@Sun.COM void 404*11225SDana.Myers@Sun.COM AcpiDmDumpWdat ( 405*11225SDana.Myers@Sun.COM ACPI_TABLE_HEADER *Table); 406*11225SDana.Myers@Sun.COM 407*11225SDana.Myers@Sun.COM void 4082623Smyers AcpiDmDumpXsdt ( 4092623Smyers ACPI_TABLE_HEADER *Table); 4102623Smyers 4110Sstevel@tonic-gate 4120Sstevel@tonic-gate /* 4130Sstevel@tonic-gate * dmwalk 4140Sstevel@tonic-gate */ 4150Sstevel@tonic-gate void 4160Sstevel@tonic-gate AcpiDmDisassemble ( 4170Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4180Sstevel@tonic-gate ACPI_PARSE_OBJECT *Origin, 4190Sstevel@tonic-gate UINT32 NumOpcodes); 4200Sstevel@tonic-gate 4212623Smyers void 4222623Smyers AcpiDmWalkParseTree ( 4232623Smyers ACPI_PARSE_OBJECT *Op, 4242623Smyers ASL_WALK_CALLBACK DescendingCallback, 4252623Smyers ASL_WALK_CALLBACK AscendingCallback, 4262623Smyers void *Context); 4272623Smyers 4280Sstevel@tonic-gate 4290Sstevel@tonic-gate /* 4300Sstevel@tonic-gate * dmopcode 4310Sstevel@tonic-gate */ 4320Sstevel@tonic-gate void 4330Sstevel@tonic-gate AcpiDmDisassembleOneOp ( 4340Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4350Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 4360Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4370Sstevel@tonic-gate 4380Sstevel@tonic-gate void 4390Sstevel@tonic-gate AcpiDmDecodeInternalObject ( 4400Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 4410Sstevel@tonic-gate 4420Sstevel@tonic-gate UINT32 4430Sstevel@tonic-gate AcpiDmListType ( 4440Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4450Sstevel@tonic-gate 4460Sstevel@tonic-gate void 4470Sstevel@tonic-gate AcpiDmMethodFlags ( 4480Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4490Sstevel@tonic-gate 4500Sstevel@tonic-gate void 4510Sstevel@tonic-gate AcpiDmFieldFlags ( 4520Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4530Sstevel@tonic-gate 4540Sstevel@tonic-gate void 4550Sstevel@tonic-gate AcpiDmAddressSpace ( 4560Sstevel@tonic-gate UINT8 SpaceId); 4570Sstevel@tonic-gate 4580Sstevel@tonic-gate void 4590Sstevel@tonic-gate AcpiDmRegionFlags ( 4600Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4610Sstevel@tonic-gate 4620Sstevel@tonic-gate void 4630Sstevel@tonic-gate AcpiDmMatchOp ( 4640Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4650Sstevel@tonic-gate 4660Sstevel@tonic-gate 4670Sstevel@tonic-gate /* 4680Sstevel@tonic-gate * dmnames 4690Sstevel@tonic-gate */ 4700Sstevel@tonic-gate UINT32 4710Sstevel@tonic-gate AcpiDmDumpName ( 4727851SDana.Myers@Sun.COM UINT32 Name); 4730Sstevel@tonic-gate 4740Sstevel@tonic-gate ACPI_STATUS 4750Sstevel@tonic-gate AcpiPsDisplayObjectPathname ( 4760Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 4770Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 4780Sstevel@tonic-gate 4790Sstevel@tonic-gate void 4800Sstevel@tonic-gate AcpiDmNamestring ( 4810Sstevel@tonic-gate char *Name); 4820Sstevel@tonic-gate 4830Sstevel@tonic-gate 4840Sstevel@tonic-gate /* 4850Sstevel@tonic-gate * dmobject 4860Sstevel@tonic-gate */ 4870Sstevel@tonic-gate void 4880Sstevel@tonic-gate AcpiDmDisplayInternalObject ( 4890Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc, 4900Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4910Sstevel@tonic-gate 4920Sstevel@tonic-gate void 4930Sstevel@tonic-gate AcpiDmDisplayArguments ( 4940Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4950Sstevel@tonic-gate 4960Sstevel@tonic-gate void 4970Sstevel@tonic-gate AcpiDmDisplayLocals ( 4980Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 4990Sstevel@tonic-gate 5000Sstevel@tonic-gate void 5010Sstevel@tonic-gate AcpiDmDumpMethodInfo ( 5020Sstevel@tonic-gate ACPI_STATUS Status, 5030Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 5040Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5050Sstevel@tonic-gate 5060Sstevel@tonic-gate 5070Sstevel@tonic-gate /* 5080Sstevel@tonic-gate * dmbuffer 5090Sstevel@tonic-gate */ 5100Sstevel@tonic-gate void 5110Sstevel@tonic-gate AcpiDmDisasmByteList ( 5120Sstevel@tonic-gate UINT32 Level, 5130Sstevel@tonic-gate UINT8 *ByteData, 5140Sstevel@tonic-gate UINT32 ByteCount); 5150Sstevel@tonic-gate 5160Sstevel@tonic-gate void 5170Sstevel@tonic-gate AcpiDmByteList ( 5180Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 5190Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5200Sstevel@tonic-gate 5210Sstevel@tonic-gate void 522347Smyers AcpiDmIsEisaId ( 5230Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5240Sstevel@tonic-gate 5250Sstevel@tonic-gate void 5260Sstevel@tonic-gate AcpiDmEisaId ( 5270Sstevel@tonic-gate UINT32 EncodedId); 5280Sstevel@tonic-gate 5290Sstevel@tonic-gate BOOLEAN 5300Sstevel@tonic-gate AcpiDmIsUnicodeBuffer ( 5310Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5320Sstevel@tonic-gate 5330Sstevel@tonic-gate BOOLEAN 5340Sstevel@tonic-gate AcpiDmIsStringBuffer ( 5350Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5360Sstevel@tonic-gate 5370Sstevel@tonic-gate 5380Sstevel@tonic-gate /* 539*11225SDana.Myers@Sun.COM * dmextern 540*11225SDana.Myers@Sun.COM */ 541*11225SDana.Myers@Sun.COM void 542*11225SDana.Myers@Sun.COM AcpiDmAddToExternalList ( 543*11225SDana.Myers@Sun.COM ACPI_PARSE_OBJECT *Op, 544*11225SDana.Myers@Sun.COM char *Path, 545*11225SDana.Myers@Sun.COM UINT8 Type, 546*11225SDana.Myers@Sun.COM UINT32 Value); 547*11225SDana.Myers@Sun.COM 548*11225SDana.Myers@Sun.COM void 549*11225SDana.Myers@Sun.COM AcpiDmAddExternalsToNamespace ( 550*11225SDana.Myers@Sun.COM void); 551*11225SDana.Myers@Sun.COM 552*11225SDana.Myers@Sun.COM UINT32 553*11225SDana.Myers@Sun.COM AcpiDmGetExternalMethodCount ( 554*11225SDana.Myers@Sun.COM void); 555*11225SDana.Myers@Sun.COM 556*11225SDana.Myers@Sun.COM void 557*11225SDana.Myers@Sun.COM AcpiDmClearExternalList ( 558*11225SDana.Myers@Sun.COM void); 559*11225SDana.Myers@Sun.COM 560*11225SDana.Myers@Sun.COM void 561*11225SDana.Myers@Sun.COM AcpiDmEmitExternals ( 562*11225SDana.Myers@Sun.COM void); 563*11225SDana.Myers@Sun.COM 564*11225SDana.Myers@Sun.COM 565*11225SDana.Myers@Sun.COM /* 5660Sstevel@tonic-gate * dmresrc 5670Sstevel@tonic-gate */ 5680Sstevel@tonic-gate void 5691560Smyers AcpiDmDumpInteger8 ( 5701560Smyers UINT8 Value, 5711560Smyers char *Name); 5721560Smyers 5731560Smyers void 5741560Smyers AcpiDmDumpInteger16 ( 5751560Smyers UINT16 Value, 5761560Smyers char *Name); 5771560Smyers 5781560Smyers void 5791560Smyers AcpiDmDumpInteger32 ( 5801560Smyers UINT32 Value, 5811560Smyers char *Name); 5821560Smyers 5831560Smyers void 5841560Smyers AcpiDmDumpInteger64 ( 5851560Smyers UINT64 Value, 5861560Smyers char *Name); 5871560Smyers 5881560Smyers void 5891560Smyers AcpiDmResourceTemplate ( 5900Sstevel@tonic-gate ACPI_OP_WALK_INFO *Info, 5912623Smyers ACPI_PARSE_OBJECT *Op, 5920Sstevel@tonic-gate UINT8 *ByteData, 5930Sstevel@tonic-gate UINT32 ByteCount); 5940Sstevel@tonic-gate 5957851SDana.Myers@Sun.COM ACPI_STATUS 5961560Smyers AcpiDmIsResourceTemplate ( 5970Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 5980Sstevel@tonic-gate 5990Sstevel@tonic-gate void 6000Sstevel@tonic-gate AcpiDmBitList ( 6010Sstevel@tonic-gate UINT16 Mask); 6020Sstevel@tonic-gate 6030Sstevel@tonic-gate void 6042623Smyers AcpiDmDescriptorName ( 6052623Smyers void); 6062623Smyers 6070Sstevel@tonic-gate 6080Sstevel@tonic-gate /* 6090Sstevel@tonic-gate * dmresrcl 6100Sstevel@tonic-gate */ 6110Sstevel@tonic-gate void 6120Sstevel@tonic-gate AcpiDmWordDescriptor ( 613941Smyers AML_RESOURCE *Resource, 6140Sstevel@tonic-gate UINT32 Length, 6150Sstevel@tonic-gate UINT32 Level); 6160Sstevel@tonic-gate 6170Sstevel@tonic-gate void 6180Sstevel@tonic-gate AcpiDmDwordDescriptor ( 619941Smyers AML_RESOURCE *Resource, 6200Sstevel@tonic-gate UINT32 Length, 6210Sstevel@tonic-gate UINT32 Level); 6220Sstevel@tonic-gate 6230Sstevel@tonic-gate void 6240Sstevel@tonic-gate AcpiDmExtendedDescriptor ( 625941Smyers AML_RESOURCE *Resource, 6260Sstevel@tonic-gate UINT32 Length, 6270Sstevel@tonic-gate UINT32 Level); 6280Sstevel@tonic-gate 6290Sstevel@tonic-gate void 6300Sstevel@tonic-gate AcpiDmQwordDescriptor ( 631941Smyers AML_RESOURCE *Resource, 6320Sstevel@tonic-gate UINT32 Length, 6330Sstevel@tonic-gate UINT32 Level); 6340Sstevel@tonic-gate 6350Sstevel@tonic-gate void 6360Sstevel@tonic-gate AcpiDmMemory24Descriptor ( 637941Smyers AML_RESOURCE *Resource, 6380Sstevel@tonic-gate UINT32 Length, 6390Sstevel@tonic-gate UINT32 Level); 6400Sstevel@tonic-gate 6410Sstevel@tonic-gate void 6420Sstevel@tonic-gate AcpiDmMemory32Descriptor ( 643941Smyers AML_RESOURCE *Resource, 6440Sstevel@tonic-gate UINT32 Length, 6450Sstevel@tonic-gate UINT32 Level); 6460Sstevel@tonic-gate 6470Sstevel@tonic-gate void 648941Smyers AcpiDmFixedMemory32Descriptor ( 649941Smyers AML_RESOURCE *Resource, 6500Sstevel@tonic-gate UINT32 Length, 6510Sstevel@tonic-gate UINT32 Level); 6520Sstevel@tonic-gate 6530Sstevel@tonic-gate void 6540Sstevel@tonic-gate AcpiDmGenericRegisterDescriptor ( 655941Smyers AML_RESOURCE *Resource, 6560Sstevel@tonic-gate UINT32 Length, 6570Sstevel@tonic-gate UINT32 Level); 6580Sstevel@tonic-gate 6590Sstevel@tonic-gate void 6600Sstevel@tonic-gate AcpiDmInterruptDescriptor ( 661941Smyers AML_RESOURCE *Resource, 6620Sstevel@tonic-gate UINT32 Length, 6630Sstevel@tonic-gate UINT32 Level); 6640Sstevel@tonic-gate 6650Sstevel@tonic-gate void 6660Sstevel@tonic-gate AcpiDmVendorLargeDescriptor ( 667941Smyers AML_RESOURCE *Resource, 6680Sstevel@tonic-gate UINT32 Length, 6690Sstevel@tonic-gate UINT32 Level); 6700Sstevel@tonic-gate 6711560Smyers void 6721560Smyers AcpiDmVendorCommon ( 6731560Smyers char *Name, 6741560Smyers UINT8 *ByteData, 6751560Smyers UINT32 Length, 6761560Smyers UINT32 Level); 6771560Smyers 6780Sstevel@tonic-gate 6790Sstevel@tonic-gate /* 6800Sstevel@tonic-gate * dmresrcs 6810Sstevel@tonic-gate */ 6820Sstevel@tonic-gate void 6830Sstevel@tonic-gate AcpiDmIrqDescriptor ( 684941Smyers AML_RESOURCE *Resource, 6850Sstevel@tonic-gate UINT32 Length, 6860Sstevel@tonic-gate UINT32 Level); 6870Sstevel@tonic-gate 6880Sstevel@tonic-gate void 6890Sstevel@tonic-gate AcpiDmDmaDescriptor ( 690941Smyers AML_RESOURCE *Resource, 6910Sstevel@tonic-gate UINT32 Length, 6920Sstevel@tonic-gate UINT32 Level); 6930Sstevel@tonic-gate 6940Sstevel@tonic-gate void 6950Sstevel@tonic-gate AcpiDmIoDescriptor ( 696941Smyers AML_RESOURCE *Resource, 6970Sstevel@tonic-gate UINT32 Length, 6980Sstevel@tonic-gate UINT32 Level); 6990Sstevel@tonic-gate 7000Sstevel@tonic-gate void 7010Sstevel@tonic-gate AcpiDmFixedIoDescriptor ( 702941Smyers AML_RESOURCE *Resource, 7030Sstevel@tonic-gate UINT32 Length, 7040Sstevel@tonic-gate UINT32 Level); 7050Sstevel@tonic-gate 7060Sstevel@tonic-gate void 7070Sstevel@tonic-gate AcpiDmStartDependentDescriptor ( 708941Smyers AML_RESOURCE *Resource, 7090Sstevel@tonic-gate UINT32 Length, 7100Sstevel@tonic-gate UINT32 Level); 7110Sstevel@tonic-gate 7120Sstevel@tonic-gate void 7130Sstevel@tonic-gate AcpiDmEndDependentDescriptor ( 714941Smyers AML_RESOURCE *Resource, 7150Sstevel@tonic-gate UINT32 Length, 7160Sstevel@tonic-gate UINT32 Level); 7170Sstevel@tonic-gate 7180Sstevel@tonic-gate void 7190Sstevel@tonic-gate AcpiDmVendorSmallDescriptor ( 720941Smyers AML_RESOURCE *Resource, 7210Sstevel@tonic-gate UINT32 Length, 7220Sstevel@tonic-gate UINT32 Level); 7230Sstevel@tonic-gate 7240Sstevel@tonic-gate 7250Sstevel@tonic-gate /* 7260Sstevel@tonic-gate * dmutils 7270Sstevel@tonic-gate */ 7280Sstevel@tonic-gate void 729*11225SDana.Myers@Sun.COM AcpiDmDecodeAttribute ( 730*11225SDana.Myers@Sun.COM UINT8 Attribute); 731*11225SDana.Myers@Sun.COM 732*11225SDana.Myers@Sun.COM void 733*11225SDana.Myers@Sun.COM AcpiDmIndent ( 734*11225SDana.Myers@Sun.COM UINT32 Level); 735*11225SDana.Myers@Sun.COM 736*11225SDana.Myers@Sun.COM BOOLEAN 737*11225SDana.Myers@Sun.COM AcpiDmCommaIfListMember ( 738*11225SDana.Myers@Sun.COM ACPI_PARSE_OBJECT *Op); 739*11225SDana.Myers@Sun.COM 740*11225SDana.Myers@Sun.COM void 741*11225SDana.Myers@Sun.COM AcpiDmCommaIfFieldMember ( 742*11225SDana.Myers@Sun.COM ACPI_PARSE_OBJECT *Op); 743*11225SDana.Myers@Sun.COM 7442623Smyers 7452623Smyers /* 7462623Smyers * dmrestag 7472623Smyers */ 7482623Smyers void 7492623Smyers AcpiDmFindResources ( 7502623Smyers ACPI_PARSE_OBJECT *Root); 7512623Smyers 7522623Smyers void 7532623Smyers AcpiDmCheckResourceReference ( 7542623Smyers ACPI_PARSE_OBJECT *Op, 7552623Smyers ACPI_WALK_STATE *WalkState); 7560Sstevel@tonic-gate 7570Sstevel@tonic-gate #endif /* __ACDISASM_H__ */ 758