acinterp.h revision 91116
167754Smsmith/****************************************************************************** 267754Smsmith * 367754Smsmith * Name: acinterp.h - Interpreter subcomponent prototypes and defines 491116Smsmith * $Revision: 132 $ 567754Smsmith * 667754Smsmith *****************************************************************************/ 767754Smsmith 867754Smsmith/****************************************************************************** 967754Smsmith * 1067754Smsmith * 1. Copyright Notice 1167754Smsmith * 1291116Smsmith * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp. 1370243Smsmith * All rights reserved. 1467754Smsmith * 1567754Smsmith * 2. License 1667754Smsmith * 1767754Smsmith * 2.1. This is your license from Intel Corp. under its intellectual property 1867754Smsmith * rights. You may have additional license terms from the party that provided 1967754Smsmith * you this software, covering your right to use that party's intellectual 2067754Smsmith * property rights. 2167754Smsmith * 2267754Smsmith * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 2367754Smsmith * copy of the source code appearing in this file ("Covered Code") an 2467754Smsmith * irrevocable, perpetual, worldwide license under Intel's copyrights in the 2567754Smsmith * base code distributed originally by Intel ("Original Intel Code") to copy, 2667754Smsmith * make derivatives, distribute, use and display any portion of the Covered 2767754Smsmith * Code in any form, with the right to sublicense such rights; and 2867754Smsmith * 2967754Smsmith * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 3067754Smsmith * license (with the right to sublicense), under only those claims of Intel 3167754Smsmith * patents that are infringed by the Original Intel Code, to make, use, sell, 3267754Smsmith * offer to sell, and import the Covered Code and derivative works thereof 3367754Smsmith * solely to the minimum extent necessary to exercise the above copyright 3467754Smsmith * license, and in no event shall the patent license extend to any additions 3567754Smsmith * to or modifications of the Original Intel Code. No other license or right 3667754Smsmith * is granted directly or by implication, estoppel or otherwise; 3767754Smsmith * 3867754Smsmith * The above copyright and patent license is granted only if the following 3967754Smsmith * conditions are met: 4067754Smsmith * 4167754Smsmith * 3. Conditions 4267754Smsmith * 4367754Smsmith * 3.1. Redistribution of Source with Rights to Further Distribute Source. 4467754Smsmith * Redistribution of source code of any substantial portion of the Covered 4567754Smsmith * Code or modification with rights to further distribute source must include 4667754Smsmith * the above Copyright Notice, the above License, this list of Conditions, 4767754Smsmith * and the following Disclaimer and Export Compliance provision. In addition, 4867754Smsmith * Licensee must cause all Covered Code to which Licensee contributes to 4967754Smsmith * contain a file documenting the changes Licensee made to create that Covered 5067754Smsmith * Code and the date of any change. Licensee must include in that file the 5167754Smsmith * documentation of any changes made by any predecessor Licensee. Licensee 5267754Smsmith * must include a prominent statement that the modification is derived, 5367754Smsmith * directly or indirectly, from Original Intel Code. 5467754Smsmith * 5567754Smsmith * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 5667754Smsmith * Redistribution of source code of any substantial portion of the Covered 5767754Smsmith * Code or modification without rights to further distribute source must 5867754Smsmith * include the following Disclaimer and Export Compliance provision in the 5967754Smsmith * documentation and/or other materials provided with distribution. In 6067754Smsmith * addition, Licensee may not authorize further sublicense of source of any 6167754Smsmith * portion of the Covered Code, and must include terms to the effect that the 6267754Smsmith * license from Licensee to its licensee is limited to the intellectual 6367754Smsmith * property embodied in the software Licensee provides to its licensee, and 6467754Smsmith * not to intellectual property embodied in modifications its licensee may 6567754Smsmith * make. 6667754Smsmith * 6767754Smsmith * 3.3. Redistribution of Executable. Redistribution in executable form of any 6867754Smsmith * substantial portion of the Covered Code or modification must reproduce the 6967754Smsmith * above Copyright Notice, and the following Disclaimer and Export Compliance 7067754Smsmith * provision in the documentation and/or other materials provided with the 7167754Smsmith * distribution. 7267754Smsmith * 7367754Smsmith * 3.4. Intel retains all right, title, and interest in and to the Original 7467754Smsmith * Intel Code. 7567754Smsmith * 7667754Smsmith * 3.5. Neither the name Intel nor any other trademark owned or controlled by 7767754Smsmith * Intel shall be used in advertising or otherwise to promote the sale, use or 7867754Smsmith * other dealings in products derived from or relating to the Covered Code 7967754Smsmith * without prior written authorization from Intel. 8067754Smsmith * 8167754Smsmith * 4. Disclaimer and Export Compliance 8267754Smsmith * 8367754Smsmith * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 8467754Smsmith * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 8567754Smsmith * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 8667754Smsmith * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 8767754Smsmith * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 8867754Smsmith * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 8967754Smsmith * PARTICULAR PURPOSE. 9067754Smsmith * 9167754Smsmith * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 9267754Smsmith * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 9367754Smsmith * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 9467754Smsmith * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 9567754Smsmith * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 9667754Smsmith * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 9767754Smsmith * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 9867754Smsmith * LIMITED REMEDY. 9967754Smsmith * 10067754Smsmith * 4.3. Licensee shall not export, either directly or indirectly, any of this 10167754Smsmith * software or system incorporating such software without first obtaining any 10267754Smsmith * required license or other approval from the U. S. Department of Commerce or 10367754Smsmith * any other agency or department of the United States Government. In the 10467754Smsmith * event Licensee exports any such software from the United States or 10567754Smsmith * re-exports any such software from a foreign destination, Licensee shall 10667754Smsmith * ensure that the distribution and export/re-export of the software is in 10767754Smsmith * compliance with all laws, regulations, orders, or other restrictions of the 10867754Smsmith * U.S. Export Administration Regulations. Licensee agrees that neither it nor 10967754Smsmith * any of its subsidiaries will export/re-export any technical data, process, 11067754Smsmith * software, or service, directly or indirectly, to any country for which the 11167754Smsmith * United States government or any agency thereof requires an export license, 11267754Smsmith * other governmental approval, or letter of assurance, without first obtaining 11367754Smsmith * such license, approval or letter. 11467754Smsmith * 11567754Smsmith *****************************************************************************/ 11667754Smsmith 11767754Smsmith#ifndef __ACINTERP_H__ 11867754Smsmith#define __ACINTERP_H__ 11967754Smsmith 12067754Smsmith 12191116Smsmith#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) 12267754Smsmith 12367754Smsmith 12467754SmsmithACPI_STATUS 12577424SmsmithAcpiExResolveOperands ( 12667754Smsmith UINT16 Opcode, 12767754Smsmith ACPI_OPERAND_OBJECT **StackPtr, 12867754Smsmith ACPI_WALK_STATE *WalkState); 12967754Smsmith 13067754Smsmith 13167754Smsmith/* 13291116Smsmith * exxface - External interpreter interfaces 13367754Smsmith */ 13467754Smsmith 13567754SmsmithACPI_STATUS 13677424SmsmithAcpiExLoadTable ( 13767754Smsmith ACPI_TABLE_TYPE TableId); 13867754Smsmith 13967754SmsmithACPI_STATUS 14077424SmsmithAcpiExExecuteMethod ( 14167754Smsmith ACPI_NAMESPACE_NODE *MethodNode, 14267754Smsmith ACPI_OPERAND_OBJECT **Params, 14367754Smsmith ACPI_OPERAND_OBJECT **ReturnObjDesc); 14467754Smsmith 14567754Smsmith 14667754Smsmith/* 14791116Smsmith * exconvrt - object conversion 14867754Smsmith */ 14967754Smsmith 15071867SmsmithACPI_STATUS 15177424SmsmithAcpiExConvertToInteger ( 15280062Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 15380062Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 15471867Smsmith ACPI_WALK_STATE *WalkState); 15567754Smsmith 15667754SmsmithACPI_STATUS 15777424SmsmithAcpiExConvertToBuffer ( 15880062Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 15980062Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 16071867Smsmith ACPI_WALK_STATE *WalkState); 16171867Smsmith 16271867SmsmithACPI_STATUS 16377424SmsmithAcpiExConvertToString ( 16480062Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 16580062Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 16682367Smsmith UINT32 Base, 16780062Smsmith UINT32 MaxLength, 16871867Smsmith ACPI_WALK_STATE *WalkState); 16971867Smsmith 17071867SmsmithACPI_STATUS 17177424SmsmithAcpiExConvertToTargetType ( 17291116Smsmith ACPI_OBJECT_TYPE DestinationType, 17391116Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 17491116Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 17571867Smsmith ACPI_WALK_STATE *WalkState); 17671867Smsmith 17771867Smsmith 17871867Smsmith/* 17991116Smsmith * exfield - ACPI AML (p-code) execution - field manipulation 18071867Smsmith */ 18171867Smsmith 18271867SmsmithACPI_STATUS 18377424SmsmithAcpiExExtractFromField ( 18467754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 18567754Smsmith void *Buffer, 18677424Smsmith UINT32 BufferLength); 18767754Smsmith 18867754SmsmithACPI_STATUS 18977424SmsmithAcpiExInsertIntoField ( 19067754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 19167754Smsmith void *Buffer, 19277424Smsmith UINT32 BufferLength); 19367754Smsmith 19467754SmsmithACPI_STATUS 19587031SmsmithAcpiExSetupRegion ( 19667754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 19787031Smsmith UINT32 FieldDatumByteOffset); 19867754Smsmith 19967754SmsmithACPI_STATUS 20087031SmsmithAcpiExAccessRegion ( 20167754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 20287031Smsmith UINT32 FieldDatumByteOffset, 20387031Smsmith ACPI_INTEGER *Value, 20487031Smsmith UINT32 ReadWrite); 20567754Smsmith 20687031SmsmithBOOLEAN 20787031SmsmithAcpiExRegisterOverflow ( 20877424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 20987031Smsmith ACPI_INTEGER Value); 21067754Smsmith 21177424SmsmithACPI_STATUS 21287031SmsmithAcpiExFieldDatumIo ( 21377424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 21487031Smsmith UINT32 FieldDatumByteOffset, 21587031Smsmith ACPI_INTEGER *Value, 21687031Smsmith UINT32 ReadWrite); 21777424Smsmith 21877424SmsmithACPI_STATUS 21987031SmsmithAcpiExWriteWithUpdateRule ( 22077424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 22187031Smsmith ACPI_INTEGER Mask, 22287031Smsmith ACPI_INTEGER FieldValue, 22387031Smsmith UINT32 FieldDatumByteOffset); 22477424Smsmith 22587031Smsmithvoid 22687031SmsmithAcpiExGetBufferDatum( 22787031Smsmith ACPI_INTEGER *Datum, 22877424Smsmith void *Buffer, 22987031Smsmith UINT32 ByteGranularity, 23087031Smsmith UINT32 Offset); 23177424Smsmith 23287031Smsmithvoid 23387031SmsmithAcpiExSetBufferDatum ( 23487031Smsmith ACPI_INTEGER MergedDatum, 23577424Smsmith void *Buffer, 23687031Smsmith UINT32 ByteGranularity, 23787031Smsmith UINT32 Offset); 23877424Smsmith 23977424SmsmithACPI_STATUS 24077424SmsmithAcpiExReadDataFromField ( 24177424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 24277424Smsmith ACPI_OPERAND_OBJECT **RetBufferDesc); 24377424Smsmith 24477424SmsmithACPI_STATUS 24577424SmsmithAcpiExWriteDataToField ( 24677424Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 24777424Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 24877424Smsmith 24967754Smsmith/* 25091116Smsmith * exmisc - ACPI AML (p-code) execution - specific opcodes 25167754Smsmith */ 25267754Smsmith 25367754SmsmithACPI_STATUS 25485756SmsmithAcpiExOpcode_3A_0T_0R ( 25584491Smsmith ACPI_WALK_STATE *WalkState); 25680062Smsmith 25780062SmsmithACPI_STATUS 25885756SmsmithAcpiExOpcode_3A_1T_1R ( 25984491Smsmith ACPI_WALK_STATE *WalkState); 26080062Smsmith 26180062SmsmithACPI_STATUS 26285756SmsmithAcpiExOpcode_6A_0T_1R ( 26367754Smsmith ACPI_WALK_STATE *WalkState); 26467754Smsmith 26567754SmsmithACPI_STATUS 26685756SmsmithAcpiExGetObjectReference ( 26785756Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 26885756Smsmith ACPI_OPERAND_OBJECT **ReturnDesc, 26967754Smsmith ACPI_WALK_STATE *WalkState); 27067754Smsmith 27167754SmsmithACPI_STATUS 27291116SmsmithAcpiExConcatTemplate ( 27391116Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 27491116Smsmith ACPI_OPERAND_OBJECT *ObjDesc2, 27591116Smsmith ACPI_OPERAND_OBJECT **ActualReturnDesc, 27691116Smsmith ACPI_WALK_STATE *WalkState); 27791116Smsmith 27891116SmsmithACPI_STATUS 27985756SmsmithAcpiExDoConcatenate ( 28085756Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 28185756Smsmith ACPI_OPERAND_OBJECT *ObjDesc2, 28285756Smsmith ACPI_OPERAND_OBJECT **ActualReturnDesc, 28385756Smsmith ACPI_WALK_STATE *WalkState); 28485756Smsmith 28585756SmsmithBOOLEAN 28685756SmsmithAcpiExDoLogicalOp ( 28785756Smsmith UINT16 Opcode, 28885756Smsmith ACPI_INTEGER Operand0, 28985756Smsmith ACPI_INTEGER Operand1); 29085756Smsmith 29185756SmsmithACPI_INTEGER 29285756SmsmithAcpiExDoMathOp ( 29385756Smsmith UINT16 Opcode, 29485756Smsmith ACPI_INTEGER Operand0, 29585756Smsmith ACPI_INTEGER Operand1); 29685756Smsmith 29785756SmsmithACPI_STATUS 29877424SmsmithAcpiExCreateMutex ( 29967754Smsmith ACPI_WALK_STATE *WalkState); 30067754Smsmith 30167754SmsmithACPI_STATUS 30277424SmsmithAcpiExCreateProcessor ( 30385756Smsmith ACPI_WALK_STATE *WalkState); 30467754Smsmith 30567754SmsmithACPI_STATUS 30677424SmsmithAcpiExCreatePowerResource ( 30785756Smsmith ACPI_WALK_STATE *WalkState); 30867754Smsmith 30967754SmsmithACPI_STATUS 31077424SmsmithAcpiExCreateRegion ( 31184491Smsmith UINT8 *AmlStart, 31277424Smsmith UINT32 AmlLength, 31369746Smsmith UINT8 RegionSpace, 31467754Smsmith ACPI_WALK_STATE *WalkState); 31567754Smsmith 31667754SmsmithACPI_STATUS 31784491SmsmithAcpiExCreateTableRegion ( 31884491Smsmith ACPI_WALK_STATE *WalkState); 31984491Smsmith 32084491SmsmithACPI_STATUS 32177424SmsmithAcpiExCreateEvent ( 32267754Smsmith ACPI_WALK_STATE *WalkState); 32367754Smsmith 32467754SmsmithACPI_STATUS 32577424SmsmithAcpiExCreateAlias ( 32667754Smsmith ACPI_WALK_STATE *WalkState); 32767754Smsmith 32867754SmsmithACPI_STATUS 32977424SmsmithAcpiExCreateMethod ( 33084491Smsmith UINT8 *AmlStart, 33177424Smsmith UINT32 AmlLength, 33285756Smsmith ACPI_WALK_STATE *WalkState); 33367754Smsmith 33467754Smsmith 33567754Smsmith/* 33691116Smsmith * exconfig - dynamic table load/unload 33777424Smsmith */ 33877424Smsmith 33977424SmsmithACPI_STATUS 34091116SmsmithAcpiExAddTable ( 34191116Smsmith ACPI_TABLE_HEADER *Table, 34291116Smsmith ACPI_NAMESPACE_NODE *ParentNode, 34391116Smsmith ACPI_OPERAND_OBJECT **DdbHandle); 34491116Smsmith 34591116SmsmithACPI_STATUS 34691116SmsmithAcpiExLoadOp ( 34791116Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 34891116Smsmith ACPI_OPERAND_OBJECT *Target, 34991116Smsmith ACPI_WALK_STATE *WalkState); 35091116Smsmith 35191116SmsmithACPI_STATUS 35291116SmsmithAcpiExLoadTableOp ( 35391116Smsmith ACPI_WALK_STATE *WalkState, 35491116Smsmith ACPI_OPERAND_OBJECT **ReturnDesc); 35591116Smsmith 35691116SmsmithACPI_STATUS 35791116SmsmithAcpiExUnloadTable ( 35891116Smsmith ACPI_OPERAND_OBJECT *DdbHandle); 35991116Smsmith 36091116Smsmith 36191116Smsmith/* 36291116Smsmith * exmutex - mutex support 36391116Smsmith */ 36491116Smsmith 36591116SmsmithACPI_STATUS 36677424SmsmithAcpiExAcquireMutex ( 36777424Smsmith ACPI_OPERAND_OBJECT *TimeDesc, 36877424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 36977424Smsmith ACPI_WALK_STATE *WalkState); 37077424Smsmith 37177424SmsmithACPI_STATUS 37277424SmsmithAcpiExReleaseMutex ( 37377424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 37477424Smsmith ACPI_WALK_STATE *WalkState); 37577424Smsmith 37677424SmsmithACPI_STATUS 37777424SmsmithAcpiExReleaseAllMutexes ( 37887031Smsmith ACPI_THREAD_STATE *Thread); 37977424Smsmith 38077424Smsmithvoid 38177424SmsmithAcpiExUnlinkMutex ( 38277424Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 38377424Smsmith 38487031Smsmithvoid 38587031SmsmithAcpiExLinkMutex ( 38687031Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 38787031Smsmith ACPI_THREAD_STATE *Thread); 38877424Smsmith 38977424Smsmith/* 39091116Smsmith * exprep - ACPI AML (p-code) execution - prep utilities 39167754Smsmith */ 39267754Smsmith 39367754SmsmithACPI_STATUS 39477424SmsmithAcpiExPrepCommonFieldObject ( 39577424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 39677424Smsmith UINT8 FieldFlags, 39787031Smsmith UINT8 FieldAttribute, 39887031Smsmith UINT32 FieldBitPosition, 39987031Smsmith UINT32 FieldBitLength); 40077424Smsmith 40177424SmsmithACPI_STATUS 40285756SmsmithAcpiExPrepFieldValue ( 40385756Smsmith ACPI_CREATE_FIELD_INFO *Info); 40467754Smsmith 40567754Smsmith/* 40691116Smsmith * exsystem - Interface to OS services 40767754Smsmith */ 40867754Smsmith 40967754SmsmithACPI_STATUS 41077424SmsmithAcpiExSystemDoNotifyOp ( 41167754Smsmith ACPI_OPERAND_OBJECT *Value, 41267754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 41367754Smsmith 41491116SmsmithACPI_STATUS 41577424SmsmithAcpiExSystemDoSuspend( 41667754Smsmith UINT32 Time); 41767754Smsmith 41891116SmsmithACPI_STATUS 41977424SmsmithAcpiExSystemDoStall ( 42067754Smsmith UINT32 Time); 42167754Smsmith 42267754SmsmithACPI_STATUS 42377424SmsmithAcpiExSystemAcquireMutex( 42467754Smsmith ACPI_OPERAND_OBJECT *Time, 42567754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 42667754Smsmith 42767754SmsmithACPI_STATUS 42877424SmsmithAcpiExSystemReleaseMutex( 42967754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 43067754Smsmith 43167754SmsmithACPI_STATUS 43277424SmsmithAcpiExSystemSignalEvent( 43367754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 43467754Smsmith 43567754SmsmithACPI_STATUS 43677424SmsmithAcpiExSystemWaitEvent( 43767754Smsmith ACPI_OPERAND_OBJECT *Time, 43867754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 43967754Smsmith 44067754SmsmithACPI_STATUS 44177424SmsmithAcpiExSystemResetEvent( 44267754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 44367754Smsmith 44467754SmsmithACPI_STATUS 44577424SmsmithAcpiExSystemWaitSemaphore ( 44667754Smsmith ACPI_HANDLE Semaphore, 44767754Smsmith UINT32 Timeout); 44867754Smsmith 44967754Smsmith 45067754Smsmith/* 45191116Smsmith * exmonadic - ACPI AML (p-code) execution, monadic operators 45267754Smsmith */ 45367754Smsmith 45467754SmsmithACPI_STATUS 45585756SmsmithAcpiExOpcode_1A_0T_0R ( 45667754Smsmith ACPI_WALK_STATE *WalkState); 45767754Smsmith 45867754SmsmithACPI_STATUS 45985756SmsmithAcpiExOpcode_1A_0T_1R ( 46084491Smsmith ACPI_WALK_STATE *WalkState); 46167754Smsmith 46267754SmsmithACPI_STATUS 46385756SmsmithAcpiExOpcode_1A_1T_1R ( 46484491Smsmith ACPI_WALK_STATE *WalkState); 46567754Smsmith 46685756SmsmithACPI_STATUS 46785756SmsmithAcpiExOpcode_1A_1T_0R ( 46885756Smsmith ACPI_WALK_STATE *WalkState); 46967754Smsmith 47067754Smsmith/* 47191116Smsmith * exdyadic - ACPI AML (p-code) execution, dyadic operators 47267754Smsmith */ 47367754Smsmith 47467754SmsmithACPI_STATUS 47585756SmsmithAcpiExOpcode_2A_0T_0R ( 47667754Smsmith ACPI_WALK_STATE *WalkState); 47767754Smsmith 47867754SmsmithACPI_STATUS 47985756SmsmithAcpiExOpcode_2A_0T_1R ( 48084491Smsmith ACPI_WALK_STATE *WalkState); 48167754Smsmith 48267754SmsmithACPI_STATUS 48385756SmsmithAcpiExOpcode_2A_1T_1R ( 48484491Smsmith ACPI_WALK_STATE *WalkState); 48567754Smsmith 48667754SmsmithACPI_STATUS 48785756SmsmithAcpiExOpcode_2A_2T_1R ( 48884491Smsmith ACPI_WALK_STATE *WalkState); 48967754Smsmith 49067754Smsmith 49167754Smsmith/* 49291116Smsmith * exresolv - Object resolution and get value functions 49367754Smsmith */ 49467754Smsmith 49567754SmsmithACPI_STATUS 49677424SmsmithAcpiExResolveToValue ( 49767754Smsmith ACPI_OPERAND_OBJECT **StackPtr, 49867754Smsmith ACPI_WALK_STATE *WalkState); 49967754Smsmith 50067754SmsmithACPI_STATUS 50177424SmsmithAcpiExResolveNodeToValue ( 50269450Smsmith ACPI_NAMESPACE_NODE **StackPtr, 50369450Smsmith ACPI_WALK_STATE *WalkState); 50467754Smsmith 50567754SmsmithACPI_STATUS 50677424SmsmithAcpiExResolveObjectToValue ( 50767754Smsmith ACPI_OPERAND_OBJECT **StackPtr, 50867754Smsmith ACPI_WALK_STATE *WalkState); 50967754Smsmith 51067754Smsmith 51167754Smsmith/* 51291116Smsmith * exdump - Scanner debug output routines 51367754Smsmith */ 51467754Smsmith 51567754Smsmithvoid 51677424SmsmithAcpiExShowHexValue ( 51767754Smsmith UINT32 ByteCount, 51884491Smsmith UINT8 *AmlStart, 51967754Smsmith UINT32 LeadSpace); 52067754Smsmith 52167754Smsmith 52267754SmsmithACPI_STATUS 52377424SmsmithAcpiExDumpOperand ( 52467754Smsmith ACPI_OPERAND_OBJECT *EntryDesc); 52567754Smsmith 52667754Smsmithvoid 52777424SmsmithAcpiExDumpOperands ( 52867754Smsmith ACPI_OPERAND_OBJECT **Operands, 52991116Smsmith ACPI_INTERPRETER_MODE InterpreterMode, 53067754Smsmith NATIVE_CHAR *Ident, 53167754Smsmith UINT32 NumLevels, 53267754Smsmith NATIVE_CHAR *Note, 53367754Smsmith NATIVE_CHAR *ModuleName, 53467754Smsmith UINT32 LineNumber); 53567754Smsmith 53667754Smsmithvoid 53777424SmsmithAcpiExDumpObjectDescriptor ( 53867754Smsmith ACPI_OPERAND_OBJECT *Object, 53967754Smsmith UINT32 Flags); 54067754Smsmith 54167754Smsmith 54267754Smsmithvoid 54377424SmsmithAcpiExDumpNode ( 54467754Smsmith ACPI_NAMESPACE_NODE *Node, 54567754Smsmith UINT32 Flags); 54667754Smsmith 54767754Smsmith 54867754Smsmith/* 54991116Smsmith * exnames - interpreter/scanner name load/execute 55067754Smsmith */ 55167754Smsmith 55267754SmsmithNATIVE_CHAR * 55377424SmsmithAcpiExAllocateNameString ( 55467754Smsmith UINT32 PrefixCount, 55567754Smsmith UINT32 NumNameSegs); 55667754Smsmith 55767754SmsmithUINT32 55877424SmsmithAcpiExGoodChar ( 55967754Smsmith UINT32 Character); 56067754Smsmith 56167754SmsmithACPI_STATUS 56277424SmsmithAcpiExNameSegment ( 56367754Smsmith UINT8 **InAmlAddress, 56467754Smsmith NATIVE_CHAR *NameString); 56567754Smsmith 56667754SmsmithACPI_STATUS 56777424SmsmithAcpiExGetNameString ( 56891116Smsmith ACPI_OBJECT_TYPE DataType, 56967754Smsmith UINT8 *InAmlAddress, 57067754Smsmith NATIVE_CHAR **OutNameString, 57167754Smsmith UINT32 *OutNameLength); 57267754Smsmith 57367754SmsmithACPI_STATUS 57477424SmsmithAcpiExDoName ( 57567754Smsmith ACPI_OBJECT_TYPE DataType, 57691116Smsmith ACPI_INTERPRETER_MODE LoadExecMode); 57767754Smsmith 57867754Smsmith 57967754Smsmith/* 58091116Smsmith * exstore - Object store support 58167754Smsmith */ 58267754Smsmith 58367754SmsmithACPI_STATUS 58477424SmsmithAcpiExStore ( 58567754Smsmith ACPI_OPERAND_OBJECT *ValDesc, 58667754Smsmith ACPI_OPERAND_OBJECT *DestDesc, 58767754Smsmith ACPI_WALK_STATE *WalkState); 58867754Smsmith 58967754SmsmithACPI_STATUS 59077424SmsmithAcpiExStoreObjectToIndex ( 59167754Smsmith ACPI_OPERAND_OBJECT *ValDesc, 59267754Smsmith ACPI_OPERAND_OBJECT *DestDesc, 59367754Smsmith ACPI_WALK_STATE *WalkState); 59467754Smsmith 59567754SmsmithACPI_STATUS 59677424SmsmithAcpiExStoreObjectToNode ( 59771867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 59867754Smsmith ACPI_NAMESPACE_NODE *Node, 59967754Smsmith ACPI_WALK_STATE *WalkState); 60067754Smsmith 60167754Smsmith 60267754Smsmith/* 60391116Smsmith * exstoren 60471867Smsmith */ 60571867Smsmith 60671867SmsmithACPI_STATUS 60777424SmsmithAcpiExResolveObject ( 60871867Smsmith ACPI_OPERAND_OBJECT **SourceDescPtr, 60991116Smsmith ACPI_OBJECT_TYPE TargetType, 61071867Smsmith ACPI_WALK_STATE *WalkState); 61171867Smsmith 61271867SmsmithACPI_STATUS 61391116SmsmithAcpiExStoreObjectToObject ( 61471867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 61591116Smsmith ACPI_OPERAND_OBJECT *DestDesc, 61691116Smsmith ACPI_OPERAND_OBJECT **NewDesc, 61771867Smsmith ACPI_WALK_STATE *WalkState); 61871867Smsmith 61971867Smsmith 62071867Smsmith/* 62191116Smsmith * excopy - object copy 62271867Smsmith */ 62371867Smsmith 62471867SmsmithACPI_STATUS 62591116SmsmithAcpiExStoreBufferToBuffer ( 62671867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 62771867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 62871867Smsmith 62971867SmsmithACPI_STATUS 63091116SmsmithAcpiExStoreStringToString ( 63171867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 63271867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 63371867Smsmith 63471867SmsmithACPI_STATUS 63577424SmsmithAcpiExCopyIntegerToIndexField ( 63671867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 63771867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 63871867Smsmith 63971867SmsmithACPI_STATUS 64077424SmsmithAcpiExCopyIntegerToBankField ( 64171867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 64271867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 64371867Smsmith 64471867SmsmithACPI_STATUS 64577424SmsmithAcpiExCopyDataToNamedField ( 64671867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 64771867Smsmith ACPI_NAMESPACE_NODE *Node); 64871867Smsmith 64971867SmsmithACPI_STATUS 65077424SmsmithAcpiExCopyIntegerToBufferField ( 65171867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 65271867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 65371867Smsmith 65471867Smsmith/* 65591116Smsmith * exutils - interpreter/scanner utilities 65667754Smsmith */ 65767754Smsmith 65877424SmsmithACPI_STATUS 65977424SmsmithAcpiExEnterInterpreter ( 66067754Smsmith void); 66167754Smsmith 66267754Smsmithvoid 66377424SmsmithAcpiExExitInterpreter ( 66467754Smsmith void); 66567754Smsmith 66669450Smsmithvoid 66777424SmsmithAcpiExTruncateFor32bitTable ( 66869450Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 66969450Smsmith ACPI_WALK_STATE *WalkState); 67069450Smsmith 67167754SmsmithBOOLEAN 67277424SmsmithAcpiExValidateObjectType ( 67367754Smsmith ACPI_OBJECT_TYPE Type); 67467754Smsmith 67567754SmsmithBOOLEAN 67677424SmsmithAcpiExAcquireGlobalLock ( 67767754Smsmith UINT32 Rule); 67867754Smsmith 67967754SmsmithACPI_STATUS 68077424SmsmithAcpiExReleaseGlobalLock ( 68167754Smsmith BOOLEAN Locked); 68267754Smsmith 68367754SmsmithUINT32 68477424SmsmithAcpiExDigitsNeeded ( 68567754Smsmith ACPI_INTEGER Value, 68667754Smsmith UINT32 Base); 68767754Smsmith 68867754SmsmithACPI_STATUS 68977424SmsmithAcpiExEisaIdToString ( 69067754Smsmith UINT32 NumericId, 69167754Smsmith NATIVE_CHAR *OutString); 69267754Smsmith 69367754SmsmithACPI_STATUS 69477424SmsmithAcpiExUnsignedIntegerToString ( 69567754Smsmith ACPI_INTEGER Value, 69667754Smsmith NATIVE_CHAR *OutString); 69767754Smsmith 69867754Smsmith 69967754Smsmith/* 70091116Smsmith * exregion - default OpRegion handlers 70167754Smsmith */ 70267754Smsmith 70367754SmsmithACPI_STATUS 70477424SmsmithAcpiExSystemMemorySpaceHandler ( 70567754Smsmith UINT32 Function, 70669450Smsmith ACPI_PHYSICAL_ADDRESS Address, 70767754Smsmith UINT32 BitWidth, 70887031Smsmith ACPI_INTEGER *Value, 70967754Smsmith void *HandlerContext, 71067754Smsmith void *RegionContext); 71167754Smsmith 71267754SmsmithACPI_STATUS 71377424SmsmithAcpiExSystemIoSpaceHandler ( 71467754Smsmith UINT32 Function, 71569450Smsmith ACPI_PHYSICAL_ADDRESS Address, 71667754Smsmith UINT32 BitWidth, 71787031Smsmith ACPI_INTEGER *Value, 71867754Smsmith void *HandlerContext, 71967754Smsmith void *RegionContext); 72067754Smsmith 72167754SmsmithACPI_STATUS 72277424SmsmithAcpiExPciConfigSpaceHandler ( 72367754Smsmith UINT32 Function, 72469450Smsmith ACPI_PHYSICAL_ADDRESS Address, 72567754Smsmith UINT32 BitWidth, 72687031Smsmith ACPI_INTEGER *Value, 72767754Smsmith void *HandlerContext, 72867754Smsmith void *RegionContext); 72967754Smsmith 73067754SmsmithACPI_STATUS 73184491SmsmithAcpiExCmosSpaceHandler ( 73284491Smsmith UINT32 Function, 73384491Smsmith ACPI_PHYSICAL_ADDRESS Address, 73484491Smsmith UINT32 BitWidth, 73587031Smsmith ACPI_INTEGER *Value, 73684491Smsmith void *HandlerContext, 73784491Smsmith void *RegionContext); 73884491Smsmith 73984491SmsmithACPI_STATUS 74084491SmsmithAcpiExPciBarSpaceHandler ( 74184491Smsmith UINT32 Function, 74284491Smsmith ACPI_PHYSICAL_ADDRESS Address, 74384491Smsmith UINT32 BitWidth, 74487031Smsmith ACPI_INTEGER *Value, 74584491Smsmith void *HandlerContext, 74684491Smsmith void *RegionContext); 74784491Smsmith 74884491SmsmithACPI_STATUS 74977424SmsmithAcpiExEmbeddedControllerSpaceHandler ( 75067754Smsmith UINT32 Function, 75169450Smsmith ACPI_PHYSICAL_ADDRESS Address, 75267754Smsmith UINT32 BitWidth, 75387031Smsmith ACPI_INTEGER *Value, 75467754Smsmith void *HandlerContext, 75567754Smsmith void *RegionContext); 75667754Smsmith 75767754SmsmithACPI_STATUS 75877424SmsmithAcpiExSmBusSpaceHandler ( 75967754Smsmith UINT32 Function, 76069450Smsmith ACPI_PHYSICAL_ADDRESS Address, 76167754Smsmith UINT32 BitWidth, 76287031Smsmith ACPI_INTEGER *Value, 76367754Smsmith void *HandlerContext, 76467754Smsmith void *RegionContext); 76567754Smsmith 76667754Smsmith 76791116SmsmithACPI_STATUS 76891116SmsmithAcpiExDataTableSpaceHandler ( 76991116Smsmith UINT32 Function, 77091116Smsmith ACPI_PHYSICAL_ADDRESS Address, 77191116Smsmith UINT32 BitWidth, 77291116Smsmith ACPI_INTEGER *Value, 77391116Smsmith void *HandlerContext, 77491116Smsmith void *RegionContext); 77591116Smsmith 77667754Smsmith#endif /* __INTERP_H__ */ 777