acinterp.h revision 117521
160573Skris/****************************************************************************** 260573Skris * 360573Skris * Name: acinterp.h - Interpreter subcomponent prototypes and defines 460573Skris * $Revision: 146 $ 560573Skris * 660573Skris *****************************************************************************/ 760573Skris 860573Skris/****************************************************************************** 960573Skris * 1060573Skris * 1. Copyright Notice 1160573Skris * 1260573Skris * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp. 1360573Skris * All rights reserved. 1460573Skris * 1560573Skris * 2. License 1660573Skris * 1760573Skris * 2.1. This is your license from Intel Corp. under its intellectual property 1860573Skris * rights. You may have additional license terms from the party that provided 1960573Skris * you this software, covering your right to use that party's intellectual 2060573Skris * property rights. 2160573Skris * 2260573Skris * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 2360573Skris * copy of the source code appearing in this file ("Covered Code") an 2460573Skris * irrevocable, perpetual, worldwide license under Intel's copyrights in the 2560573Skris * base code distributed originally by Intel ("Original Intel Code") to copy, 2669587Sgreen * make derivatives, distribute, use and display any portion of the Covered 2760573Skris * Code in any form, with the right to sublicense such rights; and 2860573Skris * 2960573Skris * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 3060573Skris * license (with the right to sublicense), under only those claims of Intel 3160573Skris * patents that are infringed by the Original Intel Code, to make, use, sell, 3260573Skris * offer to sell, and import the Covered Code and derivative works thereof 3360573Skris * solely to the minimum extent necessary to exercise the above copyright 3460573Skris * license, and in no event shall the patent license extend to any additions 3560573Skris * to or modifications of the Original Intel Code. No other license or right 3660573Skris * is granted directly or by implication, estoppel or otherwise; 3760573Skris * 3860573Skris * The above copyright and patent license is granted only if the following 3960573Skris * conditions are met: 4060573Skris * 4160573Skris * 3. Conditions 4260573Skris * 4360573Skris * 3.1. Redistribution of Source with Rights to Further Distribute Source. 4460573Skris * Redistribution of source code of any substantial portion of the Covered 4560573Skris * Code or modification with rights to further distribute source must include 4660573Skris * the above Copyright Notice, the above License, this list of Conditions, 4760573Skris * and the following Disclaimer and Export Compliance provision. In addition, 4860573Skris * Licensee must cause all Covered Code to which Licensee contributes to 4960573Skris * contain a file documenting the changes Licensee made to create that Covered 5060573Skris * Code and the date of any change. Licensee must include in that file the 5169587Sgreen * documentation of any changes made by any predecessor Licensee. Licensee 5269587Sgreen * must include a prominent statement that the modification is derived, 5365668Skris * directly or indirectly, from Original Intel Code. 5460573Skris * 5569587Sgreen * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 5669587Sgreen * Redistribution of source code of any substantial portion of the Covered 5769587Sgreen * Code or modification without rights to further distribute source must 5860573Skris * include the following Disclaimer and Export Compliance provision in the 5960573Skris * documentation and/or other materials provided with distribution. In 6060573Skris * addition, Licensee may not authorize further sublicense of source of any 6160573Skris * portion of the Covered Code, and must include terms to the effect that the 6260573Skris * license from Licensee to its licensee is limited to the intellectual 6360573Skris * property embodied in the software Licensee provides to its licensee, and 6460573Skris * not to intellectual property embodied in modifications its licensee may 6560573Skris * make. 6660573Skris * 6760573Skris * 3.3. Redistribution of Executable. Redistribution in executable form of any 6860573Skris * substantial portion of the Covered Code or modification must reproduce the 6960573Skris * above Copyright Notice, and the following Disclaimer and Export Compliance 7060573Skris * provision in the documentation and/or other materials provided with the 7169587Sgreen * distribution. 7260573Skris * 7369587Sgreen * 3.4. Intel retains all right, title, and interest in and to the Original 7469587Sgreen * Intel Code. 7569587Sgreen * 7669587Sgreen * 3.5. Neither the name Intel nor any other trademark owned or controlled by 7769587Sgreen * Intel shall be used in advertising or otherwise to promote the sale, use or 7869587Sgreen * other dealings in products derived from or relating to the Covered Code 7969587Sgreen * without prior written authorization from Intel. 8069587Sgreen * 8169587Sgreen * 4. Disclaimer and Export Compliance 8269587Sgreen * 8369587Sgreen * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 8469587Sgreen * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 8569587Sgreen * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 8669587Sgreen * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 8769587Sgreen * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 8869587Sgreen * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 8969587Sgreen * PARTICULAR PURPOSE. 9069587Sgreen * 9169587Sgreen * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 9269587Sgreen * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 9369587Sgreen * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 9469587Sgreen * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 9569587Sgreen * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 9669587Sgreen * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 9769587Sgreen * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 9869587Sgreen * LIMITED REMEDY. 9969587Sgreen * 10069587Sgreen * 4.3. Licensee shall not export, either directly or indirectly, any of this 10169587Sgreen * software or system incorporating such software without first obtaining any 10269587Sgreen * required license or other approval from the U. S. Department of Commerce or 10369587Sgreen * any other agency or department of the United States Government. In the 10469587Sgreen * event Licensee exports any such software from the United States or 10569587Sgreen * re-exports any such software from a foreign destination, Licensee shall 10669587Sgreen * ensure that the distribution and export/re-export of the software is in 10769587Sgreen * compliance with all laws, regulations, orders, or other restrictions of the 10869587Sgreen * U.S. Export Administration Regulations. Licensee agrees that neither it nor 10969587Sgreen * any of its subsidiaries will export/re-export any technical data, process, 11069587Sgreen * software, or service, directly or indirectly, to any country for which the 11169587Sgreen * United States government or any agency thereof requires an export license, 11269587Sgreen * other governmental approval, or letter of assurance, without first obtaining 11369587Sgreen * such license, approval or letter. 11469587Sgreen * 11569587Sgreen *****************************************************************************/ 11669587Sgreen 11769587Sgreen#ifndef __ACINTERP_H__ 11869587Sgreen#define __ACINTERP_H__ 11969587Sgreen 12069587Sgreen 12169587Sgreen#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) 12269587Sgreen 12369587Sgreen 12469587SgreenACPI_STATUS 12569587SgreenAcpiExResolveOperands ( 12669587Sgreen UINT16 Opcode, 12769587Sgreen ACPI_OPERAND_OBJECT **StackPtr, 12869587Sgreen ACPI_WALK_STATE *WalkState); 12969587Sgreen 13069587SgreenACPI_STATUS 13169587SgreenAcpiExCheckObjectType ( 13269587Sgreen ACPI_OBJECT_TYPE TypeNeeded, 13369587Sgreen ACPI_OBJECT_TYPE ThisType, 13469587Sgreen void *Object); 13569587Sgreen 13669587Sgreen/* 13769587Sgreen * exxface - External interpreter interfaces 13869587Sgreen */ 13969587Sgreen 14069587SgreenACPI_STATUS 14169587SgreenAcpiExLoadTable ( 14269587Sgreen ACPI_TABLE_TYPE TableId); 14369587Sgreen 14469587SgreenACPI_STATUS 14569587SgreenAcpiExExecuteMethod ( 14669587Sgreen ACPI_NAMESPACE_NODE *MethodNode, 14769587Sgreen ACPI_OPERAND_OBJECT **Params, 14869587Sgreen ACPI_OPERAND_OBJECT **ReturnObjDesc); 14969587Sgreen 15069587Sgreen 15169587Sgreen/* 15269587Sgreen * exconvrt - object conversion 15369587Sgreen */ 15469587Sgreen 15569587SgreenACPI_STATUS 15669587SgreenAcpiExConvertToInteger ( 15769587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 15869587Sgreen ACPI_OPERAND_OBJECT **ResultDesc, 15961209Skris ACPI_WALK_STATE *WalkState); 16060573Skris 16160573SkrisACPI_STATUS 16260573SkrisAcpiExConvertToBuffer ( 16360573Skris ACPI_OPERAND_OBJECT *ObjDesc, 16460573Skris ACPI_OPERAND_OBJECT **ResultDesc, 16560573Skris ACPI_WALK_STATE *WalkState); 16660573Skris 16760573SkrisACPI_STATUS 16860573SkrisAcpiExConvertToString ( 16960573Skris ACPI_OPERAND_OBJECT *ObjDesc, 17060573Skris ACPI_OPERAND_OBJECT **ResultDesc, 17160573Skris UINT32 Base, 17260573Skris UINT32 MaxLength, 17360573Skris ACPI_WALK_STATE *WalkState); 17460573Skris 17560573SkrisACPI_STATUS 17660573SkrisAcpiExConvertToTargetType ( 17760573Skris ACPI_OBJECT_TYPE DestinationType, 17860573Skris ACPI_OPERAND_OBJECT *SourceDesc, 17960573Skris ACPI_OPERAND_OBJECT **ResultDesc, 18060573Skris ACPI_WALK_STATE *WalkState); 18160573Skris 18269587SgreenUINT32 18360573SkrisAcpiExConvertToAscii ( 18469587Sgreen ACPI_INTEGER Integer, 18560573Skris UINT32 Base, 18669587Sgreen UINT8 *String, 18760573Skris UINT8 MaxLength); 18860573Skris 18960573Skris/* 19060573Skris * exfield - ACPI AML (p-code) execution - field manipulation 19160573Skris */ 19260573Skris 19361209SkrisACPI_STATUS 19460573SkrisAcpiExExtractFromField ( 19560573Skris ACPI_OPERAND_OBJECT *ObjDesc, 19660573Skris void *Buffer, 19760573Skris UINT32 BufferLength); 19860573Skris 19960573SkrisACPI_STATUS 20060573SkrisAcpiExInsertIntoField ( 20160573Skris ACPI_OPERAND_OBJECT *ObjDesc, 20260573Skris void *Buffer, 20360573Skris UINT32 BufferLength); 20469587Sgreen 20560573SkrisACPI_STATUS 20660573SkrisAcpiExSetupRegion ( 20760573Skris ACPI_OPERAND_OBJECT *ObjDesc, 20860573Skris UINT32 FieldDatumByteOffset); 20960573Skris 21060573SkrisACPI_STATUS 21160573SkrisAcpiExAccessRegion ( 21260573Skris ACPI_OPERAND_OBJECT *ObjDesc, 21360573Skris UINT32 FieldDatumByteOffset, 21469587Sgreen ACPI_INTEGER *Value, 21560573Skris UINT32 ReadWrite); 21660573Skris 21760573SkrisBOOLEAN 21860573SkrisAcpiExRegisterOverflow ( 21960573Skris ACPI_OPERAND_OBJECT *ObjDesc, 22060573Skris ACPI_INTEGER Value); 22160573Skris 22260573SkrisACPI_STATUS 22360573SkrisAcpiExFieldDatumIo ( 22460573Skris ACPI_OPERAND_OBJECT *ObjDesc, 22560573Skris UINT32 FieldDatumByteOffset, 22660573Skris ACPI_INTEGER *Value, 22760573Skris UINT32 ReadWrite); 22860573Skris 22960573SkrisACPI_STATUS 23060573SkrisAcpiExWriteWithUpdateRule ( 23160573Skris ACPI_OPERAND_OBJECT *ObjDesc, 23260573Skris ACPI_INTEGER Mask, 23360573Skris ACPI_INTEGER FieldValue, 23460573Skris UINT32 FieldDatumByteOffset); 23560573Skris 23660573Skrisvoid 23760573SkrisAcpiExGetBufferDatum( 23860573Skris ACPI_INTEGER *Datum, 23960573Skris void *Buffer, 24060573Skris UINT32 BufferLength, 24160573Skris UINT32 ByteGranularity, 24260573Skris UINT32 BufferOffset); 24360573Skris 24460573Skrisvoid 24560573SkrisAcpiExSetBufferDatum ( 24660573Skris ACPI_INTEGER MergedDatum, 24760573Skris void *Buffer, 24860573Skris UINT32 BufferLength, 24960573Skris UINT32 ByteGranularity, 25060573Skris UINT32 BufferOffset); 25160573Skris 25260573SkrisACPI_STATUS 25360573SkrisAcpiExReadDataFromField ( 25461209Skris ACPI_WALK_STATE *WalkState, 25560573Skris ACPI_OPERAND_OBJECT *ObjDesc, 25660573Skris ACPI_OPERAND_OBJECT **RetBufferDesc); 25760573Skris 25860573SkrisACPI_STATUS 25960573SkrisAcpiExWriteDataToField ( 26060573Skris ACPI_OPERAND_OBJECT *SourceDesc, 26160573Skris ACPI_OPERAND_OBJECT *ObjDesc, 26260573Skris ACPI_OPERAND_OBJECT **ResultDesc); 26360573Skris 26460573Skris/* 26560573Skris * exmisc - ACPI AML (p-code) execution - specific opcodes 26660573Skris */ 26760573Skris 26860573SkrisACPI_STATUS 26960573SkrisAcpiExOpcode_3A_0T_0R ( 27060573Skris ACPI_WALK_STATE *WalkState); 27160573Skris 27261209SkrisACPI_STATUS 27360573SkrisAcpiExOpcode_3A_1T_1R ( 27469587Sgreen ACPI_WALK_STATE *WalkState); 27569587Sgreen 27669587SgreenACPI_STATUS 27769587SgreenAcpiExOpcode_6A_0T_1R ( 27869587Sgreen ACPI_WALK_STATE *WalkState); 27969587Sgreen 28069587SgreenBOOLEAN 28169587SgreenAcpiExDoMatch ( 28269587Sgreen UINT32 MatchOp, 28369587Sgreen ACPI_INTEGER PackageValue, 28469587Sgreen ACPI_INTEGER MatchValue); 28569587Sgreen 28669587SgreenACPI_STATUS 28769587SgreenAcpiExGetObjectReference ( 28869587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 28969587Sgreen ACPI_OPERAND_OBJECT **ReturnDesc, 29069587Sgreen ACPI_WALK_STATE *WalkState); 29169587Sgreen 29269587SgreenACPI_STATUS 29369587SgreenAcpiExResolveMultiple ( 29469587Sgreen ACPI_WALK_STATE *WalkState, 29561209Skris ACPI_OPERAND_OBJECT *Operand, 29669587Sgreen ACPI_OBJECT_TYPE *ReturnType, 29769587Sgreen ACPI_OPERAND_OBJECT **ReturnDesc); 29861209Skris 29969587SgreenACPI_STATUS 30069587SgreenAcpiExConcatTemplate ( 30169587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 30269587Sgreen ACPI_OPERAND_OBJECT *ObjDesc2, 30369587Sgreen ACPI_OPERAND_OBJECT **ActualReturnDesc, 30469587Sgreen ACPI_WALK_STATE *WalkState); 30569587Sgreen 30669587SgreenACPI_STATUS 30769587SgreenAcpiExDoConcatenate ( 30869587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 30969587Sgreen ACPI_OPERAND_OBJECT *ObjDesc2, 31069587Sgreen ACPI_OPERAND_OBJECT **ActualReturnDesc, 31169587Sgreen ACPI_WALK_STATE *WalkState); 31269587Sgreen 31369587SgreenBOOLEAN 31469587SgreenAcpiExDoLogicalOp ( 31561209Skris UINT16 Opcode, 31669587Sgreen ACPI_INTEGER Operand0, 31761209Skris ACPI_INTEGER Operand1); 31869587Sgreen 31969587SgreenACPI_INTEGER 32069587SgreenAcpiExDoMathOp ( 32169587Sgreen UINT16 Opcode, 32269587Sgreen ACPI_INTEGER Operand0, 32361209Skris ACPI_INTEGER Operand1); 32469587Sgreen 32569587SgreenACPI_STATUS 32669587SgreenAcpiExCreateMutex ( 32761209Skris ACPI_WALK_STATE *WalkState); 32869587Sgreen 32961209SkrisACPI_STATUS 33069587SgreenAcpiExCreateProcessor ( 33161209Skris ACPI_WALK_STATE *WalkState); 33269587Sgreen 33360573SkrisACPI_STATUS 33469587SgreenAcpiExCreatePowerResource ( 33569587Sgreen ACPI_WALK_STATE *WalkState); 33669587Sgreen 33769587SgreenACPI_STATUS 33869587SgreenAcpiExCreateRegion ( 33969587Sgreen UINT8 *AmlStart, 34069587Sgreen UINT32 AmlLength, 34169587Sgreen UINT8 RegionSpace, 34269587Sgreen ACPI_WALK_STATE *WalkState); 34369587Sgreen 34469587SgreenACPI_STATUS 34569587SgreenAcpiExCreateTableRegion ( 34669587Sgreen ACPI_WALK_STATE *WalkState); 34769587Sgreen 34869587SgreenACPI_STATUS 34969587SgreenAcpiExCreateEvent ( 35069587Sgreen ACPI_WALK_STATE *WalkState); 35169587Sgreen 35269587SgreenACPI_STATUS 35369587SgreenAcpiExCreateAlias ( 35469587Sgreen ACPI_WALK_STATE *WalkState); 35569587Sgreen 35669587SgreenACPI_STATUS 35769587SgreenAcpiExCreateMethod ( 35860573Skris UINT8 *AmlStart, 35960573Skris UINT32 AmlLength, 36060573Skris ACPI_WALK_STATE *WalkState); 36169587Sgreen 36269587Sgreen 36369587Sgreen/* 36469587Sgreen * exconfig - dynamic table load/unload 36569587Sgreen */ 36669587Sgreen 36769587SgreenACPI_STATUS 36869587SgreenAcpiExAddTable ( 36969587Sgreen ACPI_TABLE_HEADER *Table, 37069587Sgreen ACPI_NAMESPACE_NODE *ParentNode, 37169587Sgreen ACPI_OPERAND_OBJECT **DdbHandle); 37269587Sgreen 37369587SgreenACPI_STATUS 37469587SgreenAcpiExLoadOp ( 37569587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 37669587Sgreen ACPI_OPERAND_OBJECT *Target, 37769587Sgreen ACPI_WALK_STATE *WalkState); 37869587Sgreen 37969587SgreenACPI_STATUS 38069587SgreenAcpiExLoadTableOp ( 38169587Sgreen ACPI_WALK_STATE *WalkState, 38260573Skris ACPI_OPERAND_OBJECT **ReturnDesc); 38369587Sgreen 38469587SgreenACPI_STATUS 38569587SgreenAcpiExUnloadTable ( 38669587Sgreen ACPI_OPERAND_OBJECT *DdbHandle); 38760573Skris 38869587Sgreen 38969587Sgreen/* 39069587Sgreen * exmutex - mutex support 39169587Sgreen */ 39269587Sgreen 39369587SgreenACPI_STATUS 39469587SgreenAcpiExAcquireMutex ( 39569587Sgreen ACPI_OPERAND_OBJECT *TimeDesc, 39669587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 39769587Sgreen ACPI_WALK_STATE *WalkState); 39869587Sgreen 39969587SgreenACPI_STATUS 40069587SgreenAcpiExReleaseMutex ( 40169587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 40269587Sgreen ACPI_WALK_STATE *WalkState); 40369587Sgreen 40469587Sgreenvoid 40569587SgreenAcpiExReleaseAllMutexes ( 40669587Sgreen ACPI_THREAD_STATE *Thread); 40769587Sgreen 40869587Sgreenvoid 40969587SgreenAcpiExUnlinkMutex ( 41069587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 41169587Sgreen 41269587Sgreenvoid 41369587SgreenAcpiExLinkMutex ( 41469587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 41569587Sgreen ACPI_THREAD_STATE *Thread); 41669587Sgreen 41769587Sgreen/* 41869587Sgreen * exprep - ACPI AML (p-code) execution - prep utilities 41969587Sgreen */ 42069587Sgreen 42169587SgreenACPI_STATUS 42269587SgreenAcpiExPrepCommonFieldObject ( 42369587Sgreen ACPI_OPERAND_OBJECT *ObjDesc, 42469587Sgreen UINT8 FieldFlags, 42569587Sgreen UINT8 FieldAttribute, 42669587Sgreen UINT32 FieldBitPosition, 42769587Sgreen UINT32 FieldBitLength); 42869587Sgreen 42969587SgreenACPI_STATUS 43069587SgreenAcpiExPrepFieldValue ( 43169587Sgreen ACPI_CREATE_FIELD_INFO *Info); 43269587Sgreen 43369587Sgreen/* 43469587Sgreen * exsystem - Interface to OS services 43569587Sgreen */ 43669587Sgreen 43769587SgreenACPI_STATUS 43869587SgreenAcpiExSystemDoNotifyOp ( 43969587Sgreen ACPI_OPERAND_OBJECT *Value, 44069587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 44169587Sgreen 44269587SgreenACPI_STATUS 44360573SkrisAcpiExSystemDoSuspend( 44461209Skris UINT32 Time); 44560573Skris 44660573SkrisACPI_STATUS 44760573SkrisAcpiExSystemDoStall ( 44869587Sgreen UINT32 Time); 44969587Sgreen 45069587SgreenACPI_STATUS 45169587SgreenAcpiExSystemAcquireMutex( 45269587Sgreen ACPI_OPERAND_OBJECT *Time, 45369587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 45469587Sgreen 45569587SgreenACPI_STATUS 45669587SgreenAcpiExSystemReleaseMutex( 45769587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 45869587Sgreen 45969587SgreenACPI_STATUS 46069587SgreenAcpiExSystemSignalEvent( 46169587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 46269587Sgreen 46369587SgreenACPI_STATUS 46469587SgreenAcpiExSystemWaitEvent( 46569587Sgreen ACPI_OPERAND_OBJECT *Time, 46669587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 46769587Sgreen 46869587SgreenACPI_STATUS 46969587SgreenAcpiExSystemResetEvent( 47069587Sgreen ACPI_OPERAND_OBJECT *ObjDesc); 47169587Sgreen 47269587SgreenACPI_STATUS 47369587SgreenAcpiExSystemWaitSemaphore ( 47469587Sgreen ACPI_HANDLE Semaphore, 47569587Sgreen UINT16 Timeout); 47669587Sgreen 47769587Sgreen 47869587Sgreen/* 47969587Sgreen * exmonadic - ACPI AML (p-code) execution, monadic operators 48069587Sgreen */ 48169587Sgreen 48269587SgreenACPI_STATUS 48369587SgreenAcpiExOpcode_1A_0T_0R ( 48469587Sgreen ACPI_WALK_STATE *WalkState); 48569587Sgreen 48669587SgreenACPI_STATUS 48769587SgreenAcpiExOpcode_1A_0T_1R ( 48869587Sgreen ACPI_WALK_STATE *WalkState); 48969587Sgreen 49069587SgreenACPI_STATUS 49169587SgreenAcpiExOpcode_1A_1T_1R ( 49269587Sgreen ACPI_WALK_STATE *WalkState); 49369587Sgreen 49469587SgreenACPI_STATUS 49569587SgreenAcpiExOpcode_1A_1T_0R ( 49669587Sgreen ACPI_WALK_STATE *WalkState); 49769587Sgreen 49869587Sgreen/* 49969587Sgreen * exdyadic - ACPI AML (p-code) execution, dyadic operators 50069587Sgreen */ 50169587Sgreen 50269587SgreenACPI_STATUS 50369587SgreenAcpiExOpcode_2A_0T_0R ( 50469587Sgreen ACPI_WALK_STATE *WalkState); 50569587Sgreen 50669587SgreenACPI_STATUS 50769587SgreenAcpiExOpcode_2A_0T_1R ( 50869587Sgreen ACPI_WALK_STATE *WalkState); 50969587Sgreen 51069587SgreenACPI_STATUS 51169587SgreenAcpiExOpcode_2A_1T_1R ( 51269587Sgreen ACPI_WALK_STATE *WalkState); 51369587Sgreen 51469587SgreenACPI_STATUS 51569587SgreenAcpiExOpcode_2A_2T_1R ( 51669587Sgreen ACPI_WALK_STATE *WalkState); 51769587Sgreen 51869587Sgreen 51969587Sgreen/* 52069587Sgreen * exresolv - Object resolution and get value functions 52169587Sgreen */ 52269587Sgreen 52369587SgreenACPI_STATUS 52469587SgreenAcpiExResolveToValue ( 52569587Sgreen ACPI_OPERAND_OBJECT **StackPtr, 52669587Sgreen ACPI_WALK_STATE *WalkState); 52769587Sgreen 52869587SgreenACPI_STATUS 52969587SgreenAcpiExResolveNodeToValue ( 53069587Sgreen ACPI_NAMESPACE_NODE **StackPtr, 53169587Sgreen ACPI_WALK_STATE *WalkState); 53269587Sgreen 53369587SgreenACPI_STATUS 53469587SgreenAcpiExResolveObjectToValue ( 53569587Sgreen ACPI_OPERAND_OBJECT **StackPtr, 53669587Sgreen ACPI_WALK_STATE *WalkState); 53769587Sgreen 53869587Sgreen 53969587Sgreen/* 54069587Sgreen * exdump - Scanner debug output routines 54169587Sgreen */ 54269587Sgreen 54369587Sgreenvoid 54469587SgreenAcpiExDumpOperand ( 54569587Sgreen ACPI_OPERAND_OBJECT *EntryDesc); 54669587Sgreen 54769587Sgreenvoid 54869587SgreenAcpiExDumpOperands ( 54969587Sgreen ACPI_OPERAND_OBJECT **Operands, 55069587Sgreen ACPI_INTERPRETER_MODE InterpreterMode, 55169587Sgreen char *Ident, 55269587Sgreen UINT32 NumLevels, 55369587Sgreen char *Note, 55469587Sgreen char *ModuleName, 55569587Sgreen UINT32 LineNumber); 55669587Sgreen 55769587Sgreenvoid 55869587SgreenAcpiExDumpObjectDescriptor ( 55969587Sgreen ACPI_OPERAND_OBJECT *Object, 56069587Sgreen UINT32 Flags); 56169587Sgreen 56269587Sgreenvoid 56369587SgreenAcpiExDumpNode ( 56469587Sgreen ACPI_NAMESPACE_NODE *Node, 56569587Sgreen UINT32 Flags); 56669587Sgreen 56769587Sgreenvoid 56869587SgreenAcpiExOutString ( 56969587Sgreen char *Title, 57069587Sgreen char *Value); 57169587Sgreen 57269587Sgreenvoid 57369587SgreenAcpiExOutPointer ( 57469587Sgreen char *Title, 57569587Sgreen void *Value); 57669587Sgreen 57769587Sgreenvoid 57869587SgreenAcpiExOutInteger ( 57969587Sgreen char *Title, 58069587Sgreen UINT32 Value); 58169587Sgreen 58269587Sgreenvoid 58369587SgreenAcpiExOutAddress ( 58469587Sgreen char *Title, 58569587Sgreen ACPI_PHYSICAL_ADDRESS Value); 58669587Sgreen 58769587Sgreen 58869587Sgreen/* 58969587Sgreen * exnames - interpreter/scanner name load/execute 59069587Sgreen */ 59169587Sgreen 59269587Sgreenchar * 59369587SgreenAcpiExAllocateNameString ( 59469587Sgreen UINT32 PrefixCount, 59569587Sgreen UINT32 NumNameSegs); 59669587Sgreen 59769587SgreenUINT32 59869587SgreenAcpiExGoodChar ( 59969587Sgreen UINT32 Character); 60069587Sgreen 60169587SgreenACPI_STATUS 60269587SgreenAcpiExNameSegment ( 60369587Sgreen UINT8 **InAmlAddress, 60460573Skris char *NameString); 60569587Sgreen 60660573SkrisACPI_STATUS 60769587SgreenAcpiExGetNameString ( 60869587Sgreen ACPI_OBJECT_TYPE DataType, 60969587Sgreen UINT8 *InAmlAddress, 61069587Sgreen char **OutNameString, 61169587Sgreen UINT32 *OutNameLength); 61269587Sgreen 61369587SgreenACPI_STATUS 61469587SgreenAcpiExDoName ( 61569587Sgreen ACPI_OBJECT_TYPE DataType, 61669587Sgreen ACPI_INTERPRETER_MODE LoadExecMode); 61769587Sgreen 61869587Sgreen 61969587Sgreen/* 62060573Skris * exstore - Object store support 62160573Skris */ 62260573Skris 62360573SkrisACPI_STATUS 62465668SkrisAcpiExStore ( 62560573Skris ACPI_OPERAND_OBJECT *ValDesc, 62660573Skris ACPI_OPERAND_OBJECT *DestDesc, 62765668Skris ACPI_WALK_STATE *WalkState); 62865668Skris 62965668SkrisACPI_STATUS 63060573SkrisAcpiExStoreObjectToIndex ( 63169587Sgreen ACPI_OPERAND_OBJECT *ValDesc, 63260573Skris ACPI_OPERAND_OBJECT *DestDesc, 63360573Skris ACPI_WALK_STATE *WalkState); 63469587Sgreen 63569587SgreenACPI_STATUS 63669587SgreenAcpiExStoreObjectToNode ( 63760573Skris ACPI_OPERAND_OBJECT *SourceDesc, 63860573Skris ACPI_NAMESPACE_NODE *Node, 63960573Skris ACPI_WALK_STATE *WalkState); 64060573Skris 64160573Skris 64260573Skris/* 64360573Skris * exstoren 64460573Skris */ 64560573Skris 64660573SkrisACPI_STATUS 64769587SgreenAcpiExResolveObject ( 64860573Skris ACPI_OPERAND_OBJECT **SourceDescPtr, 64960573Skris ACPI_OBJECT_TYPE TargetType, 65060573Skris ACPI_WALK_STATE *WalkState); 65160573Skris 65265668SkrisACPI_STATUS 65365668SkrisAcpiExStoreObjectToObject ( 65469587Sgreen ACPI_OPERAND_OBJECT *SourceDesc, 65560573Skris ACPI_OPERAND_OBJECT *DestDesc, 65660573Skris ACPI_OPERAND_OBJECT **NewDesc, 65760573Skris ACPI_WALK_STATE *WalkState); 65860573Skris 65960573Skris 66069587Sgreen/* 66169587Sgreen * excopy - object copy 66269587Sgreen */ 66369587Sgreen 66465668SkrisACPI_STATUS 66565668SkrisAcpiExStoreBufferToBuffer ( 66665668Skris ACPI_OPERAND_OBJECT *SourceDesc, 66760573Skris ACPI_OPERAND_OBJECT *TargetDesc); 66869587Sgreen 66960573SkrisACPI_STATUS 67060573SkrisAcpiExStoreStringToString ( 67160573Skris ACPI_OPERAND_OBJECT *SourceDesc, 67269587Sgreen ACPI_OPERAND_OBJECT *TargetDesc); 67369587Sgreen 67469587SgreenACPI_STATUS 67560573SkrisAcpiExCopyIntegerToIndexField ( 67660573Skris ACPI_OPERAND_OBJECT *SourceDesc, 67760573Skris ACPI_OPERAND_OBJECT *TargetDesc); 67860573Skris 67969587SgreenACPI_STATUS 68065668SkrisAcpiExCopyIntegerToBankField ( 68165668Skris ACPI_OPERAND_OBJECT *SourceDesc, 68265668Skris ACPI_OPERAND_OBJECT *TargetDesc); 68365668Skris 68465668SkrisACPI_STATUS 68560573SkrisAcpiExCopyDataToNamedField ( 68660573Skris ACPI_OPERAND_OBJECT *SourceDesc, 68760573Skris ACPI_NAMESPACE_NODE *Node); 68860573Skris 68960573SkrisACPI_STATUS 69060573SkrisAcpiExCopyIntegerToBufferField ( 69160573Skris ACPI_OPERAND_OBJECT *SourceDesc, 69269587Sgreen ACPI_OPERAND_OBJECT *TargetDesc); 69369587Sgreen 69469587Sgreen/* 69569587Sgreen * exutils - interpreter/scanner utilities 69660573Skris */ 69760573Skris 69860573SkrisACPI_STATUS 69960573SkrisAcpiExEnterInterpreter ( 70060573Skris void); 70160573Skris 70260573Skrisvoid 70360573SkrisAcpiExExitInterpreter ( 70460573Skris void); 70565668Skris 70669587Sgreenvoid 70765668SkrisAcpiExTruncateFor32bitTable ( 70860573Skris ACPI_OPERAND_OBJECT *ObjDesc); 70960573Skris 71060573SkrisBOOLEAN 71160573SkrisAcpiExAcquireGlobalLock ( 71260573Skris UINT32 Rule); 71360573Skris 71460573Skrisvoid 71560573SkrisAcpiExReleaseGlobalLock ( 71660573Skris BOOLEAN Locked); 71765668Skris 71860573SkrisUINT32 71960573SkrisAcpiExDigitsNeeded ( 72060573Skris ACPI_INTEGER Value, 72169587Sgreen UINT32 Base); 72269587Sgreen 72369587Sgreenvoid 72469587SgreenAcpiExEisaIdToString ( 72569587Sgreen UINT32 NumericId, 72669587Sgreen char *OutString); 72769587Sgreen 72865668Skrisvoid 72969587SgreenAcpiExUnsignedIntegerToString ( 73065668Skris ACPI_INTEGER Value, 73165668Skris char *OutString); 73269587Sgreen 73365668Skris 73465668Skris/* 73565668Skris * exregion - default OpRegion handlers 73665668Skris */ 73765668Skris 73865668SkrisACPI_STATUS 73965668SkrisAcpiExSystemMemorySpaceHandler ( 74065668Skris UINT32 Function, 74165668Skris ACPI_PHYSICAL_ADDRESS Address, 74265668Skris UINT32 BitWidth, 74365668Skris ACPI_INTEGER *Value, 74465668Skris void *HandlerContext, 74565668Skris void *RegionContext); 74665668Skris 74769587SgreenACPI_STATUS 74869587SgreenAcpiExSystemIoSpaceHandler ( 74969587Sgreen UINT32 Function, 75069587Sgreen ACPI_PHYSICAL_ADDRESS Address, 75169587Sgreen UINT32 BitWidth, 75269587Sgreen ACPI_INTEGER *Value, 75369587Sgreen void *HandlerContext, 75469587Sgreen void *RegionContext); 75569587Sgreen 75669587SgreenACPI_STATUS 75769587SgreenAcpiExPciConfigSpaceHandler ( 75869587Sgreen UINT32 Function, 75969587Sgreen ACPI_PHYSICAL_ADDRESS Address, 76069587Sgreen UINT32 BitWidth, 76169587Sgreen ACPI_INTEGER *Value, 76269587Sgreen void *HandlerContext, 76369587Sgreen void *RegionContext); 76465668Skris 76565668SkrisACPI_STATUS 76665668SkrisAcpiExCmosSpaceHandler ( 76765668Skris UINT32 Function, 76865668Skris ACPI_PHYSICAL_ADDRESS Address, 76969587Sgreen UINT32 BitWidth, 77065668Skris ACPI_INTEGER *Value, 77165668Skris void *HandlerContext, 77265668Skris void *RegionContext); 77365668Skris 77469587SgreenACPI_STATUS 77569587SgreenAcpiExPciBarSpaceHandler ( 77665668Skris UINT32 Function, 77765668Skris ACPI_PHYSICAL_ADDRESS Address, 77869587Sgreen UINT32 BitWidth, 77965668Skris ACPI_INTEGER *Value, 78065668Skris void *HandlerContext, 78165668Skris void *RegionContext); 78269587Sgreen 78365668SkrisACPI_STATUS 78465668SkrisAcpiExEmbeddedControllerSpaceHandler ( 78565668Skris UINT32 Function, 78665668Skris ACPI_PHYSICAL_ADDRESS Address, 78765668Skris UINT32 BitWidth, 78865668Skris ACPI_INTEGER *Value, 78965668Skris void *HandlerContext, 79069587Sgreen void *RegionContext); 79169587Sgreen 79265668SkrisACPI_STATUS 79369587SgreenAcpiExSmBusSpaceHandler ( 79465668Skris UINT32 Function, 79569587Sgreen ACPI_PHYSICAL_ADDRESS Address, 79669587Sgreen UINT32 BitWidth, 79765668Skris ACPI_INTEGER *Value, 79869587Sgreen void *HandlerContext, 79965668Skris void *RegionContext); 80065668Skris 80169587Sgreen 80265668SkrisACPI_STATUS 80365668SkrisAcpiExDataTableSpaceHandler ( 80465668Skris UINT32 Function, 80565668Skris ACPI_PHYSICAL_ADDRESS Address, 80669587Sgreen UINT32 BitWidth, 80769587Sgreen ACPI_INTEGER *Value, 80869587Sgreen void *HandlerContext, 80969587Sgreen void *RegionContext); 81069587Sgreen 81169587Sgreen#endif /* __INTERP_H__ */ 81269587Sgreen