xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision 493deb390baef09f40125589cbdb714cb274ab04)
1a9f12690SJung-uk Kim /******************************************************************************
2a9f12690SJung-uk Kim  *
3a9f12690SJung-uk Kim  * Name: acpixf.h - External interfaces to the ACPI subsystem
4a9f12690SJung-uk Kim  *
5a9f12690SJung-uk Kim  *****************************************************************************/
6a9f12690SJung-uk Kim 
7d244b227SJung-uk Kim /*
8f8146b88SJung-uk Kim  * Copyright (C) 2000 - 2016, 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 __ACXFACE_H__
45a9f12690SJung-uk Kim #define __ACXFACE_H__
46a9f12690SJung-uk Kim 
47a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */
48a9f12690SJung-uk Kim 
49*493deb39SJung-uk Kim #define ACPI_CA_VERSION                 0x20160930
50a9f12690SJung-uk Kim 
51a159c266SJung-uk Kim #include <contrib/dev/acpica/include/acconfig.h>
52ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h>
53ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h>
541df130f1SJung-uk Kim #include <contrib/dev/acpica/include/acbuffer.h>
55a9f12690SJung-uk Kim 
56313a0c13SJung-uk Kim 
57313a0c13SJung-uk Kim /*****************************************************************************
58313a0c13SJung-uk Kim  *
59313a0c13SJung-uk Kim  * Macros used for ACPICA globals and configuration
60313a0c13SJung-uk Kim  *
61313a0c13SJung-uk Kim  ****************************************************************************/
62313a0c13SJung-uk Kim 
63a9f12690SJung-uk Kim /*
64313a0c13SJung-uk Kim  * Ensure that global variables are defined and initialized only once.
65313a0c13SJung-uk Kim  *
66313a0c13SJung-uk Kim  * The use of these macros allows for a single list of globals (here)
67313a0c13SJung-uk Kim  * in order to simplify maintenance of the code.
68a9f12690SJung-uk Kim  */
69313a0c13SJung-uk Kim #ifdef DEFINE_ACPI_GLOBALS
70313a0c13SJung-uk Kim #define ACPI_GLOBAL(type,name) \
71313a0c13SJung-uk Kim     extern type name; \
72313a0c13SJung-uk Kim     type name
73a9f12690SJung-uk Kim 
74313a0c13SJung-uk Kim #define ACPI_INIT_GLOBAL(type,name,value) \
75313a0c13SJung-uk Kim     type name=value
76a9f12690SJung-uk Kim 
77313a0c13SJung-uk Kim #else
78313a0c13SJung-uk Kim #ifndef ACPI_GLOBAL
79313a0c13SJung-uk Kim #define ACPI_GLOBAL(type,name) \
80313a0c13SJung-uk Kim     extern type name
81313a0c13SJung-uk Kim #endif
82a9f12690SJung-uk Kim 
83313a0c13SJung-uk Kim #ifndef ACPI_INIT_GLOBAL
84313a0c13SJung-uk Kim #define ACPI_INIT_GLOBAL(type,name,value) \
85313a0c13SJung-uk Kim     extern type name
86313a0c13SJung-uk Kim #endif
87313a0c13SJung-uk Kim #endif
88a9f12690SJung-uk Kim 
89a9f12690SJung-uk Kim /*
90313a0c13SJung-uk Kim  * These macros configure the various ACPICA interfaces. They are
91313a0c13SJung-uk Kim  * useful for generating stub inline functions for features that are
92313a0c13SJung-uk Kim  * configured out of the current kernel or ACPICA application.
93313a0c13SJung-uk Kim  */
94313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_STATUS
95313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
96313a0c13SJung-uk Kim     Prototype;
97313a0c13SJung-uk Kim #endif
98313a0c13SJung-uk Kim 
99313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_OK
100313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
101313a0c13SJung-uk Kim     Prototype;
102313a0c13SJung-uk Kim #endif
103313a0c13SJung-uk Kim 
104313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_VOID
105313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
106313a0c13SJung-uk Kim     Prototype;
107313a0c13SJung-uk Kim #endif
108313a0c13SJung-uk Kim 
109313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_UINT32
110313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
111313a0c13SJung-uk Kim     Prototype;
112313a0c13SJung-uk Kim #endif
113313a0c13SJung-uk Kim 
114313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_PTR
115313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
116313a0c13SJung-uk Kim     Prototype;
117313a0c13SJung-uk Kim #endif
118313a0c13SJung-uk Kim 
119313a0c13SJung-uk Kim 
120313a0c13SJung-uk Kim /*****************************************************************************
121313a0c13SJung-uk Kim  *
122313a0c13SJung-uk Kim  * Public globals and runtime configuration options
123313a0c13SJung-uk Kim  *
124313a0c13SJung-uk Kim  ****************************************************************************/
125313a0c13SJung-uk Kim 
126313a0c13SJung-uk Kim /*
127313a0c13SJung-uk Kim  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
128313a0c13SJung-uk Kim  * interpreter strictly follows the ACPI specification. Setting to TRUE
129313a0c13SJung-uk Kim  * allows the interpreter to ignore certain errors and/or bad AML constructs.
130313a0c13SJung-uk Kim  *
131313a0c13SJung-uk Kim  * Currently, these features are enabled by this flag:
132313a0c13SJung-uk Kim  *
133313a0c13SJung-uk Kim  * 1) Allow "implicit return" of last value in a control method
134313a0c13SJung-uk Kim  * 2) Allow access beyond the end of an operation region
135313a0c13SJung-uk Kim  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
136313a0c13SJung-uk Kim  * 4) Allow ANY object type to be a source operand for the Store() operator
137313a0c13SJung-uk Kim  * 5) Allow unresolved references (invalid target name) in package objects
138313a0c13SJung-uk Kim  * 6) Enable warning messages for behavior that is not ACPI spec compliant
139313a0c13SJung-uk Kim  */
140313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
141313a0c13SJung-uk Kim 
142313a0c13SJung-uk Kim /*
143313a0c13SJung-uk Kim  * Automatically serialize all methods that create named objects? Default
144313a0c13SJung-uk Kim  * is TRUE, meaning that all NonSerialized methods are scanned once at
145313a0c13SJung-uk Kim  * table load time to determine those that create named objects. Methods
146313a0c13SJung-uk Kim  * that create named objects are marked Serialized in order to prevent
147313a0c13SJung-uk Kim  * possible run-time problems if they are entered by more than one thread.
148313a0c13SJung-uk Kim  */
149313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
150313a0c13SJung-uk Kim 
151313a0c13SJung-uk Kim /*
152313a0c13SJung-uk Kim  * Create the predefined _OSI method in the namespace? Default is TRUE
153313a0c13SJung-uk Kim  * because ACPICA is fully compatible with other ACPI implementations.
154313a0c13SJung-uk Kim  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
155313a0c13SJung-uk Kim  */
156313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
157313a0c13SJung-uk Kim 
158313a0c13SJung-uk Kim /*
159313a0c13SJung-uk Kim  * Optionally use default values for the ACPI register widths. Set this to
160313a0c13SJung-uk Kim  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
161313a0c13SJung-uk Kim  */
162313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
163313a0c13SJung-uk Kim 
164313a0c13SJung-uk Kim /*
165313a0c13SJung-uk Kim  * Whether or not to verify the table checksum before installation. Set
166313a0c13SJung-uk Kim  * this to TRUE to verify the table checksum before install it to the table
167313a0c13SJung-uk Kim  * manager. Note that enabling this option causes errors to happen in some
168313a0c13SJung-uk Kim  * OSPMs during early initialization stages. Default behavior is to do such
169313a0c13SJung-uk Kim  * verification.
170313a0c13SJung-uk Kim  */
171313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_VerifyTableChecksum, TRUE);
172313a0c13SJung-uk Kim 
173313a0c13SJung-uk Kim /*
174313a0c13SJung-uk Kim  * Optionally enable output from the AML Debug Object.
175313a0c13SJung-uk Kim  */
176313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
177313a0c13SJung-uk Kim 
178313a0c13SJung-uk Kim /*
179313a0c13SJung-uk Kim  * Optionally copy the entire DSDT to local memory (instead of simply
180313a0c13SJung-uk Kim  * mapping it.) There are some BIOSs that corrupt or replace the original
181313a0c13SJung-uk Kim  * DSDT, creating the need for this option. Default is FALSE, do not copy
182313a0c13SJung-uk Kim  * the DSDT.
183313a0c13SJung-uk Kim  */
184313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
185313a0c13SJung-uk Kim 
186313a0c13SJung-uk Kim /*
187313a0c13SJung-uk Kim  * Optionally ignore an XSDT if present and use the RSDT instead.
188313a0c13SJung-uk Kim  * Although the ACPI specification requires that an XSDT be used instead
189313a0c13SJung-uk Kim  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
190313a0c13SJung-uk Kim  * some machines. Default behavior is to use the XSDT if present.
191313a0c13SJung-uk Kim  */
192313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
193313a0c13SJung-uk Kim 
194313a0c13SJung-uk Kim /*
195f8146b88SJung-uk Kim  * Optionally support group module level code.
196f8146b88SJung-uk Kim  */
197f8146b88SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_GroupModuleLevelCode, FALSE);
198f8146b88SJung-uk Kim 
199f8146b88SJung-uk Kim /*
200*493deb39SJung-uk Kim  * Optionally support module level code by parsing the entire table as
201*493deb39SJung-uk Kim  * a TermList. Default is FALSE, do not execute entire table until some
202*493deb39SJung-uk Kim  * lock order issues are fixed.
203*493deb39SJung-uk Kim  */
204*493deb39SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_ParseTableAsTermList, FALSE);
205*493deb39SJung-uk Kim 
206*493deb39SJung-uk Kim /*
207313a0c13SJung-uk Kim  * Optionally use 32-bit FADT addresses if and when there is a conflict
208313a0c13SJung-uk Kim  * (address mismatch) between the 32-bit and 64-bit versions of the
209313a0c13SJung-uk Kim  * address. Although ACPICA adheres to the ACPI specification which
210313a0c13SJung-uk Kim  * requires the use of the corresponding 64-bit address if it is non-zero,
211313a0c13SJung-uk Kim  * some machines have been found to have a corrupted non-zero 64-bit
212313a0c13SJung-uk Kim  * address. Default is FALSE, do not favor the 32-bit addresses.
213313a0c13SJung-uk Kim  */
214313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
215313a0c13SJung-uk Kim 
216313a0c13SJung-uk Kim /*
2175ef50723SJung-uk Kim  * Optionally use 32-bit FACS table addresses.
2185ef50723SJung-uk Kim  * It is reported that some platforms fail to resume from system suspending
2195ef50723SJung-uk Kim  * if 64-bit FACS table address is selected:
2205ef50723SJung-uk Kim  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
2215ef50723SJung-uk Kim  * Default is TRUE, favor the 32-bit addresses.
2225ef50723SJung-uk Kim  */
2235ef50723SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
2245ef50723SJung-uk Kim 
2255ef50723SJung-uk Kim /*
226313a0c13SJung-uk Kim  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
227313a0c13SJung-uk Kim  * with other ACPI implementations. NOTE: During ACPICA initialization,
228313a0c13SJung-uk Kim  * this value is set to TRUE if any Windows OSI strings have been
229313a0c13SJung-uk Kim  * requested by the BIOS.
230313a0c13SJung-uk Kim  */
231313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
232313a0c13SJung-uk Kim 
233313a0c13SJung-uk Kim /*
234313a0c13SJung-uk Kim  * Disable runtime checking and repair of values returned by control methods.
235313a0c13SJung-uk Kim  * Use only if the repair is causing a problem on a particular machine.
236313a0c13SJung-uk Kim  */
237313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
238313a0c13SJung-uk Kim 
239313a0c13SJung-uk Kim /*
240313a0c13SJung-uk Kim  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
241313a0c13SJung-uk Kim  * This can be useful for debugging ACPI problems on some machines.
242313a0c13SJung-uk Kim  */
243313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
244313a0c13SJung-uk Kim 
245313a0c13SJung-uk Kim /*
2465ef50723SJung-uk Kim  * Optionally enable runtime namespace override.
2475ef50723SJung-uk Kim  */
2485ef50723SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
2495ef50723SJung-uk Kim 
2505ef50723SJung-uk Kim /*
251313a0c13SJung-uk Kim  * We keep track of the latest version of Windows that has been requested by
252313a0c13SJung-uk Kim  * the BIOS. ACPI 5.0.
253313a0c13SJung-uk Kim  */
254313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
255313a0c13SJung-uk Kim 
256313a0c13SJung-uk Kim /*
257313a0c13SJung-uk Kim  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
258313a0c13SJung-uk Kim  * that the ACPI hardware is no longer required. A flag in the FADT indicates
259313a0c13SJung-uk Kim  * a reduced HW machine, and that flag is duplicated here for convenience.
260313a0c13SJung-uk Kim  */
261313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
262313a0c13SJung-uk Kim 
263313a0c13SJung-uk Kim /*
264*493deb39SJung-uk Kim  * Maximum number of While() loop iterations before forced method abort.
265*493deb39SJung-uk Kim  * This mechanism is intended to prevent infinite loops during interpreter
266*493deb39SJung-uk Kim  * execution within a host kernel.
267*493deb39SJung-uk Kim  */
268*493deb39SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_COUNT);
269*493deb39SJung-uk Kim 
270*493deb39SJung-uk Kim /*
271313a0c13SJung-uk Kim  * This mechanism is used to trace a specified AML method. The method is
272313a0c13SJung-uk Kim  * traced each time it is executed.
273313a0c13SJung-uk Kim  */
274313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
275fe0f0bbbSJung-uk Kim ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
276fe0f0bbbSJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
277fe0f0bbbSJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
278313a0c13SJung-uk Kim 
279313a0c13SJung-uk Kim /*
280313a0c13SJung-uk Kim  * Runtime configuration of debug output control masks. We want the debug
281313a0c13SJung-uk Kim  * switches statically initialized so they are already set when the debugger
282313a0c13SJung-uk Kim  * is entered.
283313a0c13SJung-uk Kim  */
284313a0c13SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
285313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
286313a0c13SJung-uk Kim #else
287313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
288313a0c13SJung-uk Kim #endif
289313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
290313a0c13SJung-uk Kim 
291f8146b88SJung-uk Kim /* Optionally enable timer output with Debug Object output */
292f8146b88SJung-uk Kim 
293f8146b88SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
294f8146b88SJung-uk Kim 
295313a0c13SJung-uk Kim /*
296313a0c13SJung-uk Kim  * Other miscellaneous globals
297313a0c13SJung-uk Kim  */
298313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
299313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
300313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
301313a0c13SJung-uk Kim 
302313a0c13SJung-uk Kim 
303313a0c13SJung-uk Kim /*****************************************************************************
304313a0c13SJung-uk Kim  *
305313a0c13SJung-uk Kim  * ACPICA public interface configuration.
306313a0c13SJung-uk Kim  *
307313a0c13SJung-uk Kim  * Interfaces that are configured out of the ACPICA build are replaced
308313a0c13SJung-uk Kim  * by inlined stubs by default.
309313a0c13SJung-uk Kim  *
310313a0c13SJung-uk Kim  ****************************************************************************/
311313a0c13SJung-uk Kim 
312313a0c13SJung-uk Kim /*
313313a0c13SJung-uk Kim  * Hardware-reduced prototypes (default: Not hardware reduced).
314313a0c13SJung-uk Kim  *
315313a0c13SJung-uk Kim  * All ACPICA hardware-related interfaces that use these macros will be
316313a0c13SJung-uk Kim  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
317a159c266SJung-uk Kim  * is set to TRUE.
318313a0c13SJung-uk Kim  *
319313a0c13SJung-uk Kim  * Note: This static build option for reduced hardware is intended to
320313a0c13SJung-uk Kim  * reduce ACPICA code size if desired or necessary. However, even if this
321313a0c13SJung-uk Kim  * option is not specified, the runtime behavior of ACPICA is dependent
322313a0c13SJung-uk Kim  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
323313a0c13SJung-uk Kim  * the flag will enable similar behavior -- ACPICA will not attempt
324313a0c13SJung-uk Kim  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
325a159c266SJung-uk Kim  */
326a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
327a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
328313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
329a159c266SJung-uk Kim 
330a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
331313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_OK(Prototype)
332a159c266SJung-uk Kim 
333a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
334313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_VOID(Prototype)
335a159c266SJung-uk Kim 
336a159c266SJung-uk Kim #else
337a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
338a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
339a159c266SJung-uk Kim 
340a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
341a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
342a159c266SJung-uk Kim 
343a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
344313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
345a159c266SJung-uk Kim 
346a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
347a159c266SJung-uk Kim 
348a159c266SJung-uk Kim 
349a159c266SJung-uk Kim /*
350313a0c13SJung-uk Kim  * Error message prototypes (default: error messages enabled).
351313a0c13SJung-uk Kim  *
352313a0c13SJung-uk Kim  * All interfaces related to error and warning messages
353313a0c13SJung-uk Kim  * will be configured out of the ACPICA build if the
354313a0c13SJung-uk Kim  * ACPI_NO_ERROR_MESSAGE flag is defined.
355313a0c13SJung-uk Kim  */
356313a0c13SJung-uk Kim #ifndef ACPI_NO_ERROR_MESSAGES
357313a0c13SJung-uk Kim #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
358313a0c13SJung-uk Kim     Prototype;
359313a0c13SJung-uk Kim 
360313a0c13SJung-uk Kim #else
361313a0c13SJung-uk Kim #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
362313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
363313a0c13SJung-uk Kim 
364313a0c13SJung-uk Kim #endif /* ACPI_NO_ERROR_MESSAGES */
365313a0c13SJung-uk Kim 
366313a0c13SJung-uk Kim 
367313a0c13SJung-uk Kim /*
368313a0c13SJung-uk Kim  * Debugging output prototypes (default: no debug output).
369313a0c13SJung-uk Kim  *
370313a0c13SJung-uk Kim  * All interfaces related to debug output messages
371313a0c13SJung-uk Kim  * will be configured out of the ACPICA build unless the
372313a0c13SJung-uk Kim  * ACPI_DEBUG_OUTPUT flag is defined.
373313a0c13SJung-uk Kim  */
374313a0c13SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
375313a0c13SJung-uk Kim #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
376313a0c13SJung-uk Kim     Prototype;
377313a0c13SJung-uk Kim 
378313a0c13SJung-uk Kim #else
379313a0c13SJung-uk Kim #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
380313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
381313a0c13SJung-uk Kim 
382313a0c13SJung-uk Kim #endif /* ACPI_DEBUG_OUTPUT */
383313a0c13SJung-uk Kim 
384313a0c13SJung-uk Kim 
385313a0c13SJung-uk Kim /*
386313a0c13SJung-uk Kim  * Application prototypes
387313a0c13SJung-uk Kim  *
388313a0c13SJung-uk Kim  * All interfaces used by application will be configured
389313a0c13SJung-uk Kim  * out of the ACPICA build unless the ACPI_APPLICATION
390313a0c13SJung-uk Kim  * flag is defined.
391313a0c13SJung-uk Kim  */
392313a0c13SJung-uk Kim #ifdef ACPI_APPLICATION
393313a0c13SJung-uk Kim #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
394313a0c13SJung-uk Kim     Prototype;
395313a0c13SJung-uk Kim 
396313a0c13SJung-uk Kim #else
397313a0c13SJung-uk Kim #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
398313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
399313a0c13SJung-uk Kim 
400313a0c13SJung-uk Kim #endif /* ACPI_APPLICATION */
401313a0c13SJung-uk Kim 
402313a0c13SJung-uk Kim 
403f8146b88SJung-uk Kim /*
404f8146b88SJung-uk Kim  * Debugger prototypes
405f8146b88SJung-uk Kim  *
406f8146b88SJung-uk Kim  * All interfaces used by debugger will be configured
407f8146b88SJung-uk Kim  * out of the ACPICA build unless the ACPI_DEBUGGER
408f8146b88SJung-uk Kim  * flag is defined.
409f8146b88SJung-uk Kim  */
410f8146b88SJung-uk Kim #ifdef ACPI_DEBUGGER
411f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
412f8146b88SJung-uk Kim     ACPI_EXTERNAL_RETURN_OK(Prototype)
413f8146b88SJung-uk Kim 
414f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
415f8146b88SJung-uk Kim     ACPI_EXTERNAL_RETURN_VOID(Prototype)
416f8146b88SJung-uk Kim 
417f8146b88SJung-uk Kim #else
418f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
419f8146b88SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
420f8146b88SJung-uk Kim 
421f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
422f8146b88SJung-uk Kim     static ACPI_INLINE Prototype {return;}
423f8146b88SJung-uk Kim 
424f8146b88SJung-uk Kim #endif /* ACPI_DEBUGGER */
425f8146b88SJung-uk Kim 
426f8146b88SJung-uk Kim 
427313a0c13SJung-uk Kim /*****************************************************************************
428313a0c13SJung-uk Kim  *
429313a0c13SJung-uk Kim  * ACPICA public interface prototypes
430313a0c13SJung-uk Kim  *
431313a0c13SJung-uk Kim  ****************************************************************************/
432313a0c13SJung-uk Kim 
433313a0c13SJung-uk Kim /*
4345a77b11bSJung-uk Kim  * Initialization
435a9f12690SJung-uk Kim  */
436313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
437*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
438a9f12690SJung-uk Kim AcpiInitializeTables (
439a9f12690SJung-uk Kim     ACPI_TABLE_DESC         *InitialStorage,
440a9f12690SJung-uk Kim     UINT32                  InitialTableCount,
441313a0c13SJung-uk Kim     BOOLEAN                 AllowResize))
442a9f12690SJung-uk Kim 
443313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
444*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
445a9f12690SJung-uk Kim AcpiInitializeSubsystem (
446313a0c13SJung-uk Kim     void))
447a9f12690SJung-uk Kim 
448313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
449*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
450a9f12690SJung-uk Kim AcpiEnableSubsystem (
451313a0c13SJung-uk Kim     UINT32                  Flags))
452a9f12690SJung-uk Kim 
453313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
454*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
455a9f12690SJung-uk Kim AcpiInitializeObjects (
456313a0c13SJung-uk Kim     UINT32                  Flags))
457a9f12690SJung-uk Kim 
458313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
459*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
460a9f12690SJung-uk Kim AcpiTerminate (
461313a0c13SJung-uk Kim     void))
462a9f12690SJung-uk Kim 
463a9f12690SJung-uk Kim 
4645a77b11bSJung-uk Kim /*
4655a77b11bSJung-uk Kim  * Miscellaneous global interfaces
4665a77b11bSJung-uk Kim  */
467a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
468a9f12690SJung-uk Kim ACPI_STATUS
469a9f12690SJung-uk Kim AcpiEnable (
470a159c266SJung-uk Kim     void))
471a9f12690SJung-uk Kim 
472a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
473a9f12690SJung-uk Kim ACPI_STATUS
474a9f12690SJung-uk Kim AcpiDisable (
475a159c266SJung-uk Kim     void))
476a9f12690SJung-uk Kim 
477313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
478a9f12690SJung-uk Kim ACPI_STATUS
4795a77b11bSJung-uk Kim AcpiSubsystemStatus (
480313a0c13SJung-uk Kim     void))
4815a77b11bSJung-uk Kim 
482313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
4835a77b11bSJung-uk Kim ACPI_STATUS
484a9f12690SJung-uk Kim AcpiGetSystemInfo (
485313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
486a9f12690SJung-uk Kim 
487313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
488a9f12690SJung-uk Kim ACPI_STATUS
489a9f12690SJung-uk Kim AcpiGetStatistics (
490313a0c13SJung-uk Kim     ACPI_STATISTICS         *Stats))
491a9f12690SJung-uk Kim 
492313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_PTR (
493a9f12690SJung-uk Kim const char *
494a9f12690SJung-uk Kim AcpiFormatException (
495313a0c13SJung-uk Kim     ACPI_STATUS             Exception))
496a9f12690SJung-uk Kim 
497313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
498a9f12690SJung-uk Kim ACPI_STATUS
499a9f12690SJung-uk Kim AcpiPurgeCachedObjects (
500313a0c13SJung-uk Kim     void))
501a9f12690SJung-uk Kim 
502313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
503709fac06SJung-uk Kim ACPI_STATUS
504709fac06SJung-uk Kim AcpiInstallInterface (
505313a0c13SJung-uk Kim     ACPI_STRING             InterfaceName))
506709fac06SJung-uk Kim 
507313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
508709fac06SJung-uk Kim ACPI_STATUS
509709fac06SJung-uk Kim AcpiRemoveInterface (
510313a0c13SJung-uk Kim     ACPI_STRING             InterfaceName))
511a9f12690SJung-uk Kim 
512313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
513bf6fac21SJung-uk Kim ACPI_STATUS
514bf6fac21SJung-uk Kim AcpiUpdateInterfaces (
515313a0c13SJung-uk Kim     UINT8                   Action))
516bf6fac21SJung-uk Kim 
517313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_UINT32 (
518ec3fc72fSJung-uk Kim UINT32
519ec3fc72fSJung-uk Kim AcpiCheckAddressRange (
520ec3fc72fSJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
521ec3fc72fSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
522ec3fc72fSJung-uk Kim     ACPI_SIZE               Length,
523313a0c13SJung-uk Kim     BOOLEAN                 Warn))
524ec3fc72fSJung-uk Kim 
525313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
5261df130f1SJung-uk Kim ACPI_STATUS
5271df130f1SJung-uk Kim AcpiDecodePldBuffer (
5281df130f1SJung-uk Kim     UINT8                   *InBuffer,
5291df130f1SJung-uk Kim     ACPI_SIZE               Length,
530313a0c13SJung-uk Kim     ACPI_PLD_INFO           **ReturnBuffer))
531a9f12690SJung-uk Kim 
532a9f12690SJung-uk Kim 
533a9f12690SJung-uk Kim /*
534e8241eabSJung-uk Kim  * ACPI table load/unload interfaces
535e8241eabSJung-uk Kim  */
536313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
537*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
538313a0c13SJung-uk Kim AcpiInstallTable (
539313a0c13SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
540313a0c13SJung-uk Kim     BOOLEAN                 Physical))
541313a0c13SJung-uk Kim 
542313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
543e8241eabSJung-uk Kim ACPI_STATUS
544e8241eabSJung-uk Kim AcpiLoadTable (
545313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *Table))
546e8241eabSJung-uk Kim 
547313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
548e8241eabSJung-uk Kim ACPI_STATUS
549e8241eabSJung-uk Kim AcpiUnloadParentTable (
550313a0c13SJung-uk Kim     ACPI_HANDLE             Object))
551e8241eabSJung-uk Kim 
552313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
553*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
554e8241eabSJung-uk Kim AcpiLoadTables (
555313a0c13SJung-uk Kim     void))
556e8241eabSJung-uk Kim 
557e8241eabSJung-uk Kim 
558e8241eabSJung-uk Kim /*
559a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
560a9f12690SJung-uk Kim  */
561313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
562*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
563a9f12690SJung-uk Kim AcpiReallocateRootTable (
564313a0c13SJung-uk Kim     void))
565a9f12690SJung-uk Kim 
566313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
567*493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
568a9f12690SJung-uk Kim AcpiFindRootPointer (
5697cf3e94aSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
570a9f12690SJung-uk Kim 
571313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
572a9f12690SJung-uk Kim ACPI_STATUS
573a9f12690SJung-uk Kim AcpiGetTableHeader (
574a9f12690SJung-uk Kim     ACPI_STRING             Signature,
575a9f12690SJung-uk Kim     UINT32                  Instance,
576313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader))
577a9f12690SJung-uk Kim 
578313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
579a9f12690SJung-uk Kim ACPI_STATUS
580a9f12690SJung-uk Kim AcpiGetTable (
581a9f12690SJung-uk Kim     ACPI_STRING             Signature,
582a9f12690SJung-uk Kim     UINT32                  Instance,
583313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
584a9f12690SJung-uk Kim 
585313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
586a9f12690SJung-uk Kim ACPI_STATUS
587a9f12690SJung-uk Kim AcpiGetTableByIndex (
588a9f12690SJung-uk Kim     UINT32                  TableIndex,
589313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
590a9f12690SJung-uk Kim 
591313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
592a9f12690SJung-uk Kim ACPI_STATUS
593a9f12690SJung-uk Kim AcpiInstallTableHandler (
594a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
595313a0c13SJung-uk Kim     void                    *Context))
596a9f12690SJung-uk Kim 
597313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
598a9f12690SJung-uk Kim ACPI_STATUS
599a9f12690SJung-uk Kim AcpiRemoveTableHandler (
600313a0c13SJung-uk Kim     ACPI_TABLE_HANDLER      Handler))
601a9f12690SJung-uk Kim 
602a9f12690SJung-uk Kim 
603a9f12690SJung-uk Kim /*
604a9f12690SJung-uk Kim  * Namespace and name interfaces
605a9f12690SJung-uk Kim  */
606313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
607a9f12690SJung-uk Kim ACPI_STATUS
608a9f12690SJung-uk Kim AcpiWalkNamespace (
609a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
610a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
611a9f12690SJung-uk Kim     UINT32                  MaxDepth,
612bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      DescendingCallback,
613bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      AscendingCallback,
614a9f12690SJung-uk Kim     void                    *Context,
615313a0c13SJung-uk Kim     void                    **ReturnValue))
616a9f12690SJung-uk Kim 
617313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
618a9f12690SJung-uk Kim ACPI_STATUS
619a9f12690SJung-uk Kim AcpiGetDevices (
620a9f12690SJung-uk Kim     char                    *HID,
621a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
622a9f12690SJung-uk Kim     void                    *Context,
623313a0c13SJung-uk Kim     void                    **ReturnValue))
624a9f12690SJung-uk Kim 
625313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
626a9f12690SJung-uk Kim ACPI_STATUS
627a9f12690SJung-uk Kim AcpiGetName (
6283f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
629a9f12690SJung-uk Kim     UINT32                  NameType,
630313a0c13SJung-uk Kim     ACPI_BUFFER             *RetPathPtr))
631a9f12690SJung-uk Kim 
632313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
633a9f12690SJung-uk Kim ACPI_STATUS
634a9f12690SJung-uk Kim AcpiGetHandle (
635a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
636a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
637313a0c13SJung-uk Kim     ACPI_HANDLE             *RetHandle))
638a9f12690SJung-uk Kim 
639313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
640a9f12690SJung-uk Kim ACPI_STATUS
641a9f12690SJung-uk Kim AcpiAttachData (
6423f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
643a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
644313a0c13SJung-uk Kim     void                    *Data))
645a9f12690SJung-uk Kim 
646313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
647a9f12690SJung-uk Kim ACPI_STATUS
648a9f12690SJung-uk Kim AcpiDetachData (
6493f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
650313a0c13SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler))
651a9f12690SJung-uk Kim 
652313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
653a9f12690SJung-uk Kim ACPI_STATUS
654a9f12690SJung-uk Kim AcpiGetData (
6553f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
656a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
657313a0c13SJung-uk Kim     void                    **Data))
658a9f12690SJung-uk Kim 
659313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
660a9f12690SJung-uk Kim ACPI_STATUS
661a9f12690SJung-uk Kim AcpiDebugTrace (
662fe0f0bbbSJung-uk Kim     const char              *Name,
663a9f12690SJung-uk Kim     UINT32                  DebugLevel,
664a9f12690SJung-uk Kim     UINT32                  DebugLayer,
665313a0c13SJung-uk Kim     UINT32                  Flags))
666a9f12690SJung-uk Kim 
667a9f12690SJung-uk Kim 
668a9f12690SJung-uk Kim /*
669a9f12690SJung-uk Kim  * Object manipulation and enumeration
670a9f12690SJung-uk Kim  */
671313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
672a9f12690SJung-uk Kim ACPI_STATUS
673a9f12690SJung-uk Kim AcpiEvaluateObject (
674a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
675a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
676a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
677313a0c13SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer))
678a9f12690SJung-uk Kim 
679313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
680a9f12690SJung-uk Kim ACPI_STATUS
681a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
682a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
683a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
684a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
685a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
686313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType))
687a9f12690SJung-uk Kim 
688313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
689a9f12690SJung-uk Kim ACPI_STATUS
690a9f12690SJung-uk Kim AcpiGetObjectInfo (
6913f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
692313a0c13SJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer))
693a9f12690SJung-uk Kim 
694313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
695a9f12690SJung-uk Kim ACPI_STATUS
696a9f12690SJung-uk Kim AcpiInstallMethod (
697313a0c13SJung-uk Kim     UINT8                   *Buffer))
698a9f12690SJung-uk Kim 
699313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
700a9f12690SJung-uk Kim ACPI_STATUS
701a9f12690SJung-uk Kim AcpiGetNextObject (
702a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
703a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
704a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
705313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
706a9f12690SJung-uk Kim 
707313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
708a9f12690SJung-uk Kim ACPI_STATUS
709a9f12690SJung-uk Kim AcpiGetType (
710a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
711313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType))
712a9f12690SJung-uk Kim 
713313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
714a9f12690SJung-uk Kim ACPI_STATUS
715a9f12690SJung-uk Kim AcpiGetParent (
716a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
717313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
718a9f12690SJung-uk Kim 
719a9f12690SJung-uk Kim 
720a9f12690SJung-uk Kim /*
721a9f12690SJung-uk Kim  * Handler interfaces
722a9f12690SJung-uk Kim  */
723313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
724a9f12690SJung-uk Kim ACPI_STATUS
725a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
726a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
727313a0c13SJung-uk Kim     UINT32                  Function))
728a9f12690SJung-uk Kim 
729a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
730a9f12690SJung-uk Kim ACPI_STATUS
73179c6d946SJung-uk Kim AcpiInstallSciHandler (
73279c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address,
73379c6d946SJung-uk Kim     void                    *Context))
73479c6d946SJung-uk Kim 
73579c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
73679c6d946SJung-uk Kim ACPI_STATUS
73779c6d946SJung-uk Kim AcpiRemoveSciHandler (
73879c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address))
73979c6d946SJung-uk Kim 
74079c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
74179c6d946SJung-uk Kim ACPI_STATUS
7425a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
7435a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
744a159c266SJung-uk Kim     void                    *Context))
7455a77b11bSJung-uk Kim 
746a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
7475a77b11bSJung-uk Kim ACPI_STATUS
748a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
749a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
750a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
751a159c266SJung-uk Kim     void                    *Context))
752a9f12690SJung-uk Kim 
753a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
754a9f12690SJung-uk Kim ACPI_STATUS
755a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
756a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
757a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
758a9f12690SJung-uk Kim 
759a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
760a9f12690SJung-uk Kim ACPI_STATUS
7615a77b11bSJung-uk Kim AcpiInstallGpeHandler (
7625a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
7635a77b11bSJung-uk Kim     UINT32                  GpeNumber,
7645a77b11bSJung-uk Kim     UINT32                  Type,
7655a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
766a159c266SJung-uk Kim     void                    *Context))
7675a77b11bSJung-uk Kim 
768a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
7695a77b11bSJung-uk Kim ACPI_STATUS
7701c0e1b6dSJung-uk Kim AcpiInstallGpeRawHandler (
7711c0e1b6dSJung-uk Kim     ACPI_HANDLE             GpeDevice,
7721c0e1b6dSJung-uk Kim     UINT32                  GpeNumber,
7731c0e1b6dSJung-uk Kim     UINT32                  Type,
7741c0e1b6dSJung-uk Kim     ACPI_GPE_HANDLER        Address,
7751c0e1b6dSJung-uk Kim     void                    *Context))
7761c0e1b6dSJung-uk Kim 
7771c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
7781c0e1b6dSJung-uk Kim ACPI_STATUS
7795a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
7805a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
7815a77b11bSJung-uk Kim     UINT32                  GpeNumber,
782a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
7835a77b11bSJung-uk Kim 
784313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
7855a77b11bSJung-uk Kim ACPI_STATUS
786a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
787a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
788a9f12690SJung-uk Kim     UINT32                  HandlerType,
789a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
790313a0c13SJung-uk Kim     void                    *Context))
791a9f12690SJung-uk Kim 
792313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
793a9f12690SJung-uk Kim ACPI_STATUS
794a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
795a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
796a9f12690SJung-uk Kim     UINT32                  HandlerType,
797313a0c13SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler))
798a9f12690SJung-uk Kim 
799313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
800a9f12690SJung-uk Kim ACPI_STATUS
801a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
802a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
803a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
804a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
805a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
806313a0c13SJung-uk Kim     void                    *Context))
807a9f12690SJung-uk Kim 
808313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
809a9f12690SJung-uk Kim ACPI_STATUS
810a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
811a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
812a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
813313a0c13SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler))
814a9f12690SJung-uk Kim 
815313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
816a9f12690SJung-uk Kim ACPI_STATUS
817a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
818313a0c13SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler))
819a9f12690SJung-uk Kim 
820313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
821709fac06SJung-uk Kim ACPI_STATUS
822709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
823313a0c13SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler))
824709fac06SJung-uk Kim 
825a9f12690SJung-uk Kim 
826a9f12690SJung-uk Kim /*
8275a77b11bSJung-uk Kim  * Global Lock interfaces
828a9f12690SJung-uk Kim  */
829a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
830a9f12690SJung-uk Kim ACPI_STATUS
831a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
832a9f12690SJung-uk Kim     UINT16                  Timeout,
833a159c266SJung-uk Kim     UINT32                  *Handle))
834a9f12690SJung-uk Kim 
835a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
836a9f12690SJung-uk Kim ACPI_STATUS
837a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
838a159c266SJung-uk Kim     UINT32                  Handle))
839a9f12690SJung-uk Kim 
8405a77b11bSJung-uk Kim 
8415a77b11bSJung-uk Kim /*
8423f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
8433f0275a0SJung-uk Kim  */
844313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
8453f0275a0SJung-uk Kim ACPI_STATUS
8463f0275a0SJung-uk Kim AcpiAcquireMutex (
8473f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
8483f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
849313a0c13SJung-uk Kim     UINT16                  Timeout))
8503f0275a0SJung-uk Kim 
851313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
8523f0275a0SJung-uk Kim ACPI_STATUS
8533f0275a0SJung-uk Kim AcpiReleaseMutex (
8543f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
855313a0c13SJung-uk Kim     ACPI_STRING             Pathname))
8563f0275a0SJung-uk Kim 
8573f0275a0SJung-uk Kim 
8583f0275a0SJung-uk Kim /*
8595a77b11bSJung-uk Kim  * Fixed Event interfaces
8605a77b11bSJung-uk Kim  */
861a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
862a9f12690SJung-uk Kim ACPI_STATUS
863a9f12690SJung-uk Kim AcpiEnableEvent (
864a9f12690SJung-uk Kim     UINT32                  Event,
865a159c266SJung-uk Kim     UINT32                  Flags))
866a9f12690SJung-uk Kim 
867a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
868a9f12690SJung-uk Kim ACPI_STATUS
869a9f12690SJung-uk Kim AcpiDisableEvent (
870a9f12690SJung-uk Kim     UINT32                  Event,
871a159c266SJung-uk Kim     UINT32                  Flags))
872a9f12690SJung-uk Kim 
873a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
874a9f12690SJung-uk Kim ACPI_STATUS
875a9f12690SJung-uk Kim AcpiClearEvent (
876a159c266SJung-uk Kim     UINT32                  Event))
877a9f12690SJung-uk Kim 
878a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
879a9f12690SJung-uk Kim ACPI_STATUS
880a9f12690SJung-uk Kim AcpiGetEventStatus (
881a9f12690SJung-uk Kim     UINT32                  Event,
882a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
883a9f12690SJung-uk Kim 
884a9f12690SJung-uk Kim 
885a9f12690SJung-uk Kim /*
8865a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
887a9f12690SJung-uk Kim  */
888a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
889a9f12690SJung-uk Kim ACPI_STATUS
8905a77b11bSJung-uk Kim AcpiUpdateAllGpes (
891a159c266SJung-uk Kim     void))
892a9f12690SJung-uk Kim 
893a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
894a9f12690SJung-uk Kim ACPI_STATUS
895a9f12690SJung-uk Kim AcpiEnableGpe (
896a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
897a159c266SJung-uk Kim     UINT32                  GpeNumber))
898a9f12690SJung-uk Kim 
899a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
900a9f12690SJung-uk Kim ACPI_STATUS
901a9f12690SJung-uk Kim AcpiDisableGpe (
902a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
903a159c266SJung-uk Kim     UINT32                  GpeNumber))
904a9f12690SJung-uk Kim 
905a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
906a9f12690SJung-uk Kim ACPI_STATUS
907a9f12690SJung-uk Kim AcpiClearGpe (
908a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
909a159c266SJung-uk Kim     UINT32                  GpeNumber))
910a9f12690SJung-uk Kim 
911a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
912a9f12690SJung-uk Kim ACPI_STATUS
9135a77b11bSJung-uk Kim AcpiSetGpe (
9145a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
9155a77b11bSJung-uk Kim     UINT32                  GpeNumber,
916a159c266SJung-uk Kim     UINT8                   Action))
9175a77b11bSJung-uk Kim 
918a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9195a77b11bSJung-uk Kim ACPI_STATUS
9205a77b11bSJung-uk Kim AcpiFinishGpe (
9215a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
922a159c266SJung-uk Kim     UINT32                  GpeNumber))
9235a77b11bSJung-uk Kim 
924a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9255a77b11bSJung-uk Kim ACPI_STATUS
926*493deb39SJung-uk Kim AcpiMaskGpe (
927*493deb39SJung-uk Kim     ACPI_HANDLE             GpeDevice,
928*493deb39SJung-uk Kim     UINT32                  GpeNumber,
929*493deb39SJung-uk Kim     BOOLEAN                 IsMasked))
930*493deb39SJung-uk Kim 
931*493deb39SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
932*493deb39SJung-uk Kim ACPI_STATUS
933313a0c13SJung-uk Kim AcpiMarkGpeForWake (
934313a0c13SJung-uk Kim     ACPI_HANDLE             GpeDevice,
935313a0c13SJung-uk Kim     UINT32                  GpeNumber))
936313a0c13SJung-uk Kim 
937313a0c13SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
938313a0c13SJung-uk Kim ACPI_STATUS
9395a77b11bSJung-uk Kim AcpiSetupGpeForWake (
9405a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
9415a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
942a159c266SJung-uk Kim     UINT32                  GpeNumber))
9435a77b11bSJung-uk Kim 
944a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9455a77b11bSJung-uk Kim ACPI_STATUS
9465a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
947a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
948a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
949a159c266SJung-uk Kim     UINT8                   Action))
950a88e22b7SJung-uk Kim 
951a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
952a88e22b7SJung-uk Kim ACPI_STATUS
953a9f12690SJung-uk Kim AcpiGetGpeStatus (
954a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
955a9f12690SJung-uk Kim     UINT32                  GpeNumber,
956a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
957a9f12690SJung-uk Kim 
958a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
959a9f12690SJung-uk Kim ACPI_STATUS
960a9f12690SJung-uk Kim AcpiDisableAllGpes (
961a159c266SJung-uk Kim     void))
962a9f12690SJung-uk Kim 
963a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
964a9f12690SJung-uk Kim ACPI_STATUS
965a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
966a159c266SJung-uk Kim     void))
967a9f12690SJung-uk Kim 
968a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
969a9f12690SJung-uk Kim ACPI_STATUS
9701c0e1b6dSJung-uk Kim AcpiEnableAllWakeupGpes (
9711c0e1b6dSJung-uk Kim     void))
9721c0e1b6dSJung-uk Kim 
9731c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9741c0e1b6dSJung-uk Kim ACPI_STATUS
975a9f12690SJung-uk Kim AcpiGetGpeDevice (
976a9f12690SJung-uk Kim     UINT32                  GpeIndex,
977a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
978a9f12690SJung-uk Kim 
979a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
980a9f12690SJung-uk Kim ACPI_STATUS
981a9f12690SJung-uk Kim AcpiInstallGpeBlock (
982a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
983a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
984a9f12690SJung-uk Kim     UINT32                  RegisterCount,
985a159c266SJung-uk Kim     UINT32                  InterruptNumber))
986a9f12690SJung-uk Kim 
987a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
988a9f12690SJung-uk Kim ACPI_STATUS
989a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
990a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
991a9f12690SJung-uk Kim 
992a9f12690SJung-uk Kim 
993a9f12690SJung-uk Kim /*
994a9f12690SJung-uk Kim  * Resource interfaces
995a9f12690SJung-uk Kim  */
996a9f12690SJung-uk Kim typedef
997a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
998a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
999a9f12690SJung-uk Kim     void                    *Context);
1000a9f12690SJung-uk Kim 
1001313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1002a9f12690SJung-uk Kim ACPI_STATUS
1003a9f12690SJung-uk Kim AcpiGetVendorResource (
10043f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1005a9f12690SJung-uk Kim     char                    *Name,
1006a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
1007313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1008a9f12690SJung-uk Kim 
1009313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1010a9f12690SJung-uk Kim ACPI_STATUS
1011a9f12690SJung-uk Kim AcpiGetCurrentResources (
10123f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1013313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1014a9f12690SJung-uk Kim 
1015313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1016a9f12690SJung-uk Kim ACPI_STATUS
1017a9f12690SJung-uk Kim AcpiGetPossibleResources (
10183f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1019313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1020a9f12690SJung-uk Kim 
1021313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1022a9f12690SJung-uk Kim ACPI_STATUS
10233f0275a0SJung-uk Kim AcpiGetEventResources (
10243f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
1025313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
10263f0275a0SJung-uk Kim 
1027313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
10283f0275a0SJung-uk Kim ACPI_STATUS
1029efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
1030efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
1031efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1032313a0c13SJung-uk Kim     void                        *Context))
1033efcc2a30SJung-uk Kim 
1034313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1035efcc2a30SJung-uk Kim ACPI_STATUS
1036a9f12690SJung-uk Kim AcpiWalkResources (
10373f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
1038a9f12690SJung-uk Kim     char                        *Name,
1039a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1040313a0c13SJung-uk Kim     void                        *Context))
1041a9f12690SJung-uk Kim 
1042313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1043a9f12690SJung-uk Kim ACPI_STATUS
1044a9f12690SJung-uk Kim AcpiSetCurrentResources (
10453f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1046313a0c13SJung-uk Kim     ACPI_BUFFER             *InBuffer))
1047a9f12690SJung-uk Kim 
1048313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1049a9f12690SJung-uk Kim ACPI_STATUS
1050a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
10513f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1052313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1053a9f12690SJung-uk Kim 
1054313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1055a9f12690SJung-uk Kim ACPI_STATUS
1056a9f12690SJung-uk Kim AcpiResourceToAddress64 (
1057a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
1058313a0c13SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out))
1059a9f12690SJung-uk Kim 
1060313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
10613f0275a0SJung-uk Kim ACPI_STATUS
10623f0275a0SJung-uk Kim AcpiBufferToResource (
10633f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
10643f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
1065313a0c13SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr))
10663f0275a0SJung-uk Kim 
1067a9f12690SJung-uk Kim 
1068a9f12690SJung-uk Kim /*
1069a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
1070a9f12690SJung-uk Kim  */
1071313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1072a9f12690SJung-uk Kim ACPI_STATUS
1073a9f12690SJung-uk Kim AcpiReset (
1074313a0c13SJung-uk Kim     void))
1075a9f12690SJung-uk Kim 
1076313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1077a9f12690SJung-uk Kim ACPI_STATUS
1078a9f12690SJung-uk Kim AcpiRead (
1079d6dd1baeSJung-uk Kim     UINT64                  *Value,
1080313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1081a9f12690SJung-uk Kim 
1082313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1083a9f12690SJung-uk Kim ACPI_STATUS
1084a9f12690SJung-uk Kim AcpiWrite (
1085d6dd1baeSJung-uk Kim     UINT64                  Value,
1086313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1087a9f12690SJung-uk Kim 
1088a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1089a9f12690SJung-uk Kim ACPI_STATUS
1090a9f12690SJung-uk Kim AcpiReadBitRegister (
1091a9f12690SJung-uk Kim     UINT32                  RegisterId,
1092a159c266SJung-uk Kim     UINT32                  *ReturnValue))
1093a9f12690SJung-uk Kim 
1094a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1095a9f12690SJung-uk Kim ACPI_STATUS
1096a9f12690SJung-uk Kim AcpiWriteBitRegister (
1097a9f12690SJung-uk Kim     UINT32                  RegisterId,
1098a159c266SJung-uk Kim     UINT32                  Value))
1099a9f12690SJung-uk Kim 
1100a159c266SJung-uk Kim 
1101a159c266SJung-uk Kim /*
1102a159c266SJung-uk Kim  * Sleep/Wake interfaces
1103a159c266SJung-uk Kim  */
1104313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1105a9f12690SJung-uk Kim ACPI_STATUS
1106a9f12690SJung-uk Kim AcpiGetSleepTypeData (
1107a9f12690SJung-uk Kim     UINT8                   SleepState,
1108a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
1109313a0c13SJung-uk Kim     UINT8                   *Slp_TypB))
1110a9f12690SJung-uk Kim 
1111313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1112a9f12690SJung-uk Kim ACPI_STATUS
1113a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
1114313a0c13SJung-uk Kim     UINT8                   SleepState))
1115a9f12690SJung-uk Kim 
1116313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1117a9f12690SJung-uk Kim ACPI_STATUS
1118a9f12690SJung-uk Kim AcpiEnterSleepState (
1119313a0c13SJung-uk Kim     UINT8                   SleepState))
1120a9f12690SJung-uk Kim 
1121a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1122a9f12690SJung-uk Kim ACPI_STATUS
1123a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
1124a159c266SJung-uk Kim     void))
1125a159c266SJung-uk Kim 
1126313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1127a159c266SJung-uk Kim ACPI_STATUS
1128a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
1129313a0c13SJung-uk Kim     UINT8                   SleepState))
1130a9f12690SJung-uk Kim 
1131313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1132a9f12690SJung-uk Kim ACPI_STATUS
1133a9f12690SJung-uk Kim AcpiLeaveSleepState (
1134313a0c13SJung-uk Kim     UINT8                   SleepState))
1135a159c266SJung-uk Kim 
1136a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1137a9f12690SJung-uk Kim ACPI_STATUS
1138a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
11395ef50723SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
11405ef50723SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
1141a9f12690SJung-uk Kim 
1142a9f12690SJung-uk Kim 
1143a9f12690SJung-uk Kim /*
1144a159c266SJung-uk Kim  * ACPI Timer interfaces
1145a159c266SJung-uk Kim  */
1146a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1147a159c266SJung-uk Kim ACPI_STATUS
1148a159c266SJung-uk Kim AcpiGetTimerResolution (
1149a159c266SJung-uk Kim     UINT32                  *Resolution))
1150a159c266SJung-uk Kim 
1151a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1152a159c266SJung-uk Kim ACPI_STATUS
1153a159c266SJung-uk Kim AcpiGetTimer (
1154a159c266SJung-uk Kim     UINT32                  *Ticks))
1155a159c266SJung-uk Kim 
1156a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1157a159c266SJung-uk Kim ACPI_STATUS
1158a159c266SJung-uk Kim AcpiGetTimerDuration (
1159a159c266SJung-uk Kim     UINT32                  StartTicks,
1160a159c266SJung-uk Kim     UINT32                  EndTicks,
1161a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
1162a159c266SJung-uk Kim 
1163a159c266SJung-uk Kim 
1164a159c266SJung-uk Kim /*
1165a9f12690SJung-uk Kim  * Error/Warning output
1166a9f12690SJung-uk Kim  */
1167313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1168313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1169a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1170a9f12690SJung-uk Kim AcpiError (
1171a9f12690SJung-uk Kim     const char              *ModuleName,
1172a9f12690SJung-uk Kim     UINT32                  LineNumber,
1173a9f12690SJung-uk Kim     const char              *Format,
1174313a0c13SJung-uk Kim     ...))
1175a9f12690SJung-uk Kim 
1176313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1177313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(4)
1178a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
1179a9f12690SJung-uk Kim AcpiException (
1180a9f12690SJung-uk Kim     const char              *ModuleName,
1181a9f12690SJung-uk Kim     UINT32                  LineNumber,
1182a9f12690SJung-uk Kim     ACPI_STATUS             Status,
1183a9f12690SJung-uk Kim     const char              *Format,
1184313a0c13SJung-uk Kim     ...))
1185a9f12690SJung-uk Kim 
1186313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1187313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1188a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1189a9f12690SJung-uk Kim AcpiWarning (
1190a9f12690SJung-uk Kim     const char              *ModuleName,
1191a9f12690SJung-uk Kim     UINT32                  LineNumber,
1192a9f12690SJung-uk Kim     const char              *Format,
1193313a0c13SJung-uk Kim     ...))
1194a9f12690SJung-uk Kim 
1195313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1196f8146b88SJung-uk Kim ACPI_PRINTF_LIKE(1)
1197a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1198a9f12690SJung-uk Kim AcpiInfo (
1199a9f12690SJung-uk Kim     const char              *Format,
1200313a0c13SJung-uk Kim     ...))
1201a9f12690SJung-uk Kim 
1202313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1203313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1204e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1205e8241eabSJung-uk Kim AcpiBiosError (
1206e8241eabSJung-uk Kim     const char              *ModuleName,
1207e8241eabSJung-uk Kim     UINT32                  LineNumber,
1208e8241eabSJung-uk Kim     const char              *Format,
1209313a0c13SJung-uk Kim     ...))
1210e8241eabSJung-uk Kim 
1211313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1212313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1213e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1214e8241eabSJung-uk Kim AcpiBiosWarning (
1215e8241eabSJung-uk Kim     const char              *ModuleName,
1216e8241eabSJung-uk Kim     UINT32                  LineNumber,
1217e8241eabSJung-uk Kim     const char              *Format,
1218313a0c13SJung-uk Kim     ...))
1219e8241eabSJung-uk Kim 
1220a9f12690SJung-uk Kim 
1221a9f12690SJung-uk Kim /*
1222a9f12690SJung-uk Kim  * Debug output
1223a9f12690SJung-uk Kim  */
1224313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1225313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1226a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1227a9f12690SJung-uk Kim AcpiDebugPrint (
1228a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1229a9f12690SJung-uk Kim     UINT32                  LineNumber,
1230a9f12690SJung-uk Kim     const char              *FunctionName,
1231a9f12690SJung-uk Kim     const char              *ModuleName,
1232a9f12690SJung-uk Kim     UINT32                  ComponentId,
1233a9f12690SJung-uk Kim     const char              *Format,
1234313a0c13SJung-uk Kim     ...))
1235a9f12690SJung-uk Kim 
1236313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1237313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1238a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1239a9f12690SJung-uk Kim AcpiDebugPrintRaw (
1240a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1241a9f12690SJung-uk Kim     UINT32                  LineNumber,
1242a9f12690SJung-uk Kim     const char              *FunctionName,
1243a9f12690SJung-uk Kim     const char              *ModuleName,
1244a9f12690SJung-uk Kim     UINT32                  ComponentId,
1245a9f12690SJung-uk Kim     const char              *Format,
1246313a0c13SJung-uk Kim     ...))
1247313a0c13SJung-uk Kim 
1248fe0f0bbbSJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1249fe0f0bbbSJung-uk Kim void
1250fe0f0bbbSJung-uk Kim AcpiTracePoint (
1251fe0f0bbbSJung-uk Kim     ACPI_TRACE_EVENT_TYPE   Type,
1252fe0f0bbbSJung-uk Kim     BOOLEAN                 Begin,
1253fe0f0bbbSJung-uk Kim     UINT8                   *Aml,
1254fe0f0bbbSJung-uk Kim     char                    *Pathname))
1255fe0f0bbbSJung-uk Kim 
125670e6ab8fSJung-uk Kim ACPI_STATUS
125770e6ab8fSJung-uk Kim AcpiInitializeDebugger (
125870e6ab8fSJung-uk Kim     void);
125970e6ab8fSJung-uk Kim 
126070e6ab8fSJung-uk Kim void
126170e6ab8fSJung-uk Kim AcpiTerminateDebugger (
126270e6ab8fSJung-uk Kim     void);
126370e6ab8fSJung-uk Kim 
1264f8146b88SJung-uk Kim void
1265f8146b88SJung-uk Kim AcpiSetDebuggerThreadId (
1266f8146b88SJung-uk Kim     ACPI_THREAD_ID          ThreadId);
1267f8146b88SJung-uk Kim 
1268a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
1269