xref: /titanic_51/usr/src/uts/intel/sys/acpi/acinterp.h (revision 385cc6b4ad1792caef3f84eb61eed3f27085801f)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acinterp.h - Interpreter subcomponent prototypes and defines
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 __ACINTERP_H__
457c478bd9Sstevel@tonic-gate #define __ACINTERP_H__
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate #define ACPI_WALK_OPERANDS          (&(WalkState->Operands [WalkState->NumOperands -1]))
497c478bd9Sstevel@tonic-gate 
5030082d0cSmyers /* Macros for tables used for debug output */
5130082d0cSmyers 
5230082d0cSmyers #define ACPI_EXD_OFFSET(f)          (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f)
5330082d0cSmyers #define ACPI_EXD_NSOFFSET(f)        (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f)
5430082d0cSmyers #define ACPI_EXD_TABLE_SIZE(name)   (sizeof(name) / sizeof (ACPI_EXDUMP_INFO))
5530082d0cSmyers 
5630082d0cSmyers /*
5727f7c583Smyers  * If possible, pack the following structures to byte alignment, since we
5827f7c583Smyers  * don't care about performance for debug output. Two cases where we cannot
5927f7c583Smyers  * pack the structures:
6027f7c583Smyers  *
6127f7c583Smyers  * 1) Hardware does not support misaligned memory transfers
6227f7c583Smyers  * 2) Compiler does not support pointers within packed structures
6330082d0cSmyers  */
6427f7c583Smyers #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
6530082d0cSmyers #pragma pack(1)
6630082d0cSmyers #endif
6730082d0cSmyers 
6830082d0cSmyers typedef const struct acpi_exdump_info
6930082d0cSmyers {
7030082d0cSmyers     UINT8                   Opcode;
7130082d0cSmyers     UINT8                   Offset;
72*385cc6b4SJerry Jelinek     const char              *Name;
7330082d0cSmyers 
7430082d0cSmyers } ACPI_EXDUMP_INFO;
7530082d0cSmyers 
7630082d0cSmyers /* Values for the Opcode field above */
7730082d0cSmyers 
7830082d0cSmyers #define ACPI_EXD_INIT                   0
7930082d0cSmyers #define ACPI_EXD_TYPE                   1
8030082d0cSmyers #define ACPI_EXD_UINT8                  2
8130082d0cSmyers #define ACPI_EXD_UINT16                 3
8230082d0cSmyers #define ACPI_EXD_UINT32                 4
8330082d0cSmyers #define ACPI_EXD_UINT64                 5
8430082d0cSmyers #define ACPI_EXD_LITERAL                6
8530082d0cSmyers #define ACPI_EXD_POINTER                7
8630082d0cSmyers #define ACPI_EXD_ADDRESS                8
8730082d0cSmyers #define ACPI_EXD_STRING                 9
8830082d0cSmyers #define ACPI_EXD_BUFFER                 10
8930082d0cSmyers #define ACPI_EXD_PACKAGE                11
9030082d0cSmyers #define ACPI_EXD_FIELD                  12
9130082d0cSmyers #define ACPI_EXD_REFERENCE              13
92*385cc6b4SJerry Jelinek #define ACPI_EXD_LIST                   14 /* Operand object list */
93*385cc6b4SJerry Jelinek #define ACPI_EXD_HDLR_LIST              15 /* Address Handler list */
94*385cc6b4SJerry Jelinek #define ACPI_EXD_RGN_LIST               16 /* Region list */
95*385cc6b4SJerry Jelinek #define ACPI_EXD_NODE                   17 /* Namespace Node */
9630082d0cSmyers 
9730082d0cSmyers /* restore default alignment */
9830082d0cSmyers 
9930082d0cSmyers #pragma pack()
10030082d0cSmyers 
1017c478bd9Sstevel@tonic-gate 
1027c478bd9Sstevel@tonic-gate /*
1037c478bd9Sstevel@tonic-gate  * exconvrt - object conversion
1047c478bd9Sstevel@tonic-gate  */
1057c478bd9Sstevel@tonic-gate ACPI_STATUS
1067c478bd9Sstevel@tonic-gate AcpiExConvertToInteger (
1077c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1087c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc,
1097c478bd9Sstevel@tonic-gate     UINT32                  Flags);
1107c478bd9Sstevel@tonic-gate 
1117c478bd9Sstevel@tonic-gate ACPI_STATUS
1127c478bd9Sstevel@tonic-gate AcpiExConvertToBuffer (
1137c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1147c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc);
1157c478bd9Sstevel@tonic-gate 
1167c478bd9Sstevel@tonic-gate ACPI_STATUS
1177c478bd9Sstevel@tonic-gate AcpiExConvertToString (
1187c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1197c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc,
1207c478bd9Sstevel@tonic-gate     UINT32                  Type);
1217c478bd9Sstevel@tonic-gate 
1227c478bd9Sstevel@tonic-gate /* Types for ->String conversion */
1237c478bd9Sstevel@tonic-gate 
1247c478bd9Sstevel@tonic-gate #define ACPI_EXPLICIT_BYTE_COPY         0x00000000
1257c478bd9Sstevel@tonic-gate #define ACPI_EXPLICIT_CONVERT_HEX       0x00000001
1267c478bd9Sstevel@tonic-gate #define ACPI_IMPLICIT_CONVERT_HEX       0x00000002
1277c478bd9Sstevel@tonic-gate #define ACPI_EXPLICIT_CONVERT_DECIMAL   0x00000003
1287c478bd9Sstevel@tonic-gate 
1297c478bd9Sstevel@tonic-gate ACPI_STATUS
1307c478bd9Sstevel@tonic-gate AcpiExConvertToTargetType (
1317c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        DestinationType,
1327c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
1337c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc,
1347c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
1357c478bd9Sstevel@tonic-gate 
1367c478bd9Sstevel@tonic-gate 
1377c478bd9Sstevel@tonic-gate /*
13826f3cdf0SGordon Ross  * exdebug - AML debug object
13926f3cdf0SGordon Ross  */
14026f3cdf0SGordon Ross void
14126f3cdf0SGordon Ross AcpiExDoDebugObject (
14226f3cdf0SGordon Ross     ACPI_OPERAND_OBJECT     *SourceDesc,
14326f3cdf0SGordon Ross     UINT32                  Level,
14426f3cdf0SGordon Ross     UINT32                  Index);
14526f3cdf0SGordon Ross 
146*385cc6b4SJerry Jelinek void
147*385cc6b4SJerry Jelinek AcpiExStartTraceMethod (
148*385cc6b4SJerry Jelinek     ACPI_NAMESPACE_NODE     *MethodNode,
149*385cc6b4SJerry Jelinek     ACPI_OPERAND_OBJECT     *ObjDesc,
150*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
151*385cc6b4SJerry Jelinek 
152*385cc6b4SJerry Jelinek void
153*385cc6b4SJerry Jelinek AcpiExStopTraceMethod (
154*385cc6b4SJerry Jelinek     ACPI_NAMESPACE_NODE     *MethodNode,
155*385cc6b4SJerry Jelinek     ACPI_OPERAND_OBJECT     *ObjDesc,
156*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
157*385cc6b4SJerry Jelinek 
158*385cc6b4SJerry Jelinek void
159*385cc6b4SJerry Jelinek AcpiExStartTraceOpcode (
160*385cc6b4SJerry Jelinek     ACPI_PARSE_OBJECT       *Op,
161*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
162*385cc6b4SJerry Jelinek 
163*385cc6b4SJerry Jelinek void
164*385cc6b4SJerry Jelinek AcpiExStopTraceOpcode (
165*385cc6b4SJerry Jelinek     ACPI_PARSE_OBJECT       *Op,
166*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState);
167*385cc6b4SJerry Jelinek 
168*385cc6b4SJerry Jelinek void
169*385cc6b4SJerry Jelinek AcpiExTracePoint (
170*385cc6b4SJerry Jelinek     ACPI_TRACE_EVENT_TYPE   Type,
171*385cc6b4SJerry Jelinek     BOOLEAN                 Begin,
172*385cc6b4SJerry Jelinek     UINT8                   *Aml,
173*385cc6b4SJerry Jelinek     char                    *Pathname);
174*385cc6b4SJerry Jelinek 
17526f3cdf0SGordon Ross 
17626f3cdf0SGordon Ross /*
1777c478bd9Sstevel@tonic-gate  * exfield - ACPI AML (p-code) execution - field manipulation
1787c478bd9Sstevel@tonic-gate  */
1797c478bd9Sstevel@tonic-gate ACPI_STATUS
1807c478bd9Sstevel@tonic-gate AcpiExCommonBufferSetup (
1817c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1827c478bd9Sstevel@tonic-gate     UINT32                  BufferLength,
1837c478bd9Sstevel@tonic-gate     UINT32                  *DatumCount);
1847c478bd9Sstevel@tonic-gate 
1857c478bd9Sstevel@tonic-gate ACPI_STATUS
1867c478bd9Sstevel@tonic-gate AcpiExWriteWithUpdateRule (
1877c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
18826f3cdf0SGordon Ross     UINT64                  Mask,
18926f3cdf0SGordon Ross     UINT64                  FieldValue,
1907c478bd9Sstevel@tonic-gate     UINT32                  FieldDatumByteOffset);
1917c478bd9Sstevel@tonic-gate 
1927c478bd9Sstevel@tonic-gate void
1937c478bd9Sstevel@tonic-gate AcpiExGetBufferDatum(
19426f3cdf0SGordon Ross     UINT64                  *Datum,
1957c478bd9Sstevel@tonic-gate     void                    *Buffer,
1967c478bd9Sstevel@tonic-gate     UINT32                  BufferLength,
1977c478bd9Sstevel@tonic-gate     UINT32                  ByteGranularity,
1987c478bd9Sstevel@tonic-gate     UINT32                  BufferOffset);
1997c478bd9Sstevel@tonic-gate 
2007c478bd9Sstevel@tonic-gate void
2017c478bd9Sstevel@tonic-gate AcpiExSetBufferDatum (
20226f3cdf0SGordon Ross     UINT64                  MergedDatum,
2037c478bd9Sstevel@tonic-gate     void                    *Buffer,
2047c478bd9Sstevel@tonic-gate     UINT32                  BufferLength,
2057c478bd9Sstevel@tonic-gate     UINT32                  ByteGranularity,
2067c478bd9Sstevel@tonic-gate     UINT32                  BufferOffset);
2077c478bd9Sstevel@tonic-gate 
2087c478bd9Sstevel@tonic-gate ACPI_STATUS
2097c478bd9Sstevel@tonic-gate AcpiExReadDataFromField (
2107c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2117c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2127c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **RetBufferDesc);
2137c478bd9Sstevel@tonic-gate 
2147c478bd9Sstevel@tonic-gate ACPI_STATUS
2157c478bd9Sstevel@tonic-gate AcpiExWriteDataToField (
2167c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
2177c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2187c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc);
2197c478bd9Sstevel@tonic-gate 
2207c478bd9Sstevel@tonic-gate 
2217c478bd9Sstevel@tonic-gate /*
2227c478bd9Sstevel@tonic-gate  * exfldio - low level field I/O
2237c478bd9Sstevel@tonic-gate  */
2247c478bd9Sstevel@tonic-gate ACPI_STATUS
2257c478bd9Sstevel@tonic-gate AcpiExExtractFromField (
2267c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2277c478bd9Sstevel@tonic-gate     void                    *Buffer,
2287c478bd9Sstevel@tonic-gate     UINT32                  BufferLength);
2297c478bd9Sstevel@tonic-gate 
2307c478bd9Sstevel@tonic-gate ACPI_STATUS
2317c478bd9Sstevel@tonic-gate AcpiExInsertIntoField (
2327c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2337c478bd9Sstevel@tonic-gate     void                    *Buffer,
2347c478bd9Sstevel@tonic-gate     UINT32                  BufferLength);
2357c478bd9Sstevel@tonic-gate 
2367c478bd9Sstevel@tonic-gate ACPI_STATUS
2377c478bd9Sstevel@tonic-gate AcpiExAccessRegion (
2387c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2397c478bd9Sstevel@tonic-gate     UINT32                  FieldDatumByteOffset,
24026f3cdf0SGordon Ross     UINT64                  *Value,
2417c478bd9Sstevel@tonic-gate     UINT32                  ReadWrite);
2427c478bd9Sstevel@tonic-gate 
2437c478bd9Sstevel@tonic-gate 
2447c478bd9Sstevel@tonic-gate /*
2457c478bd9Sstevel@tonic-gate  * exmisc - misc support routines
2467c478bd9Sstevel@tonic-gate  */
2477c478bd9Sstevel@tonic-gate ACPI_STATUS
2487c478bd9Sstevel@tonic-gate AcpiExGetObjectReference (
2497c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2507c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc,
2517c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2527c478bd9Sstevel@tonic-gate 
2537c478bd9Sstevel@tonic-gate ACPI_STATUS
2547c478bd9Sstevel@tonic-gate AcpiExConcatTemplate (
2557c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2567c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc2,
2577c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
2587c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2597c478bd9Sstevel@tonic-gate 
2607c478bd9Sstevel@tonic-gate ACPI_STATUS
2617c478bd9Sstevel@tonic-gate AcpiExDoConcatenate (
2627c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2637c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc2,
2647c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
2657c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2667c478bd9Sstevel@tonic-gate 
2677c478bd9Sstevel@tonic-gate ACPI_STATUS
2687c478bd9Sstevel@tonic-gate AcpiExDoLogicalNumericOp (
2697c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
27026f3cdf0SGordon Ross     UINT64                  Integer0,
27126f3cdf0SGordon Ross     UINT64                  Integer1,
2727c478bd9Sstevel@tonic-gate     BOOLEAN                 *LogicalResult);
2737c478bd9Sstevel@tonic-gate 
2747c478bd9Sstevel@tonic-gate ACPI_STATUS
2757c478bd9Sstevel@tonic-gate AcpiExDoLogicalOp (
2767c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
2777c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Operand0,
2787c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Operand1,
2797c478bd9Sstevel@tonic-gate     BOOLEAN                 *LogicalResult);
2807c478bd9Sstevel@tonic-gate 
28126f3cdf0SGordon Ross UINT64
2827c478bd9Sstevel@tonic-gate AcpiExDoMathOp (
2837c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
28426f3cdf0SGordon Ross     UINT64                  Operand0,
28526f3cdf0SGordon Ross     UINT64                  Operand1);
2867c478bd9Sstevel@tonic-gate 
2877c478bd9Sstevel@tonic-gate ACPI_STATUS
2887c478bd9Sstevel@tonic-gate AcpiExCreateMutex (
2897c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2907c478bd9Sstevel@tonic-gate 
2917c478bd9Sstevel@tonic-gate ACPI_STATUS
2927c478bd9Sstevel@tonic-gate AcpiExCreateProcessor (
2937c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2947c478bd9Sstevel@tonic-gate 
2957c478bd9Sstevel@tonic-gate ACPI_STATUS
2967c478bd9Sstevel@tonic-gate AcpiExCreatePowerResource (
2977c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2987c478bd9Sstevel@tonic-gate 
2997c478bd9Sstevel@tonic-gate ACPI_STATUS
3007c478bd9Sstevel@tonic-gate AcpiExCreateRegion (
3017c478bd9Sstevel@tonic-gate     UINT8                   *AmlStart,
3027c478bd9Sstevel@tonic-gate     UINT32                  AmlLength,
3037c478bd9Sstevel@tonic-gate     UINT8                   RegionSpace,
3047c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3057c478bd9Sstevel@tonic-gate 
3067c478bd9Sstevel@tonic-gate ACPI_STATUS
3077c478bd9Sstevel@tonic-gate AcpiExCreateEvent (
3087c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3097c478bd9Sstevel@tonic-gate 
3107c478bd9Sstevel@tonic-gate ACPI_STATUS
3117c478bd9Sstevel@tonic-gate AcpiExCreateAlias (
3127c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3137c478bd9Sstevel@tonic-gate 
3147c478bd9Sstevel@tonic-gate ACPI_STATUS
3157c478bd9Sstevel@tonic-gate AcpiExCreateMethod (
3167c478bd9Sstevel@tonic-gate     UINT8                   *AmlStart,
3177c478bd9Sstevel@tonic-gate     UINT32                  AmlLength,
3187c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3197c478bd9Sstevel@tonic-gate 
3207c478bd9Sstevel@tonic-gate 
3217c478bd9Sstevel@tonic-gate /*
3227c478bd9Sstevel@tonic-gate  * exconfig - dynamic table load/unload
3237c478bd9Sstevel@tonic-gate  */
3247c478bd9Sstevel@tonic-gate ACPI_STATUS
3257c478bd9Sstevel@tonic-gate AcpiExLoadOp (
3267c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3277c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Target,
3287c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3297c478bd9Sstevel@tonic-gate 
3307c478bd9Sstevel@tonic-gate ACPI_STATUS
3317c478bd9Sstevel@tonic-gate AcpiExLoadTableOp (
3327c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3337c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc);
3347c478bd9Sstevel@tonic-gate 
3357c478bd9Sstevel@tonic-gate ACPI_STATUS
3367c478bd9Sstevel@tonic-gate AcpiExUnloadTable (
3377c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DdbHandle);
3387c478bd9Sstevel@tonic-gate 
3397c478bd9Sstevel@tonic-gate 
3407c478bd9Sstevel@tonic-gate /*
3417c478bd9Sstevel@tonic-gate  * exmutex - mutex support
3427c478bd9Sstevel@tonic-gate  */
3437c478bd9Sstevel@tonic-gate ACPI_STATUS
3447c478bd9Sstevel@tonic-gate AcpiExAcquireMutex (
3457c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TimeDesc,
3467c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3477c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3487c478bd9Sstevel@tonic-gate 
3497c478bd9Sstevel@tonic-gate ACPI_STATUS
350db2bae30SDana Myers AcpiExAcquireMutexObject (
351db2bae30SDana Myers     UINT16                  Timeout,
352db2bae30SDana Myers     ACPI_OPERAND_OBJECT     *ObjDesc,
353db2bae30SDana Myers     ACPI_THREAD_ID          ThreadId);
354db2bae30SDana Myers 
355db2bae30SDana Myers ACPI_STATUS
3567c478bd9Sstevel@tonic-gate AcpiExReleaseMutex (
3577c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3587c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3597c478bd9Sstevel@tonic-gate 
360db2bae30SDana Myers ACPI_STATUS
361db2bae30SDana Myers AcpiExReleaseMutexObject (
362db2bae30SDana Myers     ACPI_OPERAND_OBJECT     *ObjDesc);
363db2bae30SDana Myers 
3647c478bd9Sstevel@tonic-gate void
3657c478bd9Sstevel@tonic-gate AcpiExReleaseAllMutexes (
3667c478bd9Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
3677c478bd9Sstevel@tonic-gate 
3687c478bd9Sstevel@tonic-gate void
3697c478bd9Sstevel@tonic-gate AcpiExUnlinkMutex (
3707c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
3717c478bd9Sstevel@tonic-gate 
3727c478bd9Sstevel@tonic-gate 
3737c478bd9Sstevel@tonic-gate /*
3747c478bd9Sstevel@tonic-gate  * exprep - ACPI AML execution - prep utilities
3757c478bd9Sstevel@tonic-gate  */
3767c478bd9Sstevel@tonic-gate ACPI_STATUS
3777c478bd9Sstevel@tonic-gate AcpiExPrepCommonFieldObject (
3787c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3797c478bd9Sstevel@tonic-gate     UINT8                   FieldFlags,
3807c478bd9Sstevel@tonic-gate     UINT8                   FieldAttribute,
3817c478bd9Sstevel@tonic-gate     UINT32                  FieldBitPosition,
3827c478bd9Sstevel@tonic-gate     UINT32                  FieldBitLength);
3837c478bd9Sstevel@tonic-gate 
3847c478bd9Sstevel@tonic-gate ACPI_STATUS
3857c478bd9Sstevel@tonic-gate AcpiExPrepFieldValue (
3867c478bd9Sstevel@tonic-gate     ACPI_CREATE_FIELD_INFO  *Info);
3877c478bd9Sstevel@tonic-gate 
3887c478bd9Sstevel@tonic-gate 
3897c478bd9Sstevel@tonic-gate /*
3907c478bd9Sstevel@tonic-gate  * exsystem - Interface to OS services
3917c478bd9Sstevel@tonic-gate  */
3927c478bd9Sstevel@tonic-gate ACPI_STATUS
3937c478bd9Sstevel@tonic-gate AcpiExSystemDoNotifyOp (
3947c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Value,
3957c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
3967c478bd9Sstevel@tonic-gate 
3977c478bd9Sstevel@tonic-gate ACPI_STATUS
39826f3cdf0SGordon Ross AcpiExSystemDoSleep(
39926f3cdf0SGordon Ross     UINT64                  Time);
4007c478bd9Sstevel@tonic-gate 
4017c478bd9Sstevel@tonic-gate ACPI_STATUS
4027c478bd9Sstevel@tonic-gate AcpiExSystemDoStall (
4037c478bd9Sstevel@tonic-gate     UINT32                  Time);
4047c478bd9Sstevel@tonic-gate 
4057c478bd9Sstevel@tonic-gate ACPI_STATUS
4067c478bd9Sstevel@tonic-gate AcpiExSystemSignalEvent(
4077c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4087c478bd9Sstevel@tonic-gate 
4097c478bd9Sstevel@tonic-gate ACPI_STATUS
4107c478bd9Sstevel@tonic-gate AcpiExSystemWaitEvent(
4117c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Time,
4127c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4137c478bd9Sstevel@tonic-gate 
4147c478bd9Sstevel@tonic-gate ACPI_STATUS
4157c478bd9Sstevel@tonic-gate AcpiExSystemResetEvent(
4167c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4177c478bd9Sstevel@tonic-gate 
4187c478bd9Sstevel@tonic-gate ACPI_STATUS
4197c478bd9Sstevel@tonic-gate AcpiExSystemWaitSemaphore (
42027f7c583Smyers     ACPI_SEMAPHORE          Semaphore,
4217c478bd9Sstevel@tonic-gate     UINT16                  Timeout);
4227c478bd9Sstevel@tonic-gate 
42327f7c583Smyers ACPI_STATUS
42427f7c583Smyers AcpiExSystemWaitMutex (
42527f7c583Smyers     ACPI_MUTEX              Mutex,
42627f7c583Smyers     UINT16                  Timeout);
4277c478bd9Sstevel@tonic-gate 
4287c478bd9Sstevel@tonic-gate /*
4297c478bd9Sstevel@tonic-gate  * exoparg1 - ACPI AML execution, 1 operand
4307c478bd9Sstevel@tonic-gate  */
4317c478bd9Sstevel@tonic-gate ACPI_STATUS
4327c478bd9Sstevel@tonic-gate AcpiExOpcode_0A_0T_1R (
4337c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4347c478bd9Sstevel@tonic-gate 
4357c478bd9Sstevel@tonic-gate ACPI_STATUS
4367c478bd9Sstevel@tonic-gate AcpiExOpcode_1A_0T_0R (
4377c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4387c478bd9Sstevel@tonic-gate 
4397c478bd9Sstevel@tonic-gate ACPI_STATUS
4407c478bd9Sstevel@tonic-gate AcpiExOpcode_1A_0T_1R (
4417c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4427c478bd9Sstevel@tonic-gate 
4437c478bd9Sstevel@tonic-gate ACPI_STATUS
4447c478bd9Sstevel@tonic-gate AcpiExOpcode_1A_1T_1R (
4457c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4467c478bd9Sstevel@tonic-gate 
4477c478bd9Sstevel@tonic-gate ACPI_STATUS
4487c478bd9Sstevel@tonic-gate AcpiExOpcode_1A_1T_0R (
4497c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4507c478bd9Sstevel@tonic-gate 
4517c478bd9Sstevel@tonic-gate /*
4527c478bd9Sstevel@tonic-gate  * exoparg2 - ACPI AML execution, 2 operands
4537c478bd9Sstevel@tonic-gate  */
4547c478bd9Sstevel@tonic-gate ACPI_STATUS
4557c478bd9Sstevel@tonic-gate AcpiExOpcode_2A_0T_0R (
4567c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4577c478bd9Sstevel@tonic-gate 
4587c478bd9Sstevel@tonic-gate ACPI_STATUS
4597c478bd9Sstevel@tonic-gate AcpiExOpcode_2A_0T_1R (
4607c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4617c478bd9Sstevel@tonic-gate 
4627c478bd9Sstevel@tonic-gate ACPI_STATUS
4637c478bd9Sstevel@tonic-gate AcpiExOpcode_2A_1T_1R (
4647c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4657c478bd9Sstevel@tonic-gate 
4667c478bd9Sstevel@tonic-gate ACPI_STATUS
4677c478bd9Sstevel@tonic-gate AcpiExOpcode_2A_2T_1R (
4687c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4697c478bd9Sstevel@tonic-gate 
4707c478bd9Sstevel@tonic-gate 
4717c478bd9Sstevel@tonic-gate /*
4727c478bd9Sstevel@tonic-gate  * exoparg3 - ACPI AML execution, 3 operands
4737c478bd9Sstevel@tonic-gate  */
4747c478bd9Sstevel@tonic-gate ACPI_STATUS
4757c478bd9Sstevel@tonic-gate AcpiExOpcode_3A_0T_0R (
4767c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4777c478bd9Sstevel@tonic-gate 
4787c478bd9Sstevel@tonic-gate ACPI_STATUS
4797c478bd9Sstevel@tonic-gate AcpiExOpcode_3A_1T_1R (
4807c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4817c478bd9Sstevel@tonic-gate 
4827c478bd9Sstevel@tonic-gate 
4837c478bd9Sstevel@tonic-gate /*
4847c478bd9Sstevel@tonic-gate  * exoparg6 - ACPI AML execution, 6 operands
4857c478bd9Sstevel@tonic-gate  */
4867c478bd9Sstevel@tonic-gate ACPI_STATUS
4877c478bd9Sstevel@tonic-gate AcpiExOpcode_6A_0T_1R (
4887c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4897c478bd9Sstevel@tonic-gate 
4907c478bd9Sstevel@tonic-gate 
4917c478bd9Sstevel@tonic-gate /*
4927c478bd9Sstevel@tonic-gate  * exresolv - Object resolution and get value functions
4937c478bd9Sstevel@tonic-gate  */
4947c478bd9Sstevel@tonic-gate ACPI_STATUS
4957c478bd9Sstevel@tonic-gate AcpiExResolveToValue (
4967c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **StackPtr,
4977c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4987c478bd9Sstevel@tonic-gate 
4997c478bd9Sstevel@tonic-gate ACPI_STATUS
5007c478bd9Sstevel@tonic-gate AcpiExResolveMultiple (
5017c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
5027c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Operand,
5037c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        *ReturnType,
5047c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc);
5057c478bd9Sstevel@tonic-gate 
5067c478bd9Sstevel@tonic-gate 
5077c478bd9Sstevel@tonic-gate /*
5087c478bd9Sstevel@tonic-gate  * exresnte - resolve namespace node
5097c478bd9Sstevel@tonic-gate  */
5107c478bd9Sstevel@tonic-gate ACPI_STATUS
5117c478bd9Sstevel@tonic-gate AcpiExResolveNodeToValue (
5127c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **StackPtr,
5137c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5147c478bd9Sstevel@tonic-gate 
5157c478bd9Sstevel@tonic-gate 
5167c478bd9Sstevel@tonic-gate /*
5177c478bd9Sstevel@tonic-gate  * exresop - resolve operand to value
5187c478bd9Sstevel@tonic-gate  */
5197c478bd9Sstevel@tonic-gate ACPI_STATUS
5207c478bd9Sstevel@tonic-gate AcpiExResolveOperands (
5217c478bd9Sstevel@tonic-gate     UINT16                  Opcode,
5227c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **StackPtr,
5237c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5247c478bd9Sstevel@tonic-gate 
5257c478bd9Sstevel@tonic-gate 
5267c478bd9Sstevel@tonic-gate /*
5277c478bd9Sstevel@tonic-gate  * exdump - Interpreter debug output routines
5287c478bd9Sstevel@tonic-gate  */
5297c478bd9Sstevel@tonic-gate void
5307c478bd9Sstevel@tonic-gate AcpiExDumpOperand (
5317c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
5327c478bd9Sstevel@tonic-gate     UINT32                  Depth);
5337c478bd9Sstevel@tonic-gate 
5347c478bd9Sstevel@tonic-gate void
5357c478bd9Sstevel@tonic-gate AcpiExDumpOperands (
5367c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **Operands,
537db2bae30SDana Myers     const char              *OpcodeName,
538db2bae30SDana Myers     UINT32                  NumOpcodes);
5397c478bd9Sstevel@tonic-gate 
5407c478bd9Sstevel@tonic-gate void
5417c478bd9Sstevel@tonic-gate AcpiExDumpObjectDescriptor (
5427c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
5437c478bd9Sstevel@tonic-gate     UINT32                  Flags);
5447c478bd9Sstevel@tonic-gate 
5457c478bd9Sstevel@tonic-gate void
54630082d0cSmyers AcpiExDumpNamespaceNode (
5477c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
5487c478bd9Sstevel@tonic-gate     UINT32                  Flags);
5497c478bd9Sstevel@tonic-gate 
5507c478bd9Sstevel@tonic-gate 
5517c478bd9Sstevel@tonic-gate /*
5527c478bd9Sstevel@tonic-gate  * exnames - AML namestring support
5537c478bd9Sstevel@tonic-gate  */
5547c478bd9Sstevel@tonic-gate ACPI_STATUS
5557c478bd9Sstevel@tonic-gate AcpiExGetNameString (
5567c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        DataType,
5577c478bd9Sstevel@tonic-gate     UINT8                   *InAmlAddress,
5587c478bd9Sstevel@tonic-gate     char                    **OutNameString,
5597c478bd9Sstevel@tonic-gate     UINT32                  *OutNameLength);
5607c478bd9Sstevel@tonic-gate 
5617c478bd9Sstevel@tonic-gate 
5627c478bd9Sstevel@tonic-gate /*
5637c478bd9Sstevel@tonic-gate  * exstore - Object store support
5647c478bd9Sstevel@tonic-gate  */
5657c478bd9Sstevel@tonic-gate ACPI_STATUS
5667c478bd9Sstevel@tonic-gate AcpiExStore (
5677c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ValDesc,
5687c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DestDesc,
5697c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5707c478bd9Sstevel@tonic-gate 
5717c478bd9Sstevel@tonic-gate ACPI_STATUS
5727c478bd9Sstevel@tonic-gate AcpiExStoreObjectToNode (
5737c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
5747c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
5757c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
5767c478bd9Sstevel@tonic-gate     UINT8                   ImplicitConversion);
5777c478bd9Sstevel@tonic-gate 
5787c478bd9Sstevel@tonic-gate #define ACPI_IMPLICIT_CONVERSION        TRUE
5797c478bd9Sstevel@tonic-gate #define ACPI_NO_IMPLICIT_CONVERSION     FALSE
5807c478bd9Sstevel@tonic-gate 
5817c478bd9Sstevel@tonic-gate 
5827c478bd9Sstevel@tonic-gate /*
5837c478bd9Sstevel@tonic-gate  * exstoren - resolve/store object
5847c478bd9Sstevel@tonic-gate  */
5857c478bd9Sstevel@tonic-gate ACPI_STATUS
5867c478bd9Sstevel@tonic-gate AcpiExResolveObject (
5877c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **SourceDescPtr,
5887c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        TargetType,
5897c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5907c478bd9Sstevel@tonic-gate 
5917c478bd9Sstevel@tonic-gate ACPI_STATUS
5927c478bd9Sstevel@tonic-gate AcpiExStoreObjectToObject (
5937c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
5947c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DestDesc,
5957c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **NewDesc,
5967c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5977c478bd9Sstevel@tonic-gate 
5987c478bd9Sstevel@tonic-gate 
5997c478bd9Sstevel@tonic-gate /*
6007c478bd9Sstevel@tonic-gate  * exstorob - store object - buffer/string
6017c478bd9Sstevel@tonic-gate  */
6027c478bd9Sstevel@tonic-gate ACPI_STATUS
6037c478bd9Sstevel@tonic-gate AcpiExStoreBufferToBuffer (
6047c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6057c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6067c478bd9Sstevel@tonic-gate 
6077c478bd9Sstevel@tonic-gate ACPI_STATUS
6087c478bd9Sstevel@tonic-gate AcpiExStoreStringToString (
6097c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6107c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6117c478bd9Sstevel@tonic-gate 
6127c478bd9Sstevel@tonic-gate 
6137c478bd9Sstevel@tonic-gate /*
6147c478bd9Sstevel@tonic-gate  * excopy - object copy
6157c478bd9Sstevel@tonic-gate  */
6167c478bd9Sstevel@tonic-gate ACPI_STATUS
6177c478bd9Sstevel@tonic-gate AcpiExCopyIntegerToIndexField (
6187c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6197c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6207c478bd9Sstevel@tonic-gate 
6217c478bd9Sstevel@tonic-gate ACPI_STATUS
6227c478bd9Sstevel@tonic-gate AcpiExCopyIntegerToBankField (
6237c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6247c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6257c478bd9Sstevel@tonic-gate 
6267c478bd9Sstevel@tonic-gate ACPI_STATUS
6277c478bd9Sstevel@tonic-gate AcpiExCopyDataToNamedField (
6287c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6297c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
6307c478bd9Sstevel@tonic-gate 
6317c478bd9Sstevel@tonic-gate ACPI_STATUS
6327c478bd9Sstevel@tonic-gate AcpiExCopyIntegerToBufferField (
6337c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6347c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6357c478bd9Sstevel@tonic-gate 
6367c478bd9Sstevel@tonic-gate 
6377c478bd9Sstevel@tonic-gate /*
6387c478bd9Sstevel@tonic-gate  * exutils - interpreter/scanner utilities
6397c478bd9Sstevel@tonic-gate  */
640db2bae30SDana Myers void
6417c478bd9Sstevel@tonic-gate AcpiExEnterInterpreter (
6427c478bd9Sstevel@tonic-gate     void);
6437c478bd9Sstevel@tonic-gate 
6447c478bd9Sstevel@tonic-gate void
6457c478bd9Sstevel@tonic-gate AcpiExExitInterpreter (
6467c478bd9Sstevel@tonic-gate     void);
6477c478bd9Sstevel@tonic-gate 
648*385cc6b4SJerry Jelinek BOOLEAN
6497c478bd9Sstevel@tonic-gate AcpiExTruncateFor32bitTable (
6507c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
6517c478bd9Sstevel@tonic-gate 
652db2bae30SDana Myers void
6537c478bd9Sstevel@tonic-gate AcpiExAcquireGlobalLock (
6547c478bd9Sstevel@tonic-gate     UINT32                  Rule);
6557c478bd9Sstevel@tonic-gate 
6567c478bd9Sstevel@tonic-gate void
6577c478bd9Sstevel@tonic-gate AcpiExReleaseGlobalLock (
658db2bae30SDana Myers     UINT32                  Rule);
6597c478bd9Sstevel@tonic-gate 
6607c478bd9Sstevel@tonic-gate void
6617c478bd9Sstevel@tonic-gate AcpiExEisaIdToString (
66257190917SDana Myers     char                    *Dest,
66326f3cdf0SGordon Ross     UINT64                  CompressedId);
6647c478bd9Sstevel@tonic-gate 
6657c478bd9Sstevel@tonic-gate void
66657190917SDana Myers AcpiExIntegerToString (
66757190917SDana Myers     char                    *Dest,
66826f3cdf0SGordon Ross     UINT64                  Value);
6697c478bd9Sstevel@tonic-gate 
670*385cc6b4SJerry Jelinek void
671*385cc6b4SJerry Jelinek AcpiExPciClsToString (
672*385cc6b4SJerry Jelinek     char                    *Dest,
673*385cc6b4SJerry Jelinek     UINT8                   ClassCode[3]);
674*385cc6b4SJerry Jelinek 
675*385cc6b4SJerry Jelinek BOOLEAN
676*385cc6b4SJerry Jelinek AcpiIsValidSpaceId (
677*385cc6b4SJerry Jelinek     UINT8                   SpaceId);
678*385cc6b4SJerry Jelinek 
6797c478bd9Sstevel@tonic-gate 
6807c478bd9Sstevel@tonic-gate /*
6817c478bd9Sstevel@tonic-gate  * exregion - default OpRegion handlers
6827c478bd9Sstevel@tonic-gate  */
6837c478bd9Sstevel@tonic-gate ACPI_STATUS
6847c478bd9Sstevel@tonic-gate AcpiExSystemMemorySpaceHandler (
6857c478bd9Sstevel@tonic-gate     UINT32                  Function,
6867c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
6877c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
68826f3cdf0SGordon Ross     UINT64                  *Value,
6897c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
6907c478bd9Sstevel@tonic-gate     void                    *RegionContext);
6917c478bd9Sstevel@tonic-gate 
6927c478bd9Sstevel@tonic-gate ACPI_STATUS
6937c478bd9Sstevel@tonic-gate AcpiExSystemIoSpaceHandler (
6947c478bd9Sstevel@tonic-gate     UINT32                  Function,
6957c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
6967c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
69726f3cdf0SGordon Ross     UINT64                  *Value,
6987c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
6997c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7007c478bd9Sstevel@tonic-gate 
7017c478bd9Sstevel@tonic-gate ACPI_STATUS
7027c478bd9Sstevel@tonic-gate AcpiExPciConfigSpaceHandler (
7037c478bd9Sstevel@tonic-gate     UINT32                  Function,
7047c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7057c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
70626f3cdf0SGordon Ross     UINT64                  *Value,
7077c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
7087c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7097c478bd9Sstevel@tonic-gate 
7107c478bd9Sstevel@tonic-gate ACPI_STATUS
7117c478bd9Sstevel@tonic-gate AcpiExCmosSpaceHandler (
7127c478bd9Sstevel@tonic-gate     UINT32                  Function,
7137c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7147c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
71526f3cdf0SGordon Ross     UINT64                  *Value,
7167c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
7177c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7187c478bd9Sstevel@tonic-gate 
7197c478bd9Sstevel@tonic-gate ACPI_STATUS
7207c478bd9Sstevel@tonic-gate AcpiExPciBarSpaceHandler (
7217c478bd9Sstevel@tonic-gate     UINT32                  Function,
7227c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7237c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
72426f3cdf0SGordon Ross     UINT64                  *Value,
7257c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
7267c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7277c478bd9Sstevel@tonic-gate 
7287c478bd9Sstevel@tonic-gate ACPI_STATUS
7297c478bd9Sstevel@tonic-gate AcpiExEmbeddedControllerSpaceHandler (
7307c478bd9Sstevel@tonic-gate     UINT32                  Function,
7317c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7327c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
73326f3cdf0SGordon Ross     UINT64                  *Value,
7347c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
7357c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7367c478bd9Sstevel@tonic-gate 
7377c478bd9Sstevel@tonic-gate ACPI_STATUS
7387c478bd9Sstevel@tonic-gate AcpiExSmBusSpaceHandler (
7397c478bd9Sstevel@tonic-gate     UINT32                  Function,
7407c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7417c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
74226f3cdf0SGordon Ross     UINT64                  *Value,
7437c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
7447c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7457c478bd9Sstevel@tonic-gate 
7467c478bd9Sstevel@tonic-gate 
7477c478bd9Sstevel@tonic-gate ACPI_STATUS
7487c478bd9Sstevel@tonic-gate AcpiExDataTableSpaceHandler (
7497c478bd9Sstevel@tonic-gate     UINT32                  Function,
7507c478bd9Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7517c478bd9Sstevel@tonic-gate     UINT32                  BitWidth,
75226f3cdf0SGordon Ross     UINT64                  *Value,
7537c478bd9Sstevel@tonic-gate     void                    *HandlerContext,
7547c478bd9Sstevel@tonic-gate     void                    *RegionContext);
7557c478bd9Sstevel@tonic-gate 
7567c478bd9Sstevel@tonic-gate #endif /* __INTERP_H__ */
757