1*7c478bd9Sstevel@tonic-gate /****************************************************************************** 2*7c478bd9Sstevel@tonic-gate * 3*7c478bd9Sstevel@tonic-gate * Name: acdispat.h - dispatcher (parser to interpreter interface) 4*7c478bd9Sstevel@tonic-gate * $Revision: 64 $ 5*7c478bd9Sstevel@tonic-gate * 6*7c478bd9Sstevel@tonic-gate *****************************************************************************/ 7*7c478bd9Sstevel@tonic-gate 8*7c478bd9Sstevel@tonic-gate /****************************************************************************** 9*7c478bd9Sstevel@tonic-gate * 10*7c478bd9Sstevel@tonic-gate * 1. Copyright Notice 11*7c478bd9Sstevel@tonic-gate * 12*7c478bd9Sstevel@tonic-gate * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp. 13*7c478bd9Sstevel@tonic-gate * All rights reserved. 14*7c478bd9Sstevel@tonic-gate * 15*7c478bd9Sstevel@tonic-gate * 2. License 16*7c478bd9Sstevel@tonic-gate * 17*7c478bd9Sstevel@tonic-gate * 2.1. This is your license from Intel Corp. under its intellectual property 18*7c478bd9Sstevel@tonic-gate * rights. You may have additional license terms from the party that provided 19*7c478bd9Sstevel@tonic-gate * you this software, covering your right to use that party's intellectual 20*7c478bd9Sstevel@tonic-gate * property rights. 21*7c478bd9Sstevel@tonic-gate * 22*7c478bd9Sstevel@tonic-gate * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 23*7c478bd9Sstevel@tonic-gate * copy of the source code appearing in this file ("Covered Code") an 24*7c478bd9Sstevel@tonic-gate * irrevocable, perpetual, worldwide license under Intel's copyrights in the 25*7c478bd9Sstevel@tonic-gate * base code distributed originally by Intel ("Original Intel Code") to copy, 26*7c478bd9Sstevel@tonic-gate * make derivatives, distribute, use and display any portion of the Covered 27*7c478bd9Sstevel@tonic-gate * Code in any form, with the right to sublicense such rights; and 28*7c478bd9Sstevel@tonic-gate * 29*7c478bd9Sstevel@tonic-gate * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 30*7c478bd9Sstevel@tonic-gate * license (with the right to sublicense), under only those claims of Intel 31*7c478bd9Sstevel@tonic-gate * patents that are infringed by the Original Intel Code, to make, use, sell, 32*7c478bd9Sstevel@tonic-gate * offer to sell, and import the Covered Code and derivative works thereof 33*7c478bd9Sstevel@tonic-gate * solely to the minimum extent necessary to exercise the above copyright 34*7c478bd9Sstevel@tonic-gate * license, and in no event shall the patent license extend to any additions 35*7c478bd9Sstevel@tonic-gate * to or modifications of the Original Intel Code. No other license or right 36*7c478bd9Sstevel@tonic-gate * is granted directly or by implication, estoppel or otherwise; 37*7c478bd9Sstevel@tonic-gate * 38*7c478bd9Sstevel@tonic-gate * The above copyright and patent license is granted only if the following 39*7c478bd9Sstevel@tonic-gate * conditions are met: 40*7c478bd9Sstevel@tonic-gate * 41*7c478bd9Sstevel@tonic-gate * 3. Conditions 42*7c478bd9Sstevel@tonic-gate * 43*7c478bd9Sstevel@tonic-gate * 3.1. Redistribution of Source with Rights to Further Distribute Source. 44*7c478bd9Sstevel@tonic-gate * Redistribution of source code of any substantial portion of the Covered 45*7c478bd9Sstevel@tonic-gate * Code or modification with rights to further distribute source must include 46*7c478bd9Sstevel@tonic-gate * the above Copyright Notice, the above License, this list of Conditions, 47*7c478bd9Sstevel@tonic-gate * and the following Disclaimer and Export Compliance provision. In addition, 48*7c478bd9Sstevel@tonic-gate * Licensee must cause all Covered Code to which Licensee contributes to 49*7c478bd9Sstevel@tonic-gate * contain a file documenting the changes Licensee made to create that Covered 50*7c478bd9Sstevel@tonic-gate * Code and the date of any change. Licensee must include in that file the 51*7c478bd9Sstevel@tonic-gate * documentation of any changes made by any predecessor Licensee. Licensee 52*7c478bd9Sstevel@tonic-gate * must include a prominent statement that the modification is derived, 53*7c478bd9Sstevel@tonic-gate * directly or indirectly, from Original Intel Code. 54*7c478bd9Sstevel@tonic-gate * 55*7c478bd9Sstevel@tonic-gate * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 56*7c478bd9Sstevel@tonic-gate * Redistribution of source code of any substantial portion of the Covered 57*7c478bd9Sstevel@tonic-gate * Code or modification without rights to further distribute source must 58*7c478bd9Sstevel@tonic-gate * include the following Disclaimer and Export Compliance provision in the 59*7c478bd9Sstevel@tonic-gate * documentation and/or other materials provided with distribution. In 60*7c478bd9Sstevel@tonic-gate * addition, Licensee may not authorize further sublicense of source of any 61*7c478bd9Sstevel@tonic-gate * portion of the Covered Code, and must include terms to the effect that the 62*7c478bd9Sstevel@tonic-gate * license from Licensee to its licensee is limited to the intellectual 63*7c478bd9Sstevel@tonic-gate * property embodied in the software Licensee provides to its licensee, and 64*7c478bd9Sstevel@tonic-gate * not to intellectual property embodied in modifications its licensee may 65*7c478bd9Sstevel@tonic-gate * make. 66*7c478bd9Sstevel@tonic-gate * 67*7c478bd9Sstevel@tonic-gate * 3.3. Redistribution of Executable. Redistribution in executable form of any 68*7c478bd9Sstevel@tonic-gate * substantial portion of the Covered Code or modification must reproduce the 69*7c478bd9Sstevel@tonic-gate * above Copyright Notice, and the following Disclaimer and Export Compliance 70*7c478bd9Sstevel@tonic-gate * provision in the documentation and/or other materials provided with the 71*7c478bd9Sstevel@tonic-gate * distribution. 72*7c478bd9Sstevel@tonic-gate * 73*7c478bd9Sstevel@tonic-gate * 3.4. Intel retains all right, title, and interest in and to the Original 74*7c478bd9Sstevel@tonic-gate * Intel Code. 75*7c478bd9Sstevel@tonic-gate * 76*7c478bd9Sstevel@tonic-gate * 3.5. Neither the name Intel nor any other trademark owned or controlled by 77*7c478bd9Sstevel@tonic-gate * Intel shall be used in advertising or otherwise to promote the sale, use or 78*7c478bd9Sstevel@tonic-gate * other dealings in products derived from or relating to the Covered Code 79*7c478bd9Sstevel@tonic-gate * without prior written authorization from Intel. 80*7c478bd9Sstevel@tonic-gate * 81*7c478bd9Sstevel@tonic-gate * 4. Disclaimer and Export Compliance 82*7c478bd9Sstevel@tonic-gate * 83*7c478bd9Sstevel@tonic-gate * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 84*7c478bd9Sstevel@tonic-gate * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 85*7c478bd9Sstevel@tonic-gate * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 86*7c478bd9Sstevel@tonic-gate * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 87*7c478bd9Sstevel@tonic-gate * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 88*7c478bd9Sstevel@tonic-gate * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 89*7c478bd9Sstevel@tonic-gate * PARTICULAR PURPOSE. 90*7c478bd9Sstevel@tonic-gate * 91*7c478bd9Sstevel@tonic-gate * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 92*7c478bd9Sstevel@tonic-gate * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 93*7c478bd9Sstevel@tonic-gate * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 94*7c478bd9Sstevel@tonic-gate * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 95*7c478bd9Sstevel@tonic-gate * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 96*7c478bd9Sstevel@tonic-gate * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 97*7c478bd9Sstevel@tonic-gate * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 98*7c478bd9Sstevel@tonic-gate * LIMITED REMEDY. 99*7c478bd9Sstevel@tonic-gate * 100*7c478bd9Sstevel@tonic-gate * 4.3. Licensee shall not export, either directly or indirectly, any of this 101*7c478bd9Sstevel@tonic-gate * software or system incorporating such software without first obtaining any 102*7c478bd9Sstevel@tonic-gate * required license or other approval from the U. S. Department of Commerce or 103*7c478bd9Sstevel@tonic-gate * any other agency or department of the United States Government. In the 104*7c478bd9Sstevel@tonic-gate * event Licensee exports any such software from the United States or 105*7c478bd9Sstevel@tonic-gate * re-exports any such software from a foreign destination, Licensee shall 106*7c478bd9Sstevel@tonic-gate * ensure that the distribution and export/re-export of the software is in 107*7c478bd9Sstevel@tonic-gate * compliance with all laws, regulations, orders, or other restrictions of the 108*7c478bd9Sstevel@tonic-gate * U.S. Export Administration Regulations. Licensee agrees that neither it nor 109*7c478bd9Sstevel@tonic-gate * any of its subsidiaries will export/re-export any technical data, process, 110*7c478bd9Sstevel@tonic-gate * software, or service, directly or indirectly, to any country for which the 111*7c478bd9Sstevel@tonic-gate * United States government or any agency thereof requires an export license, 112*7c478bd9Sstevel@tonic-gate * other governmental approval, or letter of assurance, without first obtaining 113*7c478bd9Sstevel@tonic-gate * such license, approval or letter. 114*7c478bd9Sstevel@tonic-gate * 115*7c478bd9Sstevel@tonic-gate *****************************************************************************/ 116*7c478bd9Sstevel@tonic-gate 117*7c478bd9Sstevel@tonic-gate 118*7c478bd9Sstevel@tonic-gate #ifndef _ACDISPAT_H_ 119*7c478bd9Sstevel@tonic-gate #define _ACDISPAT_H_ 120*7c478bd9Sstevel@tonic-gate 121*7c478bd9Sstevel@tonic-gate 122*7c478bd9Sstevel@tonic-gate #define NAMEOF_LOCAL_NTE "__L0" 123*7c478bd9Sstevel@tonic-gate #define NAMEOF_ARG_NTE "__A0" 124*7c478bd9Sstevel@tonic-gate 125*7c478bd9Sstevel@tonic-gate 126*7c478bd9Sstevel@tonic-gate /* 127*7c478bd9Sstevel@tonic-gate * dsopcode - support for late evaluation 128*7c478bd9Sstevel@tonic-gate */ 129*7c478bd9Sstevel@tonic-gate ACPI_STATUS 130*7c478bd9Sstevel@tonic-gate AcpiDsGetBufferFieldArguments ( 131*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 132*7c478bd9Sstevel@tonic-gate 133*7c478bd9Sstevel@tonic-gate ACPI_STATUS 134*7c478bd9Sstevel@tonic-gate AcpiDsGetRegionArguments ( 135*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *RgnDesc); 136*7c478bd9Sstevel@tonic-gate 137*7c478bd9Sstevel@tonic-gate ACPI_STATUS 138*7c478bd9Sstevel@tonic-gate AcpiDsGetBufferArguments ( 139*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 140*7c478bd9Sstevel@tonic-gate 141*7c478bd9Sstevel@tonic-gate ACPI_STATUS 142*7c478bd9Sstevel@tonic-gate AcpiDsGetPackageArguments ( 143*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 144*7c478bd9Sstevel@tonic-gate 145*7c478bd9Sstevel@tonic-gate ACPI_STATUS 146*7c478bd9Sstevel@tonic-gate AcpiDsEvalBufferFieldOperands ( 147*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 148*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 149*7c478bd9Sstevel@tonic-gate 150*7c478bd9Sstevel@tonic-gate ACPI_STATUS 151*7c478bd9Sstevel@tonic-gate AcpiDsEvalRegionOperands ( 152*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 153*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 154*7c478bd9Sstevel@tonic-gate 155*7c478bd9Sstevel@tonic-gate ACPI_STATUS 156*7c478bd9Sstevel@tonic-gate AcpiDsEvalDataObjectOperands ( 157*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 158*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 159*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 160*7c478bd9Sstevel@tonic-gate 161*7c478bd9Sstevel@tonic-gate ACPI_STATUS 162*7c478bd9Sstevel@tonic-gate AcpiDsInitializeRegion ( 163*7c478bd9Sstevel@tonic-gate ACPI_HANDLE ObjHandle); 164*7c478bd9Sstevel@tonic-gate 165*7c478bd9Sstevel@tonic-gate 166*7c478bd9Sstevel@tonic-gate /* 167*7c478bd9Sstevel@tonic-gate * dsctrl - Parser/Interpreter interface, control stack routines 168*7c478bd9Sstevel@tonic-gate */ 169*7c478bd9Sstevel@tonic-gate ACPI_STATUS 170*7c478bd9Sstevel@tonic-gate AcpiDsExecBeginControlOp ( 171*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 172*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 173*7c478bd9Sstevel@tonic-gate 174*7c478bd9Sstevel@tonic-gate ACPI_STATUS 175*7c478bd9Sstevel@tonic-gate AcpiDsExecEndControlOp ( 176*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 177*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 178*7c478bd9Sstevel@tonic-gate 179*7c478bd9Sstevel@tonic-gate 180*7c478bd9Sstevel@tonic-gate /* 181*7c478bd9Sstevel@tonic-gate * dsexec - Parser/Interpreter interface, method execution callbacks 182*7c478bd9Sstevel@tonic-gate */ 183*7c478bd9Sstevel@tonic-gate ACPI_STATUS 184*7c478bd9Sstevel@tonic-gate AcpiDsGetPredicateValue ( 185*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 186*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ResultObj); 187*7c478bd9Sstevel@tonic-gate 188*7c478bd9Sstevel@tonic-gate ACPI_STATUS 189*7c478bd9Sstevel@tonic-gate AcpiDsExecBeginOp ( 190*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 191*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT **OutOp); 192*7c478bd9Sstevel@tonic-gate 193*7c478bd9Sstevel@tonic-gate ACPI_STATUS 194*7c478bd9Sstevel@tonic-gate AcpiDsExecEndOp ( 195*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *State); 196*7c478bd9Sstevel@tonic-gate 197*7c478bd9Sstevel@tonic-gate 198*7c478bd9Sstevel@tonic-gate /* 199*7c478bd9Sstevel@tonic-gate * dsfield - Parser/Interpreter interface for AML fields 200*7c478bd9Sstevel@tonic-gate */ 201*7c478bd9Sstevel@tonic-gate ACPI_STATUS 202*7c478bd9Sstevel@tonic-gate AcpiDsCreateField ( 203*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 204*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *RegionNode, 205*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 206*7c478bd9Sstevel@tonic-gate 207*7c478bd9Sstevel@tonic-gate ACPI_STATUS 208*7c478bd9Sstevel@tonic-gate AcpiDsCreateBankField ( 209*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 210*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *RegionNode, 211*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 212*7c478bd9Sstevel@tonic-gate 213*7c478bd9Sstevel@tonic-gate ACPI_STATUS 214*7c478bd9Sstevel@tonic-gate AcpiDsCreateIndexField ( 215*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 216*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *RegionNode, 217*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 218*7c478bd9Sstevel@tonic-gate 219*7c478bd9Sstevel@tonic-gate ACPI_STATUS 220*7c478bd9Sstevel@tonic-gate AcpiDsCreateBufferField ( 221*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 222*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 223*7c478bd9Sstevel@tonic-gate 224*7c478bd9Sstevel@tonic-gate ACPI_STATUS 225*7c478bd9Sstevel@tonic-gate AcpiDsInitFieldObjects ( 226*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 227*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 228*7c478bd9Sstevel@tonic-gate 229*7c478bd9Sstevel@tonic-gate 230*7c478bd9Sstevel@tonic-gate /* 231*7c478bd9Sstevel@tonic-gate * dsload - Parser/Interpreter interface, namespace load callbacks 232*7c478bd9Sstevel@tonic-gate */ 233*7c478bd9Sstevel@tonic-gate ACPI_STATUS 234*7c478bd9Sstevel@tonic-gate AcpiDsLoad1BeginOp ( 235*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 236*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT **OutOp); 237*7c478bd9Sstevel@tonic-gate 238*7c478bd9Sstevel@tonic-gate ACPI_STATUS 239*7c478bd9Sstevel@tonic-gate AcpiDsLoad1EndOp ( 240*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 241*7c478bd9Sstevel@tonic-gate 242*7c478bd9Sstevel@tonic-gate ACPI_STATUS 243*7c478bd9Sstevel@tonic-gate AcpiDsLoad2BeginOp ( 244*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 245*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT **OutOp); 246*7c478bd9Sstevel@tonic-gate 247*7c478bd9Sstevel@tonic-gate ACPI_STATUS 248*7c478bd9Sstevel@tonic-gate AcpiDsLoad2EndOp ( 249*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 250*7c478bd9Sstevel@tonic-gate 251*7c478bd9Sstevel@tonic-gate ACPI_STATUS 252*7c478bd9Sstevel@tonic-gate AcpiDsInitCallbacks ( 253*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 254*7c478bd9Sstevel@tonic-gate UINT32 PassNumber); 255*7c478bd9Sstevel@tonic-gate 256*7c478bd9Sstevel@tonic-gate 257*7c478bd9Sstevel@tonic-gate /* 258*7c478bd9Sstevel@tonic-gate * dsmthdat - method data (locals/args) 259*7c478bd9Sstevel@tonic-gate */ 260*7c478bd9Sstevel@tonic-gate ACPI_STATUS 261*7c478bd9Sstevel@tonic-gate AcpiDsStoreObjectToLocal ( 262*7c478bd9Sstevel@tonic-gate UINT16 Opcode, 263*7c478bd9Sstevel@tonic-gate UINT32 Index, 264*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *SrcDesc, 265*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 266*7c478bd9Sstevel@tonic-gate 267*7c478bd9Sstevel@tonic-gate ACPI_STATUS 268*7c478bd9Sstevel@tonic-gate AcpiDsMethodDataGetEntry ( 269*7c478bd9Sstevel@tonic-gate UINT16 Opcode, 270*7c478bd9Sstevel@tonic-gate UINT32 Index, 271*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 272*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT ***Node); 273*7c478bd9Sstevel@tonic-gate 274*7c478bd9Sstevel@tonic-gate void 275*7c478bd9Sstevel@tonic-gate AcpiDsMethodDataDeleteAll ( 276*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 277*7c478bd9Sstevel@tonic-gate 278*7c478bd9Sstevel@tonic-gate BOOLEAN 279*7c478bd9Sstevel@tonic-gate AcpiDsIsMethodValue ( 280*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 281*7c478bd9Sstevel@tonic-gate 282*7c478bd9Sstevel@tonic-gate ACPI_STATUS 283*7c478bd9Sstevel@tonic-gate AcpiDsMethodDataGetValue ( 284*7c478bd9Sstevel@tonic-gate UINT16 Opcode, 285*7c478bd9Sstevel@tonic-gate UINT32 Index, 286*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 287*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **DestDesc); 288*7c478bd9Sstevel@tonic-gate 289*7c478bd9Sstevel@tonic-gate ACPI_STATUS 290*7c478bd9Sstevel@tonic-gate AcpiDsMethodDataInitArgs ( 291*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **Params, 292*7c478bd9Sstevel@tonic-gate UINT32 MaxParamCount, 293*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 294*7c478bd9Sstevel@tonic-gate 295*7c478bd9Sstevel@tonic-gate ACPI_STATUS 296*7c478bd9Sstevel@tonic-gate AcpiDsMethodDataGetNode ( 297*7c478bd9Sstevel@tonic-gate UINT16 Opcode, 298*7c478bd9Sstevel@tonic-gate UINT32 Index, 299*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 300*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE **Node); 301*7c478bd9Sstevel@tonic-gate 302*7c478bd9Sstevel@tonic-gate void 303*7c478bd9Sstevel@tonic-gate AcpiDsMethodDataInit ( 304*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 305*7c478bd9Sstevel@tonic-gate 306*7c478bd9Sstevel@tonic-gate 307*7c478bd9Sstevel@tonic-gate /* 308*7c478bd9Sstevel@tonic-gate * dsmethod - Parser/Interpreter interface - control method parsing 309*7c478bd9Sstevel@tonic-gate */ 310*7c478bd9Sstevel@tonic-gate ACPI_STATUS 311*7c478bd9Sstevel@tonic-gate AcpiDsParseMethod ( 312*7c478bd9Sstevel@tonic-gate ACPI_HANDLE ObjHandle); 313*7c478bd9Sstevel@tonic-gate 314*7c478bd9Sstevel@tonic-gate ACPI_STATUS 315*7c478bd9Sstevel@tonic-gate AcpiDsCallControlMethod ( 316*7c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE *Thread, 317*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 318*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 319*7c478bd9Sstevel@tonic-gate 320*7c478bd9Sstevel@tonic-gate ACPI_STATUS 321*7c478bd9Sstevel@tonic-gate AcpiDsRestartControlMethod ( 322*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 323*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ReturnDesc); 324*7c478bd9Sstevel@tonic-gate 325*7c478bd9Sstevel@tonic-gate ACPI_STATUS 326*7c478bd9Sstevel@tonic-gate AcpiDsTerminateControlMethod ( 327*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 328*7c478bd9Sstevel@tonic-gate 329*7c478bd9Sstevel@tonic-gate ACPI_STATUS 330*7c478bd9Sstevel@tonic-gate AcpiDsBeginMethodExecution ( 331*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *MethodNode, 332*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc, 333*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *CallingMethodNode); 334*7c478bd9Sstevel@tonic-gate 335*7c478bd9Sstevel@tonic-gate 336*7c478bd9Sstevel@tonic-gate /* 337*7c478bd9Sstevel@tonic-gate * dsinit 338*7c478bd9Sstevel@tonic-gate */ 339*7c478bd9Sstevel@tonic-gate ACPI_STATUS 340*7c478bd9Sstevel@tonic-gate AcpiDsInitializeObjects ( 341*7c478bd9Sstevel@tonic-gate ACPI_TABLE_DESC *TableDesc, 342*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *StartNode); 343*7c478bd9Sstevel@tonic-gate 344*7c478bd9Sstevel@tonic-gate 345*7c478bd9Sstevel@tonic-gate /* 346*7c478bd9Sstevel@tonic-gate * dsobject - Parser/Interpreter interface - object initialization and conversion 347*7c478bd9Sstevel@tonic-gate */ 348*7c478bd9Sstevel@tonic-gate ACPI_STATUS 349*7c478bd9Sstevel@tonic-gate AcpiDsBuildInternalBufferObj ( 350*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 351*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 352*7c478bd9Sstevel@tonic-gate UINT32 BufferLength, 353*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **ObjDescPtr); 354*7c478bd9Sstevel@tonic-gate 355*7c478bd9Sstevel@tonic-gate ACPI_STATUS 356*7c478bd9Sstevel@tonic-gate AcpiDsBuildInternalPackageObj ( 357*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 358*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *op, 359*7c478bd9Sstevel@tonic-gate UINT32 PackageLength, 360*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **ObjDesc); 361*7c478bd9Sstevel@tonic-gate 362*7c478bd9Sstevel@tonic-gate ACPI_STATUS 363*7c478bd9Sstevel@tonic-gate AcpiDsInitObjectFromOp ( 364*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 365*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 366*7c478bd9Sstevel@tonic-gate UINT16 Opcode, 367*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **ObjDesc); 368*7c478bd9Sstevel@tonic-gate 369*7c478bd9Sstevel@tonic-gate ACPI_STATUS 370*7c478bd9Sstevel@tonic-gate AcpiDsCreateNode ( 371*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 372*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *Node, 373*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op); 374*7c478bd9Sstevel@tonic-gate 375*7c478bd9Sstevel@tonic-gate 376*7c478bd9Sstevel@tonic-gate /* 377*7c478bd9Sstevel@tonic-gate * dsutils - Parser/Interpreter interface utility routines 378*7c478bd9Sstevel@tonic-gate */ 379*7c478bd9Sstevel@tonic-gate void 380*7c478bd9Sstevel@tonic-gate AcpiDsClearImplicitReturn ( 381*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 382*7c478bd9Sstevel@tonic-gate 383*7c478bd9Sstevel@tonic-gate BOOLEAN 384*7c478bd9Sstevel@tonic-gate AcpiDsDoImplicitReturn ( 385*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ReturnDesc, 386*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 387*7c478bd9Sstevel@tonic-gate BOOLEAN AddReference); 388*7c478bd9Sstevel@tonic-gate 389*7c478bd9Sstevel@tonic-gate BOOLEAN 390*7c478bd9Sstevel@tonic-gate AcpiDsIsResultUsed ( 391*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 392*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 393*7c478bd9Sstevel@tonic-gate 394*7c478bd9Sstevel@tonic-gate void 395*7c478bd9Sstevel@tonic-gate AcpiDsDeleteResultIfNotUsed ( 396*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 397*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ResultObj, 398*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 399*7c478bd9Sstevel@tonic-gate 400*7c478bd9Sstevel@tonic-gate ACPI_STATUS 401*7c478bd9Sstevel@tonic-gate AcpiDsCreateOperand ( 402*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 403*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Arg, 404*7c478bd9Sstevel@tonic-gate UINT32 ArgsRemaining); 405*7c478bd9Sstevel@tonic-gate 406*7c478bd9Sstevel@tonic-gate ACPI_STATUS 407*7c478bd9Sstevel@tonic-gate AcpiDsCreateOperands ( 408*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 409*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *FirstArg); 410*7c478bd9Sstevel@tonic-gate 411*7c478bd9Sstevel@tonic-gate ACPI_STATUS 412*7c478bd9Sstevel@tonic-gate AcpiDsResolveOperands ( 413*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 414*7c478bd9Sstevel@tonic-gate 415*7c478bd9Sstevel@tonic-gate void 416*7c478bd9Sstevel@tonic-gate AcpiDsClearOperands ( 417*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 418*7c478bd9Sstevel@tonic-gate 419*7c478bd9Sstevel@tonic-gate 420*7c478bd9Sstevel@tonic-gate /* 421*7c478bd9Sstevel@tonic-gate * dswscope - Scope Stack manipulation 422*7c478bd9Sstevel@tonic-gate */ 423*7c478bd9Sstevel@tonic-gate ACPI_STATUS 424*7c478bd9Sstevel@tonic-gate AcpiDsScopeStackPush ( 425*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *Node, 426*7c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type, 427*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 428*7c478bd9Sstevel@tonic-gate 429*7c478bd9Sstevel@tonic-gate 430*7c478bd9Sstevel@tonic-gate ACPI_STATUS 431*7c478bd9Sstevel@tonic-gate AcpiDsScopeStackPop ( 432*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 433*7c478bd9Sstevel@tonic-gate 434*7c478bd9Sstevel@tonic-gate void 435*7c478bd9Sstevel@tonic-gate AcpiDsScopeStackClear ( 436*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 437*7c478bd9Sstevel@tonic-gate 438*7c478bd9Sstevel@tonic-gate 439*7c478bd9Sstevel@tonic-gate /* 440*7c478bd9Sstevel@tonic-gate * dswstate - parser WALK_STATE management routines 441*7c478bd9Sstevel@tonic-gate */ 442*7c478bd9Sstevel@tonic-gate ACPI_STATUS 443*7c478bd9Sstevel@tonic-gate AcpiDsObjStackPush ( 444*7c478bd9Sstevel@tonic-gate void *Object, 445*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 446*7c478bd9Sstevel@tonic-gate 447*7c478bd9Sstevel@tonic-gate ACPI_STATUS 448*7c478bd9Sstevel@tonic-gate AcpiDsObjStackPop ( 449*7c478bd9Sstevel@tonic-gate UINT32 PopCount, 450*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 451*7c478bd9Sstevel@tonic-gate 452*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE * 453*7c478bd9Sstevel@tonic-gate AcpiDsCreateWalkState ( 454*7c478bd9Sstevel@tonic-gate ACPI_OWNER_ID OwnerId, 455*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Origin, 456*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *MthDesc, 457*7c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE *Thread); 458*7c478bd9Sstevel@tonic-gate 459*7c478bd9Sstevel@tonic-gate ACPI_STATUS 460*7c478bd9Sstevel@tonic-gate AcpiDsInitAmlWalk ( 461*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 462*7c478bd9Sstevel@tonic-gate ACPI_PARSE_OBJECT *Op, 463*7c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *MethodNode, 464*7c478bd9Sstevel@tonic-gate UINT8 *AmlStart, 465*7c478bd9Sstevel@tonic-gate UINT32 AmlLength, 466*7c478bd9Sstevel@tonic-gate ACPI_PARAMETER_INFO *Info, 467*7c478bd9Sstevel@tonic-gate UINT32 PassNumber); 468*7c478bd9Sstevel@tonic-gate 469*7c478bd9Sstevel@tonic-gate ACPI_STATUS 470*7c478bd9Sstevel@tonic-gate AcpiDsObjStackPopAndDelete ( 471*7c478bd9Sstevel@tonic-gate UINT32 PopCount, 472*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 473*7c478bd9Sstevel@tonic-gate 474*7c478bd9Sstevel@tonic-gate void 475*7c478bd9Sstevel@tonic-gate AcpiDsDeleteWalkState ( 476*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 477*7c478bd9Sstevel@tonic-gate 478*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE * 479*7c478bd9Sstevel@tonic-gate AcpiDsPopWalkState ( 480*7c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE *Thread); 481*7c478bd9Sstevel@tonic-gate 482*7c478bd9Sstevel@tonic-gate void 483*7c478bd9Sstevel@tonic-gate AcpiDsPushWalkState ( 484*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState, 485*7c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE *Thread); 486*7c478bd9Sstevel@tonic-gate 487*7c478bd9Sstevel@tonic-gate ACPI_STATUS 488*7c478bd9Sstevel@tonic-gate AcpiDsResultStackPop ( 489*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 490*7c478bd9Sstevel@tonic-gate 491*7c478bd9Sstevel@tonic-gate ACPI_STATUS 492*7c478bd9Sstevel@tonic-gate AcpiDsResultStackPush ( 493*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 494*7c478bd9Sstevel@tonic-gate 495*7c478bd9Sstevel@tonic-gate ACPI_STATUS 496*7c478bd9Sstevel@tonic-gate AcpiDsResultStackClear ( 497*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 498*7c478bd9Sstevel@tonic-gate 499*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE * 500*7c478bd9Sstevel@tonic-gate AcpiDsGetCurrentWalkState ( 501*7c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE *Thread); 502*7c478bd9Sstevel@tonic-gate 503*7c478bd9Sstevel@tonic-gate ACPI_STATUS 504*7c478bd9Sstevel@tonic-gate AcpiDsResultRemove ( 505*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **Object, 506*7c478bd9Sstevel@tonic-gate UINT32 Index, 507*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 508*7c478bd9Sstevel@tonic-gate 509*7c478bd9Sstevel@tonic-gate ACPI_STATUS 510*7c478bd9Sstevel@tonic-gate AcpiDsResultPop ( 511*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **Object, 512*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 513*7c478bd9Sstevel@tonic-gate 514*7c478bd9Sstevel@tonic-gate ACPI_STATUS 515*7c478bd9Sstevel@tonic-gate AcpiDsResultPush ( 516*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object, 517*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 518*7c478bd9Sstevel@tonic-gate 519*7c478bd9Sstevel@tonic-gate ACPI_STATUS 520*7c478bd9Sstevel@tonic-gate AcpiDsResultPopFromBottom ( 521*7c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **Object, 522*7c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 523*7c478bd9Sstevel@tonic-gate 524*7c478bd9Sstevel@tonic-gate #ifdef ACPI_ENABLE_OBJECT_CACHE 525*7c478bd9Sstevel@tonic-gate void 526*7c478bd9Sstevel@tonic-gate AcpiDsDeleteWalkStateCache ( 527*7c478bd9Sstevel@tonic-gate void); 528*7c478bd9Sstevel@tonic-gate #endif 529*7c478bd9Sstevel@tonic-gate 530*7c478bd9Sstevel@tonic-gate #endif /* _ACDISPAT_H_ */ 531