1a9f12690SJung-uk Kim /****************************************************************************** 2a9f12690SJung-uk Kim * 3a9f12690SJung-uk Kim * Name: acinterp.h - Interpreter subcomponent prototypes and defines 4a9f12690SJung-uk Kim * 5a9f12690SJung-uk Kim *****************************************************************************/ 6a9f12690SJung-uk Kim 70d84335fSJung-uk Kim /****************************************************************************** 80d84335fSJung-uk Kim * 90d84335fSJung-uk Kim * 1. Copyright Notice 100d84335fSJung-uk Kim * 11*58308fadSJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp. 12a9f12690SJung-uk Kim * All rights reserved. 13a9f12690SJung-uk Kim * 140d84335fSJung-uk Kim * 2. License 150d84335fSJung-uk Kim * 160d84335fSJung-uk Kim * 2.1. This is your license from Intel Corp. under its intellectual property 170d84335fSJung-uk Kim * rights. You may have additional license terms from the party that provided 180d84335fSJung-uk Kim * you this software, covering your right to use that party's intellectual 190d84335fSJung-uk Kim * property rights. 200d84335fSJung-uk Kim * 210d84335fSJung-uk Kim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 220d84335fSJung-uk Kim * copy of the source code appearing in this file ("Covered Code") an 230d84335fSJung-uk Kim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 240d84335fSJung-uk Kim * base code distributed originally by Intel ("Original Intel Code") to copy, 250d84335fSJung-uk Kim * make derivatives, distribute, use and display any portion of the Covered 260d84335fSJung-uk Kim * Code in any form, with the right to sublicense such rights; and 270d84335fSJung-uk Kim * 280d84335fSJung-uk Kim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 290d84335fSJung-uk Kim * license (with the right to sublicense), under only those claims of Intel 300d84335fSJung-uk Kim * patents that are infringed by the Original Intel Code, to make, use, sell, 310d84335fSJung-uk Kim * offer to sell, and import the Covered Code and derivative works thereof 320d84335fSJung-uk Kim * solely to the minimum extent necessary to exercise the above copyright 330d84335fSJung-uk Kim * license, and in no event shall the patent license extend to any additions 340d84335fSJung-uk Kim * to or modifications of the Original Intel Code. No other license or right 350d84335fSJung-uk Kim * is granted directly or by implication, estoppel or otherwise; 360d84335fSJung-uk Kim * 370d84335fSJung-uk Kim * The above copyright and patent license is granted only if the following 380d84335fSJung-uk Kim * conditions are met: 390d84335fSJung-uk Kim * 400d84335fSJung-uk Kim * 3. Conditions 410d84335fSJung-uk Kim * 420d84335fSJung-uk Kim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 430d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 440d84335fSJung-uk Kim * Code or modification with rights to further distribute source must include 450d84335fSJung-uk Kim * the above Copyright Notice, the above License, this list of Conditions, 460d84335fSJung-uk Kim * and the following Disclaimer and Export Compliance provision. In addition, 470d84335fSJung-uk Kim * Licensee must cause all Covered Code to which Licensee contributes to 480d84335fSJung-uk Kim * contain a file documenting the changes Licensee made to create that Covered 490d84335fSJung-uk Kim * Code and the date of any change. Licensee must include in that file the 500d84335fSJung-uk Kim * documentation of any changes made by any predecessor Licensee. Licensee 510d84335fSJung-uk Kim * must include a prominent statement that the modification is derived, 520d84335fSJung-uk Kim * directly or indirectly, from Original Intel Code. 530d84335fSJung-uk Kim * 540d84335fSJung-uk Kim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 550d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 560d84335fSJung-uk Kim * Code or modification without rights to further distribute source must 570d84335fSJung-uk Kim * include the following Disclaimer and Export Compliance provision in the 580d84335fSJung-uk Kim * documentation and/or other materials provided with distribution. In 590d84335fSJung-uk Kim * addition, Licensee may not authorize further sublicense of source of any 600d84335fSJung-uk Kim * portion of the Covered Code, and must include terms to the effect that the 610d84335fSJung-uk Kim * license from Licensee to its licensee is limited to the intellectual 620d84335fSJung-uk Kim * property embodied in the software Licensee provides to its licensee, and 630d84335fSJung-uk Kim * not to intellectual property embodied in modifications its licensee may 640d84335fSJung-uk Kim * make. 650d84335fSJung-uk Kim * 660d84335fSJung-uk Kim * 3.3. Redistribution of Executable. Redistribution in executable form of any 670d84335fSJung-uk Kim * substantial portion of the Covered Code or modification must reproduce the 680d84335fSJung-uk Kim * above Copyright Notice, and the following Disclaimer and Export Compliance 690d84335fSJung-uk Kim * provision in the documentation and/or other materials provided with the 700d84335fSJung-uk Kim * distribution. 710d84335fSJung-uk Kim * 720d84335fSJung-uk Kim * 3.4. Intel retains all right, title, and interest in and to the Original 730d84335fSJung-uk Kim * Intel Code. 740d84335fSJung-uk Kim * 750d84335fSJung-uk Kim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 760d84335fSJung-uk Kim * Intel shall be used in advertising or otherwise to promote the sale, use or 770d84335fSJung-uk Kim * other dealings in products derived from or relating to the Covered Code 780d84335fSJung-uk Kim * without prior written authorization from Intel. 790d84335fSJung-uk Kim * 800d84335fSJung-uk Kim * 4. Disclaimer and Export Compliance 810d84335fSJung-uk Kim * 820d84335fSJung-uk Kim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 830d84335fSJung-uk Kim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 840d84335fSJung-uk Kim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 850d84335fSJung-uk Kim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 860d84335fSJung-uk Kim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 870d84335fSJung-uk Kim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 880d84335fSJung-uk Kim * PARTICULAR PURPOSE. 890d84335fSJung-uk Kim * 900d84335fSJung-uk Kim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 910d84335fSJung-uk Kim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 920d84335fSJung-uk Kim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 930d84335fSJung-uk Kim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 940d84335fSJung-uk Kim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 950d84335fSJung-uk Kim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 960d84335fSJung-uk Kim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 970d84335fSJung-uk Kim * LIMITED REMEDY. 980d84335fSJung-uk Kim * 990d84335fSJung-uk Kim * 4.3. Licensee shall not export, either directly or indirectly, any of this 1000d84335fSJung-uk Kim * software or system incorporating such software without first obtaining any 1010d84335fSJung-uk Kim * required license or other approval from the U. S. Department of Commerce or 1020d84335fSJung-uk Kim * any other agency or department of the United States Government. In the 1030d84335fSJung-uk Kim * event Licensee exports any such software from the United States or 1040d84335fSJung-uk Kim * re-exports any such software from a foreign destination, Licensee shall 1050d84335fSJung-uk Kim * ensure that the distribution and export/re-export of the software is in 1060d84335fSJung-uk Kim * compliance with all laws, regulations, orders, or other restrictions of the 1070d84335fSJung-uk Kim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1080d84335fSJung-uk Kim * any of its subsidiaries will export/re-export any technical data, process, 1090d84335fSJung-uk Kim * software, or service, directly or indirectly, to any country for which the 1100d84335fSJung-uk Kim * United States government or any agency thereof requires an export license, 1110d84335fSJung-uk Kim * other governmental approval, or letter of assurance, without first obtaining 1120d84335fSJung-uk Kim * such license, approval or letter. 1130d84335fSJung-uk Kim * 1140d84335fSJung-uk Kim ***************************************************************************** 1150d84335fSJung-uk Kim * 1160d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 1170d84335fSJung-uk Kim * following license: 1180d84335fSJung-uk Kim * 119d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 120d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 121d244b227SJung-uk Kim * are met: 122d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 123d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 124d244b227SJung-uk Kim * without modification. 125d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 126d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 127d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 128d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 129d244b227SJung-uk Kim * binary redistribution. 130d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 131d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 132d244b227SJung-uk Kim * from this software without specific prior written permission. 133a9f12690SJung-uk Kim * 1340d84335fSJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1350d84335fSJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1360d84335fSJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1370d84335fSJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1380d84335fSJung-uk Kim * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1390d84335fSJung-uk Kim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1400d84335fSJung-uk Kim * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1410d84335fSJung-uk Kim * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1420d84335fSJung-uk Kim * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1430d84335fSJung-uk Kim * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1440d84335fSJung-uk Kim * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1450d84335fSJung-uk Kim * 1460d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 147d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 148d244b227SJung-uk Kim * Software Foundation. 149a9f12690SJung-uk Kim * 1500d84335fSJung-uk Kim *****************************************************************************/ 151a9f12690SJung-uk Kim 152a9f12690SJung-uk Kim #ifndef __ACINTERP_H__ 153a9f12690SJung-uk Kim #define __ACINTERP_H__ 154a9f12690SJung-uk Kim 155a9f12690SJung-uk Kim 156a9f12690SJung-uk Kim #define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) 157a9f12690SJung-uk Kim 158a9f12690SJung-uk Kim /* Macros for tables used for debug output */ 159a9f12690SJung-uk Kim 160a9f12690SJung-uk Kim #define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f) 161a9f12690SJung-uk Kim #define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f) 162a9f12690SJung-uk Kim #define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO)) 163a9f12690SJung-uk Kim 164a9f12690SJung-uk Kim /* 165a9f12690SJung-uk Kim * If possible, pack the following structures to byte alignment, since we 166a9f12690SJung-uk Kim * don't care about performance for debug output. Two cases where we cannot 167a9f12690SJung-uk Kim * pack the structures: 168a9f12690SJung-uk Kim * 169a9f12690SJung-uk Kim * 1) Hardware does not support misaligned memory transfers 170a9f12690SJung-uk Kim * 2) Compiler does not support pointers within packed structures 171a9f12690SJung-uk Kim */ 172a9f12690SJung-uk Kim #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) 173a9f12690SJung-uk Kim #pragma pack(1) 174a9f12690SJung-uk Kim #endif 175a9f12690SJung-uk Kim 176a9f12690SJung-uk Kim typedef const struct acpi_exdump_info 177a9f12690SJung-uk Kim { 178a9f12690SJung-uk Kim UINT8 Opcode; 179a9f12690SJung-uk Kim UINT8 Offset; 180f8146b88SJung-uk Kim const char *Name; 181a9f12690SJung-uk Kim 182a9f12690SJung-uk Kim } ACPI_EXDUMP_INFO; 183a9f12690SJung-uk Kim 184a9f12690SJung-uk Kim /* Values for the Opcode field above */ 185a9f12690SJung-uk Kim 186a9f12690SJung-uk Kim #define ACPI_EXD_INIT 0 187a9f12690SJung-uk Kim #define ACPI_EXD_TYPE 1 188a9f12690SJung-uk Kim #define ACPI_EXD_UINT8 2 189a9f12690SJung-uk Kim #define ACPI_EXD_UINT16 3 190a9f12690SJung-uk Kim #define ACPI_EXD_UINT32 4 191a9f12690SJung-uk Kim #define ACPI_EXD_UINT64 5 192a9f12690SJung-uk Kim #define ACPI_EXD_LITERAL 6 193a9f12690SJung-uk Kim #define ACPI_EXD_POINTER 7 194a9f12690SJung-uk Kim #define ACPI_EXD_ADDRESS 8 195a9f12690SJung-uk Kim #define ACPI_EXD_STRING 9 196a9f12690SJung-uk Kim #define ACPI_EXD_BUFFER 10 197a9f12690SJung-uk Kim #define ACPI_EXD_PACKAGE 11 198a9f12690SJung-uk Kim #define ACPI_EXD_FIELD 12 199a9f12690SJung-uk Kim #define ACPI_EXD_REFERENCE 13 200313a0c13SJung-uk Kim #define ACPI_EXD_LIST 14 /* Operand object list */ 201313a0c13SJung-uk Kim #define ACPI_EXD_HDLR_LIST 15 /* Address Handler list */ 202313a0c13SJung-uk Kim #define ACPI_EXD_RGN_LIST 16 /* Region list */ 203313a0c13SJung-uk Kim #define ACPI_EXD_NODE 17 /* Namespace Node */ 204a9f12690SJung-uk Kim 205a9f12690SJung-uk Kim /* restore default alignment */ 206a9f12690SJung-uk Kim 207a9f12690SJung-uk Kim #pragma pack() 208a9f12690SJung-uk Kim 209a9f12690SJung-uk Kim 210a9f12690SJung-uk Kim /* 211a9f12690SJung-uk Kim * exconvrt - object conversion 212a9f12690SJung-uk Kim */ 213a9f12690SJung-uk Kim ACPI_STATUS 214a9f12690SJung-uk Kim AcpiExConvertToInteger ( 215a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 216a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ResultDesc, 2172f6a1a81SJung-uk Kim UINT32 ImplicitConversion); 218a9f12690SJung-uk Kim 219a9f12690SJung-uk Kim ACPI_STATUS 220a9f12690SJung-uk Kim AcpiExConvertToBuffer ( 221a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 222a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ResultDesc); 223a9f12690SJung-uk Kim 224a9f12690SJung-uk Kim ACPI_STATUS 225a9f12690SJung-uk Kim AcpiExConvertToString ( 226a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 227a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ResultDesc, 228a9f12690SJung-uk Kim UINT32 Type); 229a9f12690SJung-uk Kim 230a9f12690SJung-uk Kim /* Types for ->String conversion */ 231a9f12690SJung-uk Kim 232a9f12690SJung-uk Kim #define ACPI_EXPLICIT_BYTE_COPY 0x00000000 233a9f12690SJung-uk Kim #define ACPI_EXPLICIT_CONVERT_HEX 0x00000001 234a9f12690SJung-uk Kim #define ACPI_IMPLICIT_CONVERT_HEX 0x00000002 235a9f12690SJung-uk Kim #define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003 236a9f12690SJung-uk Kim 237a9f12690SJung-uk Kim ACPI_STATUS 238a9f12690SJung-uk Kim AcpiExConvertToTargetType ( 239a9f12690SJung-uk Kim ACPI_OBJECT_TYPE DestinationType, 240a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 241a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ResultDesc, 242a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 243a9f12690SJung-uk Kim 244a9f12690SJung-uk Kim 245a9f12690SJung-uk Kim /* 246ca3cf4faSJung-uk Kim * exdebug - AML debug object 247ca3cf4faSJung-uk Kim */ 248ca3cf4faSJung-uk Kim void 249ca3cf4faSJung-uk Kim AcpiExDoDebugObject ( 250ca3cf4faSJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 251ca3cf4faSJung-uk Kim UINT32 Level, 252ca3cf4faSJung-uk Kim UINT32 Index); 253ca3cf4faSJung-uk Kim 254fe0f0bbbSJung-uk Kim void 255fe0f0bbbSJung-uk Kim AcpiExStartTraceMethod ( 256fe0f0bbbSJung-uk Kim ACPI_NAMESPACE_NODE *MethodNode, 257fe0f0bbbSJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 258fe0f0bbbSJung-uk Kim ACPI_WALK_STATE *WalkState); 259fe0f0bbbSJung-uk Kim 260fe0f0bbbSJung-uk Kim void 261fe0f0bbbSJung-uk Kim AcpiExStopTraceMethod ( 262fe0f0bbbSJung-uk Kim ACPI_NAMESPACE_NODE *MethodNode, 263fe0f0bbbSJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 264fe0f0bbbSJung-uk Kim ACPI_WALK_STATE *WalkState); 265fe0f0bbbSJung-uk Kim 266fe0f0bbbSJung-uk Kim void 267fe0f0bbbSJung-uk Kim AcpiExStartTraceOpcode ( 268fe0f0bbbSJung-uk Kim ACPI_PARSE_OBJECT *Op, 269fe0f0bbbSJung-uk Kim ACPI_WALK_STATE *WalkState); 270fe0f0bbbSJung-uk Kim 271fe0f0bbbSJung-uk Kim void 272fe0f0bbbSJung-uk Kim AcpiExStopTraceOpcode ( 273fe0f0bbbSJung-uk Kim ACPI_PARSE_OBJECT *Op, 274fe0f0bbbSJung-uk Kim ACPI_WALK_STATE *WalkState); 275fe0f0bbbSJung-uk Kim 276fe0f0bbbSJung-uk Kim void 277fe0f0bbbSJung-uk Kim AcpiExTracePoint ( 278fe0f0bbbSJung-uk Kim ACPI_TRACE_EVENT_TYPE Type, 279fe0f0bbbSJung-uk Kim BOOLEAN Begin, 280fe0f0bbbSJung-uk Kim UINT8 *Aml, 281fe0f0bbbSJung-uk Kim char *Pathname); 282fe0f0bbbSJung-uk Kim 283ca3cf4faSJung-uk Kim 284ca3cf4faSJung-uk Kim /* 285a9f12690SJung-uk Kim * exfield - ACPI AML (p-code) execution - field manipulation 286a9f12690SJung-uk Kim */ 287a9f12690SJung-uk Kim ACPI_STATUS 2886f1f1a63SJung-uk Kim AcpiExGetProtocolBufferLength ( 2896f1f1a63SJung-uk Kim UINT32 ProtocolId, 2906f1f1a63SJung-uk Kim UINT32 *ReturnLength); 2916f1f1a63SJung-uk Kim 2926f1f1a63SJung-uk Kim ACPI_STATUS 293a9f12690SJung-uk Kim AcpiExCommonBufferSetup ( 294a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 295a9f12690SJung-uk Kim UINT32 BufferLength, 296a9f12690SJung-uk Kim UINT32 *DatumCount); 297a9f12690SJung-uk Kim 298a9f12690SJung-uk Kim ACPI_STATUS 299a9f12690SJung-uk Kim AcpiExWriteWithUpdateRule ( 300a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 3019a179dd8SJung-uk Kim UINT64 Mask, 3029a179dd8SJung-uk Kim UINT64 FieldValue, 303a9f12690SJung-uk Kim UINT32 FieldDatumByteOffset); 304a9f12690SJung-uk Kim 305a9f12690SJung-uk Kim void 306a9f12690SJung-uk Kim AcpiExGetBufferDatum( 3079a179dd8SJung-uk Kim UINT64 *Datum, 308a9f12690SJung-uk Kim void *Buffer, 309a9f12690SJung-uk Kim UINT32 BufferLength, 310a9f12690SJung-uk Kim UINT32 ByteGranularity, 311a9f12690SJung-uk Kim UINT32 BufferOffset); 312a9f12690SJung-uk Kim 313a9f12690SJung-uk Kim void 314a9f12690SJung-uk Kim AcpiExSetBufferDatum ( 3159a179dd8SJung-uk Kim UINT64 MergedDatum, 316a9f12690SJung-uk Kim void *Buffer, 317a9f12690SJung-uk Kim UINT32 BufferLength, 318a9f12690SJung-uk Kim UINT32 ByteGranularity, 319a9f12690SJung-uk Kim UINT32 BufferOffset); 320a9f12690SJung-uk Kim 321a9f12690SJung-uk Kim ACPI_STATUS 322a9f12690SJung-uk Kim AcpiExReadDataFromField ( 323a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 324a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 325a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **RetBufferDesc); 326a9f12690SJung-uk Kim 327a9f12690SJung-uk Kim ACPI_STATUS 328a9f12690SJung-uk Kim AcpiExWriteDataToField ( 329a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 330a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 331a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ResultDesc); 332a9f12690SJung-uk Kim 333a9f12690SJung-uk Kim 334a9f12690SJung-uk Kim /* 335a9f12690SJung-uk Kim * exfldio - low level field I/O 336a9f12690SJung-uk Kim */ 337a9f12690SJung-uk Kim ACPI_STATUS 338a9f12690SJung-uk Kim AcpiExExtractFromField ( 339a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 340a9f12690SJung-uk Kim void *Buffer, 341a9f12690SJung-uk Kim UINT32 BufferLength); 342a9f12690SJung-uk Kim 343a9f12690SJung-uk Kim ACPI_STATUS 344a9f12690SJung-uk Kim AcpiExInsertIntoField ( 345a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 346a9f12690SJung-uk Kim void *Buffer, 347a9f12690SJung-uk Kim UINT32 BufferLength); 348a9f12690SJung-uk Kim 349a9f12690SJung-uk Kim ACPI_STATUS 350a9f12690SJung-uk Kim AcpiExAccessRegion ( 351a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 352a9f12690SJung-uk Kim UINT32 FieldDatumByteOffset, 3539a179dd8SJung-uk Kim UINT64 *Value, 354a9f12690SJung-uk Kim UINT32 ReadWrite); 355a9f12690SJung-uk Kim 356a9f12690SJung-uk Kim 357a9f12690SJung-uk Kim /* 358a9f12690SJung-uk Kim * exmisc - misc support routines 359a9f12690SJung-uk Kim */ 360a9f12690SJung-uk Kim ACPI_STATUS 361a9f12690SJung-uk Kim AcpiExGetObjectReference ( 362a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 363a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnDesc, 364a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 365a9f12690SJung-uk Kim 366a9f12690SJung-uk Kim ACPI_STATUS 367a9f12690SJung-uk Kim AcpiExConcatTemplate ( 368a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 369a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc2, 370a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ActualReturnDesc, 371a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 372a9f12690SJung-uk Kim 373a9f12690SJung-uk Kim ACPI_STATUS 374a9f12690SJung-uk Kim AcpiExDoConcatenate ( 375a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 376a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc2, 377a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ActualReturnDesc, 378a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 379a9f12690SJung-uk Kim 380a9f12690SJung-uk Kim ACPI_STATUS 381a9f12690SJung-uk Kim AcpiExDoLogicalNumericOp ( 382a9f12690SJung-uk Kim UINT16 Opcode, 3839a179dd8SJung-uk Kim UINT64 Integer0, 3849a179dd8SJung-uk Kim UINT64 Integer1, 385a9f12690SJung-uk Kim BOOLEAN *LogicalResult); 386a9f12690SJung-uk Kim 387a9f12690SJung-uk Kim ACPI_STATUS 388a9f12690SJung-uk Kim AcpiExDoLogicalOp ( 389a9f12690SJung-uk Kim UINT16 Opcode, 390a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Operand0, 391a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Operand1, 392a9f12690SJung-uk Kim BOOLEAN *LogicalResult); 393a9f12690SJung-uk Kim 3949a179dd8SJung-uk Kim UINT64 395a9f12690SJung-uk Kim AcpiExDoMathOp ( 396a9f12690SJung-uk Kim UINT16 Opcode, 3979a179dd8SJung-uk Kim UINT64 Operand0, 3989a179dd8SJung-uk Kim UINT64 Operand1); 399a9f12690SJung-uk Kim 400a9f12690SJung-uk Kim ACPI_STATUS 401a9f12690SJung-uk Kim AcpiExCreateMutex ( 402a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 403a9f12690SJung-uk Kim 404a9f12690SJung-uk Kim ACPI_STATUS 405a9f12690SJung-uk Kim AcpiExCreateProcessor ( 406a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 407a9f12690SJung-uk Kim 408a9f12690SJung-uk Kim ACPI_STATUS 409a9f12690SJung-uk Kim AcpiExCreatePowerResource ( 410a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 411a9f12690SJung-uk Kim 412a9f12690SJung-uk Kim ACPI_STATUS 413a9f12690SJung-uk Kim AcpiExCreateRegion ( 414a9f12690SJung-uk Kim UINT8 *AmlStart, 415a9f12690SJung-uk Kim UINT32 AmlLength, 416a9f12690SJung-uk Kim UINT8 RegionSpace, 417a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 418a9f12690SJung-uk Kim 419a9f12690SJung-uk Kim ACPI_STATUS 420a9f12690SJung-uk Kim AcpiExCreateEvent ( 421a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 422a9f12690SJung-uk Kim 423a9f12690SJung-uk Kim ACPI_STATUS 424a9f12690SJung-uk Kim AcpiExCreateAlias ( 425a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 426a9f12690SJung-uk Kim 427a9f12690SJung-uk Kim ACPI_STATUS 428a9f12690SJung-uk Kim AcpiExCreateMethod ( 429a9f12690SJung-uk Kim UINT8 *AmlStart, 430a9f12690SJung-uk Kim UINT32 AmlLength, 431a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 432a9f12690SJung-uk Kim 433a9f12690SJung-uk Kim 434a9f12690SJung-uk Kim /* 435a9f12690SJung-uk Kim * exconfig - dynamic table load/unload 436a9f12690SJung-uk Kim */ 437a9f12690SJung-uk Kim ACPI_STATUS 438a9f12690SJung-uk Kim AcpiExLoadOp ( 439a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 440a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Target, 441a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 442a9f12690SJung-uk Kim 443a9f12690SJung-uk Kim ACPI_STATUS 444a9f12690SJung-uk Kim AcpiExLoadTableOp ( 445a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 446a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnDesc); 447a9f12690SJung-uk Kim 448a9f12690SJung-uk Kim ACPI_STATUS 449a9f12690SJung-uk Kim AcpiExUnloadTable ( 450a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *DdbHandle); 451a9f12690SJung-uk Kim 452a9f12690SJung-uk Kim 453a9f12690SJung-uk Kim /* 454a9f12690SJung-uk Kim * exmutex - mutex support 455a9f12690SJung-uk Kim */ 456a9f12690SJung-uk Kim ACPI_STATUS 457a9f12690SJung-uk Kim AcpiExAcquireMutex ( 458a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *TimeDesc, 459a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 460a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 461a9f12690SJung-uk Kim 462a9f12690SJung-uk Kim ACPI_STATUS 463a9f12690SJung-uk Kim AcpiExAcquireMutexObject ( 464a9f12690SJung-uk Kim UINT16 Timeout, 465a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 466a9f12690SJung-uk Kim ACPI_THREAD_ID ThreadId); 467a9f12690SJung-uk Kim 468a9f12690SJung-uk Kim ACPI_STATUS 469a9f12690SJung-uk Kim AcpiExReleaseMutex ( 470a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 471a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 472a9f12690SJung-uk Kim 473a9f12690SJung-uk Kim ACPI_STATUS 474a9f12690SJung-uk Kim AcpiExReleaseMutexObject ( 475a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 476a9f12690SJung-uk Kim 477a9f12690SJung-uk Kim void 478a9f12690SJung-uk Kim AcpiExReleaseAllMutexes ( 479a9f12690SJung-uk Kim ACPI_THREAD_STATE *Thread); 480a9f12690SJung-uk Kim 481a9f12690SJung-uk Kim void 482a9f12690SJung-uk Kim AcpiExUnlinkMutex ( 483a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 484a9f12690SJung-uk Kim 485a9f12690SJung-uk Kim 486a9f12690SJung-uk Kim /* 487a9f12690SJung-uk Kim * exprep - ACPI AML execution - prep utilities 488a9f12690SJung-uk Kim */ 489a9f12690SJung-uk Kim ACPI_STATUS 490a9f12690SJung-uk Kim AcpiExPrepCommonFieldObject ( 491a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 492a9f12690SJung-uk Kim UINT8 FieldFlags, 493a9f12690SJung-uk Kim UINT8 FieldAttribute, 494a9f12690SJung-uk Kim UINT32 FieldBitPosition, 495a9f12690SJung-uk Kim UINT32 FieldBitLength); 496a9f12690SJung-uk Kim 497a9f12690SJung-uk Kim ACPI_STATUS 498a9f12690SJung-uk Kim AcpiExPrepFieldValue ( 499a9f12690SJung-uk Kim ACPI_CREATE_FIELD_INFO *Info); 500a9f12690SJung-uk Kim 501a9f12690SJung-uk Kim 502a9f12690SJung-uk Kim /* 5036f1f1a63SJung-uk Kim * exserial - FieldUnit support for serial address spaces 5046f1f1a63SJung-uk Kim */ 5056f1f1a63SJung-uk Kim ACPI_STATUS 5066f1f1a63SJung-uk Kim AcpiExReadSerialBus ( 5076f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 5086f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnBuffer); 5096f1f1a63SJung-uk Kim 5106f1f1a63SJung-uk Kim ACPI_STATUS 5116f1f1a63SJung-uk Kim AcpiExWriteSerialBus ( 5126f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 5136f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 5146f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnBuffer); 5156f1f1a63SJung-uk Kim 5166f1f1a63SJung-uk Kim ACPI_STATUS 5176f1f1a63SJung-uk Kim AcpiExReadGpio ( 5186f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 5196f1f1a63SJung-uk Kim void *Buffer); 5206f1f1a63SJung-uk Kim 5216f1f1a63SJung-uk Kim ACPI_STATUS 5226f1f1a63SJung-uk Kim AcpiExWriteGpio ( 5236f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 5246f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 5256f1f1a63SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnBuffer); 5266f1f1a63SJung-uk Kim 5276f1f1a63SJung-uk Kim 5286f1f1a63SJung-uk Kim /* 529a9f12690SJung-uk Kim * exsystem - Interface to OS services 530a9f12690SJung-uk Kim */ 531a9f12690SJung-uk Kim ACPI_STATUS 532a9f12690SJung-uk Kim AcpiExSystemDoNotifyOp ( 533a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Value, 534a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 535a9f12690SJung-uk Kim 536a9f12690SJung-uk Kim ACPI_STATUS 5373f5e024cSJung-uk Kim AcpiExSystemDoSleep( 5389a179dd8SJung-uk Kim UINT64 Time); 539a9f12690SJung-uk Kim 540a9f12690SJung-uk Kim ACPI_STATUS 541a9f12690SJung-uk Kim AcpiExSystemDoStall ( 542a9f12690SJung-uk Kim UINT32 Time); 543a9f12690SJung-uk Kim 544a9f12690SJung-uk Kim ACPI_STATUS 545a9f12690SJung-uk Kim AcpiExSystemSignalEvent( 546a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 547a9f12690SJung-uk Kim 548a9f12690SJung-uk Kim ACPI_STATUS 549a9f12690SJung-uk Kim AcpiExSystemWaitEvent( 550a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Time, 551a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 552a9f12690SJung-uk Kim 553a9f12690SJung-uk Kim ACPI_STATUS 554a9f12690SJung-uk Kim AcpiExSystemResetEvent( 555a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 556a9f12690SJung-uk Kim 557a9f12690SJung-uk Kim ACPI_STATUS 558a9f12690SJung-uk Kim AcpiExSystemWaitSemaphore ( 559a9f12690SJung-uk Kim ACPI_SEMAPHORE Semaphore, 560a9f12690SJung-uk Kim UINT16 Timeout); 561a9f12690SJung-uk Kim 562a9f12690SJung-uk Kim ACPI_STATUS 563a9f12690SJung-uk Kim AcpiExSystemWaitMutex ( 564a9f12690SJung-uk Kim ACPI_MUTEX Mutex, 565a9f12690SJung-uk Kim UINT16 Timeout); 566a9f12690SJung-uk Kim 567a9f12690SJung-uk Kim /* 568a9f12690SJung-uk Kim * exoparg1 - ACPI AML execution, 1 operand 569a9f12690SJung-uk Kim */ 570a9f12690SJung-uk Kim ACPI_STATUS 571a9f12690SJung-uk Kim AcpiExOpcode_0A_0T_1R ( 572a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 573a9f12690SJung-uk Kim 574a9f12690SJung-uk Kim ACPI_STATUS 575a9f12690SJung-uk Kim AcpiExOpcode_1A_0T_0R ( 576a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 577a9f12690SJung-uk Kim 578a9f12690SJung-uk Kim ACPI_STATUS 579a9f12690SJung-uk Kim AcpiExOpcode_1A_0T_1R ( 580a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 581a9f12690SJung-uk Kim 582a9f12690SJung-uk Kim ACPI_STATUS 583a9f12690SJung-uk Kim AcpiExOpcode_1A_1T_1R ( 584a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 585a9f12690SJung-uk Kim 586a9f12690SJung-uk Kim ACPI_STATUS 587a9f12690SJung-uk Kim AcpiExOpcode_1A_1T_0R ( 588a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 589a9f12690SJung-uk Kim 590a9f12690SJung-uk Kim /* 591a9f12690SJung-uk Kim * exoparg2 - ACPI AML execution, 2 operands 592a9f12690SJung-uk Kim */ 593a9f12690SJung-uk Kim ACPI_STATUS 594a9f12690SJung-uk Kim AcpiExOpcode_2A_0T_0R ( 595a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 596a9f12690SJung-uk Kim 597a9f12690SJung-uk Kim ACPI_STATUS 598a9f12690SJung-uk Kim AcpiExOpcode_2A_0T_1R ( 599a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 600a9f12690SJung-uk Kim 601a9f12690SJung-uk Kim ACPI_STATUS 602a9f12690SJung-uk Kim AcpiExOpcode_2A_1T_1R ( 603a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 604a9f12690SJung-uk Kim 605a9f12690SJung-uk Kim ACPI_STATUS 606a9f12690SJung-uk Kim AcpiExOpcode_2A_2T_1R ( 607a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 608a9f12690SJung-uk Kim 609a9f12690SJung-uk Kim 610a9f12690SJung-uk Kim /* 611a9f12690SJung-uk Kim * exoparg3 - ACPI AML execution, 3 operands 612a9f12690SJung-uk Kim */ 613a9f12690SJung-uk Kim ACPI_STATUS 614a9f12690SJung-uk Kim AcpiExOpcode_3A_0T_0R ( 615a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 616a9f12690SJung-uk Kim 617a9f12690SJung-uk Kim ACPI_STATUS 618a9f12690SJung-uk Kim AcpiExOpcode_3A_1T_1R ( 619a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 620a9f12690SJung-uk Kim 621a9f12690SJung-uk Kim 622a9f12690SJung-uk Kim /* 623a9f12690SJung-uk Kim * exoparg6 - ACPI AML execution, 6 operands 624a9f12690SJung-uk Kim */ 625a9f12690SJung-uk Kim ACPI_STATUS 626a9f12690SJung-uk Kim AcpiExOpcode_6A_0T_1R ( 627a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 628a9f12690SJung-uk Kim 629a9f12690SJung-uk Kim 630a9f12690SJung-uk Kim /* 631a9f12690SJung-uk Kim * exresolv - Object resolution and get value functions 632a9f12690SJung-uk Kim */ 633a9f12690SJung-uk Kim ACPI_STATUS 634a9f12690SJung-uk Kim AcpiExResolveToValue ( 635a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **StackPtr, 636a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 637a9f12690SJung-uk Kim 638a9f12690SJung-uk Kim ACPI_STATUS 639a9f12690SJung-uk Kim AcpiExResolveMultiple ( 640a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 641a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Operand, 642a9f12690SJung-uk Kim ACPI_OBJECT_TYPE *ReturnType, 643a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnDesc); 644a9f12690SJung-uk Kim 645a9f12690SJung-uk Kim 646a9f12690SJung-uk Kim /* 647a9f12690SJung-uk Kim * exresnte - resolve namespace node 648a9f12690SJung-uk Kim */ 649a9f12690SJung-uk Kim ACPI_STATUS 650a9f12690SJung-uk Kim AcpiExResolveNodeToValue ( 651a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **StackPtr, 652a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 653a9f12690SJung-uk Kim 654a9f12690SJung-uk Kim 655a9f12690SJung-uk Kim /* 656a9f12690SJung-uk Kim * exresop - resolve operand to value 657a9f12690SJung-uk Kim */ 658a9f12690SJung-uk Kim ACPI_STATUS 659a9f12690SJung-uk Kim AcpiExResolveOperands ( 660a9f12690SJung-uk Kim UINT16 Opcode, 661a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **StackPtr, 662a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 663a9f12690SJung-uk Kim 664a9f12690SJung-uk Kim 665a9f12690SJung-uk Kim /* 666a9f12690SJung-uk Kim * exdump - Interpreter debug output routines 667a9f12690SJung-uk Kim */ 668a9f12690SJung-uk Kim void 669a9f12690SJung-uk Kim AcpiExDumpOperand ( 670a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc, 671a9f12690SJung-uk Kim UINT32 Depth); 672a9f12690SJung-uk Kim 673a9f12690SJung-uk Kim void 674a9f12690SJung-uk Kim AcpiExDumpOperands ( 675a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **Operands, 676a9f12690SJung-uk Kim const char *OpcodeName, 677a9f12690SJung-uk Kim UINT32 NumOpcodes); 678a9f12690SJung-uk Kim 679a9f12690SJung-uk Kim void 680a9f12690SJung-uk Kim AcpiExDumpObjectDescriptor ( 681a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 682a9f12690SJung-uk Kim UINT32 Flags); 683a9f12690SJung-uk Kim 684a9f12690SJung-uk Kim void 685a9f12690SJung-uk Kim AcpiExDumpNamespaceNode ( 686a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 687a9f12690SJung-uk Kim UINT32 Flags); 688a9f12690SJung-uk Kim 689a9f12690SJung-uk Kim 690a9f12690SJung-uk Kim /* 691a9f12690SJung-uk Kim * exnames - AML namestring support 692a9f12690SJung-uk Kim */ 693a9f12690SJung-uk Kim ACPI_STATUS 694a9f12690SJung-uk Kim AcpiExGetNameString ( 695a9f12690SJung-uk Kim ACPI_OBJECT_TYPE DataType, 696a9f12690SJung-uk Kim UINT8 *InAmlAddress, 697a9f12690SJung-uk Kim char **OutNameString, 698a9f12690SJung-uk Kim UINT32 *OutNameLength); 699a9f12690SJung-uk Kim 700a9f12690SJung-uk Kim 701a9f12690SJung-uk Kim /* 702a9f12690SJung-uk Kim * exstore - Object store support 703a9f12690SJung-uk Kim */ 704a9f12690SJung-uk Kim ACPI_STATUS 705a9f12690SJung-uk Kim AcpiExStore ( 706a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ValDesc, 707a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *DestDesc, 708a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 709a9f12690SJung-uk Kim 710a9f12690SJung-uk Kim ACPI_STATUS 711a9f12690SJung-uk Kim AcpiExStoreObjectToNode ( 712a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 713a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 714a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 715a9f12690SJung-uk Kim UINT8 ImplicitConversion); 716a9f12690SJung-uk Kim 717a9f12690SJung-uk Kim 718a9f12690SJung-uk Kim /* 719a9f12690SJung-uk Kim * exstoren - resolve/store object 720a9f12690SJung-uk Kim */ 721a9f12690SJung-uk Kim ACPI_STATUS 722a9f12690SJung-uk Kim AcpiExResolveObject ( 723a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **SourceDescPtr, 724a9f12690SJung-uk Kim ACPI_OBJECT_TYPE TargetType, 725a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 726a9f12690SJung-uk Kim 727a9f12690SJung-uk Kim ACPI_STATUS 728a9f12690SJung-uk Kim AcpiExStoreObjectToObject ( 729a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 730a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *DestDesc, 731a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **NewDesc, 732a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 733a9f12690SJung-uk Kim 734a9f12690SJung-uk Kim 735a9f12690SJung-uk Kim /* 736a9f12690SJung-uk Kim * exstorob - store object - buffer/string 737a9f12690SJung-uk Kim */ 738a9f12690SJung-uk Kim ACPI_STATUS 739a9f12690SJung-uk Kim AcpiExStoreBufferToBuffer ( 740a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 741a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *TargetDesc); 742a9f12690SJung-uk Kim 743a9f12690SJung-uk Kim ACPI_STATUS 744a9f12690SJung-uk Kim AcpiExStoreStringToString ( 745a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 746a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *TargetDesc); 747a9f12690SJung-uk Kim 748a9f12690SJung-uk Kim 749a9f12690SJung-uk Kim /* 750a9f12690SJung-uk Kim * excopy - object copy 751a9f12690SJung-uk Kim */ 752a9f12690SJung-uk Kim ACPI_STATUS 753a9f12690SJung-uk Kim AcpiExCopyIntegerToIndexField ( 754a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 755a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *TargetDesc); 756a9f12690SJung-uk Kim 757a9f12690SJung-uk Kim ACPI_STATUS 758a9f12690SJung-uk Kim AcpiExCopyIntegerToBankField ( 759a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 760a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *TargetDesc); 761a9f12690SJung-uk Kim 762a9f12690SJung-uk Kim ACPI_STATUS 763a9f12690SJung-uk Kim AcpiExCopyDataToNamedField ( 764a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 765a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 766a9f12690SJung-uk Kim 767a9f12690SJung-uk Kim ACPI_STATUS 768a9f12690SJung-uk Kim AcpiExCopyIntegerToBufferField ( 769a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *SourceDesc, 770a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *TargetDesc); 771a9f12690SJung-uk Kim 772a9f12690SJung-uk Kim 773a9f12690SJung-uk Kim /* 774a9f12690SJung-uk Kim * exutils - interpreter/scanner utilities 775a9f12690SJung-uk Kim */ 776a9f12690SJung-uk Kim void 777a9f12690SJung-uk Kim AcpiExEnterInterpreter ( 778a9f12690SJung-uk Kim void); 779a9f12690SJung-uk Kim 780a9f12690SJung-uk Kim void 781a9f12690SJung-uk Kim AcpiExExitInterpreter ( 782a9f12690SJung-uk Kim void); 783a9f12690SJung-uk Kim 784efcc2a30SJung-uk Kim BOOLEAN 785a9f12690SJung-uk Kim AcpiExTruncateFor32bitTable ( 786a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 787a9f12690SJung-uk Kim 788a9f12690SJung-uk Kim void 789a9f12690SJung-uk Kim AcpiExAcquireGlobalLock ( 790a9f12690SJung-uk Kim UINT32 Rule); 791a9f12690SJung-uk Kim 792a9f12690SJung-uk Kim void 793a9f12690SJung-uk Kim AcpiExReleaseGlobalLock ( 794a9f12690SJung-uk Kim UINT32 Rule); 795a9f12690SJung-uk Kim 796a9f12690SJung-uk Kim void 797a9f12690SJung-uk Kim AcpiExEisaIdToString ( 798d6dd1baeSJung-uk Kim char *Dest, 7999a179dd8SJung-uk Kim UINT64 CompressedId); 800a9f12690SJung-uk Kim 801a9f12690SJung-uk Kim void 802d6dd1baeSJung-uk Kim AcpiExIntegerToString ( 803d6dd1baeSJung-uk Kim char *Dest, 8049a179dd8SJung-uk Kim UINT64 Value); 805a9f12690SJung-uk Kim 8065ef50723SJung-uk Kim void 8075ef50723SJung-uk Kim AcpiExPciClsToString ( 8085ef50723SJung-uk Kim char *Dest, 8095ef50723SJung-uk Kim UINT8 ClassCode[3]); 8105ef50723SJung-uk Kim 8113f0275a0SJung-uk Kim BOOLEAN 8123f0275a0SJung-uk Kim AcpiIsValidSpaceId ( 8133f0275a0SJung-uk Kim UINT8 SpaceId); 8143f0275a0SJung-uk Kim 815a9f12690SJung-uk Kim 816a9f12690SJung-uk Kim /* 817a9f12690SJung-uk Kim * exregion - default OpRegion handlers 818a9f12690SJung-uk Kim */ 819a9f12690SJung-uk Kim ACPI_STATUS 820a9f12690SJung-uk Kim AcpiExSystemMemorySpaceHandler ( 821a9f12690SJung-uk Kim UINT32 Function, 822a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 823a9f12690SJung-uk Kim UINT32 BitWidth, 8249a179dd8SJung-uk Kim UINT64 *Value, 825a9f12690SJung-uk Kim void *HandlerContext, 826a9f12690SJung-uk Kim void *RegionContext); 827a9f12690SJung-uk Kim 828a9f12690SJung-uk Kim ACPI_STATUS 829a9f12690SJung-uk Kim AcpiExSystemIoSpaceHandler ( 830a9f12690SJung-uk Kim UINT32 Function, 831a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 832a9f12690SJung-uk Kim UINT32 BitWidth, 8339a179dd8SJung-uk Kim UINT64 *Value, 834a9f12690SJung-uk Kim void *HandlerContext, 835a9f12690SJung-uk Kim void *RegionContext); 836a9f12690SJung-uk Kim 837a9f12690SJung-uk Kim ACPI_STATUS 838a9f12690SJung-uk Kim AcpiExPciConfigSpaceHandler ( 839a9f12690SJung-uk Kim UINT32 Function, 840a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 841a9f12690SJung-uk Kim UINT32 BitWidth, 8429a179dd8SJung-uk Kim UINT64 *Value, 843a9f12690SJung-uk Kim void *HandlerContext, 844a9f12690SJung-uk Kim void *RegionContext); 845a9f12690SJung-uk Kim 846a9f12690SJung-uk Kim ACPI_STATUS 847a9f12690SJung-uk Kim AcpiExCmosSpaceHandler ( 848a9f12690SJung-uk Kim UINT32 Function, 849a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 850a9f12690SJung-uk Kim UINT32 BitWidth, 8519a179dd8SJung-uk Kim UINT64 *Value, 852a9f12690SJung-uk Kim void *HandlerContext, 853a9f12690SJung-uk Kim void *RegionContext); 854a9f12690SJung-uk Kim 855a9f12690SJung-uk Kim ACPI_STATUS 856a9f12690SJung-uk Kim AcpiExPciBarSpaceHandler ( 857a9f12690SJung-uk Kim UINT32 Function, 858a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 859a9f12690SJung-uk Kim UINT32 BitWidth, 8609a179dd8SJung-uk Kim UINT64 *Value, 861a9f12690SJung-uk Kim void *HandlerContext, 862a9f12690SJung-uk Kim void *RegionContext); 863a9f12690SJung-uk Kim 864a9f12690SJung-uk Kim ACPI_STATUS 865a9f12690SJung-uk Kim AcpiExEmbeddedControllerSpaceHandler ( 866a9f12690SJung-uk Kim UINT32 Function, 867a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 868a9f12690SJung-uk Kim UINT32 BitWidth, 8699a179dd8SJung-uk Kim UINT64 *Value, 870a9f12690SJung-uk Kim void *HandlerContext, 871a9f12690SJung-uk Kim void *RegionContext); 872a9f12690SJung-uk Kim 873a9f12690SJung-uk Kim ACPI_STATUS 874a9f12690SJung-uk Kim AcpiExSmBusSpaceHandler ( 875a9f12690SJung-uk Kim UINT32 Function, 876a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 877a9f12690SJung-uk Kim UINT32 BitWidth, 8789a179dd8SJung-uk Kim UINT64 *Value, 879a9f12690SJung-uk Kim void *HandlerContext, 880a9f12690SJung-uk Kim void *RegionContext); 881a9f12690SJung-uk Kim 882a9f12690SJung-uk Kim 883a9f12690SJung-uk Kim ACPI_STATUS 884a9f12690SJung-uk Kim AcpiExDataTableSpaceHandler ( 885a9f12690SJung-uk Kim UINT32 Function, 886a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 887a9f12690SJung-uk Kim UINT32 BitWidth, 8889a179dd8SJung-uk Kim UINT64 *Value, 889a9f12690SJung-uk Kim void *HandlerContext, 890a9f12690SJung-uk Kim void *RegionContext); 891a9f12690SJung-uk Kim 892a9f12690SJung-uk Kim #endif /* __INTERP_H__ */ 893