10Sstevel@tonic-gate /******************************************************************************
20Sstevel@tonic-gate  *
30Sstevel@tonic-gate  * Name: acinterp.h - Interpreter subcomponent prototypes and defines
4*7851SDana.Myers@Sun.COM  *       $Revision: 1.173 $
50Sstevel@tonic-gate  *
60Sstevel@tonic-gate  *****************************************************************************/
70Sstevel@tonic-gate 
80Sstevel@tonic-gate /******************************************************************************
90Sstevel@tonic-gate  *
100Sstevel@tonic-gate  * 1. Copyright Notice
110Sstevel@tonic-gate  *
12*7851SDana.Myers@Sun.COM  * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp.
130Sstevel@tonic-gate  * All rights reserved.
140Sstevel@tonic-gate  *
150Sstevel@tonic-gate  * 2. License
160Sstevel@tonic-gate  *
170Sstevel@tonic-gate  * 2.1. This is your license from Intel Corp. under its intellectual property
180Sstevel@tonic-gate  * rights.  You may have additional license terms from the party that provided
190Sstevel@tonic-gate  * you this software, covering your right to use that party's intellectual
200Sstevel@tonic-gate  * property rights.
210Sstevel@tonic-gate  *
220Sstevel@tonic-gate  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
230Sstevel@tonic-gate  * copy of the source code appearing in this file ("Covered Code") an
240Sstevel@tonic-gate  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
250Sstevel@tonic-gate  * base code distributed originally by Intel ("Original Intel Code") to copy,
260Sstevel@tonic-gate  * make derivatives, distribute, use and display any portion of the Covered
270Sstevel@tonic-gate  * Code in any form, with the right to sublicense such rights; and
280Sstevel@tonic-gate  *
290Sstevel@tonic-gate  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
300Sstevel@tonic-gate  * license (with the right to sublicense), under only those claims of Intel
310Sstevel@tonic-gate  * patents that are infringed by the Original Intel Code, to make, use, sell,
320Sstevel@tonic-gate  * offer to sell, and import the Covered Code and derivative works thereof
330Sstevel@tonic-gate  * solely to the minimum extent necessary to exercise the above copyright
340Sstevel@tonic-gate  * license, and in no event shall the patent license extend to any additions
350Sstevel@tonic-gate  * to or modifications of the Original Intel Code.  No other license or right
360Sstevel@tonic-gate  * is granted directly or by implication, estoppel or otherwise;
370Sstevel@tonic-gate  *
380Sstevel@tonic-gate  * The above copyright and patent license is granted only if the following
390Sstevel@tonic-gate  * conditions are met:
400Sstevel@tonic-gate  *
410Sstevel@tonic-gate  * 3. Conditions
420Sstevel@tonic-gate  *
430Sstevel@tonic-gate  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
440Sstevel@tonic-gate  * Redistribution of source code of any substantial portion of the Covered
450Sstevel@tonic-gate  * Code or modification with rights to further distribute source must include
460Sstevel@tonic-gate  * the above Copyright Notice, the above License, this list of Conditions,
470Sstevel@tonic-gate  * and the following Disclaimer and Export Compliance provision.  In addition,
480Sstevel@tonic-gate  * Licensee must cause all Covered Code to which Licensee contributes to
490Sstevel@tonic-gate  * contain a file documenting the changes Licensee made to create that Covered
500Sstevel@tonic-gate  * Code and the date of any change.  Licensee must include in that file the
510Sstevel@tonic-gate  * documentation of any changes made by any predecessor Licensee.  Licensee
520Sstevel@tonic-gate  * must include a prominent statement that the modification is derived,
530Sstevel@tonic-gate  * directly or indirectly, from Original Intel Code.
540Sstevel@tonic-gate  *
550Sstevel@tonic-gate  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
560Sstevel@tonic-gate  * Redistribution of source code of any substantial portion of the Covered
570Sstevel@tonic-gate  * Code or modification without rights to further distribute source must
580Sstevel@tonic-gate  * include the following Disclaimer and Export Compliance provision in the
590Sstevel@tonic-gate  * documentation and/or other materials provided with distribution.  In
600Sstevel@tonic-gate  * addition, Licensee may not authorize further sublicense of source of any
610Sstevel@tonic-gate  * portion of the Covered Code, and must include terms to the effect that the
620Sstevel@tonic-gate  * license from Licensee to its licensee is limited to the intellectual
630Sstevel@tonic-gate  * property embodied in the software Licensee provides to its licensee, and
640Sstevel@tonic-gate  * not to intellectual property embodied in modifications its licensee may
650Sstevel@tonic-gate  * make.
660Sstevel@tonic-gate  *
670Sstevel@tonic-gate  * 3.3. Redistribution of Executable. Redistribution in executable form of any
680Sstevel@tonic-gate  * substantial portion of the Covered Code or modification must reproduce the
690Sstevel@tonic-gate  * above Copyright Notice, and the following Disclaimer and Export Compliance
700Sstevel@tonic-gate  * provision in the documentation and/or other materials provided with the
710Sstevel@tonic-gate  * distribution.
720Sstevel@tonic-gate  *
730Sstevel@tonic-gate  * 3.4. Intel retains all right, title, and interest in and to the Original
740Sstevel@tonic-gate  * Intel Code.
750Sstevel@tonic-gate  *
760Sstevel@tonic-gate  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
770Sstevel@tonic-gate  * Intel shall be used in advertising or otherwise to promote the sale, use or
780Sstevel@tonic-gate  * other dealings in products derived from or relating to the Covered Code
790Sstevel@tonic-gate  * without prior written authorization from Intel.
800Sstevel@tonic-gate  *
810Sstevel@tonic-gate  * 4. Disclaimer and Export Compliance
820Sstevel@tonic-gate  *
830Sstevel@tonic-gate  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
840Sstevel@tonic-gate  * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
850Sstevel@tonic-gate  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
860Sstevel@tonic-gate  * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
870Sstevel@tonic-gate  * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
880Sstevel@tonic-gate  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
890Sstevel@tonic-gate  * PARTICULAR PURPOSE.
900Sstevel@tonic-gate  *
910Sstevel@tonic-gate  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
920Sstevel@tonic-gate  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
930Sstevel@tonic-gate  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
940Sstevel@tonic-gate  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
950Sstevel@tonic-gate  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
960Sstevel@tonic-gate  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
970Sstevel@tonic-gate  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
980Sstevel@tonic-gate  * LIMITED REMEDY.
990Sstevel@tonic-gate  *
1000Sstevel@tonic-gate  * 4.3. Licensee shall not export, either directly or indirectly, any of this
1010Sstevel@tonic-gate  * software or system incorporating such software without first obtaining any
1020Sstevel@tonic-gate  * required license or other approval from the U. S. Department of Commerce or
1030Sstevel@tonic-gate  * any other agency or department of the United States Government.  In the
1040Sstevel@tonic-gate  * event Licensee exports any such software from the United States or
1050Sstevel@tonic-gate  * re-exports any such software from a foreign destination, Licensee shall
1060Sstevel@tonic-gate  * ensure that the distribution and export/re-export of the software is in
1070Sstevel@tonic-gate  * compliance with all laws, regulations, orders, or other restrictions of the
1080Sstevel@tonic-gate  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
1090Sstevel@tonic-gate  * any of its subsidiaries will export/re-export any technical data, process,
1100Sstevel@tonic-gate  * software, or service, directly or indirectly, to any country for which the
1110Sstevel@tonic-gate  * United States government or any agency thereof requires an export license,
1120Sstevel@tonic-gate  * other governmental approval, or letter of assurance, without first obtaining
1130Sstevel@tonic-gate  * such license, approval or letter.
1140Sstevel@tonic-gate  *
1150Sstevel@tonic-gate  *****************************************************************************/
1160Sstevel@tonic-gate 
1170Sstevel@tonic-gate #ifndef __ACINTERP_H__
1180Sstevel@tonic-gate #define __ACINTERP_H__
1190Sstevel@tonic-gate 
1200Sstevel@tonic-gate 
1211560Smyers #define ACPI_WALK_OPERANDS          (&(WalkState->Operands [WalkState->NumOperands -1]))
1221560Smyers 
1231560Smyers /* Macros for tables used for debug output */
1241560Smyers 
1251560Smyers #define ACPI_EXD_OFFSET(f)          (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f)
1261560Smyers #define ACPI_EXD_NSOFFSET(f)        (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f)
1271560Smyers #define ACPI_EXD_TABLE_SIZE(name)   (sizeof(name) / sizeof (ACPI_EXDUMP_INFO))
1281560Smyers 
1291560Smyers /*
1302623Smyers  * If possible, pack the following structures to byte alignment, since we
1312623Smyers  * don't care about performance for debug output. Two cases where we cannot
1322623Smyers  * pack the structures:
1332623Smyers  *
1342623Smyers  * 1) Hardware does not support misaligned memory transfers
1352623Smyers  * 2) Compiler does not support pointers within packed structures
1361560Smyers  */
1372623Smyers #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
1381560Smyers #pragma pack(1)
1391560Smyers #endif
1401560Smyers 
1411560Smyers typedef const struct acpi_exdump_info
1421560Smyers {
1431560Smyers     UINT8                   Opcode;
1441560Smyers     UINT8                   Offset;
1451560Smyers     char                    *Name;
1461560Smyers 
1471560Smyers } ACPI_EXDUMP_INFO;
1481560Smyers 
1491560Smyers /* Values for the Opcode field above */
1501560Smyers 
1511560Smyers #define ACPI_EXD_INIT                   0
1521560Smyers #define ACPI_EXD_TYPE                   1
1531560Smyers #define ACPI_EXD_UINT8                  2
1541560Smyers #define ACPI_EXD_UINT16                 3
1551560Smyers #define ACPI_EXD_UINT32                 4
1561560Smyers #define ACPI_EXD_UINT64                 5
1571560Smyers #define ACPI_EXD_LITERAL                6
1581560Smyers #define ACPI_EXD_POINTER                7
1591560Smyers #define ACPI_EXD_ADDRESS                8
1601560Smyers #define ACPI_EXD_STRING                 9
1611560Smyers #define ACPI_EXD_BUFFER                 10
1621560Smyers #define ACPI_EXD_PACKAGE                11
1631560Smyers #define ACPI_EXD_FIELD                  12
1641560Smyers #define ACPI_EXD_REFERENCE              13
1651560Smyers 
1661560Smyers /* restore default alignment */
1671560Smyers 
1681560Smyers #pragma pack()
1690Sstevel@tonic-gate 
1700Sstevel@tonic-gate 
1710Sstevel@tonic-gate /*
1720Sstevel@tonic-gate  * exconvrt - object conversion
1730Sstevel@tonic-gate  */
1740Sstevel@tonic-gate ACPI_STATUS
1750Sstevel@tonic-gate AcpiExConvertToInteger (
1760Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1770Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc,
1780Sstevel@tonic-gate     UINT32                  Flags);
1790Sstevel@tonic-gate 
1800Sstevel@tonic-gate ACPI_STATUS
1810Sstevel@tonic-gate AcpiExConvertToBuffer (
1820Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1830Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc);
1840Sstevel@tonic-gate 
1850Sstevel@tonic-gate ACPI_STATUS
1860Sstevel@tonic-gate AcpiExConvertToString (
1870Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
1880Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc,
1890Sstevel@tonic-gate     UINT32                  Type);
1900Sstevel@tonic-gate 
1910Sstevel@tonic-gate /* Types for ->String conversion */
1920Sstevel@tonic-gate 
1930Sstevel@tonic-gate #define ACPI_EXPLICIT_BYTE_COPY         0x00000000
1940Sstevel@tonic-gate #define ACPI_EXPLICIT_CONVERT_HEX       0x00000001
1950Sstevel@tonic-gate #define ACPI_IMPLICIT_CONVERT_HEX       0x00000002
1960Sstevel@tonic-gate #define ACPI_EXPLICIT_CONVERT_DECIMAL   0x00000003
1970Sstevel@tonic-gate 
1980Sstevel@tonic-gate ACPI_STATUS
1990Sstevel@tonic-gate AcpiExConvertToTargetType (
2000Sstevel@tonic-gate     ACPI_OBJECT_TYPE        DestinationType,
2010Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
2020Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc,
2030Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2040Sstevel@tonic-gate 
2050Sstevel@tonic-gate 
2060Sstevel@tonic-gate /*
2070Sstevel@tonic-gate  * exfield - ACPI AML (p-code) execution - field manipulation
2080Sstevel@tonic-gate  */
2090Sstevel@tonic-gate ACPI_STATUS
2100Sstevel@tonic-gate AcpiExCommonBufferSetup (
2110Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2120Sstevel@tonic-gate     UINT32                  BufferLength,
2130Sstevel@tonic-gate     UINT32                  *DatumCount);
2140Sstevel@tonic-gate 
2150Sstevel@tonic-gate ACPI_STATUS
2160Sstevel@tonic-gate AcpiExWriteWithUpdateRule (
2170Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2180Sstevel@tonic-gate     ACPI_INTEGER            Mask,
2190Sstevel@tonic-gate     ACPI_INTEGER            FieldValue,
2200Sstevel@tonic-gate     UINT32                  FieldDatumByteOffset);
2210Sstevel@tonic-gate 
2220Sstevel@tonic-gate void
2230Sstevel@tonic-gate AcpiExGetBufferDatum(
2240Sstevel@tonic-gate     ACPI_INTEGER            *Datum,
2250Sstevel@tonic-gate     void                    *Buffer,
2260Sstevel@tonic-gate     UINT32                  BufferLength,
2270Sstevel@tonic-gate     UINT32                  ByteGranularity,
2280Sstevel@tonic-gate     UINT32                  BufferOffset);
2290Sstevel@tonic-gate 
2300Sstevel@tonic-gate void
2310Sstevel@tonic-gate AcpiExSetBufferDatum (
2320Sstevel@tonic-gate     ACPI_INTEGER            MergedDatum,
2330Sstevel@tonic-gate     void                    *Buffer,
2340Sstevel@tonic-gate     UINT32                  BufferLength,
2350Sstevel@tonic-gate     UINT32                  ByteGranularity,
2360Sstevel@tonic-gate     UINT32                  BufferOffset);
2370Sstevel@tonic-gate 
2380Sstevel@tonic-gate ACPI_STATUS
2390Sstevel@tonic-gate AcpiExReadDataFromField (
2400Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
2410Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2420Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **RetBufferDesc);
2430Sstevel@tonic-gate 
2440Sstevel@tonic-gate ACPI_STATUS
2450Sstevel@tonic-gate AcpiExWriteDataToField (
2460Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
2470Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2480Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ResultDesc);
2490Sstevel@tonic-gate 
2500Sstevel@tonic-gate 
2510Sstevel@tonic-gate /*
2520Sstevel@tonic-gate  * exfldio - low level field I/O
2530Sstevel@tonic-gate  */
2540Sstevel@tonic-gate ACPI_STATUS
2550Sstevel@tonic-gate AcpiExExtractFromField (
2560Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2570Sstevel@tonic-gate     void                    *Buffer,
2580Sstevel@tonic-gate     UINT32                  BufferLength);
2590Sstevel@tonic-gate 
2600Sstevel@tonic-gate ACPI_STATUS
2610Sstevel@tonic-gate AcpiExInsertIntoField (
2620Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2630Sstevel@tonic-gate     void                    *Buffer,
2640Sstevel@tonic-gate     UINT32                  BufferLength);
2650Sstevel@tonic-gate 
2660Sstevel@tonic-gate ACPI_STATUS
2670Sstevel@tonic-gate AcpiExAccessRegion (
2680Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2690Sstevel@tonic-gate     UINT32                  FieldDatumByteOffset,
2700Sstevel@tonic-gate     ACPI_INTEGER            *Value,
2710Sstevel@tonic-gate     UINT32                  ReadWrite);
2720Sstevel@tonic-gate 
2730Sstevel@tonic-gate 
2740Sstevel@tonic-gate /*
2750Sstevel@tonic-gate  * exmisc - misc support routines
2760Sstevel@tonic-gate  */
2770Sstevel@tonic-gate ACPI_STATUS
2780Sstevel@tonic-gate AcpiExGetObjectReference (
2790Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2800Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc,
2810Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2820Sstevel@tonic-gate 
2830Sstevel@tonic-gate ACPI_STATUS
2840Sstevel@tonic-gate AcpiExConcatTemplate (
2850Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2860Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc2,
2870Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
2880Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2890Sstevel@tonic-gate 
2900Sstevel@tonic-gate ACPI_STATUS
2910Sstevel@tonic-gate AcpiExDoConcatenate (
2920Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
2930Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc2,
2940Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
2950Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
2960Sstevel@tonic-gate 
2970Sstevel@tonic-gate ACPI_STATUS
2980Sstevel@tonic-gate AcpiExDoLogicalNumericOp (
2990Sstevel@tonic-gate     UINT16                  Opcode,
3000Sstevel@tonic-gate     ACPI_INTEGER            Integer0,
3010Sstevel@tonic-gate     ACPI_INTEGER            Integer1,
3020Sstevel@tonic-gate     BOOLEAN                 *LogicalResult);
3030Sstevel@tonic-gate 
3040Sstevel@tonic-gate ACPI_STATUS
3050Sstevel@tonic-gate AcpiExDoLogicalOp (
3060Sstevel@tonic-gate     UINT16                  Opcode,
3070Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Operand0,
3080Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Operand1,
3090Sstevel@tonic-gate     BOOLEAN                 *LogicalResult);
3100Sstevel@tonic-gate 
3110Sstevel@tonic-gate ACPI_INTEGER
3120Sstevel@tonic-gate AcpiExDoMathOp (
3130Sstevel@tonic-gate     UINT16                  Opcode,
3140Sstevel@tonic-gate     ACPI_INTEGER            Operand0,
3150Sstevel@tonic-gate     ACPI_INTEGER            Operand1);
3160Sstevel@tonic-gate 
3170Sstevel@tonic-gate ACPI_STATUS
3180Sstevel@tonic-gate AcpiExCreateMutex (
3190Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3200Sstevel@tonic-gate 
3210Sstevel@tonic-gate ACPI_STATUS
3220Sstevel@tonic-gate AcpiExCreateProcessor (
3230Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3240Sstevel@tonic-gate 
3250Sstevel@tonic-gate ACPI_STATUS
3260Sstevel@tonic-gate AcpiExCreatePowerResource (
3270Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3280Sstevel@tonic-gate 
3290Sstevel@tonic-gate ACPI_STATUS
3300Sstevel@tonic-gate AcpiExCreateRegion (
3310Sstevel@tonic-gate     UINT8                   *AmlStart,
3320Sstevel@tonic-gate     UINT32                  AmlLength,
3330Sstevel@tonic-gate     UINT8                   RegionSpace,
3340Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3350Sstevel@tonic-gate 
3360Sstevel@tonic-gate ACPI_STATUS
3370Sstevel@tonic-gate AcpiExCreateEvent (
3380Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3390Sstevel@tonic-gate 
3400Sstevel@tonic-gate ACPI_STATUS
3410Sstevel@tonic-gate AcpiExCreateAlias (
3420Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3430Sstevel@tonic-gate 
3440Sstevel@tonic-gate ACPI_STATUS
3450Sstevel@tonic-gate AcpiExCreateMethod (
3460Sstevel@tonic-gate     UINT8                   *AmlStart,
3470Sstevel@tonic-gate     UINT32                  AmlLength,
3480Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3490Sstevel@tonic-gate 
3500Sstevel@tonic-gate 
3510Sstevel@tonic-gate /*
3520Sstevel@tonic-gate  * exconfig - dynamic table load/unload
3530Sstevel@tonic-gate  */
3540Sstevel@tonic-gate ACPI_STATUS
3550Sstevel@tonic-gate AcpiExLoadOp (
3560Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3570Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Target,
3580Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3590Sstevel@tonic-gate 
3600Sstevel@tonic-gate ACPI_STATUS
3610Sstevel@tonic-gate AcpiExLoadTableOp (
3620Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
3630Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc);
3640Sstevel@tonic-gate 
3650Sstevel@tonic-gate ACPI_STATUS
3660Sstevel@tonic-gate AcpiExUnloadTable (
3670Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DdbHandle);
3680Sstevel@tonic-gate 
3690Sstevel@tonic-gate 
3700Sstevel@tonic-gate /*
3710Sstevel@tonic-gate  * exmutex - mutex support
3720Sstevel@tonic-gate  */
3730Sstevel@tonic-gate ACPI_STATUS
3740Sstevel@tonic-gate AcpiExAcquireMutex (
3750Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TimeDesc,
3760Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3770Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3780Sstevel@tonic-gate 
3790Sstevel@tonic-gate ACPI_STATUS
380*7851SDana.Myers@Sun.COM AcpiExAcquireMutexObject (
381*7851SDana.Myers@Sun.COM     UINT16                  Timeout,
382*7851SDana.Myers@Sun.COM     ACPI_OPERAND_OBJECT     *ObjDesc,
383*7851SDana.Myers@Sun.COM     ACPI_THREAD_ID          ThreadId);
384*7851SDana.Myers@Sun.COM 
385*7851SDana.Myers@Sun.COM ACPI_STATUS
3860Sstevel@tonic-gate AcpiExReleaseMutex (
3870Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
3880Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3890Sstevel@tonic-gate 
390*7851SDana.Myers@Sun.COM ACPI_STATUS
391*7851SDana.Myers@Sun.COM AcpiExReleaseMutexObject (
392*7851SDana.Myers@Sun.COM     ACPI_OPERAND_OBJECT     *ObjDesc);
393*7851SDana.Myers@Sun.COM 
3940Sstevel@tonic-gate void
3950Sstevel@tonic-gate AcpiExReleaseAllMutexes (
3960Sstevel@tonic-gate     ACPI_THREAD_STATE       *Thread);
3970Sstevel@tonic-gate 
3980Sstevel@tonic-gate void
3990Sstevel@tonic-gate AcpiExUnlinkMutex (
4000Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4010Sstevel@tonic-gate 
4020Sstevel@tonic-gate 
4030Sstevel@tonic-gate /*
4040Sstevel@tonic-gate  * exprep - ACPI AML execution - prep utilities
4050Sstevel@tonic-gate  */
4060Sstevel@tonic-gate ACPI_STATUS
4070Sstevel@tonic-gate AcpiExPrepCommonFieldObject (
4080Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
4090Sstevel@tonic-gate     UINT8                   FieldFlags,
4100Sstevel@tonic-gate     UINT8                   FieldAttribute,
4110Sstevel@tonic-gate     UINT32                  FieldBitPosition,
4120Sstevel@tonic-gate     UINT32                  FieldBitLength);
4130Sstevel@tonic-gate 
4140Sstevel@tonic-gate ACPI_STATUS
4150Sstevel@tonic-gate AcpiExPrepFieldValue (
4160Sstevel@tonic-gate     ACPI_CREATE_FIELD_INFO  *Info);
4170Sstevel@tonic-gate 
4180Sstevel@tonic-gate 
4190Sstevel@tonic-gate /*
4200Sstevel@tonic-gate  * exsystem - Interface to OS services
4210Sstevel@tonic-gate  */
4220Sstevel@tonic-gate ACPI_STATUS
4230Sstevel@tonic-gate AcpiExSystemDoNotifyOp (
4240Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Value,
4250Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4260Sstevel@tonic-gate 
4270Sstevel@tonic-gate ACPI_STATUS
4280Sstevel@tonic-gate AcpiExSystemDoSuspend(
4290Sstevel@tonic-gate     ACPI_INTEGER            Time);
4300Sstevel@tonic-gate 
4310Sstevel@tonic-gate ACPI_STATUS
4320Sstevel@tonic-gate AcpiExSystemDoStall (
4330Sstevel@tonic-gate     UINT32                  Time);
4340Sstevel@tonic-gate 
4350Sstevel@tonic-gate ACPI_STATUS
4360Sstevel@tonic-gate AcpiExSystemSignalEvent(
4370Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4380Sstevel@tonic-gate 
4390Sstevel@tonic-gate ACPI_STATUS
4400Sstevel@tonic-gate AcpiExSystemWaitEvent(
4410Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Time,
4420Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4430Sstevel@tonic-gate 
4440Sstevel@tonic-gate ACPI_STATUS
4450Sstevel@tonic-gate AcpiExSystemResetEvent(
4460Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4470Sstevel@tonic-gate 
4480Sstevel@tonic-gate ACPI_STATUS
4490Sstevel@tonic-gate AcpiExSystemWaitSemaphore (
4502623Smyers     ACPI_SEMAPHORE          Semaphore,
4510Sstevel@tonic-gate     UINT16                  Timeout);
4520Sstevel@tonic-gate 
4532623Smyers ACPI_STATUS
4542623Smyers AcpiExSystemWaitMutex (
4552623Smyers     ACPI_MUTEX              Mutex,
4562623Smyers     UINT16                  Timeout);
4570Sstevel@tonic-gate 
4580Sstevel@tonic-gate /*
4590Sstevel@tonic-gate  * exoparg1 - ACPI AML execution, 1 operand
4600Sstevel@tonic-gate  */
4610Sstevel@tonic-gate ACPI_STATUS
4620Sstevel@tonic-gate AcpiExOpcode_0A_0T_1R (
4630Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4640Sstevel@tonic-gate 
4650Sstevel@tonic-gate ACPI_STATUS
4660Sstevel@tonic-gate AcpiExOpcode_1A_0T_0R (
4670Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4680Sstevel@tonic-gate 
4690Sstevel@tonic-gate ACPI_STATUS
4700Sstevel@tonic-gate AcpiExOpcode_1A_0T_1R (
4710Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4720Sstevel@tonic-gate 
4730Sstevel@tonic-gate ACPI_STATUS
4740Sstevel@tonic-gate AcpiExOpcode_1A_1T_1R (
4750Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4760Sstevel@tonic-gate 
4770Sstevel@tonic-gate ACPI_STATUS
4780Sstevel@tonic-gate AcpiExOpcode_1A_1T_0R (
4790Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4800Sstevel@tonic-gate 
4810Sstevel@tonic-gate /*
4820Sstevel@tonic-gate  * exoparg2 - ACPI AML execution, 2 operands
4830Sstevel@tonic-gate  */
4840Sstevel@tonic-gate ACPI_STATUS
4850Sstevel@tonic-gate AcpiExOpcode_2A_0T_0R (
4860Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4870Sstevel@tonic-gate 
4880Sstevel@tonic-gate ACPI_STATUS
4890Sstevel@tonic-gate AcpiExOpcode_2A_0T_1R (
4900Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4910Sstevel@tonic-gate 
4920Sstevel@tonic-gate ACPI_STATUS
4930Sstevel@tonic-gate AcpiExOpcode_2A_1T_1R (
4940Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4950Sstevel@tonic-gate 
4960Sstevel@tonic-gate ACPI_STATUS
4970Sstevel@tonic-gate AcpiExOpcode_2A_2T_1R (
4980Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
4990Sstevel@tonic-gate 
5000Sstevel@tonic-gate 
5010Sstevel@tonic-gate /*
5020Sstevel@tonic-gate  * exoparg3 - ACPI AML execution, 3 operands
5030Sstevel@tonic-gate  */
5040Sstevel@tonic-gate ACPI_STATUS
5050Sstevel@tonic-gate AcpiExOpcode_3A_0T_0R (
5060Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5070Sstevel@tonic-gate 
5080Sstevel@tonic-gate ACPI_STATUS
5090Sstevel@tonic-gate AcpiExOpcode_3A_1T_1R (
5100Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5110Sstevel@tonic-gate 
5120Sstevel@tonic-gate 
5130Sstevel@tonic-gate /*
5140Sstevel@tonic-gate  * exoparg6 - ACPI AML execution, 6 operands
5150Sstevel@tonic-gate  */
5160Sstevel@tonic-gate ACPI_STATUS
5170Sstevel@tonic-gate AcpiExOpcode_6A_0T_1R (
5180Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5190Sstevel@tonic-gate 
5200Sstevel@tonic-gate 
5210Sstevel@tonic-gate /*
5220Sstevel@tonic-gate  * exresolv - Object resolution and get value functions
5230Sstevel@tonic-gate  */
5240Sstevel@tonic-gate ACPI_STATUS
5250Sstevel@tonic-gate AcpiExResolveToValue (
5260Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **StackPtr,
5270Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5280Sstevel@tonic-gate 
5290Sstevel@tonic-gate ACPI_STATUS
5300Sstevel@tonic-gate AcpiExResolveMultiple (
5310Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
5320Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Operand,
5330Sstevel@tonic-gate     ACPI_OBJECT_TYPE        *ReturnType,
5340Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc);
5350Sstevel@tonic-gate 
5360Sstevel@tonic-gate 
5370Sstevel@tonic-gate /*
5380Sstevel@tonic-gate  * exresnte - resolve namespace node
5390Sstevel@tonic-gate  */
5400Sstevel@tonic-gate ACPI_STATUS
5410Sstevel@tonic-gate AcpiExResolveNodeToValue (
5420Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **StackPtr,
5430Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5440Sstevel@tonic-gate 
5450Sstevel@tonic-gate 
5460Sstevel@tonic-gate /*
5470Sstevel@tonic-gate  * exresop - resolve operand to value
5480Sstevel@tonic-gate  */
5490Sstevel@tonic-gate ACPI_STATUS
5500Sstevel@tonic-gate AcpiExResolveOperands (
5510Sstevel@tonic-gate     UINT16                  Opcode,
5520Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **StackPtr,
5530Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
5540Sstevel@tonic-gate 
5550Sstevel@tonic-gate 
5560Sstevel@tonic-gate /*
5570Sstevel@tonic-gate  * exdump - Interpreter debug output routines
5580Sstevel@tonic-gate  */
5590Sstevel@tonic-gate void
5600Sstevel@tonic-gate AcpiExDumpOperand (
5610Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc,
5620Sstevel@tonic-gate     UINT32                  Depth);
5630Sstevel@tonic-gate 
5640Sstevel@tonic-gate void
5650Sstevel@tonic-gate AcpiExDumpOperands (
5660Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **Operands,
567*7851SDana.Myers@Sun.COM     const char              *OpcodeName,
568*7851SDana.Myers@Sun.COM     UINT32                  NumOpcodes);
5690Sstevel@tonic-gate 
5700Sstevel@tonic-gate void
5710Sstevel@tonic-gate AcpiExDumpObjectDescriptor (
5720Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
5730Sstevel@tonic-gate     UINT32                  Flags);
5740Sstevel@tonic-gate 
5750Sstevel@tonic-gate void
5761560Smyers AcpiExDumpNamespaceNode (
5770Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
5780Sstevel@tonic-gate     UINT32                  Flags);
5790Sstevel@tonic-gate 
5800Sstevel@tonic-gate 
5810Sstevel@tonic-gate /*
5820Sstevel@tonic-gate  * exnames - AML namestring support
5830Sstevel@tonic-gate  */
5840Sstevel@tonic-gate ACPI_STATUS
5850Sstevel@tonic-gate AcpiExGetNameString (
5860Sstevel@tonic-gate     ACPI_OBJECT_TYPE        DataType,
5870Sstevel@tonic-gate     UINT8                   *InAmlAddress,
5880Sstevel@tonic-gate     char                    **OutNameString,
5890Sstevel@tonic-gate     UINT32                  *OutNameLength);
5900Sstevel@tonic-gate 
5910Sstevel@tonic-gate 
5920Sstevel@tonic-gate /*
5930Sstevel@tonic-gate  * exstore - Object store support
5940Sstevel@tonic-gate  */
5950Sstevel@tonic-gate ACPI_STATUS
5960Sstevel@tonic-gate AcpiExStore (
5970Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ValDesc,
5980Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DestDesc,
5990Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
6000Sstevel@tonic-gate 
6010Sstevel@tonic-gate ACPI_STATUS
6020Sstevel@tonic-gate AcpiExStoreObjectToNode (
6030Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6040Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
6050Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
6060Sstevel@tonic-gate     UINT8                   ImplicitConversion);
6070Sstevel@tonic-gate 
6080Sstevel@tonic-gate #define ACPI_IMPLICIT_CONVERSION        TRUE
6090Sstevel@tonic-gate #define ACPI_NO_IMPLICIT_CONVERSION     FALSE
6100Sstevel@tonic-gate 
6110Sstevel@tonic-gate 
6120Sstevel@tonic-gate /*
6130Sstevel@tonic-gate  * exstoren - resolve/store object
6140Sstevel@tonic-gate  */
6150Sstevel@tonic-gate ACPI_STATUS
6160Sstevel@tonic-gate AcpiExResolveObject (
6170Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **SourceDescPtr,
6180Sstevel@tonic-gate     ACPI_OBJECT_TYPE        TargetType,
6190Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
6200Sstevel@tonic-gate 
6210Sstevel@tonic-gate ACPI_STATUS
6220Sstevel@tonic-gate AcpiExStoreObjectToObject (
6230Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6240Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DestDesc,
6250Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **NewDesc,
6260Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
6270Sstevel@tonic-gate 
6280Sstevel@tonic-gate 
6290Sstevel@tonic-gate /*
6300Sstevel@tonic-gate  * exstorob - store object - buffer/string
6310Sstevel@tonic-gate  */
6320Sstevel@tonic-gate ACPI_STATUS
6330Sstevel@tonic-gate AcpiExStoreBufferToBuffer (
6340Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6350Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6360Sstevel@tonic-gate 
6370Sstevel@tonic-gate ACPI_STATUS
6380Sstevel@tonic-gate AcpiExStoreStringToString (
6390Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6400Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6410Sstevel@tonic-gate 
6420Sstevel@tonic-gate 
6430Sstevel@tonic-gate /*
6440Sstevel@tonic-gate  * excopy - object copy
6450Sstevel@tonic-gate  */
6460Sstevel@tonic-gate ACPI_STATUS
6470Sstevel@tonic-gate AcpiExCopyIntegerToIndexField (
6480Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6490Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6500Sstevel@tonic-gate 
6510Sstevel@tonic-gate ACPI_STATUS
6520Sstevel@tonic-gate AcpiExCopyIntegerToBankField (
6530Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6540Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6550Sstevel@tonic-gate 
6560Sstevel@tonic-gate ACPI_STATUS
6570Sstevel@tonic-gate AcpiExCopyDataToNamedField (
6580Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6590Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
6600Sstevel@tonic-gate 
6610Sstevel@tonic-gate ACPI_STATUS
6620Sstevel@tonic-gate AcpiExCopyIntegerToBufferField (
6630Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
6640Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *TargetDesc);
6650Sstevel@tonic-gate 
6660Sstevel@tonic-gate 
6670Sstevel@tonic-gate /*
6680Sstevel@tonic-gate  * exutils - interpreter/scanner utilities
6690Sstevel@tonic-gate  */
670*7851SDana.Myers@Sun.COM void
6710Sstevel@tonic-gate AcpiExEnterInterpreter (
6720Sstevel@tonic-gate     void);
6730Sstevel@tonic-gate 
6740Sstevel@tonic-gate void
6750Sstevel@tonic-gate AcpiExExitInterpreter (
6760Sstevel@tonic-gate     void);
6770Sstevel@tonic-gate 
6780Sstevel@tonic-gate void
679*7851SDana.Myers@Sun.COM AcpiExReacquireInterpreter (
680*7851SDana.Myers@Sun.COM     void);
681*7851SDana.Myers@Sun.COM 
682*7851SDana.Myers@Sun.COM void
683*7851SDana.Myers@Sun.COM AcpiExRelinquishInterpreter (
684*7851SDana.Myers@Sun.COM     void);
685*7851SDana.Myers@Sun.COM 
686*7851SDana.Myers@Sun.COM void
6870Sstevel@tonic-gate AcpiExTruncateFor32bitTable (
6880Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
6890Sstevel@tonic-gate 
690*7851SDana.Myers@Sun.COM void
6910Sstevel@tonic-gate AcpiExAcquireGlobalLock (
6920Sstevel@tonic-gate     UINT32                  Rule);
6930Sstevel@tonic-gate 
6940Sstevel@tonic-gate void
6950Sstevel@tonic-gate AcpiExReleaseGlobalLock (
696*7851SDana.Myers@Sun.COM     UINT32                  Rule);
6970Sstevel@tonic-gate 
6980Sstevel@tonic-gate void
6990Sstevel@tonic-gate AcpiExEisaIdToString (
7000Sstevel@tonic-gate     UINT32                  NumericId,
7010Sstevel@tonic-gate     char                    *OutString);
7020Sstevel@tonic-gate 
7030Sstevel@tonic-gate void
7040Sstevel@tonic-gate AcpiExUnsignedIntegerToString (
7050Sstevel@tonic-gate     ACPI_INTEGER            Value,
7060Sstevel@tonic-gate     char                    *OutString);
7070Sstevel@tonic-gate 
7080Sstevel@tonic-gate 
7090Sstevel@tonic-gate /*
7100Sstevel@tonic-gate  * exregion - default OpRegion handlers
7110Sstevel@tonic-gate  */
7120Sstevel@tonic-gate ACPI_STATUS
7130Sstevel@tonic-gate AcpiExSystemMemorySpaceHandler (
7140Sstevel@tonic-gate     UINT32                  Function,
7150Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7160Sstevel@tonic-gate     UINT32                  BitWidth,
7170Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7180Sstevel@tonic-gate     void                    *HandlerContext,
7190Sstevel@tonic-gate     void                    *RegionContext);
7200Sstevel@tonic-gate 
7210Sstevel@tonic-gate ACPI_STATUS
7220Sstevel@tonic-gate AcpiExSystemIoSpaceHandler (
7230Sstevel@tonic-gate     UINT32                  Function,
7240Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7250Sstevel@tonic-gate     UINT32                  BitWidth,
7260Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7270Sstevel@tonic-gate     void                    *HandlerContext,
7280Sstevel@tonic-gate     void                    *RegionContext);
7290Sstevel@tonic-gate 
7300Sstevel@tonic-gate ACPI_STATUS
7310Sstevel@tonic-gate AcpiExPciConfigSpaceHandler (
7320Sstevel@tonic-gate     UINT32                  Function,
7330Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7340Sstevel@tonic-gate     UINT32                  BitWidth,
7350Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7360Sstevel@tonic-gate     void                    *HandlerContext,
7370Sstevel@tonic-gate     void                    *RegionContext);
7380Sstevel@tonic-gate 
7390Sstevel@tonic-gate ACPI_STATUS
7400Sstevel@tonic-gate AcpiExCmosSpaceHandler (
7410Sstevel@tonic-gate     UINT32                  Function,
7420Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7430Sstevel@tonic-gate     UINT32                  BitWidth,
7440Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7450Sstevel@tonic-gate     void                    *HandlerContext,
7460Sstevel@tonic-gate     void                    *RegionContext);
7470Sstevel@tonic-gate 
7480Sstevel@tonic-gate ACPI_STATUS
7490Sstevel@tonic-gate AcpiExPciBarSpaceHandler (
7500Sstevel@tonic-gate     UINT32                  Function,
7510Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7520Sstevel@tonic-gate     UINT32                  BitWidth,
7530Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7540Sstevel@tonic-gate     void                    *HandlerContext,
7550Sstevel@tonic-gate     void                    *RegionContext);
7560Sstevel@tonic-gate 
7570Sstevel@tonic-gate ACPI_STATUS
7580Sstevel@tonic-gate AcpiExEmbeddedControllerSpaceHandler (
7590Sstevel@tonic-gate     UINT32                  Function,
7600Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7610Sstevel@tonic-gate     UINT32                  BitWidth,
7620Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7630Sstevel@tonic-gate     void                    *HandlerContext,
7640Sstevel@tonic-gate     void                    *RegionContext);
7650Sstevel@tonic-gate 
7660Sstevel@tonic-gate ACPI_STATUS
7670Sstevel@tonic-gate AcpiExSmBusSpaceHandler (
7680Sstevel@tonic-gate     UINT32                  Function,
7690Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7700Sstevel@tonic-gate     UINT32                  BitWidth,
7710Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7720Sstevel@tonic-gate     void                    *HandlerContext,
7730Sstevel@tonic-gate     void                    *RegionContext);
7740Sstevel@tonic-gate 
7750Sstevel@tonic-gate 
7760Sstevel@tonic-gate ACPI_STATUS
7770Sstevel@tonic-gate AcpiExDataTableSpaceHandler (
7780Sstevel@tonic-gate     UINT32                  Function,
7790Sstevel@tonic-gate     ACPI_PHYSICAL_ADDRESS   Address,
7800Sstevel@tonic-gate     UINT32                  BitWidth,
7810Sstevel@tonic-gate     ACPI_INTEGER            *Value,
7820Sstevel@tonic-gate     void                    *HandlerContext,
7830Sstevel@tonic-gate     void                    *RegionContext);
7840Sstevel@tonic-gate 
7850Sstevel@tonic-gate #endif /* __INTERP_H__ */
786