xref: /titanic_52/usr/src/uts/intel/sys/acpi/acdispat.h (revision 385cc6b4ad1792caef3f84eb61eed3f27085801f)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acdispat.h - dispatcher (parser to interpreter interface)
47c478bd9Sstevel@tonic-gate  *
57c478bd9Sstevel@tonic-gate  *****************************************************************************/
67c478bd9Sstevel@tonic-gate 
726f3cdf0SGordon Ross /*
8*385cc6b4SJerry Jelinek  * Copyright (C) 2000 - 2016, Intel Corp.
97c478bd9Sstevel@tonic-gate  * All rights reserved.
107c478bd9Sstevel@tonic-gate  *
1126f3cdf0SGordon Ross  * Redistribution and use in source and binary forms, with or without
1226f3cdf0SGordon Ross  * modification, are permitted provided that the following conditions
1326f3cdf0SGordon Ross  * are met:
1426f3cdf0SGordon Ross  * 1. Redistributions of source code must retain the above copyright
1526f3cdf0SGordon Ross  *    notice, this list of conditions, and the following disclaimer,
1626f3cdf0SGordon Ross  *    without modification.
1726f3cdf0SGordon Ross  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1826f3cdf0SGordon Ross  *    substantially similar to the "NO WARRANTY" disclaimer below
1926f3cdf0SGordon Ross  *    ("Disclaimer") and any redistribution must be conditioned upon
2026f3cdf0SGordon Ross  *    including a substantially similar Disclaimer requirement for further
2126f3cdf0SGordon Ross  *    binary redistribution.
2226f3cdf0SGordon Ross  * 3. Neither the names of the above-listed copyright holders nor the names
2326f3cdf0SGordon Ross  *    of any contributors may be used to endorse or promote products derived
2426f3cdf0SGordon Ross  *    from this software without specific prior written permission.
257c478bd9Sstevel@tonic-gate  *
2626f3cdf0SGordon Ross  * Alternatively, this software may be distributed under the terms of the
2726f3cdf0SGordon Ross  * GNU General Public License ("GPL") version 2 as published by the Free
2826f3cdf0SGordon Ross  * Software Foundation.
297c478bd9Sstevel@tonic-gate  *
3026f3cdf0SGordon Ross  * NO WARRANTY
3126f3cdf0SGordon Ross  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3226f3cdf0SGordon Ross  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3326f3cdf0SGordon Ross  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
3426f3cdf0SGordon Ross  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3526f3cdf0SGordon Ross  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3626f3cdf0SGordon Ross  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3726f3cdf0SGordon Ross  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3826f3cdf0SGordon Ross  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3926f3cdf0SGordon Ross  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
4026f3cdf0SGordon Ross  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4126f3cdf0SGordon Ross  * POSSIBILITY OF SUCH DAMAGES.
4226f3cdf0SGordon Ross  */
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate #ifndef _ACDISPAT_H_
457c478bd9Sstevel@tonic-gate #define _ACDISPAT_H_
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate #define NAMEOF_LOCAL_NTE    "__L0"
497c478bd9Sstevel@tonic-gate #define NAMEOF_ARG_NTE      "__A0"
507c478bd9Sstevel@tonic-gate 
517c478bd9Sstevel@tonic-gate 
527c478bd9Sstevel@tonic-gate /*
5326f3cdf0SGordon Ross  * dsargs - execution of dynamic arguments for static objects
547c478bd9Sstevel@tonic-gate  */
557c478bd9Sstevel@tonic-gate ACPI_STATUS
567c478bd9Sstevel@tonic-gate AcpiDsGetBufferFieldArguments (
577c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
587c478bd9Sstevel@tonic-gate 
597c478bd9Sstevel@tonic-gate ACPI_STATUS
60db2bae30SDana Myers AcpiDsGetBankFieldArguments (
61db2bae30SDana Myers     ACPI_OPERAND_OBJECT     *ObjDesc);
62db2bae30SDana Myers 
63db2bae30SDana Myers ACPI_STATUS
647c478bd9Sstevel@tonic-gate AcpiDsGetRegionArguments (
657c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *RgnDesc);
667c478bd9Sstevel@tonic-gate 
677c478bd9Sstevel@tonic-gate ACPI_STATUS
687c478bd9Sstevel@tonic-gate AcpiDsGetBufferArguments (
697c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
707c478bd9Sstevel@tonic-gate 
717c478bd9Sstevel@tonic-gate ACPI_STATUS
727c478bd9Sstevel@tonic-gate AcpiDsGetPackageArguments (
737c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
747c478bd9Sstevel@tonic-gate 
7526f3cdf0SGordon Ross 
7626f3cdf0SGordon Ross /*
7726f3cdf0SGordon Ross  * dscontrol - support for execution control opcodes
7826f3cdf0SGordon Ross  */
7926f3cdf0SGordon Ross ACPI_STATUS
8026f3cdf0SGordon Ross AcpiDsExecBeginControlOp (
8126f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
8226f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
8326f3cdf0SGordon Ross 
8426f3cdf0SGordon Ross ACPI_STATUS
8526f3cdf0SGordon Ross AcpiDsExecEndControlOp (
8626f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
8726f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
8826f3cdf0SGordon Ross 
8926f3cdf0SGordon Ross 
9026f3cdf0SGordon Ross /*
9126f3cdf0SGordon Ross  * dsopcode - support for late operand evaluation
9226f3cdf0SGordon Ross  */
937c478bd9Sstevel@tonic-gate ACPI_STATUS
947c478bd9Sstevel@tonic-gate AcpiDsEvalBufferFieldOperands (
957c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
967c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
977c478bd9Sstevel@tonic-gate 
987c478bd9Sstevel@tonic-gate ACPI_STATUS
997c478bd9Sstevel@tonic-gate AcpiDsEvalRegionOperands (
1007c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1017c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
1027c478bd9Sstevel@tonic-gate 
1037c478bd9Sstevel@tonic-gate ACPI_STATUS
104db2bae30SDana Myers AcpiDsEvalTableRegionOperands (
105db2bae30SDana Myers     ACPI_WALK_STATE         *WalkState,
106db2bae30SDana Myers     ACPI_PARSE_OBJECT       *Op);
107db2bae30SDana Myers 
108db2bae30SDana Myers ACPI_STATUS
1097c478bd9Sstevel@tonic-gate AcpiDsEvalDataObjectOperands (
1107c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1117c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1127c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
1137c478bd9Sstevel@tonic-gate 
1147c478bd9Sstevel@tonic-gate ACPI_STATUS
115db2bae30SDana Myers AcpiDsEvalBankFieldOperands (
116db2bae30SDana Myers     ACPI_WALK_STATE         *WalkState,
117db2bae30SDana Myers     ACPI_PARSE_OBJECT       *Op);
118db2bae30SDana Myers 
119db2bae30SDana Myers ACPI_STATUS
1207c478bd9Sstevel@tonic-gate AcpiDsInitializeRegion (
1217c478bd9Sstevel@tonic-gate     ACPI_HANDLE             ObjHandle);
1227c478bd9Sstevel@tonic-gate 
1237c478bd9Sstevel@tonic-gate 
1247c478bd9Sstevel@tonic-gate /*
1257c478bd9Sstevel@tonic-gate  * dsexec - Parser/Interpreter interface, method execution callbacks
1267c478bd9Sstevel@tonic-gate  */
1277c478bd9Sstevel@tonic-gate ACPI_STATUS
1287c478bd9Sstevel@tonic-gate AcpiDsGetPredicateValue (
1297c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1307c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ResultObj);
1317c478bd9Sstevel@tonic-gate 
1327c478bd9Sstevel@tonic-gate ACPI_STATUS
1337c478bd9Sstevel@tonic-gate AcpiDsExecBeginOp (
1347c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1357c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       **OutOp);
1367c478bd9Sstevel@tonic-gate 
1377c478bd9Sstevel@tonic-gate ACPI_STATUS
1387c478bd9Sstevel@tonic-gate AcpiDsExecEndOp (
1397c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *State);
1407c478bd9Sstevel@tonic-gate 
1417c478bd9Sstevel@tonic-gate 
1427c478bd9Sstevel@tonic-gate /*
1437c478bd9Sstevel@tonic-gate  * dsfield - Parser/Interpreter interface for AML fields
1447c478bd9Sstevel@tonic-gate  */
1457c478bd9Sstevel@tonic-gate ACPI_STATUS
1467c478bd9Sstevel@tonic-gate AcpiDsCreateField (
1477c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1487c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *RegionNode,
1497c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1507c478bd9Sstevel@tonic-gate 
1517c478bd9Sstevel@tonic-gate ACPI_STATUS
1527c478bd9Sstevel@tonic-gate AcpiDsCreateBankField (
1537c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1547c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *RegionNode,
1557c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1567c478bd9Sstevel@tonic-gate 
1577c478bd9Sstevel@tonic-gate ACPI_STATUS
1587c478bd9Sstevel@tonic-gate AcpiDsCreateIndexField (
1597c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1607c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *RegionNode,
1617c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1627c478bd9Sstevel@tonic-gate 
1637c478bd9Sstevel@tonic-gate ACPI_STATUS
1647c478bd9Sstevel@tonic-gate AcpiDsCreateBufferField (
1657c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1667c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1677c478bd9Sstevel@tonic-gate 
1687c478bd9Sstevel@tonic-gate ACPI_STATUS
1697c478bd9Sstevel@tonic-gate AcpiDsInitFieldObjects (
1707c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1717c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1727c478bd9Sstevel@tonic-gate 
1737c478bd9Sstevel@tonic-gate 
1747c478bd9Sstevel@tonic-gate /*
175*385cc6b4SJerry Jelinek  * dsload - Parser/Interpreter interface
1767c478bd9Sstevel@tonic-gate  */
1777c478bd9Sstevel@tonic-gate ACPI_STATUS
17826f3cdf0SGordon Ross AcpiDsInitCallbacks (
17926f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
18026f3cdf0SGordon Ross     UINT32                  PassNumber);
18126f3cdf0SGordon Ross 
182*385cc6b4SJerry Jelinek /* dsload - pass 1 namespace load callbacks */
183*385cc6b4SJerry Jelinek 
18426f3cdf0SGordon Ross ACPI_STATUS
1857c478bd9Sstevel@tonic-gate AcpiDsLoad1BeginOp (
1867c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1877c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       **OutOp);
1887c478bd9Sstevel@tonic-gate 
1897c478bd9Sstevel@tonic-gate ACPI_STATUS
1907c478bd9Sstevel@tonic-gate AcpiDsLoad1EndOp (
1917c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1927c478bd9Sstevel@tonic-gate 
19326f3cdf0SGordon Ross 
194*385cc6b4SJerry Jelinek /* dsload - pass 2 namespace load callbacks */
195*385cc6b4SJerry Jelinek 
1967c478bd9Sstevel@tonic-gate ACPI_STATUS
1977c478bd9Sstevel@tonic-gate AcpiDsLoad2BeginOp (
1987c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1997c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       **OutOp);
2007c478bd9Sstevel@tonic-gate 
2017c478bd9Sstevel@tonic-gate ACPI_STATUS
2027c478bd9Sstevel@tonic-gate AcpiDsLoad2EndOp (
2037c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2047c478bd9Sstevel@tonic-gate 
2057c478bd9Sstevel@tonic-gate 
2067c478bd9Sstevel@tonic-gate /*
2077c478bd9Sstevel@tonic-gate  * dsmthdat - method data (locals/args)
2087c478bd9Sstevel@tonic-gate  */
2097c478bd9Sstevel@tonic-gate ACPI_STATUS
2107c478bd9Sstevel@tonic-gate AcpiDsStoreObjectToLocal (
211db2bae30SDana Myers     UINT8                   Type,
2127c478bd9Sstevel@tonic-gate     UINT32                  Index,
2137c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SrcDesc,
2147c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2157c478bd9Sstevel@tonic-gate 
2167c478bd9Sstevel@tonic-gate ACPI_STATUS
2177c478bd9Sstevel@tonic-gate AcpiDsMethodDataGetEntry (
2187c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
2197c478bd9Sstevel@tonic-gate     UINT32                  Index,
2207c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2217c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     ***Node);
2227c478bd9Sstevel@tonic-gate 
2237c478bd9Sstevel@tonic-gate void
2247c478bd9Sstevel@tonic-gate AcpiDsMethodDataDeleteAll (
2257c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2267c478bd9Sstevel@tonic-gate 
2277c478bd9Sstevel@tonic-gate BOOLEAN
2287c478bd9Sstevel@tonic-gate AcpiDsIsMethodValue (
2297c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
2307c478bd9Sstevel@tonic-gate 
2317c478bd9Sstevel@tonic-gate ACPI_STATUS
2327c478bd9Sstevel@tonic-gate AcpiDsMethodDataGetValue (
233db2bae30SDana Myers     UINT8                   Type,
2347c478bd9Sstevel@tonic-gate     UINT32                  Index,
2357c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2367c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **DestDesc);
2377c478bd9Sstevel@tonic-gate 
2387c478bd9Sstevel@tonic-gate ACPI_STATUS
2397c478bd9Sstevel@tonic-gate AcpiDsMethodDataInitArgs (
2407c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **Params,
2417c478bd9Sstevel@tonic-gate     UINT32                  MaxParamCount,
2427c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2437c478bd9Sstevel@tonic-gate 
2447c478bd9Sstevel@tonic-gate ACPI_STATUS
2457c478bd9Sstevel@tonic-gate AcpiDsMethodDataGetNode (
246db2bae30SDana Myers     UINT8                   Type,
2477c478bd9Sstevel@tonic-gate     UINT32                  Index,
2487c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2497c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **Node);
2507c478bd9Sstevel@tonic-gate 
2517c478bd9Sstevel@tonic-gate void
2527c478bd9Sstevel@tonic-gate AcpiDsMethodDataInit (
2537c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2547c478bd9Sstevel@tonic-gate 
2557c478bd9Sstevel@tonic-gate 
2567c478bd9Sstevel@tonic-gate /*
2577c478bd9Sstevel@tonic-gate  * dsmethod - Parser/Interpreter interface - control method parsing
2587c478bd9Sstevel@tonic-gate  */
2597c478bd9Sstevel@tonic-gate ACPI_STATUS
260*385cc6b4SJerry Jelinek AcpiDsAutoSerializeMethod (
261*385cc6b4SJerry Jelinek     ACPI_NAMESPACE_NODE     *Node,
262*385cc6b4SJerry Jelinek     ACPI_OPERAND_OBJECT     *ObjDesc);
2637c478bd9Sstevel@tonic-gate 
2647c478bd9Sstevel@tonic-gate ACPI_STATUS
2657c478bd9Sstevel@tonic-gate AcpiDsCallControlMethod (
2667c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread,
2677c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2687c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
2697c478bd9Sstevel@tonic-gate 
2707c478bd9Sstevel@tonic-gate ACPI_STATUS
2717c478bd9Sstevel@tonic-gate AcpiDsRestartControlMethod (
2727c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2737c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ReturnDesc);
2747c478bd9Sstevel@tonic-gate 
275186507a7Smyers void
2767c478bd9Sstevel@tonic-gate AcpiDsTerminateControlMethod (
27727f7c583Smyers     ACPI_OPERAND_OBJECT     *MethodDesc,
2787c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2797c478bd9Sstevel@tonic-gate 
2807c478bd9Sstevel@tonic-gate ACPI_STATUS
2817c478bd9Sstevel@tonic-gate AcpiDsBeginMethodExecution (
2827c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *MethodNode,
2837c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
28427f7c583Smyers     ACPI_WALK_STATE         *WalkState);
2857c478bd9Sstevel@tonic-gate 
28630082d0cSmyers ACPI_STATUS
28730082d0cSmyers AcpiDsMethodError (
28830082d0cSmyers     ACPI_STATUS             Status,
28930082d0cSmyers     ACPI_WALK_STATE         *WalkState);
2907c478bd9Sstevel@tonic-gate 
2917c478bd9Sstevel@tonic-gate /*
2927c478bd9Sstevel@tonic-gate  * dsinit
2937c478bd9Sstevel@tonic-gate  */
2947c478bd9Sstevel@tonic-gate ACPI_STATUS
2957c478bd9Sstevel@tonic-gate AcpiDsInitializeObjects (
296db2bae30SDana Myers     UINT32                  TableIndex,
2977c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *StartNode);
2987c478bd9Sstevel@tonic-gate 
2997c478bd9Sstevel@tonic-gate 
3007c478bd9Sstevel@tonic-gate /*
3017c478bd9Sstevel@tonic-gate  * dsobject - Parser/Interpreter interface - object initialization and conversion
3027c478bd9Sstevel@tonic-gate  */
3037c478bd9Sstevel@tonic-gate ACPI_STATUS
3047c478bd9Sstevel@tonic-gate AcpiDsBuildInternalBufferObj (
3057c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3067c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3077c478bd9Sstevel@tonic-gate     UINT32                  BufferLength,
3087c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjDescPtr);
3097c478bd9Sstevel@tonic-gate 
3107c478bd9Sstevel@tonic-gate ACPI_STATUS
3117c478bd9Sstevel@tonic-gate AcpiDsBuildInternalPackageObj (
3127c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3137c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *op,
3147c478bd9Sstevel@tonic-gate     UINT32                  PackageLength,
3157c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjDesc);
3167c478bd9Sstevel@tonic-gate 
3177c478bd9Sstevel@tonic-gate ACPI_STATUS
3187c478bd9Sstevel@tonic-gate AcpiDsInitObjectFromOp (
3197c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3207c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3217c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
3227c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjDesc);
3237c478bd9Sstevel@tonic-gate 
3247c478bd9Sstevel@tonic-gate ACPI_STATUS
3257c478bd9Sstevel@tonic-gate AcpiDsCreateNode (
3267c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3277c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
3287c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
3297c478bd9Sstevel@tonic-gate 
3307c478bd9Sstevel@tonic-gate 
3317c478bd9Sstevel@tonic-gate /*
3327c478bd9Sstevel@tonic-gate  * dsutils - Parser/Interpreter interface utility routines
3337c478bd9Sstevel@tonic-gate  */
3347c478bd9Sstevel@tonic-gate void
3357c478bd9Sstevel@tonic-gate AcpiDsClearImplicitReturn (
3367c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3377c478bd9Sstevel@tonic-gate 
3387c478bd9Sstevel@tonic-gate BOOLEAN
3397c478bd9Sstevel@tonic-gate AcpiDsDoImplicitReturn (
3407c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ReturnDesc,
3417c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3427c478bd9Sstevel@tonic-gate     BOOLEAN                 AddReference);
3437c478bd9Sstevel@tonic-gate 
3447c478bd9Sstevel@tonic-gate BOOLEAN
3457c478bd9Sstevel@tonic-gate AcpiDsIsResultUsed (
3467c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3477c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3487c478bd9Sstevel@tonic-gate 
3497c478bd9Sstevel@tonic-gate void
3507c478bd9Sstevel@tonic-gate AcpiDsDeleteResultIfNotUsed (
3517c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3527c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ResultObj,
3537c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3547c478bd9Sstevel@tonic-gate 
3557c478bd9Sstevel@tonic-gate ACPI_STATUS
3567c478bd9Sstevel@tonic-gate AcpiDsCreateOperand (
3577c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3587c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Arg,
3597c478bd9Sstevel@tonic-gate     UINT32                  ArgsRemaining);
3607c478bd9Sstevel@tonic-gate 
3617c478bd9Sstevel@tonic-gate ACPI_STATUS
3627c478bd9Sstevel@tonic-gate AcpiDsCreateOperands (
3637c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3647c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *FirstArg);
3657c478bd9Sstevel@tonic-gate 
3667c478bd9Sstevel@tonic-gate ACPI_STATUS
3677c478bd9Sstevel@tonic-gate AcpiDsResolveOperands (
3687c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3697c478bd9Sstevel@tonic-gate 
3707c478bd9Sstevel@tonic-gate void
3717c478bd9Sstevel@tonic-gate AcpiDsClearOperands (
3727c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3737c478bd9Sstevel@tonic-gate 
374db2bae30SDana Myers ACPI_STATUS
375db2bae30SDana Myers AcpiDsEvaluateNamePath (
376db2bae30SDana Myers     ACPI_WALK_STATE         *WalkState);
377db2bae30SDana Myers 
3787c478bd9Sstevel@tonic-gate 
3797c478bd9Sstevel@tonic-gate /*
3807c478bd9Sstevel@tonic-gate  * dswscope - Scope Stack manipulation
3817c478bd9Sstevel@tonic-gate  */
3827c478bd9Sstevel@tonic-gate ACPI_STATUS
3837c478bd9Sstevel@tonic-gate AcpiDsScopeStackPush (
3847c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
3857c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
3867c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3877c478bd9Sstevel@tonic-gate 
3887c478bd9Sstevel@tonic-gate 
3897c478bd9Sstevel@tonic-gate ACPI_STATUS
3907c478bd9Sstevel@tonic-gate AcpiDsScopeStackPop (
3917c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3927c478bd9Sstevel@tonic-gate 
3937c478bd9Sstevel@tonic-gate void
3947c478bd9Sstevel@tonic-gate AcpiDsScopeStackClear (
3957c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3967c478bd9Sstevel@tonic-gate 
3977c478bd9Sstevel@tonic-gate 
3987c478bd9Sstevel@tonic-gate /*
3997c478bd9Sstevel@tonic-gate  * dswstate - parser WALK_STATE management routines
4007c478bd9Sstevel@tonic-gate  */
4017c478bd9Sstevel@tonic-gate ACPI_STATUS
4027c478bd9Sstevel@tonic-gate AcpiDsObjStackPush (
4037c478bd9Sstevel@tonic-gate     void                    *Object,
4047c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4057c478bd9Sstevel@tonic-gate 
4067c478bd9Sstevel@tonic-gate ACPI_STATUS
4077c478bd9Sstevel@tonic-gate AcpiDsObjStackPop (
4087c478bd9Sstevel@tonic-gate     UINT32                  PopCount,
4097c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4107c478bd9Sstevel@tonic-gate 
4117c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *
4127c478bd9Sstevel@tonic-gate AcpiDsCreateWalkState (
4137c478bd9Sstevel@tonic-gate     ACPI_OWNER_ID           OwnerId,
4147c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Origin,
4157c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *MthDesc,
4167c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4177c478bd9Sstevel@tonic-gate 
4187c478bd9Sstevel@tonic-gate ACPI_STATUS
4197c478bd9Sstevel@tonic-gate AcpiDsInitAmlWalk (
4207c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
4217c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
4227c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *MethodNode,
4237c478bd9Sstevel@tonic-gate     UINT8                   *AmlStart,
4247c478bd9Sstevel@tonic-gate     UINT32                  AmlLength,
42527f7c583Smyers     ACPI_EVALUATE_INFO      *Info,
426186507a7Smyers     UINT8                   PassNumber);
4277c478bd9Sstevel@tonic-gate 
428db2bae30SDana Myers void
4297c478bd9Sstevel@tonic-gate AcpiDsObjStackPopAndDelete (
4307c478bd9Sstevel@tonic-gate     UINT32                  PopCount,
4317c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4327c478bd9Sstevel@tonic-gate 
4337c478bd9Sstevel@tonic-gate void
4347c478bd9Sstevel@tonic-gate AcpiDsDeleteWalkState (
4357c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4367c478bd9Sstevel@tonic-gate 
4377c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *
4387c478bd9Sstevel@tonic-gate AcpiDsPopWalkState (
4397c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4407c478bd9Sstevel@tonic-gate 
4417c478bd9Sstevel@tonic-gate void
4427c478bd9Sstevel@tonic-gate AcpiDsPushWalkState (
4437c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
4447c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4457c478bd9Sstevel@tonic-gate 
4467c478bd9Sstevel@tonic-gate ACPI_STATUS
4477c478bd9Sstevel@tonic-gate AcpiDsResultStackClear (
4487c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4497c478bd9Sstevel@tonic-gate 
4507c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *
4517c478bd9Sstevel@tonic-gate AcpiDsGetCurrentWalkState (
4527c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4537c478bd9Sstevel@tonic-gate 
4547c478bd9Sstevel@tonic-gate ACPI_STATUS
4557c478bd9Sstevel@tonic-gate AcpiDsResultPop (
4567c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **Object,
4577c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4587c478bd9Sstevel@tonic-gate 
4597c478bd9Sstevel@tonic-gate ACPI_STATUS
4607c478bd9Sstevel@tonic-gate AcpiDsResultPush (
4617c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
4627c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4637c478bd9Sstevel@tonic-gate 
464*385cc6b4SJerry Jelinek 
465*385cc6b4SJerry Jelinek /*
466*385cc6b4SJerry Jelinek  * dsdebug - parser debugging routines
467*385cc6b4SJerry Jelinek  */
468*385cc6b4SJerry Jelinek void
469*385cc6b4SJerry Jelinek AcpiDsDumpMethodStack (
470*385cc6b4SJerry Jelinek     ACPI_STATUS             Status,
471*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState,
472*385cc6b4SJerry Jelinek     ACPI_PARSE_OBJECT       *Op);
473*385cc6b4SJerry Jelinek 
4747c478bd9Sstevel@tonic-gate #endif /* _ACDISPAT_H_ */
475