Path: blob/main/sys/contrib/dev/acpica/include/acinterp.h
48285 views
/******************************************************************************1*2* Name: acinterp.h - Interpreter subcomponent prototypes and defines3*4*****************************************************************************/56/******************************************************************************7*8* 1. Copyright Notice9*10* Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.11* All rights reserved.12*13* 2. License14*15* 2.1. This is your license from Intel Corp. under its intellectual property16* rights. You may have additional license terms from the party that provided17* you this software, covering your right to use that party's intellectual18* property rights.19*20* 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a21* copy of the source code appearing in this file ("Covered Code") an22* irrevocable, perpetual, worldwide license under Intel's copyrights in the23* base code distributed originally by Intel ("Original Intel Code") to copy,24* make derivatives, distribute, use and display any portion of the Covered25* Code in any form, with the right to sublicense such rights; and26*27* 2.3. Intel grants Licensee a non-exclusive and non-transferable patent28* license (with the right to sublicense), under only those claims of Intel29* patents that are infringed by the Original Intel Code, to make, use, sell,30* offer to sell, and import the Covered Code and derivative works thereof31* solely to the minimum extent necessary to exercise the above copyright32* license, and in no event shall the patent license extend to any additions33* to or modifications of the Original Intel Code. No other license or right34* is granted directly or by implication, estoppel or otherwise;35*36* The above copyright and patent license is granted only if the following37* conditions are met:38*39* 3. Conditions40*41* 3.1. Redistribution of Source with Rights to Further Distribute Source.42* Redistribution of source code of any substantial portion of the Covered43* Code or modification with rights to further distribute source must include44* the above Copyright Notice, the above License, this list of Conditions,45* and the following Disclaimer and Export Compliance provision. In addition,46* Licensee must cause all Covered Code to which Licensee contributes to47* contain a file documenting the changes Licensee made to create that Covered48* Code and the date of any change. Licensee must include in that file the49* documentation of any changes made by any predecessor Licensee. Licensee50* must include a prominent statement that the modification is derived,51* directly or indirectly, from Original Intel Code.52*53* 3.2. Redistribution of Source with no Rights to Further Distribute Source.54* Redistribution of source code of any substantial portion of the Covered55* Code or modification without rights to further distribute source must56* include the following Disclaimer and Export Compliance provision in the57* documentation and/or other materials provided with distribution. In58* addition, Licensee may not authorize further sublicense of source of any59* portion of the Covered Code, and must include terms to the effect that the60* license from Licensee to its licensee is limited to the intellectual61* property embodied in the software Licensee provides to its licensee, and62* not to intellectual property embodied in modifications its licensee may63* make.64*65* 3.3. Redistribution of Executable. Redistribution in executable form of any66* substantial portion of the Covered Code or modification must reproduce the67* above Copyright Notice, and the following Disclaimer and Export Compliance68* provision in the documentation and/or other materials provided with the69* distribution.70*71* 3.4. Intel retains all right, title, and interest in and to the Original72* Intel Code.73*74* 3.5. Neither the name Intel nor any other trademark owned or controlled by75* Intel shall be used in advertising or otherwise to promote the sale, use or76* other dealings in products derived from or relating to the Covered Code77* without prior written authorization from Intel.78*79* 4. Disclaimer and Export Compliance80*81* 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED82* HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE83* IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,84* INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY85* UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY86* IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A87* PARTICULAR PURPOSE.88*89* 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES90* OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR91* COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,92* SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY93* CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL94* HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS95* SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY96* LIMITED REMEDY.97*98* 4.3. Licensee shall not export, either directly or indirectly, any of this99* software or system incorporating such software without first obtaining any100* required license or other approval from the U. S. Department of Commerce or101* any other agency or department of the United States Government. In the102* event Licensee exports any such software from the United States or103* re-exports any such software from a foreign destination, Licensee shall104* ensure that the distribution and export/re-export of the software is in105* compliance with all laws, regulations, orders, or other restrictions of the106* U.S. Export Administration Regulations. Licensee agrees that neither it nor107* any of its subsidiaries will export/re-export any technical data, process,108* software, or service, directly or indirectly, to any country for which the109* United States government or any agency thereof requires an export license,110* other governmental approval, or letter of assurance, without first obtaining111* such license, approval or letter.112*113*****************************************************************************114*115* Alternatively, you may choose to be licensed under the terms of the116* following license:117*118* Redistribution and use in source and binary forms, with or without119* modification, are permitted provided that the following conditions120* are met:121* 1. Redistributions of source code must retain the above copyright122* notice, this list of conditions, and the following disclaimer,123* without modification.124* 2. Redistributions in binary form must reproduce at minimum a disclaimer125* substantially similar to the "NO WARRANTY" disclaimer below126* ("Disclaimer") and any redistribution must be conditioned upon127* including a substantially similar Disclaimer requirement for further128* binary redistribution.129* 3. Neither the names of the above-listed copyright holders nor the names130* of any contributors may be used to endorse or promote products derived131* from this software without specific prior written permission.132*133* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS134* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT135* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR136* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT137* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,138* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT139* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,140* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY141* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT142* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE143* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.144*145* Alternatively, you may choose to be licensed under the terms of the146* GNU General Public License ("GPL") version 2 as published by the Free147* Software Foundation.148*149*****************************************************************************/150151#ifndef __ACINTERP_H__152#define __ACINTERP_H__153154155#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1]))156157/* Macros for tables used for debug output */158159#define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f)160#define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f)161#define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO))162163/*164* If possible, pack the following structures to byte alignment, since we165* don't care about performance for debug output. Two cases where we cannot166* pack the structures:167*168* 1) Hardware does not support misaligned memory transfers169* 2) Compiler does not support pointers within packed structures170*/171#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))172#pragma pack(1)173#endif174175typedef const struct acpi_exdump_info176{177UINT8 Opcode;178UINT8 Offset;179const char *Name;180181} ACPI_EXDUMP_INFO;182183/* Values for the Opcode field above */184185#define ACPI_EXD_INIT 0186#define ACPI_EXD_TYPE 1187#define ACPI_EXD_UINT8 2188#define ACPI_EXD_UINT16 3189#define ACPI_EXD_UINT32 4190#define ACPI_EXD_UINT64 5191#define ACPI_EXD_LITERAL 6192#define ACPI_EXD_POINTER 7193#define ACPI_EXD_ADDRESS 8194#define ACPI_EXD_STRING 9195#define ACPI_EXD_BUFFER 10196#define ACPI_EXD_PACKAGE 11197#define ACPI_EXD_FIELD 12198#define ACPI_EXD_REFERENCE 13199#define ACPI_EXD_LIST 14 /* Operand object list */200#define ACPI_EXD_HDLR_LIST 15 /* Address Handler list */201#define ACPI_EXD_RGN_LIST 16 /* Region list */202#define ACPI_EXD_NODE 17 /* Namespace Node */203204/* restore default alignment */205206#pragma pack()207208209/*210* exconvrt - object conversion211*/212ACPI_STATUS213AcpiExConvertToInteger (214ACPI_OPERAND_OBJECT *ObjDesc,215ACPI_OPERAND_OBJECT **ResultDesc,216UINT32 ImplicitConversion);217218ACPI_STATUS219AcpiExConvertToBuffer (220ACPI_OPERAND_OBJECT *ObjDesc,221ACPI_OPERAND_OBJECT **ResultDesc);222223ACPI_STATUS224AcpiExConvertToString (225ACPI_OPERAND_OBJECT *ObjDesc,226ACPI_OPERAND_OBJECT **ResultDesc,227UINT32 Type);228229/* Types for ->String conversion */230231#define ACPI_EXPLICIT_BYTE_COPY 0x00000000232#define ACPI_EXPLICIT_CONVERT_HEX 0x00000001233#define ACPI_IMPLICIT_CONVERT_HEX 0x00000002234#define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003235236ACPI_STATUS237AcpiExConvertToTargetType (238ACPI_OBJECT_TYPE DestinationType,239ACPI_OPERAND_OBJECT *SourceDesc,240ACPI_OPERAND_OBJECT **ResultDesc,241ACPI_WALK_STATE *WalkState);242243244/*245* exdebug - AML debug object246*/247void248AcpiExDoDebugObject (249ACPI_OPERAND_OBJECT *SourceDesc,250UINT32 Level,251UINT32 Index);252253void254AcpiExStartTraceMethod (255ACPI_NAMESPACE_NODE *MethodNode,256ACPI_OPERAND_OBJECT *ObjDesc,257ACPI_WALK_STATE *WalkState);258259void260AcpiExStopTraceMethod (261ACPI_NAMESPACE_NODE *MethodNode,262ACPI_OPERAND_OBJECT *ObjDesc,263ACPI_WALK_STATE *WalkState);264265void266AcpiExStartTraceOpcode (267ACPI_PARSE_OBJECT *Op,268ACPI_WALK_STATE *WalkState);269270void271AcpiExStopTraceOpcode (272ACPI_PARSE_OBJECT *Op,273ACPI_WALK_STATE *WalkState);274275void276AcpiExTracePoint (277ACPI_TRACE_EVENT_TYPE Type,278BOOLEAN Begin,279UINT8 *Aml,280char *Pathname);281282void283AcpiExTraceArgs(284ACPI_OPERAND_OBJECT **Params,285UINT32 Count);286287/*288* exfield - ACPI AML (p-code) execution - field manipulation289*/290ACPI_STATUS291AcpiExGetProtocolBufferLength (292UINT32 ProtocolId,293UINT32 *ReturnLength);294295ACPI_STATUS296AcpiExCommonBufferSetup (297ACPI_OPERAND_OBJECT *ObjDesc,298UINT32 BufferLength,299UINT32 *DatumCount);300301ACPI_STATUS302AcpiExWriteWithUpdateRule (303ACPI_OPERAND_OBJECT *ObjDesc,304UINT64 Mask,305UINT64 FieldValue,306UINT32 FieldDatumByteOffset);307308void309AcpiExGetBufferDatum(310UINT64 *Datum,311void *Buffer,312UINT32 BufferLength,313UINT32 ByteGranularity,314UINT32 BufferOffset);315316void317AcpiExSetBufferDatum (318UINT64 MergedDatum,319void *Buffer,320UINT32 BufferLength,321UINT32 ByteGranularity,322UINT32 BufferOffset);323324ACPI_STATUS325AcpiExReadDataFromField (326ACPI_WALK_STATE *WalkState,327ACPI_OPERAND_OBJECT *ObjDesc,328ACPI_OPERAND_OBJECT **RetBufferDesc);329330ACPI_STATUS331AcpiExWriteDataToField (332ACPI_OPERAND_OBJECT *SourceDesc,333ACPI_OPERAND_OBJECT *ObjDesc,334ACPI_OPERAND_OBJECT **ResultDesc);335336337/*338* exfldio - low level field I/O339*/340ACPI_STATUS341AcpiExExtractFromField (342ACPI_OPERAND_OBJECT *ObjDesc,343void *Buffer,344UINT32 BufferLength);345346ACPI_STATUS347AcpiExInsertIntoField (348ACPI_OPERAND_OBJECT *ObjDesc,349void *Buffer,350UINT32 BufferLength);351352ACPI_STATUS353AcpiExAccessRegion (354ACPI_OPERAND_OBJECT *ObjDesc,355UINT32 FieldDatumByteOffset,356UINT64 *Value,357UINT32 ReadWrite);358359360/*361* exmisc - misc support routines362*/363ACPI_STATUS364AcpiExGetObjectReference (365ACPI_OPERAND_OBJECT *ObjDesc,366ACPI_OPERAND_OBJECT **ReturnDesc,367ACPI_WALK_STATE *WalkState);368369ACPI_STATUS370AcpiExConcatTemplate (371ACPI_OPERAND_OBJECT *ObjDesc,372ACPI_OPERAND_OBJECT *ObjDesc2,373ACPI_OPERAND_OBJECT **ActualReturnDesc,374ACPI_WALK_STATE *WalkState);375376ACPI_STATUS377AcpiExDoConcatenate (378ACPI_OPERAND_OBJECT *ObjDesc,379ACPI_OPERAND_OBJECT *ObjDesc2,380ACPI_OPERAND_OBJECT **ActualReturnDesc,381ACPI_WALK_STATE *WalkState);382383ACPI_STATUS384AcpiExDoLogicalNumericOp (385UINT16 Opcode,386UINT64 Integer0,387UINT64 Integer1,388BOOLEAN *LogicalResult);389390ACPI_STATUS391AcpiExDoLogicalOp (392UINT16 Opcode,393ACPI_OPERAND_OBJECT *Operand0,394ACPI_OPERAND_OBJECT *Operand1,395BOOLEAN *LogicalResult);396397UINT64398AcpiExDoMathOp (399UINT16 Opcode,400UINT64 Operand0,401UINT64 Operand1);402403ACPI_STATUS404AcpiExCreateMutex (405ACPI_WALK_STATE *WalkState);406407ACPI_STATUS408AcpiExCreateProcessor (409ACPI_WALK_STATE *WalkState);410411ACPI_STATUS412AcpiExCreatePowerResource (413ACPI_WALK_STATE *WalkState);414415ACPI_STATUS416AcpiExCreateRegion (417UINT8 *AmlStart,418UINT32 AmlLength,419UINT8 RegionSpace,420ACPI_WALK_STATE *WalkState);421422ACPI_STATUS423AcpiExCreateEvent (424ACPI_WALK_STATE *WalkState);425426ACPI_STATUS427AcpiExCreateAlias (428ACPI_WALK_STATE *WalkState);429430ACPI_STATUS431AcpiExCreateMethod (432UINT8 *AmlStart,433UINT32 AmlLength,434ACPI_WALK_STATE *WalkState);435436437/*438* exconfig - dynamic table load/unload439*/440ACPI_STATUS441AcpiExLoadOp (442ACPI_OPERAND_OBJECT *ObjDesc,443ACPI_OPERAND_OBJECT *Target,444ACPI_WALK_STATE *WalkState);445446ACPI_STATUS447AcpiExLoadTableOp (448ACPI_WALK_STATE *WalkState,449ACPI_OPERAND_OBJECT **ReturnDesc);450451ACPI_STATUS452AcpiExUnloadTable (453ACPI_OPERAND_OBJECT *DdbHandle);454455456/*457* exmutex - mutex support458*/459ACPI_STATUS460AcpiExAcquireMutex (461ACPI_OPERAND_OBJECT *TimeDesc,462ACPI_OPERAND_OBJECT *ObjDesc,463ACPI_WALK_STATE *WalkState);464465ACPI_STATUS466AcpiExAcquireMutexObject (467UINT16 Timeout,468ACPI_OPERAND_OBJECT *ObjDesc,469ACPI_THREAD_ID ThreadId);470471ACPI_STATUS472AcpiExReleaseMutex (473ACPI_OPERAND_OBJECT *ObjDesc,474ACPI_WALK_STATE *WalkState);475476ACPI_STATUS477AcpiExReleaseMutexObject (478ACPI_OPERAND_OBJECT *ObjDesc);479480void481AcpiExReleaseAllMutexes (482ACPI_THREAD_STATE *Thread);483484void485AcpiExUnlinkMutex (486ACPI_OPERAND_OBJECT *ObjDesc);487488489/*490* exprep - ACPI AML execution - prep utilities491*/492ACPI_STATUS493AcpiExPrepCommonFieldObject (494ACPI_OPERAND_OBJECT *ObjDesc,495UINT8 FieldFlags,496UINT8 FieldAttribute,497UINT32 FieldBitPosition,498UINT32 FieldBitLength);499500ACPI_STATUS501AcpiExPrepFieldValue (502ACPI_CREATE_FIELD_INFO *Info);503504505/*506* exserial - FieldUnit support for serial address spaces507*/508ACPI_STATUS509AcpiExReadSerialBus (510ACPI_OPERAND_OBJECT *ObjDesc,511ACPI_OPERAND_OBJECT **ReturnBuffer);512513ACPI_STATUS514AcpiExWriteSerialBus (515ACPI_OPERAND_OBJECT *SourceDesc,516ACPI_OPERAND_OBJECT *ObjDesc,517ACPI_OPERAND_OBJECT **ReturnBuffer);518519ACPI_STATUS520AcpiExReadGpio (521ACPI_OPERAND_OBJECT *ObjDesc,522void *Buffer);523524ACPI_STATUS525AcpiExWriteGpio (526ACPI_OPERAND_OBJECT *SourceDesc,527ACPI_OPERAND_OBJECT *ObjDesc,528ACPI_OPERAND_OBJECT **ReturnBuffer);529530531/*532* exsystem - Interface to OS services533*/534ACPI_STATUS535AcpiExSystemDoNotifyOp (536ACPI_OPERAND_OBJECT *Value,537ACPI_OPERAND_OBJECT *ObjDesc);538539ACPI_STATUS540AcpiExSystemDoSleep(541UINT64 Time);542543ACPI_STATUS544AcpiExSystemDoStall (545UINT32 Time);546547ACPI_STATUS548AcpiExSystemSignalEvent(549ACPI_OPERAND_OBJECT *ObjDesc);550551ACPI_STATUS552AcpiExSystemWaitEvent(553ACPI_OPERAND_OBJECT *Time,554ACPI_OPERAND_OBJECT *ObjDesc);555556ACPI_STATUS557AcpiExSystemResetEvent(558ACPI_OPERAND_OBJECT *ObjDesc);559560ACPI_STATUS561AcpiExSystemWaitSemaphore (562ACPI_SEMAPHORE Semaphore,563UINT16 Timeout);564565ACPI_STATUS566AcpiExSystemWaitMutex (567ACPI_MUTEX Mutex,568UINT16 Timeout);569570/*571* exoparg1 - ACPI AML execution, 1 operand572*/573ACPI_STATUS574AcpiExOpcode_0A_0T_1R (575ACPI_WALK_STATE *WalkState);576577ACPI_STATUS578AcpiExOpcode_1A_0T_0R (579ACPI_WALK_STATE *WalkState);580581ACPI_STATUS582AcpiExOpcode_1A_0T_1R (583ACPI_WALK_STATE *WalkState);584585ACPI_STATUS586AcpiExOpcode_1A_1T_1R (587ACPI_WALK_STATE *WalkState);588589ACPI_STATUS590AcpiExOpcode_1A_1T_0R (591ACPI_WALK_STATE *WalkState);592593/*594* exoparg2 - ACPI AML execution, 2 operands595*/596ACPI_STATUS597AcpiExOpcode_2A_0T_0R (598ACPI_WALK_STATE *WalkState);599600ACPI_STATUS601AcpiExOpcode_2A_0T_1R (602ACPI_WALK_STATE *WalkState);603604ACPI_STATUS605AcpiExOpcode_2A_1T_1R (606ACPI_WALK_STATE *WalkState);607608ACPI_STATUS609AcpiExOpcode_2A_2T_1R (610ACPI_WALK_STATE *WalkState);611612613/*614* exoparg3 - ACPI AML execution, 3 operands615*/616ACPI_STATUS617AcpiExOpcode_3A_0T_0R (618ACPI_WALK_STATE *WalkState);619620ACPI_STATUS621AcpiExOpcode_3A_1T_1R (622ACPI_WALK_STATE *WalkState);623624625/*626* exoparg6 - ACPI AML execution, 6 operands627*/628ACPI_STATUS629AcpiExOpcode_6A_0T_1R (630ACPI_WALK_STATE *WalkState);631632633/*634* exresolv - Object resolution and get value functions635*/636ACPI_STATUS637AcpiExResolveToValue (638ACPI_OPERAND_OBJECT **StackPtr,639ACPI_WALK_STATE *WalkState);640641ACPI_STATUS642AcpiExResolveMultiple (643ACPI_WALK_STATE *WalkState,644ACPI_OPERAND_OBJECT *Operand,645ACPI_OBJECT_TYPE *ReturnType,646ACPI_OPERAND_OBJECT **ReturnDesc);647648649/*650* exresnte - resolve namespace node651*/652ACPI_STATUS653AcpiExResolveNodeToValue (654ACPI_NAMESPACE_NODE **StackPtr,655ACPI_WALK_STATE *WalkState);656657658/*659* exresop - resolve operand to value660*/661ACPI_STATUS662AcpiExResolveOperands (663UINT16 Opcode,664ACPI_OPERAND_OBJECT **StackPtr,665ACPI_WALK_STATE *WalkState);666667668/*669* exdump - Interpreter debug output routines670*/671void672AcpiExDumpOperand (673ACPI_OPERAND_OBJECT *ObjDesc,674UINT32 Depth);675676void677AcpiExDumpOperands (678ACPI_OPERAND_OBJECT **Operands,679const char *OpcodeName,680UINT32 NumOpcodes);681682void683AcpiExDumpObjectDescriptor (684ACPI_OPERAND_OBJECT *Object,685UINT32 Flags);686687void688AcpiExDumpNamespaceNode (689ACPI_NAMESPACE_NODE *Node,690UINT32 Flags);691692693/*694* exnames - AML namestring support695*/696ACPI_STATUS697AcpiExGetNameString (698ACPI_OBJECT_TYPE DataType,699UINT8 *InAmlAddress,700char **OutNameString,701UINT32 *OutNameLength);702703704/*705* exstore - Object store support706*/707ACPI_STATUS708AcpiExStore (709ACPI_OPERAND_OBJECT *ValDesc,710ACPI_OPERAND_OBJECT *DestDesc,711ACPI_WALK_STATE *WalkState);712713ACPI_STATUS714AcpiExStoreObjectToNode (715ACPI_OPERAND_OBJECT *SourceDesc,716ACPI_NAMESPACE_NODE *Node,717ACPI_WALK_STATE *WalkState,718UINT8 ImplicitConversion);719720721/*722* exstoren - resolve/store object723*/724ACPI_STATUS725AcpiExResolveObject (726ACPI_OPERAND_OBJECT **SourceDescPtr,727ACPI_OBJECT_TYPE TargetType,728ACPI_WALK_STATE *WalkState);729730ACPI_STATUS731AcpiExStoreObjectToObject (732ACPI_OPERAND_OBJECT *SourceDesc,733ACPI_OPERAND_OBJECT *DestDesc,734ACPI_OPERAND_OBJECT **NewDesc,735ACPI_WALK_STATE *WalkState);736737738/*739* exstorob - store object - buffer/string740*/741ACPI_STATUS742AcpiExStoreBufferToBuffer (743ACPI_OPERAND_OBJECT *SourceDesc,744ACPI_OPERAND_OBJECT *TargetDesc);745746ACPI_STATUS747AcpiExStoreStringToString (748ACPI_OPERAND_OBJECT *SourceDesc,749ACPI_OPERAND_OBJECT *TargetDesc);750751752/*753* excopy - object copy754*/755ACPI_STATUS756AcpiExCopyIntegerToIndexField (757ACPI_OPERAND_OBJECT *SourceDesc,758ACPI_OPERAND_OBJECT *TargetDesc);759760ACPI_STATUS761AcpiExCopyIntegerToBankField (762ACPI_OPERAND_OBJECT *SourceDesc,763ACPI_OPERAND_OBJECT *TargetDesc);764765ACPI_STATUS766AcpiExCopyDataToNamedField (767ACPI_OPERAND_OBJECT *SourceDesc,768ACPI_NAMESPACE_NODE *Node);769770ACPI_STATUS771AcpiExCopyIntegerToBufferField (772ACPI_OPERAND_OBJECT *SourceDesc,773ACPI_OPERAND_OBJECT *TargetDesc);774775776/*777* exutils - interpreter/scanner utilities778*/779void780AcpiExEnterInterpreter (781void);782783void784AcpiExExitInterpreter (785void);786787BOOLEAN788AcpiExTruncateFor32bitTable (789ACPI_OPERAND_OBJECT *ObjDesc);790791void792AcpiExAcquireGlobalLock (793UINT32 Rule);794795void796AcpiExReleaseGlobalLock (797UINT32 Rule);798799void800AcpiExEisaIdToString (801char *Dest,802UINT64 CompressedId);803804void805AcpiExIntegerToString (806char *Dest,807UINT64 Value);808809void810AcpiExPciClsToString (811char *Dest,812UINT8 ClassCode[3]);813814BOOLEAN815AcpiIsValidSpaceId (816UINT8 SpaceId);817818819/*820* exregion - default OpRegion handlers821*/822ACPI_STATUS823AcpiExSystemMemorySpaceHandler (824UINT32 Function,825ACPI_PHYSICAL_ADDRESS Address,826UINT32 BitWidth,827UINT64 *Value,828void *HandlerContext,829void *RegionContext);830831ACPI_STATUS832AcpiExSystemIoSpaceHandler (833UINT32 Function,834ACPI_PHYSICAL_ADDRESS Address,835UINT32 BitWidth,836UINT64 *Value,837void *HandlerContext,838void *RegionContext);839840ACPI_STATUS841AcpiExPciConfigSpaceHandler (842UINT32 Function,843ACPI_PHYSICAL_ADDRESS Address,844UINT32 BitWidth,845UINT64 *Value,846void *HandlerContext,847void *RegionContext);848849ACPI_STATUS850AcpiExCmosSpaceHandler (851UINT32 Function,852ACPI_PHYSICAL_ADDRESS Address,853UINT32 BitWidth,854UINT64 *Value,855void *HandlerContext,856void *RegionContext);857858ACPI_STATUS859AcpiExPciBarSpaceHandler (860UINT32 Function,861ACPI_PHYSICAL_ADDRESS Address,862UINT32 BitWidth,863UINT64 *Value,864void *HandlerContext,865void *RegionContext);866867ACPI_STATUS868AcpiExEmbeddedControllerSpaceHandler (869UINT32 Function,870ACPI_PHYSICAL_ADDRESS Address,871UINT32 BitWidth,872UINT64 *Value,873void *HandlerContext,874void *RegionContext);875876ACPI_STATUS877AcpiExSmBusSpaceHandler (878UINT32 Function,879ACPI_PHYSICAL_ADDRESS Address,880UINT32 BitWidth,881UINT64 *Value,882void *HandlerContext,883void *RegionContext);884885886ACPI_STATUS887AcpiExDataTableSpaceHandler (888UINT32 Function,889ACPI_PHYSICAL_ADDRESS Address,890UINT32 BitWidth,891UINT64 *Value,892void *HandlerContext,893void *RegionContext);894895#endif /* __INTERP_H__ */896897898