1a9f12690SJung-uk Kim /****************************************************************************** 2a9f12690SJung-uk Kim * 3a9f12690SJung-uk Kim * Name: acdispat.h - dispatcher (parser to interpreter interface) 4a9f12690SJung-uk Kim * 5a9f12690SJung-uk Kim *****************************************************************************/ 6a9f12690SJung-uk Kim 7d244b227SJung-uk Kim /* 8d244b227SJung-uk Kim * Copyright (C) 2000 - 2011, Intel Corp. 9a9f12690SJung-uk Kim * All rights reserved. 10a9f12690SJung-uk Kim * 11d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 12d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 13d244b227SJung-uk Kim * are met: 14d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 15d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 16d244b227SJung-uk Kim * without modification. 17d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 19d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 20d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 21d244b227SJung-uk Kim * binary redistribution. 22d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 23d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 24d244b227SJung-uk Kim * from this software without specific prior written permission. 25a9f12690SJung-uk Kim * 26d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 27d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 28d244b227SJung-uk Kim * Software Foundation. 29a9f12690SJung-uk Kim * 30d244b227SJung-uk Kim * NO WARRANTY 31d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 42d244b227SJung-uk Kim */ 43a9f12690SJung-uk Kim 44a9f12690SJung-uk Kim 45a9f12690SJung-uk Kim #ifndef _ACDISPAT_H_ 46a9f12690SJung-uk Kim #define _ACDISPAT_H_ 47a9f12690SJung-uk Kim 48a9f12690SJung-uk Kim 49a9f12690SJung-uk Kim #define NAMEOF_LOCAL_NTE "__L0" 50a9f12690SJung-uk Kim #define NAMEOF_ARG_NTE "__A0" 51a9f12690SJung-uk Kim 52a9f12690SJung-uk Kim 53a9f12690SJung-uk Kim /* 54a9f12690SJung-uk Kim * dsopcode - support for late evaluation 55a9f12690SJung-uk Kim */ 56a9f12690SJung-uk Kim ACPI_STATUS 57a9f12690SJung-uk Kim AcpiDsGetBufferFieldArguments ( 58a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 59a9f12690SJung-uk Kim 60a9f12690SJung-uk Kim ACPI_STATUS 61a9f12690SJung-uk Kim AcpiDsGetBankFieldArguments ( 62a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 63a9f12690SJung-uk Kim 64a9f12690SJung-uk Kim ACPI_STATUS 65a9f12690SJung-uk Kim AcpiDsGetRegionArguments ( 66a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *RgnDesc); 67a9f12690SJung-uk Kim 68a9f12690SJung-uk Kim ACPI_STATUS 69a9f12690SJung-uk Kim AcpiDsGetBufferArguments ( 70a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 71a9f12690SJung-uk Kim 72a9f12690SJung-uk Kim ACPI_STATUS 73a9f12690SJung-uk Kim AcpiDsGetPackageArguments ( 74a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 75a9f12690SJung-uk Kim 76a9f12690SJung-uk Kim ACPI_STATUS 77a9f12690SJung-uk Kim AcpiDsEvalBufferFieldOperands ( 78a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 79a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 80a9f12690SJung-uk Kim 81a9f12690SJung-uk Kim ACPI_STATUS 82a9f12690SJung-uk Kim AcpiDsEvalRegionOperands ( 83a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 84a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 85a9f12690SJung-uk Kim 86a9f12690SJung-uk Kim ACPI_STATUS 87a9f12690SJung-uk Kim AcpiDsEvalTableRegionOperands ( 88a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 89a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 90a9f12690SJung-uk Kim 91a9f12690SJung-uk Kim ACPI_STATUS 92a9f12690SJung-uk Kim AcpiDsEvalDataObjectOperands ( 93a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 94a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 95a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 96a9f12690SJung-uk Kim 97a9f12690SJung-uk Kim ACPI_STATUS 98a9f12690SJung-uk Kim AcpiDsEvalBankFieldOperands ( 99a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 100a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 101a9f12690SJung-uk Kim 102a9f12690SJung-uk Kim ACPI_STATUS 103a9f12690SJung-uk Kim AcpiDsInitializeRegion ( 104a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle); 105a9f12690SJung-uk Kim 106a9f12690SJung-uk Kim 107a9f12690SJung-uk Kim /* 108a9f12690SJung-uk Kim * dsctrl - Parser/Interpreter interface, control stack routines 109a9f12690SJung-uk Kim */ 110a9f12690SJung-uk Kim ACPI_STATUS 111a9f12690SJung-uk Kim AcpiDsExecBeginControlOp ( 112a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 113a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 114a9f12690SJung-uk Kim 115a9f12690SJung-uk Kim ACPI_STATUS 116a9f12690SJung-uk Kim AcpiDsExecEndControlOp ( 117a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 118a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 119a9f12690SJung-uk Kim 120a9f12690SJung-uk Kim 121a9f12690SJung-uk Kim /* 122a9f12690SJung-uk Kim * dsexec - Parser/Interpreter interface, method execution callbacks 123a9f12690SJung-uk Kim */ 124a9f12690SJung-uk Kim ACPI_STATUS 125a9f12690SJung-uk Kim AcpiDsGetPredicateValue ( 126a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 127a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ResultObj); 128a9f12690SJung-uk Kim 129a9f12690SJung-uk Kim ACPI_STATUS 130a9f12690SJung-uk Kim AcpiDsExecBeginOp ( 131a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 132a9f12690SJung-uk Kim ACPI_PARSE_OBJECT **OutOp); 133a9f12690SJung-uk Kim 134a9f12690SJung-uk Kim ACPI_STATUS 135a9f12690SJung-uk Kim AcpiDsExecEndOp ( 136a9f12690SJung-uk Kim ACPI_WALK_STATE *State); 137a9f12690SJung-uk Kim 138a9f12690SJung-uk Kim 139a9f12690SJung-uk Kim /* 140a9f12690SJung-uk Kim * dsfield - Parser/Interpreter interface for AML fields 141a9f12690SJung-uk Kim */ 142a9f12690SJung-uk Kim ACPI_STATUS 143a9f12690SJung-uk Kim AcpiDsCreateField ( 144a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 145a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *RegionNode, 146a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 147a9f12690SJung-uk Kim 148a9f12690SJung-uk Kim ACPI_STATUS 149a9f12690SJung-uk Kim AcpiDsCreateBankField ( 150a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 151a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *RegionNode, 152a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 153a9f12690SJung-uk Kim 154a9f12690SJung-uk Kim ACPI_STATUS 155a9f12690SJung-uk Kim AcpiDsCreateIndexField ( 156a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 157a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *RegionNode, 158a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 159a9f12690SJung-uk Kim 160a9f12690SJung-uk Kim ACPI_STATUS 161a9f12690SJung-uk Kim AcpiDsCreateBufferField ( 162a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 163a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 164a9f12690SJung-uk Kim 165a9f12690SJung-uk Kim ACPI_STATUS 166a9f12690SJung-uk Kim AcpiDsInitFieldObjects ( 167a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 168a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 169a9f12690SJung-uk Kim 170a9f12690SJung-uk Kim 171a9f12690SJung-uk Kim /* 172a9f12690SJung-uk Kim * dsload - Parser/Interpreter interface, namespace load callbacks 173a9f12690SJung-uk Kim */ 174a9f12690SJung-uk Kim ACPI_STATUS 175a9f12690SJung-uk Kim AcpiDsLoad1BeginOp ( 176a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 177a9f12690SJung-uk Kim ACPI_PARSE_OBJECT **OutOp); 178a9f12690SJung-uk Kim 179a9f12690SJung-uk Kim ACPI_STATUS 180a9f12690SJung-uk Kim AcpiDsLoad1EndOp ( 181a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 182a9f12690SJung-uk Kim 183a9f12690SJung-uk Kim ACPI_STATUS 184a9f12690SJung-uk Kim AcpiDsLoad2BeginOp ( 185a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 186a9f12690SJung-uk Kim ACPI_PARSE_OBJECT **OutOp); 187a9f12690SJung-uk Kim 188a9f12690SJung-uk Kim ACPI_STATUS 189a9f12690SJung-uk Kim AcpiDsLoad2EndOp ( 190a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 191a9f12690SJung-uk Kim 192a9f12690SJung-uk Kim ACPI_STATUS 193a9f12690SJung-uk Kim AcpiDsInitCallbacks ( 194a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 195a9f12690SJung-uk Kim UINT32 PassNumber); 196a9f12690SJung-uk Kim 197a9f12690SJung-uk Kim 198a9f12690SJung-uk Kim /* 199a9f12690SJung-uk Kim * dsmthdat - method data (locals/args) 200a9f12690SJung-uk Kim */ 201a9f12690SJung-uk Kim ACPI_STATUS 202a9f12690SJung-uk Kim AcpiDsStoreObjectToLocal ( 203a9f12690SJung-uk Kim UINT8 Type, 204a9f12690SJung-uk Kim UINT32 Index, 205a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SrcDesc, 206a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 207a9f12690SJung-uk Kim 208a9f12690SJung-uk Kim ACPI_STATUS 209a9f12690SJung-uk Kim AcpiDsMethodDataGetEntry ( 210a9f12690SJung-uk Kim UINT16 Opcode, 211a9f12690SJung-uk Kim UINT32 Index, 212a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 213a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT ***Node); 214a9f12690SJung-uk Kim 215a9f12690SJung-uk Kim void 216a9f12690SJung-uk Kim AcpiDsMethodDataDeleteAll ( 217a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 218a9f12690SJung-uk Kim 219a9f12690SJung-uk Kim BOOLEAN 220a9f12690SJung-uk Kim AcpiDsIsMethodValue ( 221a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 222a9f12690SJung-uk Kim 223a9f12690SJung-uk Kim ACPI_STATUS 224a9f12690SJung-uk Kim AcpiDsMethodDataGetValue ( 225a9f12690SJung-uk Kim UINT8 Type, 226a9f12690SJung-uk Kim UINT32 Index, 227a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 228a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **DestDesc); 229a9f12690SJung-uk Kim 230a9f12690SJung-uk Kim ACPI_STATUS 231a9f12690SJung-uk Kim AcpiDsMethodDataInitArgs ( 232a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **Params, 233a9f12690SJung-uk Kim UINT32 MaxParamCount, 234a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 235a9f12690SJung-uk Kim 236a9f12690SJung-uk Kim ACPI_STATUS 237a9f12690SJung-uk Kim AcpiDsMethodDataGetNode ( 238a9f12690SJung-uk Kim UINT8 Type, 239a9f12690SJung-uk Kim UINT32 Index, 240a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 241a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **Node); 242a9f12690SJung-uk Kim 243a9f12690SJung-uk Kim void 244a9f12690SJung-uk Kim AcpiDsMethodDataInit ( 245a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 246a9f12690SJung-uk Kim 247a9f12690SJung-uk Kim 248a9f12690SJung-uk Kim /* 249a9f12690SJung-uk Kim * dsmethod - Parser/Interpreter interface - control method parsing 250a9f12690SJung-uk Kim */ 251a9f12690SJung-uk Kim ACPI_STATUS 252a9f12690SJung-uk Kim AcpiDsParseMethod ( 253a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 254a9f12690SJung-uk Kim 255a9f12690SJung-uk Kim ACPI_STATUS 256a9f12690SJung-uk Kim AcpiDsCallControlMethod ( 257a9f12690SJung-uk Kim ACPI_THREAD_STATE *Thread, 258a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 259a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 260a9f12690SJung-uk Kim 261a9f12690SJung-uk Kim ACPI_STATUS 262a9f12690SJung-uk Kim AcpiDsRestartControlMethod ( 263a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 264a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ReturnDesc); 265a9f12690SJung-uk Kim 266a9f12690SJung-uk Kim void 267a9f12690SJung-uk Kim AcpiDsTerminateControlMethod ( 268a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *MethodDesc, 269a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 270a9f12690SJung-uk Kim 271a9f12690SJung-uk Kim ACPI_STATUS 272a9f12690SJung-uk Kim AcpiDsBeginMethodExecution ( 273a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *MethodNode, 274a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 275a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 276a9f12690SJung-uk Kim 277a9f12690SJung-uk Kim ACPI_STATUS 278a9f12690SJung-uk Kim AcpiDsMethodError ( 279a9f12690SJung-uk Kim ACPI_STATUS Status, 280a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 281a9f12690SJung-uk Kim 282a9f12690SJung-uk Kim /* 283a9f12690SJung-uk Kim * dsinit 284a9f12690SJung-uk Kim */ 285a9f12690SJung-uk Kim ACPI_STATUS 286a9f12690SJung-uk Kim AcpiDsInitializeObjects ( 287a9f12690SJung-uk Kim UINT32 TableIndex, 288a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 289a9f12690SJung-uk Kim 290a9f12690SJung-uk Kim 291a9f12690SJung-uk Kim /* 292a9f12690SJung-uk Kim * dsobject - Parser/Interpreter interface - object initialization and conversion 293a9f12690SJung-uk Kim */ 294a9f12690SJung-uk Kim ACPI_STATUS 295a9f12690SJung-uk Kim AcpiDsBuildInternalBufferObj ( 296a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 297a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 298a9f12690SJung-uk Kim UINT32 BufferLength, 299a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 300a9f12690SJung-uk Kim 301a9f12690SJung-uk Kim ACPI_STATUS 302a9f12690SJung-uk Kim AcpiDsBuildInternalPackageObj ( 303a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 304a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *op, 305a9f12690SJung-uk Kim UINT32 PackageLength, 306a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ObjDesc); 307a9f12690SJung-uk Kim 308a9f12690SJung-uk Kim ACPI_STATUS 309a9f12690SJung-uk Kim AcpiDsInitObjectFromOp ( 310a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 311a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 312a9f12690SJung-uk Kim UINT16 Opcode, 313a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ObjDesc); 314a9f12690SJung-uk Kim 315a9f12690SJung-uk Kim ACPI_STATUS 316a9f12690SJung-uk Kim AcpiDsCreateNode ( 317a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 318a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 319a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op); 320a9f12690SJung-uk Kim 321a9f12690SJung-uk Kim 322a9f12690SJung-uk Kim /* 323a9f12690SJung-uk Kim * dsutils - Parser/Interpreter interface utility routines 324a9f12690SJung-uk Kim */ 325a9f12690SJung-uk Kim void 326a9f12690SJung-uk Kim AcpiDsClearImplicitReturn ( 327a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 328a9f12690SJung-uk Kim 329a9f12690SJung-uk Kim BOOLEAN 330a9f12690SJung-uk Kim AcpiDsDoImplicitReturn ( 331a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ReturnDesc, 332a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 333a9f12690SJung-uk Kim BOOLEAN AddReference); 334a9f12690SJung-uk Kim 335a9f12690SJung-uk Kim BOOLEAN 336a9f12690SJung-uk Kim AcpiDsIsResultUsed ( 337a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 338a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 339a9f12690SJung-uk Kim 340a9f12690SJung-uk Kim void 341a9f12690SJung-uk Kim AcpiDsDeleteResultIfNotUsed ( 342a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 343a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ResultObj, 344a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 345a9f12690SJung-uk Kim 346a9f12690SJung-uk Kim ACPI_STATUS 347a9f12690SJung-uk Kim AcpiDsCreateOperand ( 348a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 349a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Arg, 350a9f12690SJung-uk Kim UINT32 ArgsRemaining); 351a9f12690SJung-uk Kim 352a9f12690SJung-uk Kim ACPI_STATUS 353a9f12690SJung-uk Kim AcpiDsCreateOperands ( 354a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 355a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *FirstArg); 356a9f12690SJung-uk Kim 357a9f12690SJung-uk Kim ACPI_STATUS 358a9f12690SJung-uk Kim AcpiDsResolveOperands ( 359a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 360a9f12690SJung-uk Kim 361a9f12690SJung-uk Kim void 362a9f12690SJung-uk Kim AcpiDsClearOperands ( 363a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 364a9f12690SJung-uk Kim 365a9f12690SJung-uk Kim ACPI_STATUS 366a9f12690SJung-uk Kim AcpiDsEvaluateNamePath ( 367a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 368a9f12690SJung-uk Kim 369a9f12690SJung-uk Kim 370a9f12690SJung-uk Kim /* 371a9f12690SJung-uk Kim * dswscope - Scope Stack manipulation 372a9f12690SJung-uk Kim */ 373a9f12690SJung-uk Kim ACPI_STATUS 374a9f12690SJung-uk Kim AcpiDsScopeStackPush ( 375a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 376a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 377a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 378a9f12690SJung-uk Kim 379a9f12690SJung-uk Kim 380a9f12690SJung-uk Kim ACPI_STATUS 381a9f12690SJung-uk Kim AcpiDsScopeStackPop ( 382a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 383a9f12690SJung-uk Kim 384a9f12690SJung-uk Kim void 385a9f12690SJung-uk Kim AcpiDsScopeStackClear ( 386a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 387a9f12690SJung-uk Kim 388a9f12690SJung-uk Kim 389a9f12690SJung-uk Kim /* 390a9f12690SJung-uk Kim * dswstate - parser WALK_STATE management routines 391a9f12690SJung-uk Kim */ 392a9f12690SJung-uk Kim ACPI_STATUS 393a9f12690SJung-uk Kim AcpiDsObjStackPush ( 394a9f12690SJung-uk Kim void *Object, 395a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 396a9f12690SJung-uk Kim 397a9f12690SJung-uk Kim ACPI_STATUS 398a9f12690SJung-uk Kim AcpiDsObjStackPop ( 399a9f12690SJung-uk Kim UINT32 PopCount, 400a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 401a9f12690SJung-uk Kim 402a9f12690SJung-uk Kim ACPI_WALK_STATE * 403a9f12690SJung-uk Kim AcpiDsCreateWalkState ( 404a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 405a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Origin, 406a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *MthDesc, 407a9f12690SJung-uk Kim ACPI_THREAD_STATE *Thread); 408a9f12690SJung-uk Kim 409a9f12690SJung-uk Kim ACPI_STATUS 410a9f12690SJung-uk Kim AcpiDsInitAmlWalk ( 411a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 412a9f12690SJung-uk Kim ACPI_PARSE_OBJECT *Op, 413a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *MethodNode, 414a9f12690SJung-uk Kim UINT8 *AmlStart, 415a9f12690SJung-uk Kim UINT32 AmlLength, 416a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info, 417a9f12690SJung-uk Kim UINT8 PassNumber); 418a9f12690SJung-uk Kim 419a9f12690SJung-uk Kim void 420a9f12690SJung-uk Kim AcpiDsObjStackPopAndDelete ( 421a9f12690SJung-uk Kim UINT32 PopCount, 422a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 423a9f12690SJung-uk Kim 424a9f12690SJung-uk Kim void 425a9f12690SJung-uk Kim AcpiDsDeleteWalkState ( 426a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 427a9f12690SJung-uk Kim 428a9f12690SJung-uk Kim ACPI_WALK_STATE * 429a9f12690SJung-uk Kim AcpiDsPopWalkState ( 430a9f12690SJung-uk Kim ACPI_THREAD_STATE *Thread); 431a9f12690SJung-uk Kim 432a9f12690SJung-uk Kim void 433a9f12690SJung-uk Kim AcpiDsPushWalkState ( 434a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 435a9f12690SJung-uk Kim ACPI_THREAD_STATE *Thread); 436a9f12690SJung-uk Kim 437a9f12690SJung-uk Kim ACPI_STATUS 438a9f12690SJung-uk Kim AcpiDsResultStackClear ( 439a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 440a9f12690SJung-uk Kim 441a9f12690SJung-uk Kim ACPI_WALK_STATE * 442a9f12690SJung-uk Kim AcpiDsGetCurrentWalkState ( 443a9f12690SJung-uk Kim ACPI_THREAD_STATE *Thread); 444a9f12690SJung-uk Kim 445a9f12690SJung-uk Kim ACPI_STATUS 446a9f12690SJung-uk Kim AcpiDsResultPop ( 447a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **Object, 448a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 449a9f12690SJung-uk Kim 450a9f12690SJung-uk Kim ACPI_STATUS 451a9f12690SJung-uk Kim AcpiDsResultPush ( 452a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 453a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 454a9f12690SJung-uk Kim 455a9f12690SJung-uk Kim #endif /* _ACDISPAT_H_ */ 456