xref: /illumos-gate/usr/src/uts/intel/sys/acpi/acdispat.h (revision 26f3cdf0)
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 
7*26f3cdf0SGordon Ross /*
8*26f3cdf0SGordon Ross  * Copyright (C) 2000 - 2011, Intel Corp.
97c478bd9Sstevel@tonic-gate  * All rights reserved.
107c478bd9Sstevel@tonic-gate  *
11*26f3cdf0SGordon Ross  * Redistribution and use in source and binary forms, with or without
12*26f3cdf0SGordon Ross  * modification, are permitted provided that the following conditions
13*26f3cdf0SGordon Ross  * are met:
14*26f3cdf0SGordon Ross  * 1. Redistributions of source code must retain the above copyright
15*26f3cdf0SGordon Ross  *    notice, this list of conditions, and the following disclaimer,
16*26f3cdf0SGordon Ross  *    without modification.
17*26f3cdf0SGordon Ross  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18*26f3cdf0SGordon Ross  *    substantially similar to the "NO WARRANTY" disclaimer below
19*26f3cdf0SGordon Ross  *    ("Disclaimer") and any redistribution must be conditioned upon
20*26f3cdf0SGordon Ross  *    including a substantially similar Disclaimer requirement for further
21*26f3cdf0SGordon Ross  *    binary redistribution.
22*26f3cdf0SGordon Ross  * 3. Neither the names of the above-listed copyright holders nor the names
23*26f3cdf0SGordon Ross  *    of any contributors may be used to endorse or promote products derived
24*26f3cdf0SGordon Ross  *    from this software without specific prior written permission.
25*26f3cdf0SGordon Ross  *
26*26f3cdf0SGordon Ross  * Alternatively, this software may be distributed under the terms of the
27*26f3cdf0SGordon Ross  * GNU General Public License ("GPL") version 2 as published by the Free
28*26f3cdf0SGordon Ross  * Software Foundation.
29*26f3cdf0SGordon Ross  *
30*26f3cdf0SGordon Ross  * NO WARRANTY
31*26f3cdf0SGordon Ross  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32*26f3cdf0SGordon Ross  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33*26f3cdf0SGordon Ross  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34*26f3cdf0SGordon Ross  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35*26f3cdf0SGordon Ross  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36*26f3cdf0SGordon Ross  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37*26f3cdf0SGordon Ross  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38*26f3cdf0SGordon Ross  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39*26f3cdf0SGordon Ross  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40*26f3cdf0SGordon Ross  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41*26f3cdf0SGordon Ross  * POSSIBILITY OF SUCH DAMAGES.
42*26f3cdf0SGordon Ross  */
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate 
457c478bd9Sstevel@tonic-gate #ifndef _ACDISPAT_H_
467c478bd9Sstevel@tonic-gate #define _ACDISPAT_H_
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate 
497c478bd9Sstevel@tonic-gate #define NAMEOF_LOCAL_NTE    "__L0"
507c478bd9Sstevel@tonic-gate #define NAMEOF_ARG_NTE      "__A0"
517c478bd9Sstevel@tonic-gate 
527c478bd9Sstevel@tonic-gate 
537c478bd9Sstevel@tonic-gate /*
54*26f3cdf0SGordon Ross  * dsargs - execution of dynamic arguments for static objects
557c478bd9Sstevel@tonic-gate  */
567c478bd9Sstevel@tonic-gate ACPI_STATUS
577c478bd9Sstevel@tonic-gate AcpiDsGetBufferFieldArguments (
587c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
597c478bd9Sstevel@tonic-gate 
60db2bae30SDana Myers ACPI_STATUS
61db2bae30SDana Myers AcpiDsGetBankFieldArguments (
62db2bae30SDana Myers     ACPI_OPERAND_OBJECT     *ObjDesc);
63db2bae30SDana Myers 
647c478bd9Sstevel@tonic-gate ACPI_STATUS
657c478bd9Sstevel@tonic-gate AcpiDsGetRegionArguments (
667c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *RgnDesc);
677c478bd9Sstevel@tonic-gate 
687c478bd9Sstevel@tonic-gate ACPI_STATUS
697c478bd9Sstevel@tonic-gate AcpiDsGetBufferArguments (
707c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
717c478bd9Sstevel@tonic-gate 
727c478bd9Sstevel@tonic-gate ACPI_STATUS
737c478bd9Sstevel@tonic-gate AcpiDsGetPackageArguments (
747c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
757c478bd9Sstevel@tonic-gate 
76*26f3cdf0SGordon Ross 
77*26f3cdf0SGordon Ross /*
78*26f3cdf0SGordon Ross  * dscontrol - support for execution control opcodes
79*26f3cdf0SGordon Ross  */
80*26f3cdf0SGordon Ross ACPI_STATUS
81*26f3cdf0SGordon Ross AcpiDsExecBeginControlOp (
82*26f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
83*26f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
84*26f3cdf0SGordon Ross 
85*26f3cdf0SGordon Ross ACPI_STATUS
86*26f3cdf0SGordon Ross AcpiDsExecEndControlOp (
87*26f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
88*26f3cdf0SGordon Ross     ACPI_PARSE_OBJECT       *Op);
89*26f3cdf0SGordon Ross 
90*26f3cdf0SGordon Ross 
91*26f3cdf0SGordon Ross /*
92*26f3cdf0SGordon Ross  * dsopcode - support for late operand evaluation
93*26f3cdf0SGordon Ross  */
947c478bd9Sstevel@tonic-gate ACPI_STATUS
957c478bd9Sstevel@tonic-gate AcpiDsEvalBufferFieldOperands (
967c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
977c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
987c478bd9Sstevel@tonic-gate 
997c478bd9Sstevel@tonic-gate ACPI_STATUS
1007c478bd9Sstevel@tonic-gate AcpiDsEvalRegionOperands (
1017c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1027c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
1037c478bd9Sstevel@tonic-gate 
104db2bae30SDana Myers ACPI_STATUS
105db2bae30SDana Myers AcpiDsEvalTableRegionOperands (
106db2bae30SDana Myers     ACPI_WALK_STATE         *WalkState,
107db2bae30SDana Myers     ACPI_PARSE_OBJECT       *Op);
108db2bae30SDana Myers 
1097c478bd9Sstevel@tonic-gate ACPI_STATUS
1107c478bd9Sstevel@tonic-gate AcpiDsEvalDataObjectOperands (
1117c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1127c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1137c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
1147c478bd9Sstevel@tonic-gate 
115db2bae30SDana Myers ACPI_STATUS
116db2bae30SDana Myers AcpiDsEvalBankFieldOperands (
117db2bae30SDana Myers     ACPI_WALK_STATE         *WalkState,
118db2bae30SDana Myers     ACPI_PARSE_OBJECT       *Op);
119db2bae30SDana Myers 
1207c478bd9Sstevel@tonic-gate ACPI_STATUS
1217c478bd9Sstevel@tonic-gate AcpiDsInitializeRegion (
1227c478bd9Sstevel@tonic-gate     ACPI_HANDLE             ObjHandle);
1237c478bd9Sstevel@tonic-gate 
1247c478bd9Sstevel@tonic-gate 
1257c478bd9Sstevel@tonic-gate /*
1267c478bd9Sstevel@tonic-gate  * dsexec - Parser/Interpreter interface, method execution callbacks
1277c478bd9Sstevel@tonic-gate  */
1287c478bd9Sstevel@tonic-gate ACPI_STATUS
1297c478bd9Sstevel@tonic-gate AcpiDsGetPredicateValue (
1307c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1317c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ResultObj);
1327c478bd9Sstevel@tonic-gate 
1337c478bd9Sstevel@tonic-gate ACPI_STATUS
1347c478bd9Sstevel@tonic-gate AcpiDsExecBeginOp (
1357c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1367c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       **OutOp);
1377c478bd9Sstevel@tonic-gate 
1387c478bd9Sstevel@tonic-gate ACPI_STATUS
1397c478bd9Sstevel@tonic-gate AcpiDsExecEndOp (
1407c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *State);
1417c478bd9Sstevel@tonic-gate 
1427c478bd9Sstevel@tonic-gate 
1437c478bd9Sstevel@tonic-gate /*
1447c478bd9Sstevel@tonic-gate  * dsfield - Parser/Interpreter interface for AML fields
1457c478bd9Sstevel@tonic-gate  */
1467c478bd9Sstevel@tonic-gate ACPI_STATUS
1477c478bd9Sstevel@tonic-gate AcpiDsCreateField (
1487c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1497c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *RegionNode,
1507c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1517c478bd9Sstevel@tonic-gate 
1527c478bd9Sstevel@tonic-gate ACPI_STATUS
1537c478bd9Sstevel@tonic-gate AcpiDsCreateBankField (
1547c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1557c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *RegionNode,
1567c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1577c478bd9Sstevel@tonic-gate 
1587c478bd9Sstevel@tonic-gate ACPI_STATUS
1597c478bd9Sstevel@tonic-gate AcpiDsCreateIndexField (
1607c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1617c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *RegionNode,
1627c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1637c478bd9Sstevel@tonic-gate 
1647c478bd9Sstevel@tonic-gate ACPI_STATUS
1657c478bd9Sstevel@tonic-gate AcpiDsCreateBufferField (
1667c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1677c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1687c478bd9Sstevel@tonic-gate 
1697c478bd9Sstevel@tonic-gate ACPI_STATUS
1707c478bd9Sstevel@tonic-gate AcpiDsInitFieldObjects (
1717c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
1727c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1737c478bd9Sstevel@tonic-gate 
1747c478bd9Sstevel@tonic-gate 
1757c478bd9Sstevel@tonic-gate /*
176*26f3cdf0SGordon Ross  * dsload - Parser/Interpreter interface, pass 1 namespace load callbacks
1777c478bd9Sstevel@tonic-gate  */
1787c478bd9Sstevel@tonic-gate ACPI_STATUS
179*26f3cdf0SGordon Ross AcpiDsInitCallbacks (
180*26f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState,
181*26f3cdf0SGordon Ross     UINT32                  PassNumber);
182*26f3cdf0SGordon Ross 
183*26f3cdf0SGordon Ross ACPI_STATUS
1847c478bd9Sstevel@tonic-gate AcpiDsLoad1BeginOp (
1857c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1867c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       **OutOp);
1877c478bd9Sstevel@tonic-gate 
1887c478bd9Sstevel@tonic-gate ACPI_STATUS
1897c478bd9Sstevel@tonic-gate AcpiDsLoad1EndOp (
1907c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1917c478bd9Sstevel@tonic-gate 
192*26f3cdf0SGordon Ross 
193*26f3cdf0SGordon Ross /*
194*26f3cdf0SGordon Ross  * dsload - Parser/Interpreter interface, pass 2 namespace load callbacks
195*26f3cdf0SGordon Ross  */
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
2607c478bd9Sstevel@tonic-gate AcpiDsParseMethod (
261186507a7Smyers     ACPI_NAMESPACE_NODE     *Node);
2627c478bd9Sstevel@tonic-gate 
2637c478bd9Sstevel@tonic-gate ACPI_STATUS
2647c478bd9Sstevel@tonic-gate AcpiDsCallControlMethod (
2657c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread,
2667c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2677c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
2687c478bd9Sstevel@tonic-gate 
2697c478bd9Sstevel@tonic-gate ACPI_STATUS
2707c478bd9Sstevel@tonic-gate AcpiDsRestartControlMethod (
2717c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2727c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ReturnDesc);
2737c478bd9Sstevel@tonic-gate 
274186507a7Smyers void
2757c478bd9Sstevel@tonic-gate AcpiDsTerminateControlMethod (
27627f7c583Smyers     ACPI_OPERAND_OBJECT     *MethodDesc,
2777c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2787c478bd9Sstevel@tonic-gate 
2797c478bd9Sstevel@tonic-gate ACPI_STATUS
2807c478bd9Sstevel@tonic-gate AcpiDsBeginMethodExecution (
2817c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *MethodNode,
2827c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
28327f7c583Smyers     ACPI_WALK_STATE         *WalkState);
2847c478bd9Sstevel@tonic-gate 
28530082d0cSmyers ACPI_STATUS
28630082d0cSmyers AcpiDsMethodError (
28730082d0cSmyers     ACPI_STATUS             Status,
28830082d0cSmyers     ACPI_WALK_STATE         *WalkState);
2897c478bd9Sstevel@tonic-gate 
2907c478bd9Sstevel@tonic-gate /*
2917c478bd9Sstevel@tonic-gate  * dsinit
2927c478bd9Sstevel@tonic-gate  */
2937c478bd9Sstevel@tonic-gate ACPI_STATUS
2947c478bd9Sstevel@tonic-gate AcpiDsInitializeObjects (
295db2bae30SDana Myers     UINT32                  TableIndex,
2967c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *StartNode);
2977c478bd9Sstevel@tonic-gate 
2987c478bd9Sstevel@tonic-gate 
2997c478bd9Sstevel@tonic-gate /*
3007c478bd9Sstevel@tonic-gate  * dsobject - Parser/Interpreter interface - object initialization and conversion
3017c478bd9Sstevel@tonic-gate  */
3027c478bd9Sstevel@tonic-gate ACPI_STATUS
3037c478bd9Sstevel@tonic-gate AcpiDsBuildInternalBufferObj (
3047c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3057c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3067c478bd9Sstevel@tonic-gate     UINT32                  BufferLength,
3077c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjDescPtr);
3087c478bd9Sstevel@tonic-gate 
3097c478bd9Sstevel@tonic-gate ACPI_STATUS
3107c478bd9Sstevel@tonic-gate AcpiDsBuildInternalPackageObj (
3117c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3127c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *op,
3137c478bd9Sstevel@tonic-gate     UINT32                  PackageLength,
3147c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjDesc);
3157c478bd9Sstevel@tonic-gate 
3167c478bd9Sstevel@tonic-gate ACPI_STATUS
3177c478bd9Sstevel@tonic-gate AcpiDsInitObjectFromOp (
3187c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3197c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3207c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
3217c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjDesc);
3227c478bd9Sstevel@tonic-gate 
3237c478bd9Sstevel@tonic-gate ACPI_STATUS
3247c478bd9Sstevel@tonic-gate AcpiDsCreateNode (
3257c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3267c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
3277c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op);
3287c478bd9Sstevel@tonic-gate 
3297c478bd9Sstevel@tonic-gate 
3307c478bd9Sstevel@tonic-gate /*
3317c478bd9Sstevel@tonic-gate  * dsutils - Parser/Interpreter interface utility routines
3327c478bd9Sstevel@tonic-gate  */
3337c478bd9Sstevel@tonic-gate void
3347c478bd9Sstevel@tonic-gate AcpiDsClearImplicitReturn (
3357c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3367c478bd9Sstevel@tonic-gate 
3377c478bd9Sstevel@tonic-gate BOOLEAN
3387c478bd9Sstevel@tonic-gate AcpiDsDoImplicitReturn (
3397c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ReturnDesc,
3407c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3417c478bd9Sstevel@tonic-gate     BOOLEAN                 AddReference);
3427c478bd9Sstevel@tonic-gate 
3437c478bd9Sstevel@tonic-gate BOOLEAN
3447c478bd9Sstevel@tonic-gate AcpiDsIsResultUsed (
3457c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3467c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3477c478bd9Sstevel@tonic-gate 
3487c478bd9Sstevel@tonic-gate void
3497c478bd9Sstevel@tonic-gate AcpiDsDeleteResultIfNotUsed (
3507c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
3517c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ResultObj,
3527c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3537c478bd9Sstevel@tonic-gate 
3547c478bd9Sstevel@tonic-gate ACPI_STATUS
3557c478bd9Sstevel@tonic-gate AcpiDsCreateOperand (
3567c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3577c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Arg,
3587c478bd9Sstevel@tonic-gate     UINT32                  ArgsRemaining);
3597c478bd9Sstevel@tonic-gate 
3607c478bd9Sstevel@tonic-gate ACPI_STATUS
3617c478bd9Sstevel@tonic-gate AcpiDsCreateOperands (
3627c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3637c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *FirstArg);
3647c478bd9Sstevel@tonic-gate 
3657c478bd9Sstevel@tonic-gate ACPI_STATUS
3667c478bd9Sstevel@tonic-gate AcpiDsResolveOperands (
3677c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3687c478bd9Sstevel@tonic-gate 
3697c478bd9Sstevel@tonic-gate void
3707c478bd9Sstevel@tonic-gate AcpiDsClearOperands (
3717c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3727c478bd9Sstevel@tonic-gate 
373db2bae30SDana Myers ACPI_STATUS
374db2bae30SDana Myers AcpiDsEvaluateNamePath (
375db2bae30SDana Myers     ACPI_WALK_STATE         *WalkState);
376db2bae30SDana Myers 
3777c478bd9Sstevel@tonic-gate 
3787c478bd9Sstevel@tonic-gate /*
3797c478bd9Sstevel@tonic-gate  * dswscope - Scope Stack manipulation
3807c478bd9Sstevel@tonic-gate  */
3817c478bd9Sstevel@tonic-gate ACPI_STATUS
3827c478bd9Sstevel@tonic-gate AcpiDsScopeStackPush (
3837c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
3847c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
3857c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3867c478bd9Sstevel@tonic-gate 
3877c478bd9Sstevel@tonic-gate 
3887c478bd9Sstevel@tonic-gate ACPI_STATUS
3897c478bd9Sstevel@tonic-gate AcpiDsScopeStackPop (
3907c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3917c478bd9Sstevel@tonic-gate 
3927c478bd9Sstevel@tonic-gate void
3937c478bd9Sstevel@tonic-gate AcpiDsScopeStackClear (
3947c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3957c478bd9Sstevel@tonic-gate 
3967c478bd9Sstevel@tonic-gate 
3977c478bd9Sstevel@tonic-gate /*
3987c478bd9Sstevel@tonic-gate  * dswstate - parser WALK_STATE management routines
3997c478bd9Sstevel@tonic-gate  */
4007c478bd9Sstevel@tonic-gate ACPI_STATUS
4017c478bd9Sstevel@tonic-gate AcpiDsObjStackPush (
4027c478bd9Sstevel@tonic-gate     void                    *Object,
4037c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4047c478bd9Sstevel@tonic-gate 
4057c478bd9Sstevel@tonic-gate ACPI_STATUS
4067c478bd9Sstevel@tonic-gate AcpiDsObjStackPop (
4077c478bd9Sstevel@tonic-gate     UINT32                  PopCount,
4087c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4097c478bd9Sstevel@tonic-gate 
4107c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *
4117c478bd9Sstevel@tonic-gate AcpiDsCreateWalkState (
4127c478bd9Sstevel@tonic-gate     ACPI_OWNER_ID           OwnerId,
4137c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Origin,
4147c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *MthDesc,
4157c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4167c478bd9Sstevel@tonic-gate 
4177c478bd9Sstevel@tonic-gate ACPI_STATUS
4187c478bd9Sstevel@tonic-gate AcpiDsInitAmlWalk (
4197c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
4207c478bd9Sstevel@tonic-gate     ACPI_PARSE_OBJECT       *Op,
4217c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *MethodNode,
4227c478bd9Sstevel@tonic-gate     UINT8                   *AmlStart,
4237c478bd9Sstevel@tonic-gate     UINT32                  AmlLength,
42427f7c583Smyers     ACPI_EVALUATE_INFO      *Info,
425186507a7Smyers     UINT8                   PassNumber);
4267c478bd9Sstevel@tonic-gate 
427db2bae30SDana Myers void
4287c478bd9Sstevel@tonic-gate AcpiDsObjStackPopAndDelete (
4297c478bd9Sstevel@tonic-gate     UINT32                  PopCount,
4307c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4317c478bd9Sstevel@tonic-gate 
4327c478bd9Sstevel@tonic-gate void
4337c478bd9Sstevel@tonic-gate AcpiDsDeleteWalkState (
4347c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4357c478bd9Sstevel@tonic-gate 
4367c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *
4377c478bd9Sstevel@tonic-gate AcpiDsPopWalkState (
4387c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4397c478bd9Sstevel@tonic-gate 
4407c478bd9Sstevel@tonic-gate void
4417c478bd9Sstevel@tonic-gate AcpiDsPushWalkState (
4427c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
4437c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4447c478bd9Sstevel@tonic-gate 
4457c478bd9Sstevel@tonic-gate ACPI_STATUS
4467c478bd9Sstevel@tonic-gate AcpiDsResultStackClear (
4477c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4487c478bd9Sstevel@tonic-gate 
4497c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *
4507c478bd9Sstevel@tonic-gate AcpiDsGetCurrentWalkState (
4517c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
4527c478bd9Sstevel@tonic-gate 
4537c478bd9Sstevel@tonic-gate ACPI_STATUS
4547c478bd9Sstevel@tonic-gate AcpiDsResultPop (
4557c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **Object,
4567c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4577c478bd9Sstevel@tonic-gate 
4587c478bd9Sstevel@tonic-gate ACPI_STATUS
4597c478bd9Sstevel@tonic-gate AcpiDsResultPush (
4607c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
4617c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4627c478bd9Sstevel@tonic-gate 
4637c478bd9Sstevel@tonic-gate #endif /* _ACDISPAT_H_ */
464