128c506b8Sjruoho /****************************************************************************** 228c506b8Sjruoho * 328c506b8Sjruoho * Name: acdispat.h - dispatcher (parser to interpreter interface) 428c506b8Sjruoho * 528c506b8Sjruoho *****************************************************************************/ 628c506b8Sjruoho 7124f4c82Sjruoho /* 8*046a2985Schristos * Copyright (C) 2000 - 2023, Intel Corp. 928c506b8Sjruoho * All rights reserved. 1028c506b8Sjruoho * 11124f4c82Sjruoho * Redistribution and use in source and binary forms, with or without 12124f4c82Sjruoho * modification, are permitted provided that the following conditions 13124f4c82Sjruoho * are met: 14124f4c82Sjruoho * 1. Redistributions of source code must retain the above copyright 15124f4c82Sjruoho * notice, this list of conditions, and the following disclaimer, 16124f4c82Sjruoho * without modification. 17124f4c82Sjruoho * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18124f4c82Sjruoho * substantially similar to the "NO WARRANTY" disclaimer below 19124f4c82Sjruoho * ("Disclaimer") and any redistribution must be conditioned upon 20124f4c82Sjruoho * including a substantially similar Disclaimer requirement for further 21124f4c82Sjruoho * binary redistribution. 22124f4c82Sjruoho * 3. Neither the names of the above-listed copyright holders nor the names 23124f4c82Sjruoho * of any contributors may be used to endorse or promote products derived 24124f4c82Sjruoho * from this software without specific prior written permission. 2528c506b8Sjruoho * 26124f4c82Sjruoho * Alternatively, this software may be distributed under the terms of the 27124f4c82Sjruoho * GNU General Public License ("GPL") version 2 as published by the Free 28124f4c82Sjruoho * Software Foundation. 2928c506b8Sjruoho * 30124f4c82Sjruoho * NO WARRANTY 31124f4c82Sjruoho * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32124f4c82Sjruoho * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3346a330b4Schristos * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 34124f4c82Sjruoho * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35124f4c82Sjruoho * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36124f4c82Sjruoho * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37124f4c82Sjruoho * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38124f4c82Sjruoho * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39124f4c82Sjruoho * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40124f4c82Sjruoho * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41124f4c82Sjruoho * POSSIBILITY OF SUCH DAMAGES. 42124f4c82Sjruoho */ 4328c506b8Sjruoho 4428c506b8Sjruoho #ifndef _ACDISPAT_H_ 4528c506b8Sjruoho #define _ACDISPAT_H_ 4628c506b8Sjruoho 4728c506b8Sjruoho 4828c506b8Sjruoho #define NAMEOF_LOCAL_NTE "__L0" 4928c506b8Sjruoho #define NAMEOF_ARG_NTE "__A0" 5028c506b8Sjruoho 5128c506b8Sjruoho 5228c506b8Sjruoho /* 53124f4c82Sjruoho * dsargs - execution of dynamic arguments for static objects 5428c506b8Sjruoho */ 5528c506b8Sjruoho ACPI_STATUS 5628c506b8Sjruoho AcpiDsGetBufferFieldArguments ( 5728c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc); 5828c506b8Sjruoho 5928c506b8Sjruoho ACPI_STATUS 6028c506b8Sjruoho AcpiDsGetBankFieldArguments ( 6128c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc); 6228c506b8Sjruoho 6328c506b8Sjruoho ACPI_STATUS 6428c506b8Sjruoho AcpiDsGetRegionArguments ( 6528c506b8Sjruoho ACPI_OPERAND_OBJECT *RgnDesc); 6628c506b8Sjruoho 6728c506b8Sjruoho ACPI_STATUS 6828c506b8Sjruoho AcpiDsGetBufferArguments ( 6928c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc); 7028c506b8Sjruoho 7128c506b8Sjruoho ACPI_STATUS 7228c506b8Sjruoho AcpiDsGetPackageArguments ( 7328c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc); 7428c506b8Sjruoho 75124f4c82Sjruoho 76124f4c82Sjruoho /* 77124f4c82Sjruoho * dscontrol - support for execution control opcodes 78124f4c82Sjruoho */ 79124f4c82Sjruoho ACPI_STATUS 80124f4c82Sjruoho AcpiDsExecBeginControlOp ( 81124f4c82Sjruoho ACPI_WALK_STATE *WalkState, 82124f4c82Sjruoho ACPI_PARSE_OBJECT *Op); 83124f4c82Sjruoho 84124f4c82Sjruoho ACPI_STATUS 85124f4c82Sjruoho AcpiDsExecEndControlOp ( 86124f4c82Sjruoho ACPI_WALK_STATE *WalkState, 87124f4c82Sjruoho ACPI_PARSE_OBJECT *Op); 88124f4c82Sjruoho 89124f4c82Sjruoho 90124f4c82Sjruoho /* 91124f4c82Sjruoho * dsopcode - support for late operand evaluation 92124f4c82Sjruoho */ 9328c506b8Sjruoho ACPI_STATUS 9428c506b8Sjruoho AcpiDsEvalBufferFieldOperands ( 9528c506b8Sjruoho ACPI_WALK_STATE *WalkState, 9628c506b8Sjruoho ACPI_PARSE_OBJECT *Op); 9728c506b8Sjruoho 9828c506b8Sjruoho ACPI_STATUS 9928c506b8Sjruoho AcpiDsEvalRegionOperands ( 10028c506b8Sjruoho ACPI_WALK_STATE *WalkState, 10128c506b8Sjruoho ACPI_PARSE_OBJECT *Op); 10228c506b8Sjruoho 10328c506b8Sjruoho ACPI_STATUS 10428c506b8Sjruoho AcpiDsEvalTableRegionOperands ( 10528c506b8Sjruoho ACPI_WALK_STATE *WalkState, 10628c506b8Sjruoho ACPI_PARSE_OBJECT *Op); 10728c506b8Sjruoho 10828c506b8Sjruoho ACPI_STATUS 10928c506b8Sjruoho AcpiDsEvalDataObjectOperands ( 11028c506b8Sjruoho ACPI_WALK_STATE *WalkState, 11128c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 11228c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc); 11328c506b8Sjruoho 11428c506b8Sjruoho ACPI_STATUS 11528c506b8Sjruoho AcpiDsEvalBankFieldOperands ( 11628c506b8Sjruoho ACPI_WALK_STATE *WalkState, 11728c506b8Sjruoho ACPI_PARSE_OBJECT *Op); 11828c506b8Sjruoho 11928c506b8Sjruoho ACPI_STATUS 12028c506b8Sjruoho AcpiDsInitializeRegion ( 12128c506b8Sjruoho ACPI_HANDLE ObjHandle); 12228c506b8Sjruoho 12328c506b8Sjruoho 12428c506b8Sjruoho /* 12528c506b8Sjruoho * dsexec - Parser/Interpreter interface, method execution callbacks 12628c506b8Sjruoho */ 12728c506b8Sjruoho ACPI_STATUS 12828c506b8Sjruoho AcpiDsGetPredicateValue ( 12928c506b8Sjruoho ACPI_WALK_STATE *WalkState, 13028c506b8Sjruoho ACPI_OPERAND_OBJECT *ResultObj); 13128c506b8Sjruoho 13228c506b8Sjruoho ACPI_STATUS 13328c506b8Sjruoho AcpiDsExecBeginOp ( 13428c506b8Sjruoho ACPI_WALK_STATE *WalkState, 13528c506b8Sjruoho ACPI_PARSE_OBJECT **OutOp); 13628c506b8Sjruoho 13728c506b8Sjruoho ACPI_STATUS 13828c506b8Sjruoho AcpiDsExecEndOp ( 13928c506b8Sjruoho ACPI_WALK_STATE *State); 14028c506b8Sjruoho 14128c506b8Sjruoho 14228c506b8Sjruoho /* 14328c506b8Sjruoho * dsfield - Parser/Interpreter interface for AML fields 14428c506b8Sjruoho */ 14528c506b8Sjruoho ACPI_STATUS 14628c506b8Sjruoho AcpiDsCreateField ( 14728c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 14828c506b8Sjruoho ACPI_NAMESPACE_NODE *RegionNode, 14928c506b8Sjruoho ACPI_WALK_STATE *WalkState); 15028c506b8Sjruoho 15128c506b8Sjruoho ACPI_STATUS 15228c506b8Sjruoho AcpiDsCreateBankField ( 15328c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 15428c506b8Sjruoho ACPI_NAMESPACE_NODE *RegionNode, 15528c506b8Sjruoho ACPI_WALK_STATE *WalkState); 15628c506b8Sjruoho 15728c506b8Sjruoho ACPI_STATUS 15828c506b8Sjruoho AcpiDsCreateIndexField ( 15928c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 16028c506b8Sjruoho ACPI_NAMESPACE_NODE *RegionNode, 16128c506b8Sjruoho ACPI_WALK_STATE *WalkState); 16228c506b8Sjruoho 16328c506b8Sjruoho ACPI_STATUS 16428c506b8Sjruoho AcpiDsCreateBufferField ( 16528c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 16628c506b8Sjruoho ACPI_WALK_STATE *WalkState); 16728c506b8Sjruoho 16828c506b8Sjruoho ACPI_STATUS 16928c506b8Sjruoho AcpiDsInitFieldObjects ( 17028c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 17128c506b8Sjruoho ACPI_WALK_STATE *WalkState); 17228c506b8Sjruoho 17328c506b8Sjruoho 17428c506b8Sjruoho /* 175460301d4Schristos * dsload - Parser/Interpreter interface 17628c506b8Sjruoho */ 17728c506b8Sjruoho ACPI_STATUS 178124f4c82Sjruoho AcpiDsInitCallbacks ( 179124f4c82Sjruoho ACPI_WALK_STATE *WalkState, 180124f4c82Sjruoho UINT32 PassNumber); 181124f4c82Sjruoho 182460301d4Schristos /* dsload - pass 1 namespace load callbacks */ 183460301d4Schristos 184124f4c82Sjruoho ACPI_STATUS 18528c506b8Sjruoho AcpiDsLoad1BeginOp ( 18628c506b8Sjruoho ACPI_WALK_STATE *WalkState, 18728c506b8Sjruoho ACPI_PARSE_OBJECT **OutOp); 18828c506b8Sjruoho 18928c506b8Sjruoho ACPI_STATUS 19028c506b8Sjruoho AcpiDsLoad1EndOp ( 19128c506b8Sjruoho ACPI_WALK_STATE *WalkState); 19228c506b8Sjruoho 193124f4c82Sjruoho 194460301d4Schristos /* dsload - pass 2 namespace load callbacks */ 195460301d4Schristos 19628c506b8Sjruoho ACPI_STATUS 19728c506b8Sjruoho AcpiDsLoad2BeginOp ( 19828c506b8Sjruoho ACPI_WALK_STATE *WalkState, 19928c506b8Sjruoho ACPI_PARSE_OBJECT **OutOp); 20028c506b8Sjruoho 20128c506b8Sjruoho ACPI_STATUS 20228c506b8Sjruoho AcpiDsLoad2EndOp ( 20328c506b8Sjruoho ACPI_WALK_STATE *WalkState); 20428c506b8Sjruoho 20528c506b8Sjruoho 20628c506b8Sjruoho /* 20728c506b8Sjruoho * dsmthdat - method data (locals/args) 20828c506b8Sjruoho */ 20928c506b8Sjruoho ACPI_STATUS 21028c506b8Sjruoho AcpiDsStoreObjectToLocal ( 21128c506b8Sjruoho UINT8 Type, 21228c506b8Sjruoho UINT32 Index, 21328c506b8Sjruoho ACPI_OPERAND_OBJECT *SrcDesc, 21428c506b8Sjruoho ACPI_WALK_STATE *WalkState); 21528c506b8Sjruoho 21628c506b8Sjruoho ACPI_STATUS 21728c506b8Sjruoho AcpiDsMethodDataGetEntry ( 21828c506b8Sjruoho UINT16 Opcode, 21928c506b8Sjruoho UINT32 Index, 22028c506b8Sjruoho ACPI_WALK_STATE *WalkState, 22128c506b8Sjruoho ACPI_OPERAND_OBJECT ***Node); 22228c506b8Sjruoho 22328c506b8Sjruoho void 22428c506b8Sjruoho AcpiDsMethodDataDeleteAll ( 22528c506b8Sjruoho ACPI_WALK_STATE *WalkState); 22628c506b8Sjruoho 22728c506b8Sjruoho BOOLEAN 22828c506b8Sjruoho AcpiDsIsMethodValue ( 22928c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc); 23028c506b8Sjruoho 23128c506b8Sjruoho ACPI_STATUS 23228c506b8Sjruoho AcpiDsMethodDataGetValue ( 23328c506b8Sjruoho UINT8 Type, 23428c506b8Sjruoho UINT32 Index, 23528c506b8Sjruoho ACPI_WALK_STATE *WalkState, 23628c506b8Sjruoho ACPI_OPERAND_OBJECT **DestDesc); 23728c506b8Sjruoho 23828c506b8Sjruoho ACPI_STATUS 23928c506b8Sjruoho AcpiDsMethodDataInitArgs ( 24028c506b8Sjruoho ACPI_OPERAND_OBJECT **Params, 24128c506b8Sjruoho UINT32 MaxParamCount, 24228c506b8Sjruoho ACPI_WALK_STATE *WalkState); 24328c506b8Sjruoho 24428c506b8Sjruoho ACPI_STATUS 24528c506b8Sjruoho AcpiDsMethodDataGetNode ( 24628c506b8Sjruoho UINT8 Type, 24728c506b8Sjruoho UINT32 Index, 24828c506b8Sjruoho ACPI_WALK_STATE *WalkState, 24928c506b8Sjruoho ACPI_NAMESPACE_NODE **Node); 25028c506b8Sjruoho 25128c506b8Sjruoho void 25228c506b8Sjruoho AcpiDsMethodDataInit ( 25328c506b8Sjruoho ACPI_WALK_STATE *WalkState); 25428c506b8Sjruoho 25528c506b8Sjruoho 25628c506b8Sjruoho /* 25728c506b8Sjruoho * dsmethod - Parser/Interpreter interface - control method parsing 25828c506b8Sjruoho */ 25928c506b8Sjruoho ACPI_STATUS 260460301d4Schristos AcpiDsAutoSerializeMethod ( 261460301d4Schristos ACPI_NAMESPACE_NODE *Node, 262460301d4Schristos ACPI_OPERAND_OBJECT *ObjDesc); 26328c506b8Sjruoho 26428c506b8Sjruoho ACPI_STATUS 26528c506b8Sjruoho AcpiDsCallControlMethod ( 26628c506b8Sjruoho ACPI_THREAD_STATE *Thread, 26728c506b8Sjruoho ACPI_WALK_STATE *WalkState, 26828c506b8Sjruoho ACPI_PARSE_OBJECT *Op); 26928c506b8Sjruoho 27028c506b8Sjruoho ACPI_STATUS 27128c506b8Sjruoho AcpiDsRestartControlMethod ( 27228c506b8Sjruoho ACPI_WALK_STATE *WalkState, 27328c506b8Sjruoho ACPI_OPERAND_OBJECT *ReturnDesc); 27428c506b8Sjruoho 27528c506b8Sjruoho void 27628c506b8Sjruoho AcpiDsTerminateControlMethod ( 27728c506b8Sjruoho ACPI_OPERAND_OBJECT *MethodDesc, 27828c506b8Sjruoho ACPI_WALK_STATE *WalkState); 27928c506b8Sjruoho 28028c506b8Sjruoho ACPI_STATUS 28128c506b8Sjruoho AcpiDsBeginMethodExecution ( 28228c506b8Sjruoho ACPI_NAMESPACE_NODE *MethodNode, 28328c506b8Sjruoho ACPI_OPERAND_OBJECT *ObjDesc, 28428c506b8Sjruoho ACPI_WALK_STATE *WalkState); 28528c506b8Sjruoho 28628c506b8Sjruoho ACPI_STATUS 28728c506b8Sjruoho AcpiDsMethodError ( 28828c506b8Sjruoho ACPI_STATUS Status, 28928c506b8Sjruoho ACPI_WALK_STATE *WalkState); 29028c506b8Sjruoho 29128c506b8Sjruoho /* 29228c506b8Sjruoho * dsinit 29328c506b8Sjruoho */ 29428c506b8Sjruoho ACPI_STATUS 29528c506b8Sjruoho AcpiDsInitializeObjects ( 29628c506b8Sjruoho UINT32 TableIndex, 29728c506b8Sjruoho ACPI_NAMESPACE_NODE *StartNode); 29828c506b8Sjruoho 29928c506b8Sjruoho 30028c506b8Sjruoho /* 30128c506b8Sjruoho * dsobject - Parser/Interpreter interface - object initialization and conversion 30228c506b8Sjruoho */ 30328c506b8Sjruoho ACPI_STATUS 30489b8eb6cSchristos AcpiDsBuildInternalObject ( 30589b8eb6cSchristos ACPI_WALK_STATE *WalkState, 30689b8eb6cSchristos ACPI_PARSE_OBJECT *Op, 30789b8eb6cSchristos ACPI_OPERAND_OBJECT **ObjDescPtr); 30889b8eb6cSchristos 30989b8eb6cSchristos ACPI_STATUS 31028c506b8Sjruoho AcpiDsBuildInternalBufferObj ( 31128c506b8Sjruoho ACPI_WALK_STATE *WalkState, 31228c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 31328c506b8Sjruoho UINT32 BufferLength, 31428c506b8Sjruoho ACPI_OPERAND_OBJECT **ObjDescPtr); 31528c506b8Sjruoho 31628c506b8Sjruoho ACPI_STATUS 31728c506b8Sjruoho AcpiDsBuildInternalPackageObj ( 31828c506b8Sjruoho ACPI_WALK_STATE *WalkState, 31928c506b8Sjruoho ACPI_PARSE_OBJECT *op, 32028c506b8Sjruoho UINT32 PackageLength, 32128c506b8Sjruoho ACPI_OPERAND_OBJECT **ObjDesc); 32228c506b8Sjruoho 32328c506b8Sjruoho ACPI_STATUS 32428c506b8Sjruoho AcpiDsInitObjectFromOp ( 32528c506b8Sjruoho ACPI_WALK_STATE *WalkState, 32628c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 32728c506b8Sjruoho UINT16 Opcode, 32828c506b8Sjruoho ACPI_OPERAND_OBJECT **ObjDesc); 32928c506b8Sjruoho 33028c506b8Sjruoho ACPI_STATUS 33128c506b8Sjruoho AcpiDsCreateNode ( 33228c506b8Sjruoho ACPI_WALK_STATE *WalkState, 33328c506b8Sjruoho ACPI_NAMESPACE_NODE *Node, 33428c506b8Sjruoho ACPI_PARSE_OBJECT *Op); 33528c506b8Sjruoho 33628c506b8Sjruoho 33728c506b8Sjruoho /* 33889b8eb6cSchristos * dspkginit - Package object initialization 33989b8eb6cSchristos */ 34089b8eb6cSchristos ACPI_STATUS 34189b8eb6cSchristos AcpiDsInitPackageElement ( 34289b8eb6cSchristos UINT8 ObjectType, 34389b8eb6cSchristos ACPI_OPERAND_OBJECT *SourceObject, 34489b8eb6cSchristos ACPI_GENERIC_STATE *State, 34589b8eb6cSchristos void *Context); 34689b8eb6cSchristos 34789b8eb6cSchristos 34889b8eb6cSchristos /* 34928c506b8Sjruoho * dsutils - Parser/Interpreter interface utility routines 35028c506b8Sjruoho */ 35128c506b8Sjruoho void 35228c506b8Sjruoho AcpiDsClearImplicitReturn ( 35328c506b8Sjruoho ACPI_WALK_STATE *WalkState); 35428c506b8Sjruoho 35528c506b8Sjruoho BOOLEAN 35628c506b8Sjruoho AcpiDsDoImplicitReturn ( 35728c506b8Sjruoho ACPI_OPERAND_OBJECT *ReturnDesc, 35828c506b8Sjruoho ACPI_WALK_STATE *WalkState, 35928c506b8Sjruoho BOOLEAN AddReference); 36028c506b8Sjruoho 36128c506b8Sjruoho BOOLEAN 36228c506b8Sjruoho AcpiDsIsResultUsed ( 36328c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 36428c506b8Sjruoho ACPI_WALK_STATE *WalkState); 36528c506b8Sjruoho 36628c506b8Sjruoho void 36728c506b8Sjruoho AcpiDsDeleteResultIfNotUsed ( 36828c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 36928c506b8Sjruoho ACPI_OPERAND_OBJECT *ResultObj, 37028c506b8Sjruoho ACPI_WALK_STATE *WalkState); 37128c506b8Sjruoho 37228c506b8Sjruoho ACPI_STATUS 37328c506b8Sjruoho AcpiDsCreateOperand ( 37428c506b8Sjruoho ACPI_WALK_STATE *WalkState, 37528c506b8Sjruoho ACPI_PARSE_OBJECT *Arg, 37628c506b8Sjruoho UINT32 ArgsRemaining); 37728c506b8Sjruoho 37828c506b8Sjruoho ACPI_STATUS 37928c506b8Sjruoho AcpiDsCreateOperands ( 38028c506b8Sjruoho ACPI_WALK_STATE *WalkState, 38128c506b8Sjruoho ACPI_PARSE_OBJECT *FirstArg); 38228c506b8Sjruoho 38328c506b8Sjruoho ACPI_STATUS 38428c506b8Sjruoho AcpiDsResolveOperands ( 38528c506b8Sjruoho ACPI_WALK_STATE *WalkState); 38628c506b8Sjruoho 38728c506b8Sjruoho void 38828c506b8Sjruoho AcpiDsClearOperands ( 38928c506b8Sjruoho ACPI_WALK_STATE *WalkState); 39028c506b8Sjruoho 39128c506b8Sjruoho ACPI_STATUS 39228c506b8Sjruoho AcpiDsEvaluateNamePath ( 39328c506b8Sjruoho ACPI_WALK_STATE *WalkState); 39428c506b8Sjruoho 39528c506b8Sjruoho 39628c506b8Sjruoho /* 39728c506b8Sjruoho * dswscope - Scope Stack manipulation 39828c506b8Sjruoho */ 39928c506b8Sjruoho ACPI_STATUS 40028c506b8Sjruoho AcpiDsScopeStackPush ( 40128c506b8Sjruoho ACPI_NAMESPACE_NODE *Node, 40228c506b8Sjruoho ACPI_OBJECT_TYPE Type, 40328c506b8Sjruoho ACPI_WALK_STATE *WalkState); 40428c506b8Sjruoho 40528c506b8Sjruoho 40628c506b8Sjruoho ACPI_STATUS 40728c506b8Sjruoho AcpiDsScopeStackPop ( 40828c506b8Sjruoho ACPI_WALK_STATE *WalkState); 40928c506b8Sjruoho 41028c506b8Sjruoho void 41128c506b8Sjruoho AcpiDsScopeStackClear ( 41228c506b8Sjruoho ACPI_WALK_STATE *WalkState); 41328c506b8Sjruoho 41428c506b8Sjruoho 41528c506b8Sjruoho /* 41628c506b8Sjruoho * dswstate - parser WALK_STATE management routines 41728c506b8Sjruoho */ 41828c506b8Sjruoho ACPI_STATUS 41928c506b8Sjruoho AcpiDsObjStackPush ( 42028c506b8Sjruoho void *Object, 42128c506b8Sjruoho ACPI_WALK_STATE *WalkState); 42228c506b8Sjruoho 42328c506b8Sjruoho ACPI_STATUS 42428c506b8Sjruoho AcpiDsObjStackPop ( 42528c506b8Sjruoho UINT32 PopCount, 42628c506b8Sjruoho ACPI_WALK_STATE *WalkState); 42728c506b8Sjruoho 42828c506b8Sjruoho ACPI_WALK_STATE * 42928c506b8Sjruoho AcpiDsCreateWalkState ( 43028c506b8Sjruoho ACPI_OWNER_ID OwnerId, 43128c506b8Sjruoho ACPI_PARSE_OBJECT *Origin, 43228c506b8Sjruoho ACPI_OPERAND_OBJECT *MthDesc, 43328c506b8Sjruoho ACPI_THREAD_STATE *Thread); 43428c506b8Sjruoho 43528c506b8Sjruoho ACPI_STATUS 43628c506b8Sjruoho AcpiDsInitAmlWalk ( 43728c506b8Sjruoho ACPI_WALK_STATE *WalkState, 43828c506b8Sjruoho ACPI_PARSE_OBJECT *Op, 43928c506b8Sjruoho ACPI_NAMESPACE_NODE *MethodNode, 44028c506b8Sjruoho UINT8 *AmlStart, 44128c506b8Sjruoho UINT32 AmlLength, 44228c506b8Sjruoho ACPI_EVALUATE_INFO *Info, 44328c506b8Sjruoho UINT8 PassNumber); 44428c506b8Sjruoho 44528c506b8Sjruoho void 44628c506b8Sjruoho AcpiDsObjStackPopAndDelete ( 44728c506b8Sjruoho UINT32 PopCount, 44828c506b8Sjruoho ACPI_WALK_STATE *WalkState); 44928c506b8Sjruoho 45028c506b8Sjruoho void 45128c506b8Sjruoho AcpiDsDeleteWalkState ( 45228c506b8Sjruoho ACPI_WALK_STATE *WalkState); 45328c506b8Sjruoho 45428c506b8Sjruoho ACPI_WALK_STATE * 45528c506b8Sjruoho AcpiDsPopWalkState ( 45628c506b8Sjruoho ACPI_THREAD_STATE *Thread); 45728c506b8Sjruoho 45828c506b8Sjruoho void 45928c506b8Sjruoho AcpiDsPushWalkState ( 46028c506b8Sjruoho ACPI_WALK_STATE *WalkState, 46128c506b8Sjruoho ACPI_THREAD_STATE *Thread); 46228c506b8Sjruoho 46328c506b8Sjruoho ACPI_STATUS 46428c506b8Sjruoho AcpiDsResultStackClear ( 46528c506b8Sjruoho ACPI_WALK_STATE *WalkState); 46628c506b8Sjruoho 46728c506b8Sjruoho ACPI_WALK_STATE * 46828c506b8Sjruoho AcpiDsGetCurrentWalkState ( 46928c506b8Sjruoho ACPI_THREAD_STATE *Thread); 47028c506b8Sjruoho 47128c506b8Sjruoho ACPI_STATUS 47228c506b8Sjruoho AcpiDsResultPop ( 47328c506b8Sjruoho ACPI_OPERAND_OBJECT **Object, 47428c506b8Sjruoho ACPI_WALK_STATE *WalkState); 47528c506b8Sjruoho 47628c506b8Sjruoho ACPI_STATUS 47728c506b8Sjruoho AcpiDsResultPush ( 47828c506b8Sjruoho ACPI_OPERAND_OBJECT *Object, 47928c506b8Sjruoho ACPI_WALK_STATE *WalkState); 48028c506b8Sjruoho 481c72da027Schristos 482c72da027Schristos /* 483c72da027Schristos * dsdebug - parser debugging routines 484c72da027Schristos */ 485c72da027Schristos void 486c72da027Schristos AcpiDsDumpMethodStack ( 487c72da027Schristos ACPI_STATUS Status, 488c72da027Schristos ACPI_WALK_STATE *WalkState, 489c72da027Schristos ACPI_PARSE_OBJECT *Op); 490c72da027Schristos 49128c506b8Sjruoho #endif /* _ACDISPAT_H_ */ 492