acinterp.h revision 99679
167754Smsmith/****************************************************************************** 267754Smsmith * 367754Smsmith * Name: acinterp.h - Interpreter subcomponent prototypes and defines 499679Siwasaki * $Revision: 138 $ 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 13099679SiwasakiACPI_STATUS 13199679SiwasakiAcpiExCheckObjectType ( 13299679Siwasaki ACPI_OBJECT_TYPE TypeNeeded, 13399679Siwasaki ACPI_OBJECT_TYPE ThisType, 13499679Siwasaki void *Object); 13567754Smsmith 13667754Smsmith/* 13791116Smsmith * exxface - External interpreter interfaces 13867754Smsmith */ 13967754Smsmith 14067754SmsmithACPI_STATUS 14177424SmsmithAcpiExLoadTable ( 14267754Smsmith ACPI_TABLE_TYPE TableId); 14367754Smsmith 14467754SmsmithACPI_STATUS 14577424SmsmithAcpiExExecuteMethod ( 14667754Smsmith ACPI_NAMESPACE_NODE *MethodNode, 14767754Smsmith ACPI_OPERAND_OBJECT **Params, 14867754Smsmith ACPI_OPERAND_OBJECT **ReturnObjDesc); 14967754Smsmith 15067754Smsmith 15167754Smsmith/* 15291116Smsmith * exconvrt - object conversion 15367754Smsmith */ 15467754Smsmith 15571867SmsmithACPI_STATUS 15677424SmsmithAcpiExConvertToInteger ( 15780062Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 15880062Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 15971867Smsmith ACPI_WALK_STATE *WalkState); 16067754Smsmith 16167754SmsmithACPI_STATUS 16277424SmsmithAcpiExConvertToBuffer ( 16380062Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 16480062Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 16571867Smsmith ACPI_WALK_STATE *WalkState); 16671867Smsmith 16771867SmsmithACPI_STATUS 16877424SmsmithAcpiExConvertToString ( 16980062Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 17080062Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 17182367Smsmith UINT32 Base, 17280062Smsmith UINT32 MaxLength, 17371867Smsmith ACPI_WALK_STATE *WalkState); 17471867Smsmith 17571867SmsmithACPI_STATUS 17677424SmsmithAcpiExConvertToTargetType ( 17791116Smsmith ACPI_OBJECT_TYPE DestinationType, 17891116Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 17991116Smsmith ACPI_OPERAND_OBJECT **ResultDesc, 18071867Smsmith ACPI_WALK_STATE *WalkState); 18171867Smsmith 18299679SiwasakiUINT32 18399679SiwasakiAcpiExConvertToAscii ( 18499679Siwasaki ACPI_INTEGER Integer, 18599679Siwasaki UINT32 Base, 18699679Siwasaki UINT8 *String); 18771867Smsmith 18871867Smsmith/* 18991116Smsmith * exfield - ACPI AML (p-code) execution - field manipulation 19071867Smsmith */ 19171867Smsmith 19271867SmsmithACPI_STATUS 19377424SmsmithAcpiExExtractFromField ( 19467754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 19567754Smsmith void *Buffer, 19677424Smsmith UINT32 BufferLength); 19767754Smsmith 19867754SmsmithACPI_STATUS 19977424SmsmithAcpiExInsertIntoField ( 20067754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 20167754Smsmith void *Buffer, 20277424Smsmith UINT32 BufferLength); 20367754Smsmith 20467754SmsmithACPI_STATUS 20587031SmsmithAcpiExSetupRegion ( 20667754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 20787031Smsmith UINT32 FieldDatumByteOffset); 20867754Smsmith 20967754SmsmithACPI_STATUS 21087031SmsmithAcpiExAccessRegion ( 21167754Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 21287031Smsmith UINT32 FieldDatumByteOffset, 21387031Smsmith ACPI_INTEGER *Value, 21487031Smsmith UINT32 ReadWrite); 21567754Smsmith 21687031SmsmithBOOLEAN 21787031SmsmithAcpiExRegisterOverflow ( 21877424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 21987031Smsmith ACPI_INTEGER Value); 22067754Smsmith 22177424SmsmithACPI_STATUS 22287031SmsmithAcpiExFieldDatumIo ( 22377424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 22487031Smsmith UINT32 FieldDatumByteOffset, 22587031Smsmith ACPI_INTEGER *Value, 22687031Smsmith UINT32 ReadWrite); 22777424Smsmith 22877424SmsmithACPI_STATUS 22987031SmsmithAcpiExWriteWithUpdateRule ( 23077424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 23187031Smsmith ACPI_INTEGER Mask, 23287031Smsmith ACPI_INTEGER FieldValue, 23387031Smsmith UINT32 FieldDatumByteOffset); 23477424Smsmith 23587031Smsmithvoid 23687031SmsmithAcpiExGetBufferDatum( 23787031Smsmith ACPI_INTEGER *Datum, 23877424Smsmith void *Buffer, 23987031Smsmith UINT32 ByteGranularity, 24087031Smsmith UINT32 Offset); 24177424Smsmith 24287031Smsmithvoid 24387031SmsmithAcpiExSetBufferDatum ( 24487031Smsmith ACPI_INTEGER MergedDatum, 24577424Smsmith void *Buffer, 24687031Smsmith UINT32 ByteGranularity, 24787031Smsmith UINT32 Offset); 24877424Smsmith 24977424SmsmithACPI_STATUS 25077424SmsmithAcpiExReadDataFromField ( 25199146Siwasaki ACPI_WALK_STATE *WalkState, 25277424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 25377424Smsmith ACPI_OPERAND_OBJECT **RetBufferDesc); 25477424Smsmith 25577424SmsmithACPI_STATUS 25677424SmsmithAcpiExWriteDataToField ( 25777424Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 25877424Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 25977424Smsmith 26067754Smsmith/* 26191116Smsmith * exmisc - ACPI AML (p-code) execution - specific opcodes 26267754Smsmith */ 26367754Smsmith 26467754SmsmithACPI_STATUS 26585756SmsmithAcpiExOpcode_3A_0T_0R ( 26684491Smsmith ACPI_WALK_STATE *WalkState); 26780062Smsmith 26880062SmsmithACPI_STATUS 26985756SmsmithAcpiExOpcode_3A_1T_1R ( 27084491Smsmith ACPI_WALK_STATE *WalkState); 27180062Smsmith 27280062SmsmithACPI_STATUS 27385756SmsmithAcpiExOpcode_6A_0T_1R ( 27467754Smsmith ACPI_WALK_STATE *WalkState); 27567754Smsmith 27699679SiwasakiBOOLEAN 27799679SiwasakiAcpiExDoMatch ( 27899679Siwasaki UINT32 MatchOp, 27999679Siwasaki ACPI_INTEGER PackageValue, 28099679Siwasaki ACPI_INTEGER MatchValue); 28199679Siwasaki 28267754SmsmithACPI_STATUS 28385756SmsmithAcpiExGetObjectReference ( 28485756Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 28585756Smsmith ACPI_OPERAND_OBJECT **ReturnDesc, 28667754Smsmith ACPI_WALK_STATE *WalkState); 28767754Smsmith 28867754SmsmithACPI_STATUS 28991116SmsmithAcpiExConcatTemplate ( 29091116Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 29191116Smsmith ACPI_OPERAND_OBJECT *ObjDesc2, 29291116Smsmith ACPI_OPERAND_OBJECT **ActualReturnDesc, 29391116Smsmith ACPI_WALK_STATE *WalkState); 29491116Smsmith 29591116SmsmithACPI_STATUS 29685756SmsmithAcpiExDoConcatenate ( 29785756Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 29885756Smsmith ACPI_OPERAND_OBJECT *ObjDesc2, 29985756Smsmith ACPI_OPERAND_OBJECT **ActualReturnDesc, 30085756Smsmith ACPI_WALK_STATE *WalkState); 30185756Smsmith 30285756SmsmithBOOLEAN 30385756SmsmithAcpiExDoLogicalOp ( 30485756Smsmith UINT16 Opcode, 30585756Smsmith ACPI_INTEGER Operand0, 30685756Smsmith ACPI_INTEGER Operand1); 30785756Smsmith 30885756SmsmithACPI_INTEGER 30985756SmsmithAcpiExDoMathOp ( 31085756Smsmith UINT16 Opcode, 31185756Smsmith ACPI_INTEGER Operand0, 31285756Smsmith ACPI_INTEGER Operand1); 31385756Smsmith 31485756SmsmithACPI_STATUS 31577424SmsmithAcpiExCreateMutex ( 31667754Smsmith ACPI_WALK_STATE *WalkState); 31767754Smsmith 31867754SmsmithACPI_STATUS 31977424SmsmithAcpiExCreateProcessor ( 32085756Smsmith ACPI_WALK_STATE *WalkState); 32167754Smsmith 32267754SmsmithACPI_STATUS 32377424SmsmithAcpiExCreatePowerResource ( 32485756Smsmith ACPI_WALK_STATE *WalkState); 32567754Smsmith 32667754SmsmithACPI_STATUS 32777424SmsmithAcpiExCreateRegion ( 32884491Smsmith UINT8 *AmlStart, 32977424Smsmith UINT32 AmlLength, 33069746Smsmith UINT8 RegionSpace, 33167754Smsmith ACPI_WALK_STATE *WalkState); 33267754Smsmith 33367754SmsmithACPI_STATUS 33484491SmsmithAcpiExCreateTableRegion ( 33584491Smsmith ACPI_WALK_STATE *WalkState); 33684491Smsmith 33784491SmsmithACPI_STATUS 33877424SmsmithAcpiExCreateEvent ( 33967754Smsmith ACPI_WALK_STATE *WalkState); 34067754Smsmith 34167754SmsmithACPI_STATUS 34277424SmsmithAcpiExCreateAlias ( 34367754Smsmith ACPI_WALK_STATE *WalkState); 34467754Smsmith 34567754SmsmithACPI_STATUS 34677424SmsmithAcpiExCreateMethod ( 34784491Smsmith UINT8 *AmlStart, 34877424Smsmith UINT32 AmlLength, 34985756Smsmith ACPI_WALK_STATE *WalkState); 35067754Smsmith 35167754Smsmith 35267754Smsmith/* 35391116Smsmith * exconfig - dynamic table load/unload 35477424Smsmith */ 35577424Smsmith 35677424SmsmithACPI_STATUS 35791116SmsmithAcpiExAddTable ( 35891116Smsmith ACPI_TABLE_HEADER *Table, 35991116Smsmith ACPI_NAMESPACE_NODE *ParentNode, 36091116Smsmith ACPI_OPERAND_OBJECT **DdbHandle); 36191116Smsmith 36291116SmsmithACPI_STATUS 36391116SmsmithAcpiExLoadOp ( 36491116Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 36591116Smsmith ACPI_OPERAND_OBJECT *Target, 36691116Smsmith ACPI_WALK_STATE *WalkState); 36791116Smsmith 36891116SmsmithACPI_STATUS 36991116SmsmithAcpiExLoadTableOp ( 37091116Smsmith ACPI_WALK_STATE *WalkState, 37191116Smsmith ACPI_OPERAND_OBJECT **ReturnDesc); 37291116Smsmith 37391116SmsmithACPI_STATUS 37491116SmsmithAcpiExUnloadTable ( 37591116Smsmith ACPI_OPERAND_OBJECT *DdbHandle); 37691116Smsmith 37791116Smsmith 37891116Smsmith/* 37991116Smsmith * exmutex - mutex support 38091116Smsmith */ 38191116Smsmith 38291116SmsmithACPI_STATUS 38377424SmsmithAcpiExAcquireMutex ( 38477424Smsmith ACPI_OPERAND_OBJECT *TimeDesc, 38577424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 38677424Smsmith ACPI_WALK_STATE *WalkState); 38777424Smsmith 38877424SmsmithACPI_STATUS 38977424SmsmithAcpiExReleaseMutex ( 39077424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 39177424Smsmith ACPI_WALK_STATE *WalkState); 39277424Smsmith 39399679Siwasakivoid 39477424SmsmithAcpiExReleaseAllMutexes ( 39587031Smsmith ACPI_THREAD_STATE *Thread); 39677424Smsmith 39777424Smsmithvoid 39877424SmsmithAcpiExUnlinkMutex ( 39977424Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 40077424Smsmith 40187031Smsmithvoid 40287031SmsmithAcpiExLinkMutex ( 40387031Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 40487031Smsmith ACPI_THREAD_STATE *Thread); 40577424Smsmith 40677424Smsmith/* 40791116Smsmith * exprep - ACPI AML (p-code) execution - prep utilities 40867754Smsmith */ 40967754Smsmith 41067754SmsmithACPI_STATUS 41177424SmsmithAcpiExPrepCommonFieldObject ( 41277424Smsmith ACPI_OPERAND_OBJECT *ObjDesc, 41377424Smsmith UINT8 FieldFlags, 41487031Smsmith UINT8 FieldAttribute, 41587031Smsmith UINT32 FieldBitPosition, 41687031Smsmith UINT32 FieldBitLength); 41777424Smsmith 41877424SmsmithACPI_STATUS 41985756SmsmithAcpiExPrepFieldValue ( 42085756Smsmith ACPI_CREATE_FIELD_INFO *Info); 42167754Smsmith 42267754Smsmith/* 42391116Smsmith * exsystem - Interface to OS services 42467754Smsmith */ 42567754Smsmith 42667754SmsmithACPI_STATUS 42777424SmsmithAcpiExSystemDoNotifyOp ( 42867754Smsmith ACPI_OPERAND_OBJECT *Value, 42967754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 43067754Smsmith 43191116SmsmithACPI_STATUS 43277424SmsmithAcpiExSystemDoSuspend( 43367754Smsmith UINT32 Time); 43467754Smsmith 43591116SmsmithACPI_STATUS 43677424SmsmithAcpiExSystemDoStall ( 43767754Smsmith UINT32 Time); 43867754Smsmith 43967754SmsmithACPI_STATUS 44077424SmsmithAcpiExSystemAcquireMutex( 44167754Smsmith ACPI_OPERAND_OBJECT *Time, 44267754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 44367754Smsmith 44467754SmsmithACPI_STATUS 44577424SmsmithAcpiExSystemReleaseMutex( 44667754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 44767754Smsmith 44867754SmsmithACPI_STATUS 44977424SmsmithAcpiExSystemSignalEvent( 45067754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 45167754Smsmith 45267754SmsmithACPI_STATUS 45377424SmsmithAcpiExSystemWaitEvent( 45467754Smsmith ACPI_OPERAND_OBJECT *Time, 45567754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 45667754Smsmith 45767754SmsmithACPI_STATUS 45877424SmsmithAcpiExSystemResetEvent( 45967754Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 46067754Smsmith 46167754SmsmithACPI_STATUS 46277424SmsmithAcpiExSystemWaitSemaphore ( 46367754Smsmith ACPI_HANDLE Semaphore, 46467754Smsmith UINT32 Timeout); 46567754Smsmith 46667754Smsmith 46767754Smsmith/* 46891116Smsmith * exmonadic - ACPI AML (p-code) execution, monadic operators 46967754Smsmith */ 47067754Smsmith 47167754SmsmithACPI_STATUS 47285756SmsmithAcpiExOpcode_1A_0T_0R ( 47367754Smsmith ACPI_WALK_STATE *WalkState); 47467754Smsmith 47567754SmsmithACPI_STATUS 47685756SmsmithAcpiExOpcode_1A_0T_1R ( 47784491Smsmith ACPI_WALK_STATE *WalkState); 47867754Smsmith 47967754SmsmithACPI_STATUS 48085756SmsmithAcpiExOpcode_1A_1T_1R ( 48184491Smsmith ACPI_WALK_STATE *WalkState); 48267754Smsmith 48385756SmsmithACPI_STATUS 48485756SmsmithAcpiExOpcode_1A_1T_0R ( 48585756Smsmith ACPI_WALK_STATE *WalkState); 48667754Smsmith 48767754Smsmith/* 48891116Smsmith * exdyadic - ACPI AML (p-code) execution, dyadic operators 48967754Smsmith */ 49067754Smsmith 49167754SmsmithACPI_STATUS 49285756SmsmithAcpiExOpcode_2A_0T_0R ( 49367754Smsmith ACPI_WALK_STATE *WalkState); 49467754Smsmith 49567754SmsmithACPI_STATUS 49685756SmsmithAcpiExOpcode_2A_0T_1R ( 49784491Smsmith ACPI_WALK_STATE *WalkState); 49867754Smsmith 49967754SmsmithACPI_STATUS 50085756SmsmithAcpiExOpcode_2A_1T_1R ( 50184491Smsmith ACPI_WALK_STATE *WalkState); 50267754Smsmith 50367754SmsmithACPI_STATUS 50485756SmsmithAcpiExOpcode_2A_2T_1R ( 50584491Smsmith ACPI_WALK_STATE *WalkState); 50667754Smsmith 50767754Smsmith 50867754Smsmith/* 50991116Smsmith * exresolv - Object resolution and get value functions 51067754Smsmith */ 51167754Smsmith 51267754SmsmithACPI_STATUS 51377424SmsmithAcpiExResolveToValue ( 51467754Smsmith ACPI_OPERAND_OBJECT **StackPtr, 51567754Smsmith ACPI_WALK_STATE *WalkState); 51667754Smsmith 51767754SmsmithACPI_STATUS 51877424SmsmithAcpiExResolveNodeToValue ( 51969450Smsmith ACPI_NAMESPACE_NODE **StackPtr, 52069450Smsmith ACPI_WALK_STATE *WalkState); 52167754Smsmith 52267754SmsmithACPI_STATUS 52377424SmsmithAcpiExResolveObjectToValue ( 52467754Smsmith ACPI_OPERAND_OBJECT **StackPtr, 52567754Smsmith ACPI_WALK_STATE *WalkState); 52667754Smsmith 52767754Smsmith 52867754Smsmith/* 52991116Smsmith * exdump - Scanner debug output routines 53067754Smsmith */ 53167754Smsmith 53267754Smsmithvoid 53377424SmsmithAcpiExDumpOperand ( 53467754Smsmith ACPI_OPERAND_OBJECT *EntryDesc); 53567754Smsmith 53667754Smsmithvoid 53777424SmsmithAcpiExDumpOperands ( 53867754Smsmith ACPI_OPERAND_OBJECT **Operands, 53991116Smsmith ACPI_INTERPRETER_MODE InterpreterMode, 54067754Smsmith NATIVE_CHAR *Ident, 54167754Smsmith UINT32 NumLevels, 54267754Smsmith NATIVE_CHAR *Note, 54367754Smsmith NATIVE_CHAR *ModuleName, 54467754Smsmith UINT32 LineNumber); 54567754Smsmith 54667754Smsmithvoid 54777424SmsmithAcpiExDumpObjectDescriptor ( 54867754Smsmith ACPI_OPERAND_OBJECT *Object, 54967754Smsmith UINT32 Flags); 55067754Smsmith 55167754Smsmithvoid 55277424SmsmithAcpiExDumpNode ( 55367754Smsmith ACPI_NAMESPACE_NODE *Node, 55467754Smsmith UINT32 Flags); 55567754Smsmith 55699679Siwasakivoid 55799679SiwasakiAcpiExOutString ( 55899679Siwasaki char *Title, 55999679Siwasaki char *Value); 56067754Smsmith 56199679Siwasakivoid 56299679SiwasakiAcpiExOutPointer ( 56399679Siwasaki char *Title, 56499679Siwasaki void *Value); 56599679Siwasaki 56699679Siwasakivoid 56799679SiwasakiAcpiExOutInteger ( 56899679Siwasaki char *Title, 56999679Siwasaki UINT32 Value); 57099679Siwasaki 57199679Siwasakivoid 57299679SiwasakiAcpiExOutAddress ( 57399679Siwasaki char *Title, 57499679Siwasaki ACPI_PHYSICAL_ADDRESS Value); 57599679Siwasaki 57699679Siwasaki 57767754Smsmith/* 57891116Smsmith * exnames - interpreter/scanner name load/execute 57967754Smsmith */ 58067754Smsmith 58167754SmsmithNATIVE_CHAR * 58277424SmsmithAcpiExAllocateNameString ( 58367754Smsmith UINT32 PrefixCount, 58467754Smsmith UINT32 NumNameSegs); 58567754Smsmith 58667754SmsmithUINT32 58777424SmsmithAcpiExGoodChar ( 58867754Smsmith UINT32 Character); 58967754Smsmith 59067754SmsmithACPI_STATUS 59177424SmsmithAcpiExNameSegment ( 59267754Smsmith UINT8 **InAmlAddress, 59367754Smsmith NATIVE_CHAR *NameString); 59467754Smsmith 59567754SmsmithACPI_STATUS 59677424SmsmithAcpiExGetNameString ( 59791116Smsmith ACPI_OBJECT_TYPE DataType, 59867754Smsmith UINT8 *InAmlAddress, 59967754Smsmith NATIVE_CHAR **OutNameString, 60067754Smsmith UINT32 *OutNameLength); 60167754Smsmith 60267754SmsmithACPI_STATUS 60377424SmsmithAcpiExDoName ( 60467754Smsmith ACPI_OBJECT_TYPE DataType, 60591116Smsmith ACPI_INTERPRETER_MODE LoadExecMode); 60667754Smsmith 60767754Smsmith 60867754Smsmith/* 60991116Smsmith * exstore - Object store support 61067754Smsmith */ 61167754Smsmith 61267754SmsmithACPI_STATUS 61377424SmsmithAcpiExStore ( 61467754Smsmith ACPI_OPERAND_OBJECT *ValDesc, 61567754Smsmith ACPI_OPERAND_OBJECT *DestDesc, 61667754Smsmith ACPI_WALK_STATE *WalkState); 61767754Smsmith 61867754SmsmithACPI_STATUS 61977424SmsmithAcpiExStoreObjectToIndex ( 62067754Smsmith ACPI_OPERAND_OBJECT *ValDesc, 62167754Smsmith ACPI_OPERAND_OBJECT *DestDesc, 62267754Smsmith ACPI_WALK_STATE *WalkState); 62367754Smsmith 62467754SmsmithACPI_STATUS 62577424SmsmithAcpiExStoreObjectToNode ( 62671867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 62767754Smsmith ACPI_NAMESPACE_NODE *Node, 62867754Smsmith ACPI_WALK_STATE *WalkState); 62967754Smsmith 63067754Smsmith 63167754Smsmith/* 63291116Smsmith * exstoren 63371867Smsmith */ 63471867Smsmith 63571867SmsmithACPI_STATUS 63677424SmsmithAcpiExResolveObject ( 63771867Smsmith ACPI_OPERAND_OBJECT **SourceDescPtr, 63891116Smsmith ACPI_OBJECT_TYPE TargetType, 63971867Smsmith ACPI_WALK_STATE *WalkState); 64071867Smsmith 64171867SmsmithACPI_STATUS 64291116SmsmithAcpiExStoreObjectToObject ( 64371867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 64491116Smsmith ACPI_OPERAND_OBJECT *DestDesc, 64591116Smsmith ACPI_OPERAND_OBJECT **NewDesc, 64671867Smsmith ACPI_WALK_STATE *WalkState); 64771867Smsmith 64871867Smsmith 64971867Smsmith/* 65091116Smsmith * excopy - object copy 65171867Smsmith */ 65271867Smsmith 65371867SmsmithACPI_STATUS 65491116SmsmithAcpiExStoreBufferToBuffer ( 65571867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 65671867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 65771867Smsmith 65871867SmsmithACPI_STATUS 65991116SmsmithAcpiExStoreStringToString ( 66071867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 66171867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 66271867Smsmith 66371867SmsmithACPI_STATUS 66477424SmsmithAcpiExCopyIntegerToIndexField ( 66571867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 66671867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 66771867Smsmith 66871867SmsmithACPI_STATUS 66977424SmsmithAcpiExCopyIntegerToBankField ( 67071867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 67171867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 67271867Smsmith 67371867SmsmithACPI_STATUS 67477424SmsmithAcpiExCopyDataToNamedField ( 67571867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 67671867Smsmith ACPI_NAMESPACE_NODE *Node); 67771867Smsmith 67871867SmsmithACPI_STATUS 67977424SmsmithAcpiExCopyIntegerToBufferField ( 68071867Smsmith ACPI_OPERAND_OBJECT *SourceDesc, 68171867Smsmith ACPI_OPERAND_OBJECT *TargetDesc); 68271867Smsmith 68371867Smsmith/* 68491116Smsmith * exutils - interpreter/scanner utilities 68567754Smsmith */ 68667754Smsmith 68777424SmsmithACPI_STATUS 68877424SmsmithAcpiExEnterInterpreter ( 68967754Smsmith void); 69067754Smsmith 69167754Smsmithvoid 69277424SmsmithAcpiExExitInterpreter ( 69367754Smsmith void); 69467754Smsmith 69569450Smsmithvoid 69677424SmsmithAcpiExTruncateFor32bitTable ( 69799679Siwasaki ACPI_OPERAND_OBJECT *ObjDesc); 69869450Smsmith 69967754SmsmithBOOLEAN 70077424SmsmithAcpiExValidateObjectType ( 70167754Smsmith ACPI_OBJECT_TYPE Type); 70267754Smsmith 70367754SmsmithBOOLEAN 70477424SmsmithAcpiExAcquireGlobalLock ( 70567754Smsmith UINT32 Rule); 70667754Smsmith 70799679Siwasakivoid 70877424SmsmithAcpiExReleaseGlobalLock ( 70967754Smsmith BOOLEAN Locked); 71067754Smsmith 71167754SmsmithUINT32 71277424SmsmithAcpiExDigitsNeeded ( 71367754Smsmith ACPI_INTEGER Value, 71467754Smsmith UINT32 Base); 71567754Smsmith 71699679Siwasakivoid 71777424SmsmithAcpiExEisaIdToString ( 71867754Smsmith UINT32 NumericId, 71967754Smsmith NATIVE_CHAR *OutString); 72067754Smsmith 72199679Siwasakivoid 72277424SmsmithAcpiExUnsignedIntegerToString ( 72367754Smsmith ACPI_INTEGER Value, 72467754Smsmith NATIVE_CHAR *OutString); 72567754Smsmith 72667754Smsmith 72767754Smsmith/* 72891116Smsmith * exregion - default OpRegion handlers 72967754Smsmith */ 73067754Smsmith 73167754SmsmithACPI_STATUS 73277424SmsmithAcpiExSystemMemorySpaceHandler ( 73367754Smsmith UINT32 Function, 73469450Smsmith ACPI_PHYSICAL_ADDRESS Address, 73567754Smsmith UINT32 BitWidth, 73687031Smsmith ACPI_INTEGER *Value, 73767754Smsmith void *HandlerContext, 73867754Smsmith void *RegionContext); 73967754Smsmith 74067754SmsmithACPI_STATUS 74177424SmsmithAcpiExSystemIoSpaceHandler ( 74267754Smsmith UINT32 Function, 74369450Smsmith ACPI_PHYSICAL_ADDRESS Address, 74467754Smsmith UINT32 BitWidth, 74587031Smsmith ACPI_INTEGER *Value, 74667754Smsmith void *HandlerContext, 74767754Smsmith void *RegionContext); 74867754Smsmith 74967754SmsmithACPI_STATUS 75077424SmsmithAcpiExPciConfigSpaceHandler ( 75167754Smsmith UINT32 Function, 75269450Smsmith ACPI_PHYSICAL_ADDRESS Address, 75367754Smsmith UINT32 BitWidth, 75487031Smsmith ACPI_INTEGER *Value, 75567754Smsmith void *HandlerContext, 75667754Smsmith void *RegionContext); 75767754Smsmith 75867754SmsmithACPI_STATUS 75984491SmsmithAcpiExCmosSpaceHandler ( 76084491Smsmith UINT32 Function, 76184491Smsmith ACPI_PHYSICAL_ADDRESS Address, 76284491Smsmith UINT32 BitWidth, 76387031Smsmith ACPI_INTEGER *Value, 76484491Smsmith void *HandlerContext, 76584491Smsmith void *RegionContext); 76684491Smsmith 76784491SmsmithACPI_STATUS 76884491SmsmithAcpiExPciBarSpaceHandler ( 76984491Smsmith UINT32 Function, 77084491Smsmith ACPI_PHYSICAL_ADDRESS Address, 77184491Smsmith UINT32 BitWidth, 77287031Smsmith ACPI_INTEGER *Value, 77384491Smsmith void *HandlerContext, 77484491Smsmith void *RegionContext); 77584491Smsmith 77684491SmsmithACPI_STATUS 77777424SmsmithAcpiExEmbeddedControllerSpaceHandler ( 77867754Smsmith UINT32 Function, 77969450Smsmith ACPI_PHYSICAL_ADDRESS Address, 78067754Smsmith UINT32 BitWidth, 78187031Smsmith ACPI_INTEGER *Value, 78267754Smsmith void *HandlerContext, 78367754Smsmith void *RegionContext); 78467754Smsmith 78567754SmsmithACPI_STATUS 78677424SmsmithAcpiExSmBusSpaceHandler ( 78767754Smsmith UINT32 Function, 78869450Smsmith ACPI_PHYSICAL_ADDRESS Address, 78967754Smsmith UINT32 BitWidth, 79087031Smsmith ACPI_INTEGER *Value, 79167754Smsmith void *HandlerContext, 79267754Smsmith void *RegionContext); 79367754Smsmith 79467754Smsmith 79591116SmsmithACPI_STATUS 79691116SmsmithAcpiExDataTableSpaceHandler ( 79791116Smsmith UINT32 Function, 79891116Smsmith ACPI_PHYSICAL_ADDRESS Address, 79991116Smsmith UINT32 BitWidth, 80091116Smsmith ACPI_INTEGER *Value, 80191116Smsmith void *HandlerContext, 80291116Smsmith void *RegionContext); 80391116Smsmith 80467754Smsmith#endif /* __INTERP_H__ */ 805