xref: /freebsd/sys/contrib/dev/acpica/include/acinterp.h (revision d244b2279c2f63fc930fa1c11a6033b7119d426a)
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 
7*d244b227SJung-uk Kim /*
8*d244b227SJung-uk Kim  * Copyright (C) 2000 - 2011, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11*d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12*d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13*d244b227SJung-uk Kim  * are met:
14*d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15*d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16*d244b227SJung-uk Kim  *    without modification.
17*d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18*d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19*d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20*d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21*d244b227SJung-uk Kim  *    binary redistribution.
22*d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23*d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24*d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26*d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27*d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28*d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30*d244b227SJung-uk Kim  * NO WARRANTY
31*d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32*d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33*d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34*d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35*d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36*d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37*d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38*d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39*d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40*d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41*d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42*d244b227SJung-uk Kim  */
43a9f12690SJung-uk Kim 
44a9f12690SJung-uk Kim #ifndef __ACINTERP_H__
45a9f12690SJung-uk Kim #define __ACINTERP_H__
46a9f12690SJung-uk Kim 
47a9f12690SJung-uk Kim 
48a9f12690SJung-uk Kim #define ACPI_WALK_OPERANDS          (&(WalkState->Operands [WalkState->NumOperands -1]))
49a9f12690SJung-uk Kim 
50a9f12690SJung-uk Kim /* Macros for tables used for debug output */
51a9f12690SJung-uk Kim 
52a9f12690SJung-uk Kim #define ACPI_EXD_OFFSET(f)          (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f)
53a9f12690SJung-uk Kim #define ACPI_EXD_NSOFFSET(f)        (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f)
54a9f12690SJung-uk Kim #define ACPI_EXD_TABLE_SIZE(name)   (sizeof(name) / sizeof (ACPI_EXDUMP_INFO))
55a9f12690SJung-uk Kim 
56a9f12690SJung-uk Kim /*
57a9f12690SJung-uk Kim  * If possible, pack the following structures to byte alignment, since we
58a9f12690SJung-uk Kim  * don't care about performance for debug output. Two cases where we cannot
59a9f12690SJung-uk Kim  * pack the structures:
60a9f12690SJung-uk Kim  *
61a9f12690SJung-uk Kim  * 1) Hardware does not support misaligned memory transfers
62a9f12690SJung-uk Kim  * 2) Compiler does not support pointers within packed structures
63a9f12690SJung-uk Kim  */
64a9f12690SJung-uk Kim #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED))
65a9f12690SJung-uk Kim #pragma pack(1)
66a9f12690SJung-uk Kim #endif
67a9f12690SJung-uk Kim 
68a9f12690SJung-uk Kim typedef const struct acpi_exdump_info
69a9f12690SJung-uk Kim {
70a9f12690SJung-uk Kim     UINT8                   Opcode;
71a9f12690SJung-uk Kim     UINT8                   Offset;
72a9f12690SJung-uk Kim     char                    *Name;
73a9f12690SJung-uk Kim 
74a9f12690SJung-uk Kim } ACPI_EXDUMP_INFO;
75a9f12690SJung-uk Kim 
76a9f12690SJung-uk Kim /* Values for the Opcode field above */
77a9f12690SJung-uk Kim 
78a9f12690SJung-uk Kim #define ACPI_EXD_INIT                   0
79a9f12690SJung-uk Kim #define ACPI_EXD_TYPE                   1
80a9f12690SJung-uk Kim #define ACPI_EXD_UINT8                  2
81a9f12690SJung-uk Kim #define ACPI_EXD_UINT16                 3
82a9f12690SJung-uk Kim #define ACPI_EXD_UINT32                 4
83a9f12690SJung-uk Kim #define ACPI_EXD_UINT64                 5
84a9f12690SJung-uk Kim #define ACPI_EXD_LITERAL                6
85a9f12690SJung-uk Kim #define ACPI_EXD_POINTER                7
86a9f12690SJung-uk Kim #define ACPI_EXD_ADDRESS                8
87a9f12690SJung-uk Kim #define ACPI_EXD_STRING                 9
88a9f12690SJung-uk Kim #define ACPI_EXD_BUFFER                 10
89a9f12690SJung-uk Kim #define ACPI_EXD_PACKAGE                11
90a9f12690SJung-uk Kim #define ACPI_EXD_FIELD                  12
91a9f12690SJung-uk Kim #define ACPI_EXD_REFERENCE              13
92a9f12690SJung-uk Kim 
93a9f12690SJung-uk Kim /* restore default alignment */
94a9f12690SJung-uk Kim 
95a9f12690SJung-uk Kim #pragma pack()
96a9f12690SJung-uk Kim 
97a9f12690SJung-uk Kim 
98a9f12690SJung-uk Kim /*
99a9f12690SJung-uk Kim  * exconvrt - object conversion
100a9f12690SJung-uk Kim  */
101a9f12690SJung-uk Kim ACPI_STATUS
102a9f12690SJung-uk Kim AcpiExConvertToInteger (
103a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
104a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc,
105a9f12690SJung-uk Kim     UINT32                  Flags);
106a9f12690SJung-uk Kim 
107a9f12690SJung-uk Kim ACPI_STATUS
108a9f12690SJung-uk Kim AcpiExConvertToBuffer (
109a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
110a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc);
111a9f12690SJung-uk Kim 
112a9f12690SJung-uk Kim ACPI_STATUS
113a9f12690SJung-uk Kim AcpiExConvertToString (
114a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
115a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc,
116a9f12690SJung-uk Kim     UINT32                  Type);
117a9f12690SJung-uk Kim 
118a9f12690SJung-uk Kim /* Types for ->String conversion */
119a9f12690SJung-uk Kim 
120a9f12690SJung-uk Kim #define ACPI_EXPLICIT_BYTE_COPY         0x00000000
121a9f12690SJung-uk Kim #define ACPI_EXPLICIT_CONVERT_HEX       0x00000001
122a9f12690SJung-uk Kim #define ACPI_IMPLICIT_CONVERT_HEX       0x00000002
123a9f12690SJung-uk Kim #define ACPI_EXPLICIT_CONVERT_DECIMAL   0x00000003
124a9f12690SJung-uk Kim 
125a9f12690SJung-uk Kim ACPI_STATUS
126a9f12690SJung-uk Kim AcpiExConvertToTargetType (
127a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        DestinationType,
128a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
129a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc,
130a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
131a9f12690SJung-uk Kim 
132a9f12690SJung-uk Kim 
133a9f12690SJung-uk Kim /*
134ca3cf4faSJung-uk Kim  * exdebug - AML debug object
135ca3cf4faSJung-uk Kim  */
136ca3cf4faSJung-uk Kim void
137ca3cf4faSJung-uk Kim AcpiExDoDebugObject (
138ca3cf4faSJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
139ca3cf4faSJung-uk Kim     UINT32                  Level,
140ca3cf4faSJung-uk Kim     UINT32                  Index);
141ca3cf4faSJung-uk Kim 
142ca3cf4faSJung-uk Kim 
143ca3cf4faSJung-uk Kim /*
144a9f12690SJung-uk Kim  * exfield - ACPI AML (p-code) execution - field manipulation
145a9f12690SJung-uk Kim  */
146a9f12690SJung-uk Kim ACPI_STATUS
147a9f12690SJung-uk Kim AcpiExCommonBufferSetup (
148a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
149a9f12690SJung-uk Kim     UINT32                  BufferLength,
150a9f12690SJung-uk Kim     UINT32                  *DatumCount);
151a9f12690SJung-uk Kim 
152a9f12690SJung-uk Kim ACPI_STATUS
153a9f12690SJung-uk Kim AcpiExWriteWithUpdateRule (
154a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
1559a179dd8SJung-uk Kim     UINT64                  Mask,
1569a179dd8SJung-uk Kim     UINT64                  FieldValue,
157a9f12690SJung-uk Kim     UINT32                  FieldDatumByteOffset);
158a9f12690SJung-uk Kim 
159a9f12690SJung-uk Kim void
160a9f12690SJung-uk Kim AcpiExGetBufferDatum(
1619a179dd8SJung-uk Kim     UINT64                  *Datum,
162a9f12690SJung-uk Kim     void                    *Buffer,
163a9f12690SJung-uk Kim     UINT32                  BufferLength,
164a9f12690SJung-uk Kim     UINT32                  ByteGranularity,
165a9f12690SJung-uk Kim     UINT32                  BufferOffset);
166a9f12690SJung-uk Kim 
167a9f12690SJung-uk Kim void
168a9f12690SJung-uk Kim AcpiExSetBufferDatum (
1699a179dd8SJung-uk Kim     UINT64                  MergedDatum,
170a9f12690SJung-uk Kim     void                    *Buffer,
171a9f12690SJung-uk Kim     UINT32                  BufferLength,
172a9f12690SJung-uk Kim     UINT32                  ByteGranularity,
173a9f12690SJung-uk Kim     UINT32                  BufferOffset);
174a9f12690SJung-uk Kim 
175a9f12690SJung-uk Kim ACPI_STATUS
176a9f12690SJung-uk Kim AcpiExReadDataFromField (
177a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
178a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
179a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **RetBufferDesc);
180a9f12690SJung-uk Kim 
181a9f12690SJung-uk Kim ACPI_STATUS
182a9f12690SJung-uk Kim AcpiExWriteDataToField (
183a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
184a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
185a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc);
186a9f12690SJung-uk Kim 
187a9f12690SJung-uk Kim 
188a9f12690SJung-uk Kim /*
189a9f12690SJung-uk Kim  * exfldio - low level field I/O
190a9f12690SJung-uk Kim  */
191a9f12690SJung-uk Kim ACPI_STATUS
192a9f12690SJung-uk Kim AcpiExExtractFromField (
193a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
194a9f12690SJung-uk Kim     void                    *Buffer,
195a9f12690SJung-uk Kim     UINT32                  BufferLength);
196a9f12690SJung-uk Kim 
197a9f12690SJung-uk Kim ACPI_STATUS
198a9f12690SJung-uk Kim AcpiExInsertIntoField (
199a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
200a9f12690SJung-uk Kim     void                    *Buffer,
201a9f12690SJung-uk Kim     UINT32                  BufferLength);
202a9f12690SJung-uk Kim 
203a9f12690SJung-uk Kim ACPI_STATUS
204a9f12690SJung-uk Kim AcpiExAccessRegion (
205a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
206a9f12690SJung-uk Kim     UINT32                  FieldDatumByteOffset,
2079a179dd8SJung-uk Kim     UINT64                  *Value,
208a9f12690SJung-uk Kim     UINT32                  ReadWrite);
209a9f12690SJung-uk Kim 
210a9f12690SJung-uk Kim 
211a9f12690SJung-uk Kim /*
212a9f12690SJung-uk Kim  * exmisc - misc support routines
213a9f12690SJung-uk Kim  */
214a9f12690SJung-uk Kim ACPI_STATUS
215a9f12690SJung-uk Kim AcpiExGetObjectReference (
216a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
217a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ReturnDesc,
218a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
219a9f12690SJung-uk Kim 
220a9f12690SJung-uk Kim ACPI_STATUS
221a9f12690SJung-uk Kim AcpiExConcatTemplate (
222a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
223a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc2,
224a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
225a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
226a9f12690SJung-uk Kim 
227a9f12690SJung-uk Kim ACPI_STATUS
228a9f12690SJung-uk Kim AcpiExDoConcatenate (
229a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
230a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc2,
231a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
232a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
233a9f12690SJung-uk Kim 
234a9f12690SJung-uk Kim ACPI_STATUS
235a9f12690SJung-uk Kim AcpiExDoLogicalNumericOp (
236a9f12690SJung-uk Kim     UINT16                  Opcode,
2379a179dd8SJung-uk Kim     UINT64                  Integer0,
2389a179dd8SJung-uk Kim     UINT64                  Integer1,
239a9f12690SJung-uk Kim     BOOLEAN                 *LogicalResult);
240a9f12690SJung-uk Kim 
241a9f12690SJung-uk Kim ACPI_STATUS
242a9f12690SJung-uk Kim AcpiExDoLogicalOp (
243a9f12690SJung-uk Kim     UINT16                  Opcode,
244a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Operand0,
245a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Operand1,
246a9f12690SJung-uk Kim     BOOLEAN                 *LogicalResult);
247a9f12690SJung-uk Kim 
2489a179dd8SJung-uk Kim UINT64
249a9f12690SJung-uk Kim AcpiExDoMathOp (
250a9f12690SJung-uk Kim     UINT16                  Opcode,
2519a179dd8SJung-uk Kim     UINT64                  Operand0,
2529a179dd8SJung-uk Kim     UINT64                  Operand1);
253a9f12690SJung-uk Kim 
254a9f12690SJung-uk Kim ACPI_STATUS
255a9f12690SJung-uk Kim AcpiExCreateMutex (
256a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
257a9f12690SJung-uk Kim 
258a9f12690SJung-uk Kim ACPI_STATUS
259a9f12690SJung-uk Kim AcpiExCreateProcessor (
260a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
261a9f12690SJung-uk Kim 
262a9f12690SJung-uk Kim ACPI_STATUS
263a9f12690SJung-uk Kim AcpiExCreatePowerResource (
264a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
265a9f12690SJung-uk Kim 
266a9f12690SJung-uk Kim ACPI_STATUS
267a9f12690SJung-uk Kim AcpiExCreateRegion (
268a9f12690SJung-uk Kim     UINT8                   *AmlStart,
269a9f12690SJung-uk Kim     UINT32                  AmlLength,
270a9f12690SJung-uk Kim     UINT8                   RegionSpace,
271a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
272a9f12690SJung-uk Kim 
273a9f12690SJung-uk Kim ACPI_STATUS
274a9f12690SJung-uk Kim AcpiExCreateEvent (
275a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
276a9f12690SJung-uk Kim 
277a9f12690SJung-uk Kim ACPI_STATUS
278a9f12690SJung-uk Kim AcpiExCreateAlias (
279a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
280a9f12690SJung-uk Kim 
281a9f12690SJung-uk Kim ACPI_STATUS
282a9f12690SJung-uk Kim AcpiExCreateMethod (
283a9f12690SJung-uk Kim     UINT8                   *AmlStart,
284a9f12690SJung-uk Kim     UINT32                  AmlLength,
285a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
286a9f12690SJung-uk Kim 
287a9f12690SJung-uk Kim 
288a9f12690SJung-uk Kim /*
289a9f12690SJung-uk Kim  * exconfig - dynamic table load/unload
290a9f12690SJung-uk Kim  */
291a9f12690SJung-uk Kim ACPI_STATUS
292a9f12690SJung-uk Kim AcpiExLoadOp (
293a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
294a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Target,
295a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
296a9f12690SJung-uk Kim 
297a9f12690SJung-uk Kim ACPI_STATUS
298a9f12690SJung-uk Kim AcpiExLoadTableOp (
299a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
300a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ReturnDesc);
301a9f12690SJung-uk Kim 
302a9f12690SJung-uk Kim ACPI_STATUS
303a9f12690SJung-uk Kim AcpiExUnloadTable (
304a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *DdbHandle);
305a9f12690SJung-uk Kim 
306a9f12690SJung-uk Kim 
307a9f12690SJung-uk Kim /*
308a9f12690SJung-uk Kim  * exmutex - mutex support
309a9f12690SJung-uk Kim  */
310a9f12690SJung-uk Kim ACPI_STATUS
311a9f12690SJung-uk Kim AcpiExAcquireMutex (
312a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TimeDesc,
313a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
314a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
315a9f12690SJung-uk Kim 
316a9f12690SJung-uk Kim ACPI_STATUS
317a9f12690SJung-uk Kim AcpiExAcquireMutexObject (
318a9f12690SJung-uk Kim     UINT16                  Timeout,
319a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
320a9f12690SJung-uk Kim     ACPI_THREAD_ID          ThreadId);
321a9f12690SJung-uk Kim 
322a9f12690SJung-uk Kim ACPI_STATUS
323a9f12690SJung-uk Kim AcpiExReleaseMutex (
324a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
325a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
326a9f12690SJung-uk Kim 
327a9f12690SJung-uk Kim ACPI_STATUS
328a9f12690SJung-uk Kim AcpiExReleaseMutexObject (
329a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
330a9f12690SJung-uk Kim 
331a9f12690SJung-uk Kim void
332a9f12690SJung-uk Kim AcpiExReleaseAllMutexes (
333a9f12690SJung-uk Kim     ACPI_THREAD_STATE       *Thread);
334a9f12690SJung-uk Kim 
335a9f12690SJung-uk Kim void
336a9f12690SJung-uk Kim AcpiExUnlinkMutex (
337a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
338a9f12690SJung-uk Kim 
339a9f12690SJung-uk Kim 
340a9f12690SJung-uk Kim /*
341a9f12690SJung-uk Kim  * exprep - ACPI AML execution - prep utilities
342a9f12690SJung-uk Kim  */
343a9f12690SJung-uk Kim ACPI_STATUS
344a9f12690SJung-uk Kim AcpiExPrepCommonFieldObject (
345a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
346a9f12690SJung-uk Kim     UINT8                   FieldFlags,
347a9f12690SJung-uk Kim     UINT8                   FieldAttribute,
348a9f12690SJung-uk Kim     UINT32                  FieldBitPosition,
349a9f12690SJung-uk Kim     UINT32                  FieldBitLength);
350a9f12690SJung-uk Kim 
351a9f12690SJung-uk Kim ACPI_STATUS
352a9f12690SJung-uk Kim AcpiExPrepFieldValue (
353a9f12690SJung-uk Kim     ACPI_CREATE_FIELD_INFO  *Info);
354a9f12690SJung-uk Kim 
355a9f12690SJung-uk Kim 
356a9f12690SJung-uk Kim /*
357a9f12690SJung-uk Kim  * exsystem - Interface to OS services
358a9f12690SJung-uk Kim  */
359a9f12690SJung-uk Kim ACPI_STATUS
360a9f12690SJung-uk Kim AcpiExSystemDoNotifyOp (
361a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Value,
362a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
363a9f12690SJung-uk Kim 
364a9f12690SJung-uk Kim ACPI_STATUS
3653f5e024cSJung-uk Kim AcpiExSystemDoSleep(
3669a179dd8SJung-uk Kim     UINT64                  Time);
367a9f12690SJung-uk Kim 
368a9f12690SJung-uk Kim ACPI_STATUS
369a9f12690SJung-uk Kim AcpiExSystemDoStall (
370a9f12690SJung-uk Kim     UINT32                  Time);
371a9f12690SJung-uk Kim 
372a9f12690SJung-uk Kim ACPI_STATUS
373a9f12690SJung-uk Kim AcpiExSystemSignalEvent(
374a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
375a9f12690SJung-uk Kim 
376a9f12690SJung-uk Kim ACPI_STATUS
377a9f12690SJung-uk Kim AcpiExSystemWaitEvent(
378a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Time,
379a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
380a9f12690SJung-uk Kim 
381a9f12690SJung-uk Kim ACPI_STATUS
382a9f12690SJung-uk Kim AcpiExSystemResetEvent(
383a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
384a9f12690SJung-uk Kim 
385a9f12690SJung-uk Kim ACPI_STATUS
386a9f12690SJung-uk Kim AcpiExSystemWaitSemaphore (
387a9f12690SJung-uk Kim     ACPI_SEMAPHORE          Semaphore,
388a9f12690SJung-uk Kim     UINT16                  Timeout);
389a9f12690SJung-uk Kim 
390a9f12690SJung-uk Kim ACPI_STATUS
391a9f12690SJung-uk Kim AcpiExSystemWaitMutex (
392a9f12690SJung-uk Kim     ACPI_MUTEX              Mutex,
393a9f12690SJung-uk Kim     UINT16                  Timeout);
394a9f12690SJung-uk Kim 
395a9f12690SJung-uk Kim /*
396a9f12690SJung-uk Kim  * exoparg1 - ACPI AML execution, 1 operand
397a9f12690SJung-uk Kim  */
398a9f12690SJung-uk Kim ACPI_STATUS
399a9f12690SJung-uk Kim AcpiExOpcode_0A_0T_1R (
400a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
401a9f12690SJung-uk Kim 
402a9f12690SJung-uk Kim ACPI_STATUS
403a9f12690SJung-uk Kim AcpiExOpcode_1A_0T_0R (
404a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
405a9f12690SJung-uk Kim 
406a9f12690SJung-uk Kim ACPI_STATUS
407a9f12690SJung-uk Kim AcpiExOpcode_1A_0T_1R (
408a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
409a9f12690SJung-uk Kim 
410a9f12690SJung-uk Kim ACPI_STATUS
411a9f12690SJung-uk Kim AcpiExOpcode_1A_1T_1R (
412a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
413a9f12690SJung-uk Kim 
414a9f12690SJung-uk Kim ACPI_STATUS
415a9f12690SJung-uk Kim AcpiExOpcode_1A_1T_0R (
416a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
417a9f12690SJung-uk Kim 
418a9f12690SJung-uk Kim /*
419a9f12690SJung-uk Kim  * exoparg2 - ACPI AML execution, 2 operands
420a9f12690SJung-uk Kim  */
421a9f12690SJung-uk Kim ACPI_STATUS
422a9f12690SJung-uk Kim AcpiExOpcode_2A_0T_0R (
423a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
424a9f12690SJung-uk Kim 
425a9f12690SJung-uk Kim ACPI_STATUS
426a9f12690SJung-uk Kim AcpiExOpcode_2A_0T_1R (
427a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
428a9f12690SJung-uk Kim 
429a9f12690SJung-uk Kim ACPI_STATUS
430a9f12690SJung-uk Kim AcpiExOpcode_2A_1T_1R (
431a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
432a9f12690SJung-uk Kim 
433a9f12690SJung-uk Kim ACPI_STATUS
434a9f12690SJung-uk Kim AcpiExOpcode_2A_2T_1R (
435a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
436a9f12690SJung-uk Kim 
437a9f12690SJung-uk Kim 
438a9f12690SJung-uk Kim /*
439a9f12690SJung-uk Kim  * exoparg3 - ACPI AML execution, 3 operands
440a9f12690SJung-uk Kim  */
441a9f12690SJung-uk Kim ACPI_STATUS
442a9f12690SJung-uk Kim AcpiExOpcode_3A_0T_0R (
443a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
444a9f12690SJung-uk Kim 
445a9f12690SJung-uk Kim ACPI_STATUS
446a9f12690SJung-uk Kim AcpiExOpcode_3A_1T_1R (
447a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
448a9f12690SJung-uk Kim 
449a9f12690SJung-uk Kim 
450a9f12690SJung-uk Kim /*
451a9f12690SJung-uk Kim  * exoparg6 - ACPI AML execution, 6 operands
452a9f12690SJung-uk Kim  */
453a9f12690SJung-uk Kim ACPI_STATUS
454a9f12690SJung-uk Kim AcpiExOpcode_6A_0T_1R (
455a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
456a9f12690SJung-uk Kim 
457a9f12690SJung-uk Kim 
458a9f12690SJung-uk Kim /*
459a9f12690SJung-uk Kim  * exresolv - Object resolution and get value functions
460a9f12690SJung-uk Kim  */
461a9f12690SJung-uk Kim ACPI_STATUS
462a9f12690SJung-uk Kim AcpiExResolveToValue (
463a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **StackPtr,
464a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
465a9f12690SJung-uk Kim 
466a9f12690SJung-uk Kim ACPI_STATUS
467a9f12690SJung-uk Kim AcpiExResolveMultiple (
468a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
469a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Operand,
470a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        *ReturnType,
471a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ReturnDesc);
472a9f12690SJung-uk Kim 
473a9f12690SJung-uk Kim 
474a9f12690SJung-uk Kim /*
475a9f12690SJung-uk Kim  * exresnte - resolve namespace node
476a9f12690SJung-uk Kim  */
477a9f12690SJung-uk Kim ACPI_STATUS
478a9f12690SJung-uk Kim AcpiExResolveNodeToValue (
479a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     **StackPtr,
480a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
481a9f12690SJung-uk Kim 
482a9f12690SJung-uk Kim 
483a9f12690SJung-uk Kim /*
484a9f12690SJung-uk Kim  * exresop - resolve operand to value
485a9f12690SJung-uk Kim  */
486a9f12690SJung-uk Kim ACPI_STATUS
487a9f12690SJung-uk Kim AcpiExResolveOperands (
488a9f12690SJung-uk Kim     UINT16                  Opcode,
489a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **StackPtr,
490a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
491a9f12690SJung-uk Kim 
492a9f12690SJung-uk Kim 
493a9f12690SJung-uk Kim /*
494a9f12690SJung-uk Kim  * exdump - Interpreter debug output routines
495a9f12690SJung-uk Kim  */
496a9f12690SJung-uk Kim void
497a9f12690SJung-uk Kim AcpiExDumpOperand (
498a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
499a9f12690SJung-uk Kim     UINT32                  Depth);
500a9f12690SJung-uk Kim 
501a9f12690SJung-uk Kim void
502a9f12690SJung-uk Kim AcpiExDumpOperands (
503a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **Operands,
504a9f12690SJung-uk Kim     const char              *OpcodeName,
505a9f12690SJung-uk Kim     UINT32                  NumOpcodes);
506a9f12690SJung-uk Kim 
507a9f12690SJung-uk Kim void
508a9f12690SJung-uk Kim AcpiExDumpObjectDescriptor (
509a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Object,
510a9f12690SJung-uk Kim     UINT32                  Flags);
511a9f12690SJung-uk Kim 
512a9f12690SJung-uk Kim void
513a9f12690SJung-uk Kim AcpiExDumpNamespaceNode (
514a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node,
515a9f12690SJung-uk Kim     UINT32                  Flags);
516a9f12690SJung-uk Kim 
517a9f12690SJung-uk Kim 
518a9f12690SJung-uk Kim /*
519a9f12690SJung-uk Kim  * exnames - AML namestring support
520a9f12690SJung-uk Kim  */
521a9f12690SJung-uk Kim ACPI_STATUS
522a9f12690SJung-uk Kim AcpiExGetNameString (
523a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        DataType,
524a9f12690SJung-uk Kim     UINT8                   *InAmlAddress,
525a9f12690SJung-uk Kim     char                    **OutNameString,
526a9f12690SJung-uk Kim     UINT32                  *OutNameLength);
527a9f12690SJung-uk Kim 
528a9f12690SJung-uk Kim 
529a9f12690SJung-uk Kim /*
530a9f12690SJung-uk Kim  * exstore - Object store support
531a9f12690SJung-uk Kim  */
532a9f12690SJung-uk Kim ACPI_STATUS
533a9f12690SJung-uk Kim AcpiExStore (
534a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ValDesc,
535a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *DestDesc,
536a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
537a9f12690SJung-uk Kim 
538a9f12690SJung-uk Kim ACPI_STATUS
539a9f12690SJung-uk Kim AcpiExStoreObjectToNode (
540a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
541a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node,
542a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
543a9f12690SJung-uk Kim     UINT8                   ImplicitConversion);
544a9f12690SJung-uk Kim 
545a9f12690SJung-uk Kim #define ACPI_IMPLICIT_CONVERSION        TRUE
546a9f12690SJung-uk Kim #define ACPI_NO_IMPLICIT_CONVERSION     FALSE
547a9f12690SJung-uk Kim 
548a9f12690SJung-uk Kim 
549a9f12690SJung-uk Kim /*
550a9f12690SJung-uk Kim  * exstoren - resolve/store object
551a9f12690SJung-uk Kim  */
552a9f12690SJung-uk Kim ACPI_STATUS
553a9f12690SJung-uk Kim AcpiExResolveObject (
554a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **SourceDescPtr,
555a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        TargetType,
556a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
557a9f12690SJung-uk Kim 
558a9f12690SJung-uk Kim ACPI_STATUS
559a9f12690SJung-uk Kim AcpiExStoreObjectToObject (
560a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
561a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *DestDesc,
562a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **NewDesc,
563a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
564a9f12690SJung-uk Kim 
565a9f12690SJung-uk Kim 
566a9f12690SJung-uk Kim /*
567a9f12690SJung-uk Kim  * exstorob - store object - buffer/string
568a9f12690SJung-uk Kim  */
569a9f12690SJung-uk Kim ACPI_STATUS
570a9f12690SJung-uk Kim AcpiExStoreBufferToBuffer (
571a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
572a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
573a9f12690SJung-uk Kim 
574a9f12690SJung-uk Kim ACPI_STATUS
575a9f12690SJung-uk Kim AcpiExStoreStringToString (
576a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
577a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
578a9f12690SJung-uk Kim 
579a9f12690SJung-uk Kim 
580a9f12690SJung-uk Kim /*
581a9f12690SJung-uk Kim  * excopy - object copy
582a9f12690SJung-uk Kim  */
583a9f12690SJung-uk Kim ACPI_STATUS
584a9f12690SJung-uk Kim AcpiExCopyIntegerToIndexField (
585a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
586a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
587a9f12690SJung-uk Kim 
588a9f12690SJung-uk Kim ACPI_STATUS
589a9f12690SJung-uk Kim AcpiExCopyIntegerToBankField (
590a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
591a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
592a9f12690SJung-uk Kim 
593a9f12690SJung-uk Kim ACPI_STATUS
594a9f12690SJung-uk Kim AcpiExCopyDataToNamedField (
595a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
596a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node);
597a9f12690SJung-uk Kim 
598a9f12690SJung-uk Kim ACPI_STATUS
599a9f12690SJung-uk Kim AcpiExCopyIntegerToBufferField (
600a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
601a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
602a9f12690SJung-uk Kim 
603a9f12690SJung-uk Kim 
604a9f12690SJung-uk Kim /*
605a9f12690SJung-uk Kim  * exutils - interpreter/scanner utilities
606a9f12690SJung-uk Kim  */
607a9f12690SJung-uk Kim void
608a9f12690SJung-uk Kim AcpiExEnterInterpreter (
609a9f12690SJung-uk Kim     void);
610a9f12690SJung-uk Kim 
611a9f12690SJung-uk Kim void
612a9f12690SJung-uk Kim AcpiExExitInterpreter (
613a9f12690SJung-uk Kim     void);
614a9f12690SJung-uk Kim 
615a9f12690SJung-uk Kim void
616a9f12690SJung-uk Kim AcpiExReacquireInterpreter (
617a9f12690SJung-uk Kim     void);
618a9f12690SJung-uk Kim 
619a9f12690SJung-uk Kim void
620a9f12690SJung-uk Kim AcpiExRelinquishInterpreter (
621a9f12690SJung-uk Kim     void);
622a9f12690SJung-uk Kim 
623a9f12690SJung-uk Kim void
624a9f12690SJung-uk Kim AcpiExTruncateFor32bitTable (
625a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
626a9f12690SJung-uk Kim 
627a9f12690SJung-uk Kim void
628a9f12690SJung-uk Kim AcpiExAcquireGlobalLock (
629a9f12690SJung-uk Kim     UINT32                  Rule);
630a9f12690SJung-uk Kim 
631a9f12690SJung-uk Kim void
632a9f12690SJung-uk Kim AcpiExReleaseGlobalLock (
633a9f12690SJung-uk Kim     UINT32                  Rule);
634a9f12690SJung-uk Kim 
635a9f12690SJung-uk Kim void
636a9f12690SJung-uk Kim AcpiExEisaIdToString (
637d6dd1baeSJung-uk Kim     char                    *Dest,
6389a179dd8SJung-uk Kim     UINT64                  CompressedId);
639a9f12690SJung-uk Kim 
640a9f12690SJung-uk Kim void
641d6dd1baeSJung-uk Kim AcpiExIntegerToString (
642d6dd1baeSJung-uk Kim     char                    *Dest,
6439a179dd8SJung-uk Kim     UINT64                  Value);
644a9f12690SJung-uk Kim 
645a9f12690SJung-uk Kim 
646a9f12690SJung-uk Kim /*
647a9f12690SJung-uk Kim  * exregion - default OpRegion handlers
648a9f12690SJung-uk Kim  */
649a9f12690SJung-uk Kim ACPI_STATUS
650a9f12690SJung-uk Kim AcpiExSystemMemorySpaceHandler (
651a9f12690SJung-uk Kim     UINT32                  Function,
652a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
653a9f12690SJung-uk Kim     UINT32                  BitWidth,
6549a179dd8SJung-uk Kim     UINT64                  *Value,
655a9f12690SJung-uk Kim     void                    *HandlerContext,
656a9f12690SJung-uk Kim     void                    *RegionContext);
657a9f12690SJung-uk Kim 
658a9f12690SJung-uk Kim ACPI_STATUS
659a9f12690SJung-uk Kim AcpiExSystemIoSpaceHandler (
660a9f12690SJung-uk Kim     UINT32                  Function,
661a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
662a9f12690SJung-uk Kim     UINT32                  BitWidth,
6639a179dd8SJung-uk Kim     UINT64                  *Value,
664a9f12690SJung-uk Kim     void                    *HandlerContext,
665a9f12690SJung-uk Kim     void                    *RegionContext);
666a9f12690SJung-uk Kim 
667a9f12690SJung-uk Kim ACPI_STATUS
668a9f12690SJung-uk Kim AcpiExPciConfigSpaceHandler (
669a9f12690SJung-uk Kim     UINT32                  Function,
670a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
671a9f12690SJung-uk Kim     UINT32                  BitWidth,
6729a179dd8SJung-uk Kim     UINT64                  *Value,
673a9f12690SJung-uk Kim     void                    *HandlerContext,
674a9f12690SJung-uk Kim     void                    *RegionContext);
675a9f12690SJung-uk Kim 
676a9f12690SJung-uk Kim ACPI_STATUS
677a9f12690SJung-uk Kim AcpiExCmosSpaceHandler (
678a9f12690SJung-uk Kim     UINT32                  Function,
679a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
680a9f12690SJung-uk Kim     UINT32                  BitWidth,
6819a179dd8SJung-uk Kim     UINT64                  *Value,
682a9f12690SJung-uk Kim     void                    *HandlerContext,
683a9f12690SJung-uk Kim     void                    *RegionContext);
684a9f12690SJung-uk Kim 
685a9f12690SJung-uk Kim ACPI_STATUS
686a9f12690SJung-uk Kim AcpiExPciBarSpaceHandler (
687a9f12690SJung-uk Kim     UINT32                  Function,
688a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
689a9f12690SJung-uk Kim     UINT32                  BitWidth,
6909a179dd8SJung-uk Kim     UINT64                  *Value,
691a9f12690SJung-uk Kim     void                    *HandlerContext,
692a9f12690SJung-uk Kim     void                    *RegionContext);
693a9f12690SJung-uk Kim 
694a9f12690SJung-uk Kim ACPI_STATUS
695a9f12690SJung-uk Kim AcpiExEmbeddedControllerSpaceHandler (
696a9f12690SJung-uk Kim     UINT32                  Function,
697a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
698a9f12690SJung-uk Kim     UINT32                  BitWidth,
6999a179dd8SJung-uk Kim     UINT64                  *Value,
700a9f12690SJung-uk Kim     void                    *HandlerContext,
701a9f12690SJung-uk Kim     void                    *RegionContext);
702a9f12690SJung-uk Kim 
703a9f12690SJung-uk Kim ACPI_STATUS
704a9f12690SJung-uk Kim AcpiExSmBusSpaceHandler (
705a9f12690SJung-uk Kim     UINT32                  Function,
706a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
707a9f12690SJung-uk Kim     UINT32                  BitWidth,
7089a179dd8SJung-uk Kim     UINT64                  *Value,
709a9f12690SJung-uk Kim     void                    *HandlerContext,
710a9f12690SJung-uk Kim     void                    *RegionContext);
711a9f12690SJung-uk Kim 
712a9f12690SJung-uk Kim 
713a9f12690SJung-uk Kim ACPI_STATUS
714a9f12690SJung-uk Kim AcpiExDataTableSpaceHandler (
715a9f12690SJung-uk Kim     UINT32                  Function,
716a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
717a9f12690SJung-uk Kim     UINT32                  BitWidth,
7189a179dd8SJung-uk Kim     UINT64                  *Value,
719a9f12690SJung-uk Kim     void                    *HandlerContext,
720a9f12690SJung-uk Kim     void                    *RegionContext);
721a9f12690SJung-uk Kim 
722a9f12690SJung-uk Kim #endif /* __INTERP_H__ */
723