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