xref: /freebsd/sys/contrib/dev/acpica/include/acinterp.h (revision fe0f0bbb19f4f267df5c6249d1af4d6f665dfd52)
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 
7d244b227SJung-uk Kim /*
81c0e1b6dSJung-uk Kim  * Copyright (C) 2000 - 2015, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-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
92313a0c13SJung-uk Kim #define ACPI_EXD_LIST                   14 /* Operand object list */
93313a0c13SJung-uk Kim #define ACPI_EXD_HDLR_LIST              15 /* Address Handler list */
94313a0c13SJung-uk Kim #define ACPI_EXD_RGN_LIST               16 /* Region list */
95313a0c13SJung-uk Kim #define ACPI_EXD_NODE                   17 /* Namespace Node */
96a9f12690SJung-uk Kim 
97a9f12690SJung-uk Kim /* restore default alignment */
98a9f12690SJung-uk Kim 
99a9f12690SJung-uk Kim #pragma pack()
100a9f12690SJung-uk Kim 
101a9f12690SJung-uk Kim 
102a9f12690SJung-uk Kim /*
103a9f12690SJung-uk Kim  * exconvrt - object conversion
104a9f12690SJung-uk Kim  */
105a9f12690SJung-uk Kim ACPI_STATUS
106a9f12690SJung-uk Kim AcpiExConvertToInteger (
107a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
108a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc,
109a9f12690SJung-uk Kim     UINT32                  Flags);
110a9f12690SJung-uk Kim 
111a9f12690SJung-uk Kim ACPI_STATUS
112a9f12690SJung-uk Kim AcpiExConvertToBuffer (
113a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
114a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc);
115a9f12690SJung-uk Kim 
116a9f12690SJung-uk Kim ACPI_STATUS
117a9f12690SJung-uk Kim AcpiExConvertToString (
118a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
119a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc,
120a9f12690SJung-uk Kim     UINT32                  Type);
121a9f12690SJung-uk Kim 
122a9f12690SJung-uk Kim /* Types for ->String conversion */
123a9f12690SJung-uk Kim 
124a9f12690SJung-uk Kim #define ACPI_EXPLICIT_BYTE_COPY         0x00000000
125a9f12690SJung-uk Kim #define ACPI_EXPLICIT_CONVERT_HEX       0x00000001
126a9f12690SJung-uk Kim #define ACPI_IMPLICIT_CONVERT_HEX       0x00000002
127a9f12690SJung-uk Kim #define ACPI_EXPLICIT_CONVERT_DECIMAL   0x00000003
128a9f12690SJung-uk Kim 
129a9f12690SJung-uk Kim ACPI_STATUS
130a9f12690SJung-uk Kim AcpiExConvertToTargetType (
131a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        DestinationType,
132a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
133a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc,
134a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
135a9f12690SJung-uk Kim 
136a9f12690SJung-uk Kim 
137a9f12690SJung-uk Kim /*
138ca3cf4faSJung-uk Kim  * exdebug - AML debug object
139ca3cf4faSJung-uk Kim  */
140ca3cf4faSJung-uk Kim void
141ca3cf4faSJung-uk Kim AcpiExDoDebugObject (
142ca3cf4faSJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
143ca3cf4faSJung-uk Kim     UINT32                  Level,
144ca3cf4faSJung-uk Kim     UINT32                  Index);
145ca3cf4faSJung-uk Kim 
146*fe0f0bbbSJung-uk Kim void
147*fe0f0bbbSJung-uk Kim AcpiExStartTraceMethod (
148*fe0f0bbbSJung-uk Kim     ACPI_NAMESPACE_NODE     *MethodNode,
149*fe0f0bbbSJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
150*fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
151*fe0f0bbbSJung-uk Kim 
152*fe0f0bbbSJung-uk Kim void
153*fe0f0bbbSJung-uk Kim AcpiExStopTraceMethod (
154*fe0f0bbbSJung-uk Kim     ACPI_NAMESPACE_NODE     *MethodNode,
155*fe0f0bbbSJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
156*fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
157*fe0f0bbbSJung-uk Kim 
158*fe0f0bbbSJung-uk Kim void
159*fe0f0bbbSJung-uk Kim AcpiExStartTraceOpcode (
160*fe0f0bbbSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
161*fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
162*fe0f0bbbSJung-uk Kim 
163*fe0f0bbbSJung-uk Kim void
164*fe0f0bbbSJung-uk Kim AcpiExStopTraceOpcode (
165*fe0f0bbbSJung-uk Kim     ACPI_PARSE_OBJECT       *Op,
166*fe0f0bbbSJung-uk Kim     ACPI_WALK_STATE         *WalkState);
167*fe0f0bbbSJung-uk Kim 
168*fe0f0bbbSJung-uk Kim void
169*fe0f0bbbSJung-uk Kim AcpiExTracePoint (
170*fe0f0bbbSJung-uk Kim     ACPI_TRACE_EVENT_TYPE   Type,
171*fe0f0bbbSJung-uk Kim     BOOLEAN                 Begin,
172*fe0f0bbbSJung-uk Kim     UINT8                   *Aml,
173*fe0f0bbbSJung-uk Kim     char                    *Pathname);
174*fe0f0bbbSJung-uk Kim 
175ca3cf4faSJung-uk Kim 
176ca3cf4faSJung-uk Kim /*
177a9f12690SJung-uk Kim  * exfield - ACPI AML (p-code) execution - field manipulation
178a9f12690SJung-uk Kim  */
179a9f12690SJung-uk Kim ACPI_STATUS
180a9f12690SJung-uk Kim AcpiExCommonBufferSetup (
181a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
182a9f12690SJung-uk Kim     UINT32                  BufferLength,
183a9f12690SJung-uk Kim     UINT32                  *DatumCount);
184a9f12690SJung-uk Kim 
185a9f12690SJung-uk Kim ACPI_STATUS
186a9f12690SJung-uk Kim AcpiExWriteWithUpdateRule (
187a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
1889a179dd8SJung-uk Kim     UINT64                  Mask,
1899a179dd8SJung-uk Kim     UINT64                  FieldValue,
190a9f12690SJung-uk Kim     UINT32                  FieldDatumByteOffset);
191a9f12690SJung-uk Kim 
192a9f12690SJung-uk Kim void
193a9f12690SJung-uk Kim AcpiExGetBufferDatum(
1949a179dd8SJung-uk Kim     UINT64                  *Datum,
195a9f12690SJung-uk Kim     void                    *Buffer,
196a9f12690SJung-uk Kim     UINT32                  BufferLength,
197a9f12690SJung-uk Kim     UINT32                  ByteGranularity,
198a9f12690SJung-uk Kim     UINT32                  BufferOffset);
199a9f12690SJung-uk Kim 
200a9f12690SJung-uk Kim void
201a9f12690SJung-uk Kim AcpiExSetBufferDatum (
2029a179dd8SJung-uk Kim     UINT64                  MergedDatum,
203a9f12690SJung-uk Kim     void                    *Buffer,
204a9f12690SJung-uk Kim     UINT32                  BufferLength,
205a9f12690SJung-uk Kim     UINT32                  ByteGranularity,
206a9f12690SJung-uk Kim     UINT32                  BufferOffset);
207a9f12690SJung-uk Kim 
208a9f12690SJung-uk Kim ACPI_STATUS
209a9f12690SJung-uk Kim AcpiExReadDataFromField (
210a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
211a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
212a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **RetBufferDesc);
213a9f12690SJung-uk Kim 
214a9f12690SJung-uk Kim ACPI_STATUS
215a9f12690SJung-uk Kim AcpiExWriteDataToField (
216a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
217a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
218a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ResultDesc);
219a9f12690SJung-uk Kim 
220a9f12690SJung-uk Kim 
221a9f12690SJung-uk Kim /*
222a9f12690SJung-uk Kim  * exfldio - low level field I/O
223a9f12690SJung-uk Kim  */
224a9f12690SJung-uk Kim ACPI_STATUS
225a9f12690SJung-uk Kim AcpiExExtractFromField (
226a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
227a9f12690SJung-uk Kim     void                    *Buffer,
228a9f12690SJung-uk Kim     UINT32                  BufferLength);
229a9f12690SJung-uk Kim 
230a9f12690SJung-uk Kim ACPI_STATUS
231a9f12690SJung-uk Kim AcpiExInsertIntoField (
232a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
233a9f12690SJung-uk Kim     void                    *Buffer,
234a9f12690SJung-uk Kim     UINT32                  BufferLength);
235a9f12690SJung-uk Kim 
236a9f12690SJung-uk Kim ACPI_STATUS
237a9f12690SJung-uk Kim AcpiExAccessRegion (
238a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
239a9f12690SJung-uk Kim     UINT32                  FieldDatumByteOffset,
2409a179dd8SJung-uk Kim     UINT64                  *Value,
241a9f12690SJung-uk Kim     UINT32                  ReadWrite);
242a9f12690SJung-uk Kim 
243a9f12690SJung-uk Kim 
244a9f12690SJung-uk Kim /*
245a9f12690SJung-uk Kim  * exmisc - misc support routines
246a9f12690SJung-uk Kim  */
247a9f12690SJung-uk Kim ACPI_STATUS
248a9f12690SJung-uk Kim AcpiExGetObjectReference (
249a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
250a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ReturnDesc,
251a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
252a9f12690SJung-uk Kim 
253a9f12690SJung-uk Kim ACPI_STATUS
254a9f12690SJung-uk Kim AcpiExConcatTemplate (
255a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
256a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc2,
257a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
258a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
259a9f12690SJung-uk Kim 
260a9f12690SJung-uk Kim ACPI_STATUS
261a9f12690SJung-uk Kim AcpiExDoConcatenate (
262a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
263a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc2,
264a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ActualReturnDesc,
265a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
266a9f12690SJung-uk Kim 
267a9f12690SJung-uk Kim ACPI_STATUS
268a9f12690SJung-uk Kim AcpiExDoLogicalNumericOp (
269a9f12690SJung-uk Kim     UINT16                  Opcode,
2709a179dd8SJung-uk Kim     UINT64                  Integer0,
2719a179dd8SJung-uk Kim     UINT64                  Integer1,
272a9f12690SJung-uk Kim     BOOLEAN                 *LogicalResult);
273a9f12690SJung-uk Kim 
274a9f12690SJung-uk Kim ACPI_STATUS
275a9f12690SJung-uk Kim AcpiExDoLogicalOp (
276a9f12690SJung-uk Kim     UINT16                  Opcode,
277a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Operand0,
278a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Operand1,
279a9f12690SJung-uk Kim     BOOLEAN                 *LogicalResult);
280a9f12690SJung-uk Kim 
2819a179dd8SJung-uk Kim UINT64
282a9f12690SJung-uk Kim AcpiExDoMathOp (
283a9f12690SJung-uk Kim     UINT16                  Opcode,
2849a179dd8SJung-uk Kim     UINT64                  Operand0,
2859a179dd8SJung-uk Kim     UINT64                  Operand1);
286a9f12690SJung-uk Kim 
287a9f12690SJung-uk Kim ACPI_STATUS
288a9f12690SJung-uk Kim AcpiExCreateMutex (
289a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
290a9f12690SJung-uk Kim 
291a9f12690SJung-uk Kim ACPI_STATUS
292a9f12690SJung-uk Kim AcpiExCreateProcessor (
293a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
294a9f12690SJung-uk Kim 
295a9f12690SJung-uk Kim ACPI_STATUS
296a9f12690SJung-uk Kim AcpiExCreatePowerResource (
297a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
298a9f12690SJung-uk Kim 
299a9f12690SJung-uk Kim ACPI_STATUS
300a9f12690SJung-uk Kim AcpiExCreateRegion (
301a9f12690SJung-uk Kim     UINT8                   *AmlStart,
302a9f12690SJung-uk Kim     UINT32                  AmlLength,
303a9f12690SJung-uk Kim     UINT8                   RegionSpace,
304a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
305a9f12690SJung-uk Kim 
306a9f12690SJung-uk Kim ACPI_STATUS
307a9f12690SJung-uk Kim AcpiExCreateEvent (
308a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
309a9f12690SJung-uk Kim 
310a9f12690SJung-uk Kim ACPI_STATUS
311a9f12690SJung-uk Kim AcpiExCreateAlias (
312a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
313a9f12690SJung-uk Kim 
314a9f12690SJung-uk Kim ACPI_STATUS
315a9f12690SJung-uk Kim AcpiExCreateMethod (
316a9f12690SJung-uk Kim     UINT8                   *AmlStart,
317a9f12690SJung-uk Kim     UINT32                  AmlLength,
318a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
319a9f12690SJung-uk Kim 
320a9f12690SJung-uk Kim 
321a9f12690SJung-uk Kim /*
322a9f12690SJung-uk Kim  * exconfig - dynamic table load/unload
323a9f12690SJung-uk Kim  */
324a9f12690SJung-uk Kim ACPI_STATUS
325a9f12690SJung-uk Kim AcpiExLoadOp (
326a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
327a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Target,
328a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
329a9f12690SJung-uk Kim 
330a9f12690SJung-uk Kim ACPI_STATUS
331a9f12690SJung-uk Kim AcpiExLoadTableOp (
332a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
333a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ReturnDesc);
334a9f12690SJung-uk Kim 
335a9f12690SJung-uk Kim ACPI_STATUS
336a9f12690SJung-uk Kim AcpiExUnloadTable (
337a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *DdbHandle);
338a9f12690SJung-uk Kim 
339a9f12690SJung-uk Kim 
340a9f12690SJung-uk Kim /*
341a9f12690SJung-uk Kim  * exmutex - mutex support
342a9f12690SJung-uk Kim  */
343a9f12690SJung-uk Kim ACPI_STATUS
344a9f12690SJung-uk Kim AcpiExAcquireMutex (
345a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TimeDesc,
346a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
347a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
348a9f12690SJung-uk Kim 
349a9f12690SJung-uk Kim ACPI_STATUS
350a9f12690SJung-uk Kim AcpiExAcquireMutexObject (
351a9f12690SJung-uk Kim     UINT16                  Timeout,
352a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
353a9f12690SJung-uk Kim     ACPI_THREAD_ID          ThreadId);
354a9f12690SJung-uk Kim 
355a9f12690SJung-uk Kim ACPI_STATUS
356a9f12690SJung-uk Kim AcpiExReleaseMutex (
357a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
358a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
359a9f12690SJung-uk Kim 
360a9f12690SJung-uk Kim ACPI_STATUS
361a9f12690SJung-uk Kim AcpiExReleaseMutexObject (
362a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
363a9f12690SJung-uk Kim 
364a9f12690SJung-uk Kim void
365a9f12690SJung-uk Kim AcpiExReleaseAllMutexes (
366a9f12690SJung-uk Kim     ACPI_THREAD_STATE       *Thread);
367a9f12690SJung-uk Kim 
368a9f12690SJung-uk Kim void
369a9f12690SJung-uk Kim AcpiExUnlinkMutex (
370a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
371a9f12690SJung-uk Kim 
372a9f12690SJung-uk Kim 
373a9f12690SJung-uk Kim /*
374a9f12690SJung-uk Kim  * exprep - ACPI AML execution - prep utilities
375a9f12690SJung-uk Kim  */
376a9f12690SJung-uk Kim ACPI_STATUS
377a9f12690SJung-uk Kim AcpiExPrepCommonFieldObject (
378a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
379a9f12690SJung-uk Kim     UINT8                   FieldFlags,
380a9f12690SJung-uk Kim     UINT8                   FieldAttribute,
381a9f12690SJung-uk Kim     UINT32                  FieldBitPosition,
382a9f12690SJung-uk Kim     UINT32                  FieldBitLength);
383a9f12690SJung-uk Kim 
384a9f12690SJung-uk Kim ACPI_STATUS
385a9f12690SJung-uk Kim AcpiExPrepFieldValue (
386a9f12690SJung-uk Kim     ACPI_CREATE_FIELD_INFO  *Info);
387a9f12690SJung-uk Kim 
388a9f12690SJung-uk Kim 
389a9f12690SJung-uk Kim /*
390a9f12690SJung-uk Kim  * exsystem - Interface to OS services
391a9f12690SJung-uk Kim  */
392a9f12690SJung-uk Kim ACPI_STATUS
393a9f12690SJung-uk Kim AcpiExSystemDoNotifyOp (
394a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Value,
395a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
396a9f12690SJung-uk Kim 
397a9f12690SJung-uk Kim ACPI_STATUS
3983f5e024cSJung-uk Kim AcpiExSystemDoSleep(
3999a179dd8SJung-uk Kim     UINT64                  Time);
400a9f12690SJung-uk Kim 
401a9f12690SJung-uk Kim ACPI_STATUS
402a9f12690SJung-uk Kim AcpiExSystemDoStall (
403a9f12690SJung-uk Kim     UINT32                  Time);
404a9f12690SJung-uk Kim 
405a9f12690SJung-uk Kim ACPI_STATUS
406a9f12690SJung-uk Kim AcpiExSystemSignalEvent(
407a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
408a9f12690SJung-uk Kim 
409a9f12690SJung-uk Kim ACPI_STATUS
410a9f12690SJung-uk Kim AcpiExSystemWaitEvent(
411a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Time,
412a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
413a9f12690SJung-uk Kim 
414a9f12690SJung-uk Kim ACPI_STATUS
415a9f12690SJung-uk Kim AcpiExSystemResetEvent(
416a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
417a9f12690SJung-uk Kim 
418a9f12690SJung-uk Kim ACPI_STATUS
419a9f12690SJung-uk Kim AcpiExSystemWaitSemaphore (
420a9f12690SJung-uk Kim     ACPI_SEMAPHORE          Semaphore,
421a9f12690SJung-uk Kim     UINT16                  Timeout);
422a9f12690SJung-uk Kim 
423a9f12690SJung-uk Kim ACPI_STATUS
424a9f12690SJung-uk Kim AcpiExSystemWaitMutex (
425a9f12690SJung-uk Kim     ACPI_MUTEX              Mutex,
426a9f12690SJung-uk Kim     UINT16                  Timeout);
427a9f12690SJung-uk Kim 
428a9f12690SJung-uk Kim /*
429a9f12690SJung-uk Kim  * exoparg1 - ACPI AML execution, 1 operand
430a9f12690SJung-uk Kim  */
431a9f12690SJung-uk Kim ACPI_STATUS
432a9f12690SJung-uk Kim AcpiExOpcode_0A_0T_1R (
433a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
434a9f12690SJung-uk Kim 
435a9f12690SJung-uk Kim ACPI_STATUS
436a9f12690SJung-uk Kim AcpiExOpcode_1A_0T_0R (
437a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
438a9f12690SJung-uk Kim 
439a9f12690SJung-uk Kim ACPI_STATUS
440a9f12690SJung-uk Kim AcpiExOpcode_1A_0T_1R (
441a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
442a9f12690SJung-uk Kim 
443a9f12690SJung-uk Kim ACPI_STATUS
444a9f12690SJung-uk Kim AcpiExOpcode_1A_1T_1R (
445a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
446a9f12690SJung-uk Kim 
447a9f12690SJung-uk Kim ACPI_STATUS
448a9f12690SJung-uk Kim AcpiExOpcode_1A_1T_0R (
449a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
450a9f12690SJung-uk Kim 
451a9f12690SJung-uk Kim /*
452a9f12690SJung-uk Kim  * exoparg2 - ACPI AML execution, 2 operands
453a9f12690SJung-uk Kim  */
454a9f12690SJung-uk Kim ACPI_STATUS
455a9f12690SJung-uk Kim AcpiExOpcode_2A_0T_0R (
456a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
457a9f12690SJung-uk Kim 
458a9f12690SJung-uk Kim ACPI_STATUS
459a9f12690SJung-uk Kim AcpiExOpcode_2A_0T_1R (
460a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
461a9f12690SJung-uk Kim 
462a9f12690SJung-uk Kim ACPI_STATUS
463a9f12690SJung-uk Kim AcpiExOpcode_2A_1T_1R (
464a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
465a9f12690SJung-uk Kim 
466a9f12690SJung-uk Kim ACPI_STATUS
467a9f12690SJung-uk Kim AcpiExOpcode_2A_2T_1R (
468a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
469a9f12690SJung-uk Kim 
470a9f12690SJung-uk Kim 
471a9f12690SJung-uk Kim /*
472a9f12690SJung-uk Kim  * exoparg3 - ACPI AML execution, 3 operands
473a9f12690SJung-uk Kim  */
474a9f12690SJung-uk Kim ACPI_STATUS
475a9f12690SJung-uk Kim AcpiExOpcode_3A_0T_0R (
476a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
477a9f12690SJung-uk Kim 
478a9f12690SJung-uk Kim ACPI_STATUS
479a9f12690SJung-uk Kim AcpiExOpcode_3A_1T_1R (
480a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
481a9f12690SJung-uk Kim 
482a9f12690SJung-uk Kim 
483a9f12690SJung-uk Kim /*
484a9f12690SJung-uk Kim  * exoparg6 - ACPI AML execution, 6 operands
485a9f12690SJung-uk Kim  */
486a9f12690SJung-uk Kim ACPI_STATUS
487a9f12690SJung-uk Kim AcpiExOpcode_6A_0T_1R (
488a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
489a9f12690SJung-uk Kim 
490a9f12690SJung-uk Kim 
491a9f12690SJung-uk Kim /*
492a9f12690SJung-uk Kim  * exresolv - Object resolution and get value functions
493a9f12690SJung-uk Kim  */
494a9f12690SJung-uk Kim ACPI_STATUS
495a9f12690SJung-uk Kim AcpiExResolveToValue (
496a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **StackPtr,
497a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
498a9f12690SJung-uk Kim 
499a9f12690SJung-uk Kim ACPI_STATUS
500a9f12690SJung-uk Kim AcpiExResolveMultiple (
501a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
502a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Operand,
503a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        *ReturnType,
504a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **ReturnDesc);
505a9f12690SJung-uk Kim 
506a9f12690SJung-uk Kim 
507a9f12690SJung-uk Kim /*
508a9f12690SJung-uk Kim  * exresnte - resolve namespace node
509a9f12690SJung-uk Kim  */
510a9f12690SJung-uk Kim ACPI_STATUS
511a9f12690SJung-uk Kim AcpiExResolveNodeToValue (
512a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     **StackPtr,
513a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
514a9f12690SJung-uk Kim 
515a9f12690SJung-uk Kim 
516a9f12690SJung-uk Kim /*
517a9f12690SJung-uk Kim  * exresop - resolve operand to value
518a9f12690SJung-uk Kim  */
519a9f12690SJung-uk Kim ACPI_STATUS
520a9f12690SJung-uk Kim AcpiExResolveOperands (
521a9f12690SJung-uk Kim     UINT16                  Opcode,
522a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **StackPtr,
523a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
524a9f12690SJung-uk Kim 
525a9f12690SJung-uk Kim 
526a9f12690SJung-uk Kim /*
527a9f12690SJung-uk Kim  * exdump - Interpreter debug output routines
528a9f12690SJung-uk Kim  */
529a9f12690SJung-uk Kim void
530a9f12690SJung-uk Kim AcpiExDumpOperand (
531a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc,
532a9f12690SJung-uk Kim     UINT32                  Depth);
533a9f12690SJung-uk Kim 
534a9f12690SJung-uk Kim void
535a9f12690SJung-uk Kim AcpiExDumpOperands (
536a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **Operands,
537a9f12690SJung-uk Kim     const char              *OpcodeName,
538a9f12690SJung-uk Kim     UINT32                  NumOpcodes);
539a9f12690SJung-uk Kim 
540a9f12690SJung-uk Kim void
541a9f12690SJung-uk Kim AcpiExDumpObjectDescriptor (
542a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *Object,
543a9f12690SJung-uk Kim     UINT32                  Flags);
544a9f12690SJung-uk Kim 
545a9f12690SJung-uk Kim void
546a9f12690SJung-uk Kim AcpiExDumpNamespaceNode (
547a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node,
548a9f12690SJung-uk Kim     UINT32                  Flags);
549a9f12690SJung-uk Kim 
550a9f12690SJung-uk Kim 
551a9f12690SJung-uk Kim /*
552a9f12690SJung-uk Kim  * exnames - AML namestring support
553a9f12690SJung-uk Kim  */
554a9f12690SJung-uk Kim ACPI_STATUS
555a9f12690SJung-uk Kim AcpiExGetNameString (
556a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        DataType,
557a9f12690SJung-uk Kim     UINT8                   *InAmlAddress,
558a9f12690SJung-uk Kim     char                    **OutNameString,
559a9f12690SJung-uk Kim     UINT32                  *OutNameLength);
560a9f12690SJung-uk Kim 
561a9f12690SJung-uk Kim 
562a9f12690SJung-uk Kim /*
563a9f12690SJung-uk Kim  * exstore - Object store support
564a9f12690SJung-uk Kim  */
565a9f12690SJung-uk Kim ACPI_STATUS
566a9f12690SJung-uk Kim AcpiExStore (
567a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ValDesc,
568a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *DestDesc,
569a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
570a9f12690SJung-uk Kim 
571a9f12690SJung-uk Kim ACPI_STATUS
572a9f12690SJung-uk Kim AcpiExStoreObjectToNode (
573a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
574a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node,
575a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState,
576a9f12690SJung-uk Kim     UINT8                   ImplicitConversion);
577a9f12690SJung-uk Kim 
578a9f12690SJung-uk Kim #define ACPI_IMPLICIT_CONVERSION        TRUE
579a9f12690SJung-uk Kim #define ACPI_NO_IMPLICIT_CONVERSION     FALSE
580a9f12690SJung-uk Kim 
581a9f12690SJung-uk Kim 
582a9f12690SJung-uk Kim /*
583a9f12690SJung-uk Kim  * exstoren - resolve/store object
584a9f12690SJung-uk Kim  */
585a9f12690SJung-uk Kim ACPI_STATUS
586a9f12690SJung-uk Kim AcpiExResolveObject (
587a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **SourceDescPtr,
588a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        TargetType,
589a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
590a9f12690SJung-uk Kim 
591a9f12690SJung-uk Kim ACPI_STATUS
592a9f12690SJung-uk Kim AcpiExStoreObjectToObject (
593a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
594a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *DestDesc,
595a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     **NewDesc,
596a9f12690SJung-uk Kim     ACPI_WALK_STATE         *WalkState);
597a9f12690SJung-uk Kim 
598a9f12690SJung-uk Kim 
599a9f12690SJung-uk Kim /*
600a9f12690SJung-uk Kim  * exstorob - store object - buffer/string
601a9f12690SJung-uk Kim  */
602a9f12690SJung-uk Kim ACPI_STATUS
603a9f12690SJung-uk Kim AcpiExStoreBufferToBuffer (
604a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
605a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
606a9f12690SJung-uk Kim 
607a9f12690SJung-uk Kim ACPI_STATUS
608a9f12690SJung-uk Kim AcpiExStoreStringToString (
609a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
610a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
611a9f12690SJung-uk Kim 
612a9f12690SJung-uk Kim 
613a9f12690SJung-uk Kim /*
614a9f12690SJung-uk Kim  * excopy - object copy
615a9f12690SJung-uk Kim  */
616a9f12690SJung-uk Kim ACPI_STATUS
617a9f12690SJung-uk Kim AcpiExCopyIntegerToIndexField (
618a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
619a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
620a9f12690SJung-uk Kim 
621a9f12690SJung-uk Kim ACPI_STATUS
622a9f12690SJung-uk Kim AcpiExCopyIntegerToBankField (
623a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
624a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
625a9f12690SJung-uk Kim 
626a9f12690SJung-uk Kim ACPI_STATUS
627a9f12690SJung-uk Kim AcpiExCopyDataToNamedField (
628a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
629a9f12690SJung-uk Kim     ACPI_NAMESPACE_NODE     *Node);
630a9f12690SJung-uk Kim 
631a9f12690SJung-uk Kim ACPI_STATUS
632a9f12690SJung-uk Kim AcpiExCopyIntegerToBufferField (
633a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *SourceDesc,
634a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *TargetDesc);
635a9f12690SJung-uk Kim 
636a9f12690SJung-uk Kim 
637a9f12690SJung-uk Kim /*
638a9f12690SJung-uk Kim  * exutils - interpreter/scanner utilities
639a9f12690SJung-uk Kim  */
640a9f12690SJung-uk Kim void
641a9f12690SJung-uk Kim AcpiExEnterInterpreter (
642a9f12690SJung-uk Kim     void);
643a9f12690SJung-uk Kim 
644a9f12690SJung-uk Kim void
645a9f12690SJung-uk Kim AcpiExExitInterpreter (
646a9f12690SJung-uk Kim     void);
647a9f12690SJung-uk Kim 
648efcc2a30SJung-uk Kim BOOLEAN
649a9f12690SJung-uk Kim AcpiExTruncateFor32bitTable (
650a9f12690SJung-uk Kim     ACPI_OPERAND_OBJECT     *ObjDesc);
651a9f12690SJung-uk Kim 
652a9f12690SJung-uk Kim void
653a9f12690SJung-uk Kim AcpiExAcquireGlobalLock (
654a9f12690SJung-uk Kim     UINT32                  Rule);
655a9f12690SJung-uk Kim 
656a9f12690SJung-uk Kim void
657a9f12690SJung-uk Kim AcpiExReleaseGlobalLock (
658a9f12690SJung-uk Kim     UINT32                  Rule);
659a9f12690SJung-uk Kim 
660a9f12690SJung-uk Kim void
661a9f12690SJung-uk Kim AcpiExEisaIdToString (
662d6dd1baeSJung-uk Kim     char                    *Dest,
6639a179dd8SJung-uk Kim     UINT64                  CompressedId);
664a9f12690SJung-uk Kim 
665a9f12690SJung-uk Kim void
666d6dd1baeSJung-uk Kim AcpiExIntegerToString (
667d6dd1baeSJung-uk Kim     char                    *Dest,
6689a179dd8SJung-uk Kim     UINT64                  Value);
669a9f12690SJung-uk Kim 
6705ef50723SJung-uk Kim void
6715ef50723SJung-uk Kim AcpiExPciClsToString (
6725ef50723SJung-uk Kim     char                    *Dest,
6735ef50723SJung-uk Kim     UINT8                   ClassCode[3]);
6745ef50723SJung-uk Kim 
6753f0275a0SJung-uk Kim BOOLEAN
6763f0275a0SJung-uk Kim AcpiIsValidSpaceId (
6773f0275a0SJung-uk Kim     UINT8                   SpaceId);
6783f0275a0SJung-uk Kim 
679a9f12690SJung-uk Kim 
680a9f12690SJung-uk Kim /*
681a9f12690SJung-uk Kim  * exregion - default OpRegion handlers
682a9f12690SJung-uk Kim  */
683a9f12690SJung-uk Kim ACPI_STATUS
684a9f12690SJung-uk Kim AcpiExSystemMemorySpaceHandler (
685a9f12690SJung-uk Kim     UINT32                  Function,
686a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
687a9f12690SJung-uk Kim     UINT32                  BitWidth,
6889a179dd8SJung-uk Kim     UINT64                  *Value,
689a9f12690SJung-uk Kim     void                    *HandlerContext,
690a9f12690SJung-uk Kim     void                    *RegionContext);
691a9f12690SJung-uk Kim 
692a9f12690SJung-uk Kim ACPI_STATUS
693a9f12690SJung-uk Kim AcpiExSystemIoSpaceHandler (
694a9f12690SJung-uk Kim     UINT32                  Function,
695a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
696a9f12690SJung-uk Kim     UINT32                  BitWidth,
6979a179dd8SJung-uk Kim     UINT64                  *Value,
698a9f12690SJung-uk Kim     void                    *HandlerContext,
699a9f12690SJung-uk Kim     void                    *RegionContext);
700a9f12690SJung-uk Kim 
701a9f12690SJung-uk Kim ACPI_STATUS
702a9f12690SJung-uk Kim AcpiExPciConfigSpaceHandler (
703a9f12690SJung-uk Kim     UINT32                  Function,
704a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
705a9f12690SJung-uk Kim     UINT32                  BitWidth,
7069a179dd8SJung-uk Kim     UINT64                  *Value,
707a9f12690SJung-uk Kim     void                    *HandlerContext,
708a9f12690SJung-uk Kim     void                    *RegionContext);
709a9f12690SJung-uk Kim 
710a9f12690SJung-uk Kim ACPI_STATUS
711a9f12690SJung-uk Kim AcpiExCmosSpaceHandler (
712a9f12690SJung-uk Kim     UINT32                  Function,
713a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
714a9f12690SJung-uk Kim     UINT32                  BitWidth,
7159a179dd8SJung-uk Kim     UINT64                  *Value,
716a9f12690SJung-uk Kim     void                    *HandlerContext,
717a9f12690SJung-uk Kim     void                    *RegionContext);
718a9f12690SJung-uk Kim 
719a9f12690SJung-uk Kim ACPI_STATUS
720a9f12690SJung-uk Kim AcpiExPciBarSpaceHandler (
721a9f12690SJung-uk Kim     UINT32                  Function,
722a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
723a9f12690SJung-uk Kim     UINT32                  BitWidth,
7249a179dd8SJung-uk Kim     UINT64                  *Value,
725a9f12690SJung-uk Kim     void                    *HandlerContext,
726a9f12690SJung-uk Kim     void                    *RegionContext);
727a9f12690SJung-uk Kim 
728a9f12690SJung-uk Kim ACPI_STATUS
729a9f12690SJung-uk Kim AcpiExEmbeddedControllerSpaceHandler (
730a9f12690SJung-uk Kim     UINT32                  Function,
731a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
732a9f12690SJung-uk Kim     UINT32                  BitWidth,
7339a179dd8SJung-uk Kim     UINT64                  *Value,
734a9f12690SJung-uk Kim     void                    *HandlerContext,
735a9f12690SJung-uk Kim     void                    *RegionContext);
736a9f12690SJung-uk Kim 
737a9f12690SJung-uk Kim ACPI_STATUS
738a9f12690SJung-uk Kim AcpiExSmBusSpaceHandler (
739a9f12690SJung-uk Kim     UINT32                  Function,
740a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
741a9f12690SJung-uk Kim     UINT32                  BitWidth,
7429a179dd8SJung-uk Kim     UINT64                  *Value,
743a9f12690SJung-uk Kim     void                    *HandlerContext,
744a9f12690SJung-uk Kim     void                    *RegionContext);
745a9f12690SJung-uk Kim 
746a9f12690SJung-uk Kim 
747a9f12690SJung-uk Kim ACPI_STATUS
748a9f12690SJung-uk Kim AcpiExDataTableSpaceHandler (
749a9f12690SJung-uk Kim     UINT32                  Function,
750a9f12690SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
751a9f12690SJung-uk Kim     UINT32                  BitWidth,
7529a179dd8SJung-uk Kim     UINT64                  *Value,
753a9f12690SJung-uk Kim     void                    *HandlerContext,
754a9f12690SJung-uk Kim     void                    *RegionContext);
755a9f12690SJung-uk Kim 
756a9f12690SJung-uk Kim #endif /* __INTERP_H__ */
757