xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision 58308fadece25ae4c12bd2f4dce3d73d9c23be43)
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 
70d84335fSJung-uk Kim /******************************************************************************
80d84335fSJung-uk Kim  *
90d84335fSJung-uk Kim  * 1. Copyright Notice
100d84335fSJung-uk Kim  *
11*58308fadSJung-uk Kim  * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
12a9f12690SJung-uk Kim  * All rights reserved.
13a9f12690SJung-uk Kim  *
140d84335fSJung-uk Kim  * 2. License
150d84335fSJung-uk Kim  *
160d84335fSJung-uk Kim  * 2.1. This is your license from Intel Corp. under its intellectual property
170d84335fSJung-uk Kim  * rights. You may have additional license terms from the party that provided
180d84335fSJung-uk Kim  * you this software, covering your right to use that party's intellectual
190d84335fSJung-uk Kim  * property rights.
200d84335fSJung-uk Kim  *
210d84335fSJung-uk Kim  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
220d84335fSJung-uk Kim  * copy of the source code appearing in this file ("Covered Code") an
230d84335fSJung-uk Kim  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
240d84335fSJung-uk Kim  * base code distributed originally by Intel ("Original Intel Code") to copy,
250d84335fSJung-uk Kim  * make derivatives, distribute, use and display any portion of the Covered
260d84335fSJung-uk Kim  * Code in any form, with the right to sublicense such rights; and
270d84335fSJung-uk Kim  *
280d84335fSJung-uk Kim  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
290d84335fSJung-uk Kim  * license (with the right to sublicense), under only those claims of Intel
300d84335fSJung-uk Kim  * patents that are infringed by the Original Intel Code, to make, use, sell,
310d84335fSJung-uk Kim  * offer to sell, and import the Covered Code and derivative works thereof
320d84335fSJung-uk Kim  * solely to the minimum extent necessary to exercise the above copyright
330d84335fSJung-uk Kim  * license, and in no event shall the patent license extend to any additions
340d84335fSJung-uk Kim  * to or modifications of the Original Intel Code. No other license or right
350d84335fSJung-uk Kim  * is granted directly or by implication, estoppel or otherwise;
360d84335fSJung-uk Kim  *
370d84335fSJung-uk Kim  * The above copyright and patent license is granted only if the following
380d84335fSJung-uk Kim  * conditions are met:
390d84335fSJung-uk Kim  *
400d84335fSJung-uk Kim  * 3. Conditions
410d84335fSJung-uk Kim  *
420d84335fSJung-uk Kim  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
430d84335fSJung-uk Kim  * Redistribution of source code of any substantial portion of the Covered
440d84335fSJung-uk Kim  * Code or modification with rights to further distribute source must include
450d84335fSJung-uk Kim  * the above Copyright Notice, the above License, this list of Conditions,
460d84335fSJung-uk Kim  * and the following Disclaimer and Export Compliance provision. In addition,
470d84335fSJung-uk Kim  * Licensee must cause all Covered Code to which Licensee contributes to
480d84335fSJung-uk Kim  * contain a file documenting the changes Licensee made to create that Covered
490d84335fSJung-uk Kim  * Code and the date of any change. Licensee must include in that file the
500d84335fSJung-uk Kim  * documentation of any changes made by any predecessor Licensee. Licensee
510d84335fSJung-uk Kim  * must include a prominent statement that the modification is derived,
520d84335fSJung-uk Kim  * directly or indirectly, from Original Intel Code.
530d84335fSJung-uk Kim  *
540d84335fSJung-uk Kim  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
550d84335fSJung-uk Kim  * Redistribution of source code of any substantial portion of the Covered
560d84335fSJung-uk Kim  * Code or modification without rights to further distribute source must
570d84335fSJung-uk Kim  * include the following Disclaimer and Export Compliance provision in the
580d84335fSJung-uk Kim  * documentation and/or other materials provided with distribution. In
590d84335fSJung-uk Kim  * addition, Licensee may not authorize further sublicense of source of any
600d84335fSJung-uk Kim  * portion of the Covered Code, and must include terms to the effect that the
610d84335fSJung-uk Kim  * license from Licensee to its licensee is limited to the intellectual
620d84335fSJung-uk Kim  * property embodied in the software Licensee provides to its licensee, and
630d84335fSJung-uk Kim  * not to intellectual property embodied in modifications its licensee may
640d84335fSJung-uk Kim  * make.
650d84335fSJung-uk Kim  *
660d84335fSJung-uk Kim  * 3.3. Redistribution of Executable. Redistribution in executable form of any
670d84335fSJung-uk Kim  * substantial portion of the Covered Code or modification must reproduce the
680d84335fSJung-uk Kim  * above Copyright Notice, and the following Disclaimer and Export Compliance
690d84335fSJung-uk Kim  * provision in the documentation and/or other materials provided with the
700d84335fSJung-uk Kim  * distribution.
710d84335fSJung-uk Kim  *
720d84335fSJung-uk Kim  * 3.4. Intel retains all right, title, and interest in and to the Original
730d84335fSJung-uk Kim  * Intel Code.
740d84335fSJung-uk Kim  *
750d84335fSJung-uk Kim  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
760d84335fSJung-uk Kim  * Intel shall be used in advertising or otherwise to promote the sale, use or
770d84335fSJung-uk Kim  * other dealings in products derived from or relating to the Covered Code
780d84335fSJung-uk Kim  * without prior written authorization from Intel.
790d84335fSJung-uk Kim  *
800d84335fSJung-uk Kim  * 4. Disclaimer and Export Compliance
810d84335fSJung-uk Kim  *
820d84335fSJung-uk Kim  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
830d84335fSJung-uk Kim  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
840d84335fSJung-uk Kim  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
850d84335fSJung-uk Kim  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
860d84335fSJung-uk Kim  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
870d84335fSJung-uk Kim  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
880d84335fSJung-uk Kim  * PARTICULAR PURPOSE.
890d84335fSJung-uk Kim  *
900d84335fSJung-uk Kim  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
910d84335fSJung-uk Kim  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
920d84335fSJung-uk Kim  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
930d84335fSJung-uk Kim  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
940d84335fSJung-uk Kim  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
950d84335fSJung-uk Kim  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
960d84335fSJung-uk Kim  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
970d84335fSJung-uk Kim  * LIMITED REMEDY.
980d84335fSJung-uk Kim  *
990d84335fSJung-uk Kim  * 4.3. Licensee shall not export, either directly or indirectly, any of this
1000d84335fSJung-uk Kim  * software or system incorporating such software without first obtaining any
1010d84335fSJung-uk Kim  * required license or other approval from the U. S. Department of Commerce or
1020d84335fSJung-uk Kim  * any other agency or department of the United States Government. In the
1030d84335fSJung-uk Kim  * event Licensee exports any such software from the United States or
1040d84335fSJung-uk Kim  * re-exports any such software from a foreign destination, Licensee shall
1050d84335fSJung-uk Kim  * ensure that the distribution and export/re-export of the software is in
1060d84335fSJung-uk Kim  * compliance with all laws, regulations, orders, or other restrictions of the
1070d84335fSJung-uk Kim  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
1080d84335fSJung-uk Kim  * any of its subsidiaries will export/re-export any technical data, process,
1090d84335fSJung-uk Kim  * software, or service, directly or indirectly, to any country for which the
1100d84335fSJung-uk Kim  * United States government or any agency thereof requires an export license,
1110d84335fSJung-uk Kim  * other governmental approval, or letter of assurance, without first obtaining
1120d84335fSJung-uk Kim  * such license, approval or letter.
1130d84335fSJung-uk Kim  *
1140d84335fSJung-uk Kim  *****************************************************************************
1150d84335fSJung-uk Kim  *
1160d84335fSJung-uk Kim  * Alternatively, you may choose to be licensed under the terms of the
1170d84335fSJung-uk Kim  * following license:
1180d84335fSJung-uk Kim  *
119d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
120d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
121d244b227SJung-uk Kim  * are met:
122d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
123d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
124d244b227SJung-uk Kim  *    without modification.
125d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
126d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
127d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
128d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
129d244b227SJung-uk Kim  *    binary redistribution.
130d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
131d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
132d244b227SJung-uk Kim  *    from this software without specific prior written permission.
133a9f12690SJung-uk Kim  *
1340d84335fSJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1350d84335fSJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1360d84335fSJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1370d84335fSJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1380d84335fSJung-uk Kim  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1390d84335fSJung-uk Kim  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1400d84335fSJung-uk Kim  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1410d84335fSJung-uk Kim  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1420d84335fSJung-uk Kim  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1430d84335fSJung-uk Kim  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1440d84335fSJung-uk Kim  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1450d84335fSJung-uk Kim  *
1460d84335fSJung-uk Kim  * Alternatively, you may choose to be licensed under the terms of the
147d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
148d244b227SJung-uk Kim  * Software Foundation.
149a9f12690SJung-uk Kim  *
1500d84335fSJung-uk Kim  *****************************************************************************/
151a9f12690SJung-uk Kim 
152a9f12690SJung-uk Kim #ifndef __ACXFACE_H__
153a9f12690SJung-uk Kim #define __ACXFACE_H__
154a9f12690SJung-uk Kim 
155a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */
156a9f12690SJung-uk Kim 
157*58308fadSJung-uk Kim #define ACPI_CA_VERSION                 0x20250404
158a9f12690SJung-uk Kim 
159a159c266SJung-uk Kim #include <contrib/dev/acpica/include/acconfig.h>
160ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h>
161ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h>
1621df130f1SJung-uk Kim #include <contrib/dev/acpica/include/acbuffer.h>
163a9f12690SJung-uk Kim 
164313a0c13SJung-uk Kim 
165313a0c13SJung-uk Kim /*****************************************************************************
166313a0c13SJung-uk Kim  *
167313a0c13SJung-uk Kim  * Macros used for ACPICA globals and configuration
168313a0c13SJung-uk Kim  *
169313a0c13SJung-uk Kim  ****************************************************************************/
170313a0c13SJung-uk Kim 
171a9f12690SJung-uk Kim /*
172313a0c13SJung-uk Kim  * Ensure that global variables are defined and initialized only once.
173313a0c13SJung-uk Kim  *
174313a0c13SJung-uk Kim  * The use of these macros allows for a single list of globals (here)
175313a0c13SJung-uk Kim  * in order to simplify maintenance of the code.
176a9f12690SJung-uk Kim  */
177313a0c13SJung-uk Kim #ifdef DEFINE_ACPI_GLOBALS
178313a0c13SJung-uk Kim #define ACPI_GLOBAL(type,name) \
179313a0c13SJung-uk Kim     extern type name; \
180313a0c13SJung-uk Kim     type name
181a9f12690SJung-uk Kim 
182313a0c13SJung-uk Kim #define ACPI_INIT_GLOBAL(type,name,value) \
183313a0c13SJung-uk Kim     type name=value
184a9f12690SJung-uk Kim 
185313a0c13SJung-uk Kim #else
186313a0c13SJung-uk Kim #ifndef ACPI_GLOBAL
187313a0c13SJung-uk Kim #define ACPI_GLOBAL(type,name) \
188313a0c13SJung-uk Kim     extern type name
189313a0c13SJung-uk Kim #endif
190a9f12690SJung-uk Kim 
191313a0c13SJung-uk Kim #ifndef ACPI_INIT_GLOBAL
192313a0c13SJung-uk Kim #define ACPI_INIT_GLOBAL(type,name,value) \
193313a0c13SJung-uk Kim     extern type name
194313a0c13SJung-uk Kim #endif
195313a0c13SJung-uk Kim #endif
196a9f12690SJung-uk Kim 
197a9f12690SJung-uk Kim /*
198313a0c13SJung-uk Kim  * These macros configure the various ACPICA interfaces. They are
199313a0c13SJung-uk Kim  * useful for generating stub inline functions for features that are
200313a0c13SJung-uk Kim  * configured out of the current kernel or ACPICA application.
201313a0c13SJung-uk Kim  */
202313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_STATUS
203313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
204313a0c13SJung-uk Kim     Prototype;
205313a0c13SJung-uk Kim #endif
206313a0c13SJung-uk Kim 
207313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_OK
208313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
209313a0c13SJung-uk Kim     Prototype;
210313a0c13SJung-uk Kim #endif
211313a0c13SJung-uk Kim 
212313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_VOID
213313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
214313a0c13SJung-uk Kim     Prototype;
215313a0c13SJung-uk Kim #endif
216313a0c13SJung-uk Kim 
217313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_UINT32
218313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
219313a0c13SJung-uk Kim     Prototype;
220313a0c13SJung-uk Kim #endif
221313a0c13SJung-uk Kim 
222313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_PTR
223313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
224313a0c13SJung-uk Kim     Prototype;
225313a0c13SJung-uk Kim #endif
226313a0c13SJung-uk Kim 
227313a0c13SJung-uk Kim 
228313a0c13SJung-uk Kim /*****************************************************************************
229313a0c13SJung-uk Kim  *
230313a0c13SJung-uk Kim  * Public globals and runtime configuration options
231313a0c13SJung-uk Kim  *
232313a0c13SJung-uk Kim  ****************************************************************************/
233313a0c13SJung-uk Kim 
234313a0c13SJung-uk Kim /*
235313a0c13SJung-uk Kim  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
236313a0c13SJung-uk Kim  * interpreter strictly follows the ACPI specification. Setting to TRUE
237313a0c13SJung-uk Kim  * allows the interpreter to ignore certain errors and/or bad AML constructs.
238313a0c13SJung-uk Kim  *
239313a0c13SJung-uk Kim  * Currently, these features are enabled by this flag:
240313a0c13SJung-uk Kim  *
241313a0c13SJung-uk Kim  * 1) Allow "implicit return" of last value in a control method
242313a0c13SJung-uk Kim  * 2) Allow access beyond the end of an operation region
243313a0c13SJung-uk Kim  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
244313a0c13SJung-uk Kim  * 4) Allow ANY object type to be a source operand for the Store() operator
245313a0c13SJung-uk Kim  * 5) Allow unresolved references (invalid target name) in package objects
246313a0c13SJung-uk Kim  * 6) Enable warning messages for behavior that is not ACPI spec compliant
247313a0c13SJung-uk Kim  */
248313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
249313a0c13SJung-uk Kim 
250313a0c13SJung-uk Kim /*
251313a0c13SJung-uk Kim  * Automatically serialize all methods that create named objects? Default
252313a0c13SJung-uk Kim  * is TRUE, meaning that all NonSerialized methods are scanned once at
253313a0c13SJung-uk Kim  * table load time to determine those that create named objects. Methods
254313a0c13SJung-uk Kim  * that create named objects are marked Serialized in order to prevent
255313a0c13SJung-uk Kim  * possible run-time problems if they are entered by more than one thread.
256313a0c13SJung-uk Kim  */
257313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
258313a0c13SJung-uk Kim 
259313a0c13SJung-uk Kim /*
260313a0c13SJung-uk Kim  * Create the predefined _OSI method in the namespace? Default is TRUE
261313a0c13SJung-uk Kim  * because ACPICA is fully compatible with other ACPI implementations.
262313a0c13SJung-uk Kim  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
263313a0c13SJung-uk Kim  */
264313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
265313a0c13SJung-uk Kim 
266313a0c13SJung-uk Kim /*
267313a0c13SJung-uk Kim  * Optionally use default values for the ACPI register widths. Set this to
268313a0c13SJung-uk Kim  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
269313a0c13SJung-uk Kim  */
270313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
271313a0c13SJung-uk Kim 
272313a0c13SJung-uk Kim /*
2735f9b24faSJung-uk Kim  * Whether or not to validate (map) an entire table to verify
2745f9b24faSJung-uk Kim  * checksum/duplication in early stage before install. Set this to TRUE to
2755f9b24faSJung-uk Kim  * allow early table validation before install it to the table manager.
2765f9b24faSJung-uk Kim  * Note that enabling this option causes errors to happen in some OSPMs
2775f9b24faSJung-uk Kim  * during early initialization stages. Default behavior is to allow such
2785f9b24faSJung-uk Kim  * validation.
279313a0c13SJung-uk Kim  */
2805f9b24faSJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableTableValidation, TRUE);
281313a0c13SJung-uk Kim 
282313a0c13SJung-uk Kim /*
283313a0c13SJung-uk Kim  * Optionally enable output from the AML Debug Object.
284313a0c13SJung-uk Kim  */
285313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
286313a0c13SJung-uk Kim 
287313a0c13SJung-uk Kim /*
288313a0c13SJung-uk Kim  * Optionally copy the entire DSDT to local memory (instead of simply
289313a0c13SJung-uk Kim  * mapping it.) There are some BIOSs that corrupt or replace the original
290313a0c13SJung-uk Kim  * DSDT, creating the need for this option. Default is FALSE, do not copy
291313a0c13SJung-uk Kim  * the DSDT.
292313a0c13SJung-uk Kim  */
293313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
294313a0c13SJung-uk Kim 
295313a0c13SJung-uk Kim /*
296313a0c13SJung-uk Kim  * Optionally ignore an XSDT if present and use the RSDT instead.
297313a0c13SJung-uk Kim  * Although the ACPI specification requires that an XSDT be used instead
298313a0c13SJung-uk Kim  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
299313a0c13SJung-uk Kim  * some machines. Default behavior is to use the XSDT if present.
300313a0c13SJung-uk Kim  */
301313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
302313a0c13SJung-uk Kim 
303313a0c13SJung-uk Kim /*
304313a0c13SJung-uk Kim  * Optionally use 32-bit FADT addresses if and when there is a conflict
305313a0c13SJung-uk Kim  * (address mismatch) between the 32-bit and 64-bit versions of the
306313a0c13SJung-uk Kim  * address. Although ACPICA adheres to the ACPI specification which
307313a0c13SJung-uk Kim  * requires the use of the corresponding 64-bit address if it is non-zero,
308313a0c13SJung-uk Kim  * some machines have been found to have a corrupted non-zero 64-bit
309313a0c13SJung-uk Kim  * address. Default is FALSE, do not favor the 32-bit addresses.
310313a0c13SJung-uk Kim  */
311313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
312313a0c13SJung-uk Kim 
313313a0c13SJung-uk Kim /*
3145ef50723SJung-uk Kim  * Optionally use 32-bit FACS table addresses.
3155ef50723SJung-uk Kim  * It is reported that some platforms fail to resume from system suspending
3165ef50723SJung-uk Kim  * if 64-bit FACS table address is selected:
3175ef50723SJung-uk Kim  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
3185ef50723SJung-uk Kim  * Default is TRUE, favor the 32-bit addresses.
3195ef50723SJung-uk Kim  */
3205ef50723SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
3215ef50723SJung-uk Kim 
3225ef50723SJung-uk Kim /*
323313a0c13SJung-uk Kim  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
324313a0c13SJung-uk Kim  * with other ACPI implementations. NOTE: During ACPICA initialization,
325313a0c13SJung-uk Kim  * this value is set to TRUE if any Windows OSI strings have been
326313a0c13SJung-uk Kim  * requested by the BIOS.
327313a0c13SJung-uk Kim  */
328313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
329313a0c13SJung-uk Kim 
330313a0c13SJung-uk Kim /*
331313a0c13SJung-uk Kim  * Disable runtime checking and repair of values returned by control methods.
332313a0c13SJung-uk Kim  * Use only if the repair is causing a problem on a particular machine.
333313a0c13SJung-uk Kim  */
334313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
335313a0c13SJung-uk Kim 
336313a0c13SJung-uk Kim /*
337313a0c13SJung-uk Kim  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
338313a0c13SJung-uk Kim  * This can be useful for debugging ACPI problems on some machines.
339313a0c13SJung-uk Kim  */
340313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
341313a0c13SJung-uk Kim 
342313a0c13SJung-uk Kim /*
3435ef50723SJung-uk Kim  * Optionally enable runtime namespace override.
3445ef50723SJung-uk Kim  */
3455ef50723SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
3465ef50723SJung-uk Kim 
3475ef50723SJung-uk Kim /*
348313a0c13SJung-uk Kim  * We keep track of the latest version of Windows that has been requested by
349313a0c13SJung-uk Kim  * the BIOS. ACPI 5.0.
350313a0c13SJung-uk Kim  */
351313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
352313a0c13SJung-uk Kim 
353313a0c13SJung-uk Kim /*
354313a0c13SJung-uk Kim  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
355313a0c13SJung-uk Kim  * that the ACPI hardware is no longer required. A flag in the FADT indicates
356313a0c13SJung-uk Kim  * a reduced HW machine, and that flag is duplicated here for convenience.
357313a0c13SJung-uk Kim  */
358313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
359313a0c13SJung-uk Kim 
360313a0c13SJung-uk Kim /*
36167d9aa44SJung-uk Kim  * Maximum timeout for While() loop iterations before forced method abort.
362493deb39SJung-uk Kim  * This mechanism is intended to prevent infinite loops during interpreter
363493deb39SJung-uk Kim  * execution within a host kernel.
364493deb39SJung-uk Kim  */
36567d9aa44SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_TIMEOUT);
366493deb39SJung-uk Kim 
367493deb39SJung-uk Kim /*
3688438a7a8SJung-uk Kim  * Optionally ignore AE_NOT_FOUND errors from named reference package elements
3698438a7a8SJung-uk Kim  * during DSDT/SSDT table loading. This reduces error "noise" in platforms
3708438a7a8SJung-uk Kim  * whose firmware is carrying around a bunch of unused package objects that
3718438a7a8SJung-uk Kim  * refer to non-existent named objects. However, If the AML actually tries to
3728438a7a8SJung-uk Kim  * use such a package, the unresolved element(s) will be replaced with NULL
3738438a7a8SJung-uk Kim  * elements.
3748438a7a8SJung-uk Kim  */
3758438a7a8SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_IgnorePackageResolutionErrors, FALSE);
3768438a7a8SJung-uk Kim 
3778438a7a8SJung-uk Kim /*
378313a0c13SJung-uk Kim  * This mechanism is used to trace a specified AML method. The method is
379313a0c13SJung-uk Kim  * traced each time it is executed.
380313a0c13SJung-uk Kim  */
381313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
382fe0f0bbbSJung-uk Kim ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
383fe0f0bbbSJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
384fe0f0bbbSJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
385313a0c13SJung-uk Kim 
386313a0c13SJung-uk Kim /*
387313a0c13SJung-uk Kim  * Runtime configuration of debug output control masks. We want the debug
388313a0c13SJung-uk Kim  * switches statically initialized so they are already set when the debugger
389313a0c13SJung-uk Kim  * is entered.
390313a0c13SJung-uk Kim  */
391313a0c13SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
392313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
393313a0c13SJung-uk Kim #else
394313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
395313a0c13SJung-uk Kim #endif
396313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
397313a0c13SJung-uk Kim 
398f8146b88SJung-uk Kim /* Optionally enable timer output with Debug Object output */
399f8146b88SJung-uk Kim 
400f8146b88SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
401f8146b88SJung-uk Kim 
402313a0c13SJung-uk Kim /*
40328482948SJung-uk Kim  * Debugger command handshake globals. Host OSes need to access these
40428482948SJung-uk Kim  * variables to implement their own command handshake mechanism.
40528482948SJung-uk Kim  */
40628482948SJung-uk Kim #ifdef ACPI_DEBUGGER
40728482948SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_MethodExecuting, FALSE);
40828482948SJung-uk Kim ACPI_GLOBAL (char,                  AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
40928482948SJung-uk Kim #endif
41028482948SJung-uk Kim 
41128482948SJung-uk Kim /*
412313a0c13SJung-uk Kim  * Other miscellaneous globals
413313a0c13SJung-uk Kim  */
414313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
415313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
416313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
417313a0c13SJung-uk Kim 
418313a0c13SJung-uk Kim 
419313a0c13SJung-uk Kim /*****************************************************************************
420313a0c13SJung-uk Kim  *
421313a0c13SJung-uk Kim  * ACPICA public interface configuration.
422313a0c13SJung-uk Kim  *
423313a0c13SJung-uk Kim  * Interfaces that are configured out of the ACPICA build are replaced
424313a0c13SJung-uk Kim  * by inlined stubs by default.
425313a0c13SJung-uk Kim  *
426313a0c13SJung-uk Kim  ****************************************************************************/
427313a0c13SJung-uk Kim 
428313a0c13SJung-uk Kim /*
429313a0c13SJung-uk Kim  * Hardware-reduced prototypes (default: Not hardware reduced).
430313a0c13SJung-uk Kim  *
431313a0c13SJung-uk Kim  * All ACPICA hardware-related interfaces that use these macros will be
432313a0c13SJung-uk Kim  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
433a159c266SJung-uk Kim  * is set to TRUE.
434313a0c13SJung-uk Kim  *
435313a0c13SJung-uk Kim  * Note: This static build option for reduced hardware is intended to
436313a0c13SJung-uk Kim  * reduce ACPICA code size if desired or necessary. However, even if this
437313a0c13SJung-uk Kim  * option is not specified, the runtime behavior of ACPICA is dependent
438313a0c13SJung-uk Kim  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
439313a0c13SJung-uk Kim  * the flag will enable similar behavior -- ACPICA will not attempt
440313a0c13SJung-uk Kim  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
441a159c266SJung-uk Kim  */
442a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
443a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
444313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
445a159c266SJung-uk Kim 
446a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
447313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_OK(Prototype)
448a159c266SJung-uk Kim 
449a009b7dcSJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
450a009b7dcSJung-uk Kim     ACPI_EXTERNAL_RETURN_UINT32(prototype)
451a009b7dcSJung-uk Kim 
452a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
453313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_VOID(Prototype)
454a159c266SJung-uk Kim 
455a159c266SJung-uk Kim #else
456a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
457a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
458a159c266SJung-uk Kim 
459a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
460a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
461a159c266SJung-uk Kim 
462a009b7dcSJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
463a009b7dcSJung-uk Kim     static ACPI_INLINE prototype {return(0);}
464a009b7dcSJung-uk Kim 
465a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
466313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
467a159c266SJung-uk Kim 
468a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
469a159c266SJung-uk Kim 
470a159c266SJung-uk Kim 
471a159c266SJung-uk Kim /*
472313a0c13SJung-uk Kim  * Error message prototypes (default: error messages enabled).
473313a0c13SJung-uk Kim  *
474313a0c13SJung-uk Kim  * All interfaces related to error and warning messages
475313a0c13SJung-uk Kim  * will be configured out of the ACPICA build if the
476313a0c13SJung-uk Kim  * ACPI_NO_ERROR_MESSAGE flag is defined.
477313a0c13SJung-uk Kim  */
478313a0c13SJung-uk Kim #ifndef ACPI_NO_ERROR_MESSAGES
479313a0c13SJung-uk Kim #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
480313a0c13SJung-uk Kim     Prototype;
481313a0c13SJung-uk Kim 
482313a0c13SJung-uk Kim #else
483313a0c13SJung-uk Kim #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
484313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
485313a0c13SJung-uk Kim 
486313a0c13SJung-uk Kim #endif /* ACPI_NO_ERROR_MESSAGES */
487313a0c13SJung-uk Kim 
488313a0c13SJung-uk Kim 
489313a0c13SJung-uk Kim /*
490313a0c13SJung-uk Kim  * Debugging output prototypes (default: no debug output).
491313a0c13SJung-uk Kim  *
492313a0c13SJung-uk Kim  * All interfaces related to debug output messages
493313a0c13SJung-uk Kim  * will be configured out of the ACPICA build unless the
494313a0c13SJung-uk Kim  * ACPI_DEBUG_OUTPUT flag is defined.
495313a0c13SJung-uk Kim  */
496313a0c13SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
497313a0c13SJung-uk Kim #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
498313a0c13SJung-uk Kim     Prototype;
499313a0c13SJung-uk Kim 
500313a0c13SJung-uk Kim #else
501313a0c13SJung-uk Kim #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
502313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
503313a0c13SJung-uk Kim 
504313a0c13SJung-uk Kim #endif /* ACPI_DEBUG_OUTPUT */
505313a0c13SJung-uk Kim 
506313a0c13SJung-uk Kim 
507313a0c13SJung-uk Kim /*
508313a0c13SJung-uk Kim  * Application prototypes
509313a0c13SJung-uk Kim  *
510313a0c13SJung-uk Kim  * All interfaces used by application will be configured
511313a0c13SJung-uk Kim  * out of the ACPICA build unless the ACPI_APPLICATION
512313a0c13SJung-uk Kim  * flag is defined.
513313a0c13SJung-uk Kim  */
514313a0c13SJung-uk Kim #ifdef ACPI_APPLICATION
515313a0c13SJung-uk Kim #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
516313a0c13SJung-uk Kim     Prototype;
517313a0c13SJung-uk Kim 
518313a0c13SJung-uk Kim #else
519313a0c13SJung-uk Kim #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
520313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
521313a0c13SJung-uk Kim 
522313a0c13SJung-uk Kim #endif /* ACPI_APPLICATION */
523313a0c13SJung-uk Kim 
524313a0c13SJung-uk Kim 
525f8146b88SJung-uk Kim /*
526f8146b88SJung-uk Kim  * Debugger prototypes
527f8146b88SJung-uk Kim  *
528f8146b88SJung-uk Kim  * All interfaces used by debugger will be configured
529f8146b88SJung-uk Kim  * out of the ACPICA build unless the ACPI_DEBUGGER
530f8146b88SJung-uk Kim  * flag is defined.
531f8146b88SJung-uk Kim  */
532f8146b88SJung-uk Kim #ifdef ACPI_DEBUGGER
533f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
534f8146b88SJung-uk Kim     ACPI_EXTERNAL_RETURN_OK(Prototype)
535f8146b88SJung-uk Kim 
536f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
537f8146b88SJung-uk Kim     ACPI_EXTERNAL_RETURN_VOID(Prototype)
538f8146b88SJung-uk Kim 
539f8146b88SJung-uk Kim #else
540f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
541f8146b88SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
542f8146b88SJung-uk Kim 
543f8146b88SJung-uk Kim #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
544f8146b88SJung-uk Kim     static ACPI_INLINE Prototype {return;}
545f8146b88SJung-uk Kim 
546f8146b88SJung-uk Kim #endif /* ACPI_DEBUGGER */
547f8146b88SJung-uk Kim 
548f8146b88SJung-uk Kim 
549313a0c13SJung-uk Kim /*****************************************************************************
550313a0c13SJung-uk Kim  *
551313a0c13SJung-uk Kim  * ACPICA public interface prototypes
552313a0c13SJung-uk Kim  *
553313a0c13SJung-uk Kim  ****************************************************************************/
554313a0c13SJung-uk Kim 
555313a0c13SJung-uk Kim /*
5565a77b11bSJung-uk Kim  * Initialization
557a9f12690SJung-uk Kim  */
558313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
559493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
560a9f12690SJung-uk Kim AcpiInitializeTables (
561a9f12690SJung-uk Kim     ACPI_TABLE_DESC         *InitialStorage,
562a9f12690SJung-uk Kim     UINT32                  InitialTableCount,
563313a0c13SJung-uk Kim     BOOLEAN                 AllowResize))
564a9f12690SJung-uk Kim 
565313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
566493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
567a9f12690SJung-uk Kim AcpiInitializeSubsystem (
568313a0c13SJung-uk Kim     void))
569a9f12690SJung-uk Kim 
570313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
571493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
572a9f12690SJung-uk Kim AcpiEnableSubsystem (
573313a0c13SJung-uk Kim     UINT32                  Flags))
574a9f12690SJung-uk Kim 
575313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
576493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
577a9f12690SJung-uk Kim AcpiInitializeObjects (
578313a0c13SJung-uk Kim     UINT32                  Flags))
579a9f12690SJung-uk Kim 
580313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
581493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
582a9f12690SJung-uk Kim AcpiTerminate (
583313a0c13SJung-uk Kim     void))
584a9f12690SJung-uk Kim 
585a9f12690SJung-uk Kim 
5865a77b11bSJung-uk Kim /*
5875a77b11bSJung-uk Kim  * Miscellaneous global interfaces
5885a77b11bSJung-uk Kim  */
589a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
590a9f12690SJung-uk Kim ACPI_STATUS
591a9f12690SJung-uk Kim AcpiEnable (
592a159c266SJung-uk Kim     void))
593a9f12690SJung-uk Kim 
594a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
595a9f12690SJung-uk Kim ACPI_STATUS
596a9f12690SJung-uk Kim AcpiDisable (
597a159c266SJung-uk Kim     void))
598a9f12690SJung-uk Kim 
599313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
600a9f12690SJung-uk Kim ACPI_STATUS
6015a77b11bSJung-uk Kim AcpiSubsystemStatus (
602313a0c13SJung-uk Kim     void))
6035a77b11bSJung-uk Kim 
604313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
6055a77b11bSJung-uk Kim ACPI_STATUS
606a9f12690SJung-uk Kim AcpiGetSystemInfo (
607313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
608a9f12690SJung-uk Kim 
609313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
610a9f12690SJung-uk Kim ACPI_STATUS
611a9f12690SJung-uk Kim AcpiGetStatistics (
612313a0c13SJung-uk Kim     ACPI_STATISTICS         *Stats))
613a9f12690SJung-uk Kim 
614313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_PTR (
615a9f12690SJung-uk Kim const char *
616a9f12690SJung-uk Kim AcpiFormatException (
617313a0c13SJung-uk Kim     ACPI_STATUS             Exception))
618a9f12690SJung-uk Kim 
619313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
620a9f12690SJung-uk Kim ACPI_STATUS
621a9f12690SJung-uk Kim AcpiPurgeCachedObjects (
622313a0c13SJung-uk Kim     void))
623a9f12690SJung-uk Kim 
624313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
625709fac06SJung-uk Kim ACPI_STATUS
626709fac06SJung-uk Kim AcpiInstallInterface (
627313a0c13SJung-uk Kim     ACPI_STRING             InterfaceName))
628709fac06SJung-uk Kim 
629313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
630709fac06SJung-uk Kim ACPI_STATUS
631709fac06SJung-uk Kim AcpiRemoveInterface (
632313a0c13SJung-uk Kim     ACPI_STRING             InterfaceName))
633a9f12690SJung-uk Kim 
634313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
635bf6fac21SJung-uk Kim ACPI_STATUS
636bf6fac21SJung-uk Kim AcpiUpdateInterfaces (
637313a0c13SJung-uk Kim     UINT8                   Action))
638bf6fac21SJung-uk Kim 
639313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_UINT32 (
640ec3fc72fSJung-uk Kim UINT32
641ec3fc72fSJung-uk Kim AcpiCheckAddressRange (
642ec3fc72fSJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
643ec3fc72fSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
644ec3fc72fSJung-uk Kim     ACPI_SIZE               Length,
645313a0c13SJung-uk Kim     BOOLEAN                 Warn))
646ec3fc72fSJung-uk Kim 
647313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
6481df130f1SJung-uk Kim ACPI_STATUS
6491df130f1SJung-uk Kim AcpiDecodePldBuffer (
6501df130f1SJung-uk Kim     UINT8                   *InBuffer,
6511df130f1SJung-uk Kim     ACPI_SIZE               Length,
652313a0c13SJung-uk Kim     ACPI_PLD_INFO           **ReturnBuffer))
653a9f12690SJung-uk Kim 
654a9f12690SJung-uk Kim 
655a9f12690SJung-uk Kim /*
656e8241eabSJung-uk Kim  * ACPI table load/unload interfaces
657e8241eabSJung-uk Kim  */
658313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
659493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
660313a0c13SJung-uk Kim AcpiInstallTable (
661ab71bbb7SJung-uk Kim     ACPI_TABLE_HEADER       *Table))
662ab71bbb7SJung-uk Kim 
663ab71bbb7SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
664ab71bbb7SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
665ab71bbb7SJung-uk Kim AcpiInstallPhysicalTable (
666ab71bbb7SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address))
667313a0c13SJung-uk Kim 
668313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
669e8241eabSJung-uk Kim ACPI_STATUS
670e8241eabSJung-uk Kim AcpiLoadTable (
671a009b7dcSJung-uk Kim     ACPI_TABLE_HEADER       *Table,
672a009b7dcSJung-uk Kim     UINT32                  *TableIdx))
673a009b7dcSJung-uk Kim 
674a009b7dcSJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
675a009b7dcSJung-uk Kim ACPI_STATUS
676a009b7dcSJung-uk Kim AcpiUnloadTable (
677a009b7dcSJung-uk Kim     UINT32                  TableIndex))
678e8241eabSJung-uk Kim 
679313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
680e8241eabSJung-uk Kim ACPI_STATUS
681e8241eabSJung-uk Kim AcpiUnloadParentTable (
682313a0c13SJung-uk Kim     ACPI_HANDLE             Object))
683e8241eabSJung-uk Kim 
684313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
685493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
686e8241eabSJung-uk Kim AcpiLoadTables (
687313a0c13SJung-uk Kim     void))
688e8241eabSJung-uk Kim 
689e8241eabSJung-uk Kim 
690e8241eabSJung-uk Kim /*
691a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
692a9f12690SJung-uk Kim  */
693313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
694493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
695a9f12690SJung-uk Kim AcpiReallocateRootTable (
696313a0c13SJung-uk Kim     void))
697a9f12690SJung-uk Kim 
698313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
699493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
700a9f12690SJung-uk Kim AcpiFindRootPointer (
7017cf3e94aSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
702a9f12690SJung-uk Kim 
703313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
704a9f12690SJung-uk Kim ACPI_STATUS
705a9f12690SJung-uk Kim AcpiGetTableHeader (
706a9f12690SJung-uk Kim     ACPI_STRING             Signature,
707a9f12690SJung-uk Kim     UINT32                  Instance,
708313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader))
709a9f12690SJung-uk Kim 
710313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
711a9f12690SJung-uk Kim ACPI_STATUS
712a9f12690SJung-uk Kim AcpiGetTable (
713a9f12690SJung-uk Kim     ACPI_STRING             Signature,
714a9f12690SJung-uk Kim     UINT32                  Instance,
715313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
716a9f12690SJung-uk Kim 
7171cc50d6bSJung-uk Kim ACPI_EXTERNAL_RETURN_VOID (
7181cc50d6bSJung-uk Kim void
7191cc50d6bSJung-uk Kim AcpiPutTable (
7201cc50d6bSJung-uk Kim     ACPI_TABLE_HEADER       *Table))
7211cc50d6bSJung-uk Kim 
722313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
723a9f12690SJung-uk Kim ACPI_STATUS
724a9f12690SJung-uk Kim AcpiGetTableByIndex (
725a9f12690SJung-uk Kim     UINT32                  TableIndex,
726313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
727a9f12690SJung-uk Kim 
728313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
729a9f12690SJung-uk Kim ACPI_STATUS
730a9f12690SJung-uk Kim AcpiInstallTableHandler (
731a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
732313a0c13SJung-uk Kim     void                    *Context))
733a9f12690SJung-uk Kim 
734313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
735a9f12690SJung-uk Kim ACPI_STATUS
736a9f12690SJung-uk Kim AcpiRemoveTableHandler (
737313a0c13SJung-uk Kim     ACPI_TABLE_HANDLER      Handler))
738a9f12690SJung-uk Kim 
739a9f12690SJung-uk Kim 
740a9f12690SJung-uk Kim /*
741a9f12690SJung-uk Kim  * Namespace and name interfaces
742a9f12690SJung-uk Kim  */
743313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
744a9f12690SJung-uk Kim ACPI_STATUS
745a9f12690SJung-uk Kim AcpiWalkNamespace (
746a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
747a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
748a9f12690SJung-uk Kim     UINT32                  MaxDepth,
749bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      DescendingCallback,
750bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      AscendingCallback,
751a9f12690SJung-uk Kim     void                    *Context,
752313a0c13SJung-uk Kim     void                    **ReturnValue))
753a9f12690SJung-uk Kim 
754313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
755a9f12690SJung-uk Kim ACPI_STATUS
756a9f12690SJung-uk Kim AcpiGetDevices (
757a9f12690SJung-uk Kim     char                    *HID,
758a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
759a9f12690SJung-uk Kim     void                    *Context,
760313a0c13SJung-uk Kim     void                    **ReturnValue))
761a9f12690SJung-uk Kim 
762313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
763a9f12690SJung-uk Kim ACPI_STATUS
764a9f12690SJung-uk Kim AcpiGetName (
7653f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
766a9f12690SJung-uk Kim     UINT32                  NameType,
767313a0c13SJung-uk Kim     ACPI_BUFFER             *RetPathPtr))
768a9f12690SJung-uk Kim 
769313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
770a9f12690SJung-uk Kim ACPI_STATUS
771a9f12690SJung-uk Kim AcpiGetHandle (
772a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
773722b1667SJung-uk Kim     const char              *Pathname,
774313a0c13SJung-uk Kim     ACPI_HANDLE             *RetHandle))
775a9f12690SJung-uk Kim 
776313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
777a9f12690SJung-uk Kim ACPI_STATUS
778a9f12690SJung-uk Kim AcpiAttachData (
7793f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
780a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
781313a0c13SJung-uk Kim     void                    *Data))
782a9f12690SJung-uk Kim 
783313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
784a9f12690SJung-uk Kim ACPI_STATUS
785a9f12690SJung-uk Kim AcpiDetachData (
7863f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
787313a0c13SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler))
788a9f12690SJung-uk Kim 
789313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
790a9f12690SJung-uk Kim ACPI_STATUS
791a9f12690SJung-uk Kim AcpiGetData (
7923f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
793a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
794313a0c13SJung-uk Kim     void                    **Data))
795a9f12690SJung-uk Kim 
796313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
797a9f12690SJung-uk Kim ACPI_STATUS
798a9f12690SJung-uk Kim AcpiDebugTrace (
799fe0f0bbbSJung-uk Kim     const char              *Name,
800a9f12690SJung-uk Kim     UINT32                  DebugLevel,
801a9f12690SJung-uk Kim     UINT32                  DebugLayer,
802313a0c13SJung-uk Kim     UINT32                  Flags))
803a9f12690SJung-uk Kim 
804a9f12690SJung-uk Kim 
805a9f12690SJung-uk Kim /*
806a9f12690SJung-uk Kim  * Object manipulation and enumeration
807a9f12690SJung-uk Kim  */
808313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
809a9f12690SJung-uk Kim ACPI_STATUS
810a9f12690SJung-uk Kim AcpiEvaluateObject (
811a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
812a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
813a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
814313a0c13SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer))
815a9f12690SJung-uk Kim 
816313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
817a9f12690SJung-uk Kim ACPI_STATUS
818a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
819a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
820a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
821a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
822a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
823313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType))
824a9f12690SJung-uk Kim 
825313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
826a9f12690SJung-uk Kim ACPI_STATUS
827a9f12690SJung-uk Kim AcpiGetObjectInfo (
8283f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
829313a0c13SJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer))
830a9f12690SJung-uk Kim 
831313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
832a9f12690SJung-uk Kim ACPI_STATUS
833a9f12690SJung-uk Kim AcpiInstallMethod (
834313a0c13SJung-uk Kim     UINT8                   *Buffer))
835a9f12690SJung-uk Kim 
836313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
837a9f12690SJung-uk Kim ACPI_STATUS
838a9f12690SJung-uk Kim AcpiGetNextObject (
839a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
840a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
841a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
842313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
843a9f12690SJung-uk Kim 
844313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
845a9f12690SJung-uk Kim ACPI_STATUS
846a9f12690SJung-uk Kim AcpiGetType (
847a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
848313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType))
849a9f12690SJung-uk Kim 
850313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
851a9f12690SJung-uk Kim ACPI_STATUS
852a9f12690SJung-uk Kim AcpiGetParent (
853a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
854313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
855a9f12690SJung-uk Kim 
856a9f12690SJung-uk Kim 
857a9f12690SJung-uk Kim /*
858a9f12690SJung-uk Kim  * Handler interfaces
859a9f12690SJung-uk Kim  */
860313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
861a9f12690SJung-uk Kim ACPI_STATUS
862a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
863a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
864313a0c13SJung-uk Kim     UINT32                  Function))
865a9f12690SJung-uk Kim 
866a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
867a9f12690SJung-uk Kim ACPI_STATUS
86879c6d946SJung-uk Kim AcpiInstallSciHandler (
86979c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address,
87079c6d946SJung-uk Kim     void                    *Context))
87179c6d946SJung-uk Kim 
87279c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
87379c6d946SJung-uk Kim ACPI_STATUS
87479c6d946SJung-uk Kim AcpiRemoveSciHandler (
87579c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address))
87679c6d946SJung-uk Kim 
87779c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
87879c6d946SJung-uk Kim ACPI_STATUS
8795a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
8805a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
881a159c266SJung-uk Kim     void                    *Context))
8825a77b11bSJung-uk Kim 
883a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
8845a77b11bSJung-uk Kim ACPI_STATUS
885a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
886a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
887a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
888a159c266SJung-uk Kim     void                    *Context))
889a9f12690SJung-uk Kim 
890a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
891a9f12690SJung-uk Kim ACPI_STATUS
892a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
893a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
894a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
895a9f12690SJung-uk Kim 
896a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
897a9f12690SJung-uk Kim ACPI_STATUS
8985a77b11bSJung-uk Kim AcpiInstallGpeHandler (
8995a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
9005a77b11bSJung-uk Kim     UINT32                  GpeNumber,
9015a77b11bSJung-uk Kim     UINT32                  Type,
9025a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
903a159c266SJung-uk Kim     void                    *Context))
9045a77b11bSJung-uk Kim 
905a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9065a77b11bSJung-uk Kim ACPI_STATUS
9071c0e1b6dSJung-uk Kim AcpiInstallGpeRawHandler (
9081c0e1b6dSJung-uk Kim     ACPI_HANDLE             GpeDevice,
9091c0e1b6dSJung-uk Kim     UINT32                  GpeNumber,
9101c0e1b6dSJung-uk Kim     UINT32                  Type,
9111c0e1b6dSJung-uk Kim     ACPI_GPE_HANDLER        Address,
9121c0e1b6dSJung-uk Kim     void                    *Context))
9131c0e1b6dSJung-uk Kim 
9141c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9151c0e1b6dSJung-uk Kim ACPI_STATUS
9165a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
9175a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
9185a77b11bSJung-uk Kim     UINT32                  GpeNumber,
919a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
9205a77b11bSJung-uk Kim 
921313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9225a77b11bSJung-uk Kim ACPI_STATUS
923a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
924a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
925a9f12690SJung-uk Kim     UINT32                  HandlerType,
926a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
927313a0c13SJung-uk Kim     void                    *Context))
928a9f12690SJung-uk Kim 
929313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
930a9f12690SJung-uk Kim ACPI_STATUS
931a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
932a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
933a9f12690SJung-uk Kim     UINT32                  HandlerType,
934313a0c13SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler))
935a9f12690SJung-uk Kim 
936313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
937a9f12690SJung-uk Kim ACPI_STATUS
938a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
939a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
940a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
941a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
942a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
943313a0c13SJung-uk Kim     void                    *Context))
944a9f12690SJung-uk Kim 
945313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
946a9f12690SJung-uk Kim ACPI_STATUS
947722b1667SJung-uk Kim AcpiInstallAddressSpaceHandlerNo_Reg(
948722b1667SJung-uk Kim     ACPI_HANDLE             Device,
949722b1667SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
950722b1667SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
951722b1667SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
952722b1667SJung-uk Kim     void                    *Context))
953722b1667SJung-uk Kim 
954722b1667SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
955722b1667SJung-uk Kim ACPI_STATUS
956722b1667SJung-uk Kim AcpiExecuteRegMethods (
957722b1667SJung-uk Kim     ACPI_HANDLE             Device,
958722b1667SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId))
959722b1667SJung-uk Kim 
960722b1667SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
961722b1667SJung-uk Kim ACPI_STATUS
962a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
963a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
964a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
965313a0c13SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler))
966a9f12690SJung-uk Kim 
967313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
968a9f12690SJung-uk Kim ACPI_STATUS
969a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
970313a0c13SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler))
971a9f12690SJung-uk Kim 
972313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
973709fac06SJung-uk Kim ACPI_STATUS
974709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
975313a0c13SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler))
976709fac06SJung-uk Kim 
977a9f12690SJung-uk Kim 
978a9f12690SJung-uk Kim /*
9795a77b11bSJung-uk Kim  * Global Lock interfaces
980a9f12690SJung-uk Kim  */
981a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
982a9f12690SJung-uk Kim ACPI_STATUS
983a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
984a9f12690SJung-uk Kim     UINT16                  Timeout,
985a159c266SJung-uk Kim     UINT32                  *Handle))
986a9f12690SJung-uk Kim 
987a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
988a9f12690SJung-uk Kim ACPI_STATUS
989a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
990a159c266SJung-uk Kim     UINT32                  Handle))
991a9f12690SJung-uk Kim 
9925a77b11bSJung-uk Kim 
9935a77b11bSJung-uk Kim /*
9943f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
9953f0275a0SJung-uk Kim  */
996313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9973f0275a0SJung-uk Kim ACPI_STATUS
9983f0275a0SJung-uk Kim AcpiAcquireMutex (
9993f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
10003f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
1001313a0c13SJung-uk Kim     UINT16                  Timeout))
10023f0275a0SJung-uk Kim 
1003313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
10043f0275a0SJung-uk Kim ACPI_STATUS
10053f0275a0SJung-uk Kim AcpiReleaseMutex (
10063f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
1007313a0c13SJung-uk Kim     ACPI_STRING             Pathname))
10083f0275a0SJung-uk Kim 
10093f0275a0SJung-uk Kim 
10103f0275a0SJung-uk Kim /*
10115a77b11bSJung-uk Kim  * Fixed Event interfaces
10125a77b11bSJung-uk Kim  */
1013a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1014a9f12690SJung-uk Kim ACPI_STATUS
1015a9f12690SJung-uk Kim AcpiEnableEvent (
1016a9f12690SJung-uk Kim     UINT32                  Event,
1017a159c266SJung-uk Kim     UINT32                  Flags))
1018a9f12690SJung-uk Kim 
1019a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1020a9f12690SJung-uk Kim ACPI_STATUS
1021a9f12690SJung-uk Kim AcpiDisableEvent (
1022a9f12690SJung-uk Kim     UINT32                  Event,
1023a159c266SJung-uk Kim     UINT32                  Flags))
1024a9f12690SJung-uk Kim 
1025a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1026a9f12690SJung-uk Kim ACPI_STATUS
1027a9f12690SJung-uk Kim AcpiClearEvent (
1028a159c266SJung-uk Kim     UINT32                  Event))
1029a9f12690SJung-uk Kim 
1030a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1031a9f12690SJung-uk Kim ACPI_STATUS
1032a9f12690SJung-uk Kim AcpiGetEventStatus (
1033a9f12690SJung-uk Kim     UINT32                  Event,
1034a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
1035a9f12690SJung-uk Kim 
1036a9f12690SJung-uk Kim 
1037a9f12690SJung-uk Kim /*
10385a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
1039a9f12690SJung-uk Kim  */
1040a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1041a9f12690SJung-uk Kim ACPI_STATUS
10425a77b11bSJung-uk Kim AcpiUpdateAllGpes (
1043a159c266SJung-uk Kim     void))
1044a9f12690SJung-uk Kim 
1045a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1046a9f12690SJung-uk Kim ACPI_STATUS
1047a9f12690SJung-uk Kim AcpiEnableGpe (
1048a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1049a159c266SJung-uk Kim     UINT32                  GpeNumber))
1050a9f12690SJung-uk Kim 
1051a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1052a9f12690SJung-uk Kim ACPI_STATUS
1053a9f12690SJung-uk Kim AcpiDisableGpe (
1054a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1055a159c266SJung-uk Kim     UINT32                  GpeNumber))
1056a9f12690SJung-uk Kim 
1057a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1058a9f12690SJung-uk Kim ACPI_STATUS
1059a9f12690SJung-uk Kim AcpiClearGpe (
1060a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1061a159c266SJung-uk Kim     UINT32                  GpeNumber))
1062a9f12690SJung-uk Kim 
1063a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1064a9f12690SJung-uk Kim ACPI_STATUS
10655a77b11bSJung-uk Kim AcpiSetGpe (
10665a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
10675a77b11bSJung-uk Kim     UINT32                  GpeNumber,
1068a159c266SJung-uk Kim     UINT8                   Action))
10695a77b11bSJung-uk Kim 
1070a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
10715a77b11bSJung-uk Kim ACPI_STATUS
10725a77b11bSJung-uk Kim AcpiFinishGpe (
10735a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
1074a159c266SJung-uk Kim     UINT32                  GpeNumber))
10755a77b11bSJung-uk Kim 
1076a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
10775a77b11bSJung-uk Kim ACPI_STATUS
1078493deb39SJung-uk Kim AcpiMaskGpe (
1079493deb39SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1080493deb39SJung-uk Kim     UINT32                  GpeNumber,
1081493deb39SJung-uk Kim     BOOLEAN                 IsMasked))
1082493deb39SJung-uk Kim 
1083493deb39SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1084493deb39SJung-uk Kim ACPI_STATUS
1085313a0c13SJung-uk Kim AcpiMarkGpeForWake (
1086313a0c13SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1087313a0c13SJung-uk Kim     UINT32                  GpeNumber))
1088313a0c13SJung-uk Kim 
1089313a0c13SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1090313a0c13SJung-uk Kim ACPI_STATUS
10915a77b11bSJung-uk Kim AcpiSetupGpeForWake (
10925a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
10935a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
1094a159c266SJung-uk Kim     UINT32                  GpeNumber))
10955a77b11bSJung-uk Kim 
1096a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
10975a77b11bSJung-uk Kim ACPI_STATUS
10985a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
1099a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1100a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
1101a159c266SJung-uk Kim     UINT8                   Action))
1102a88e22b7SJung-uk Kim 
1103a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1104a88e22b7SJung-uk Kim ACPI_STATUS
1105a9f12690SJung-uk Kim AcpiGetGpeStatus (
1106a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1107a9f12690SJung-uk Kim     UINT32                  GpeNumber,
1108a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
1109a9f12690SJung-uk Kim 
1110a009b7dcSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_UINT32 (
1111a009b7dcSJung-uk Kim UINT32
1112a009b7dcSJung-uk Kim AcpiDispatchGpe (
1113a009b7dcSJung-uk Kim     ACPI_HANDLE             GpeDevice,
1114a009b7dcSJung-uk Kim     UINT32                  GpeNumber))
1115a009b7dcSJung-uk Kim 
1116a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1117a9f12690SJung-uk Kim ACPI_STATUS
1118a9f12690SJung-uk Kim AcpiDisableAllGpes (
1119a159c266SJung-uk Kim     void))
1120a9f12690SJung-uk Kim 
1121a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1122a9f12690SJung-uk Kim ACPI_STATUS
1123a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
1124a159c266SJung-uk Kim     void))
1125a9f12690SJung-uk Kim 
1126a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1127a9f12690SJung-uk Kim ACPI_STATUS
11281c0e1b6dSJung-uk Kim AcpiEnableAllWakeupGpes (
11291c0e1b6dSJung-uk Kim     void))
11301c0e1b6dSJung-uk Kim 
1131ec0234b4SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_UINT32 (
1132ec0234b4SJung-uk Kim     UINT32                  AcpiAnyGpeStatusSet (
1133ec0234b4SJung-uk Kim     void))
1134ec0234b4SJung-uk Kim 
11351c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
11361c0e1b6dSJung-uk Kim ACPI_STATUS
1137a9f12690SJung-uk Kim AcpiGetGpeDevice (
1138a9f12690SJung-uk Kim     UINT32                  GpeIndex,
1139a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
1140a9f12690SJung-uk Kim 
1141a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1142a9f12690SJung-uk Kim ACPI_STATUS
1143a9f12690SJung-uk Kim AcpiInstallGpeBlock (
1144a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1145a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
1146a9f12690SJung-uk Kim     UINT32                  RegisterCount,
1147a159c266SJung-uk Kim     UINT32                  InterruptNumber))
1148a9f12690SJung-uk Kim 
1149a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1150a9f12690SJung-uk Kim ACPI_STATUS
1151a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
1152a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
1153a9f12690SJung-uk Kim 
1154a9f12690SJung-uk Kim 
1155a9f12690SJung-uk Kim /*
1156a9f12690SJung-uk Kim  * Resource interfaces
1157a9f12690SJung-uk Kim  */
1158a9f12690SJung-uk Kim typedef
1159a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
1160a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
1161a9f12690SJung-uk Kim     void                    *Context);
1162a9f12690SJung-uk Kim 
1163313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1164a9f12690SJung-uk Kim ACPI_STATUS
1165a9f12690SJung-uk Kim AcpiGetVendorResource (
11663f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1167a9f12690SJung-uk Kim     char                    *Name,
1168a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
1169313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1170a9f12690SJung-uk Kim 
1171313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1172a9f12690SJung-uk Kim ACPI_STATUS
1173a9f12690SJung-uk Kim AcpiGetCurrentResources (
11743f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1175313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1176a9f12690SJung-uk Kim 
1177313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1178a9f12690SJung-uk Kim ACPI_STATUS
1179a9f12690SJung-uk Kim AcpiGetPossibleResources (
11803f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1181313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1182a9f12690SJung-uk Kim 
1183313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1184a9f12690SJung-uk Kim ACPI_STATUS
11853f0275a0SJung-uk Kim AcpiGetEventResources (
11863f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
1187313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
11883f0275a0SJung-uk Kim 
1189313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
11903f0275a0SJung-uk Kim ACPI_STATUS
1191efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
1192efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
1193efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1194313a0c13SJung-uk Kim     void                        *Context))
1195efcc2a30SJung-uk Kim 
1196313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1197efcc2a30SJung-uk Kim ACPI_STATUS
1198a9f12690SJung-uk Kim AcpiWalkResources (
11993f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
1200a9f12690SJung-uk Kim     char                        *Name,
1201a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1202313a0c13SJung-uk Kim     void                        *Context))
1203a9f12690SJung-uk Kim 
1204313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1205a9f12690SJung-uk Kim ACPI_STATUS
1206a9f12690SJung-uk Kim AcpiSetCurrentResources (
12073f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1208313a0c13SJung-uk Kim     ACPI_BUFFER             *InBuffer))
1209a9f12690SJung-uk Kim 
1210313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1211a9f12690SJung-uk Kim ACPI_STATUS
1212a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
12133f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1214313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1215a9f12690SJung-uk Kim 
1216313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1217a9f12690SJung-uk Kim ACPI_STATUS
1218a9f12690SJung-uk Kim AcpiResourceToAddress64 (
1219a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
1220313a0c13SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out))
1221a9f12690SJung-uk Kim 
1222313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
12233f0275a0SJung-uk Kim ACPI_STATUS
12243f0275a0SJung-uk Kim AcpiBufferToResource (
12253f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
12263f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
1227313a0c13SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr))
12283f0275a0SJung-uk Kim 
1229a9f12690SJung-uk Kim 
1230a9f12690SJung-uk Kim /*
1231a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
1232a9f12690SJung-uk Kim  */
1233313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1234a9f12690SJung-uk Kim ACPI_STATUS
1235a9f12690SJung-uk Kim AcpiReset (
1236313a0c13SJung-uk Kim     void))
1237a9f12690SJung-uk Kim 
1238313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1239a9f12690SJung-uk Kim ACPI_STATUS
1240a9f12690SJung-uk Kim AcpiRead (
1241d6dd1baeSJung-uk Kim     UINT64                  *Value,
1242313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1243a9f12690SJung-uk Kim 
1244313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1245a9f12690SJung-uk Kim ACPI_STATUS
1246a9f12690SJung-uk Kim AcpiWrite (
1247d6dd1baeSJung-uk Kim     UINT64                  Value,
1248313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1249a9f12690SJung-uk Kim 
1250a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1251a9f12690SJung-uk Kim ACPI_STATUS
1252a9f12690SJung-uk Kim AcpiReadBitRegister (
1253a9f12690SJung-uk Kim     UINT32                  RegisterId,
1254a159c266SJung-uk Kim     UINT32                  *ReturnValue))
1255a9f12690SJung-uk Kim 
1256a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1257a9f12690SJung-uk Kim ACPI_STATUS
1258a9f12690SJung-uk Kim AcpiWriteBitRegister (
1259a9f12690SJung-uk Kim     UINT32                  RegisterId,
1260a159c266SJung-uk Kim     UINT32                  Value))
1261a9f12690SJung-uk Kim 
1262a159c266SJung-uk Kim 
1263a159c266SJung-uk Kim /*
1264a159c266SJung-uk Kim  * Sleep/Wake interfaces
1265a159c266SJung-uk Kim  */
1266313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1267a9f12690SJung-uk Kim ACPI_STATUS
1268a9f12690SJung-uk Kim AcpiGetSleepTypeData (
1269a9f12690SJung-uk Kim     UINT8                   SleepState,
1270a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
1271313a0c13SJung-uk Kim     UINT8                   *Slp_TypB))
1272a9f12690SJung-uk Kim 
1273313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1274a9f12690SJung-uk Kim ACPI_STATUS
1275a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
1276313a0c13SJung-uk Kim     UINT8                   SleepState))
1277a9f12690SJung-uk Kim 
1278313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1279a9f12690SJung-uk Kim ACPI_STATUS
1280a9f12690SJung-uk Kim AcpiEnterSleepState (
1281313a0c13SJung-uk Kim     UINT8                   SleepState))
1282a9f12690SJung-uk Kim 
1283a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1284a9f12690SJung-uk Kim ACPI_STATUS
1285a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
1286a159c266SJung-uk Kim     void))
1287a159c266SJung-uk Kim 
1288313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1289a159c266SJung-uk Kim ACPI_STATUS
1290a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
1291313a0c13SJung-uk Kim     UINT8                   SleepState))
1292a9f12690SJung-uk Kim 
1293313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1294a9f12690SJung-uk Kim ACPI_STATUS
1295a9f12690SJung-uk Kim AcpiLeaveSleepState (
1296313a0c13SJung-uk Kim     UINT8                   SleepState))
1297a159c266SJung-uk Kim 
129892f570c3SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1299a9f12690SJung-uk Kim ACPI_STATUS
1300a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
13015ef50723SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
13025ef50723SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
1303a9f12690SJung-uk Kim 
1304a9f12690SJung-uk Kim 
1305a9f12690SJung-uk Kim /*
1306a159c266SJung-uk Kim  * ACPI Timer interfaces
1307a159c266SJung-uk Kim  */
1308a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1309a159c266SJung-uk Kim ACPI_STATUS
1310a159c266SJung-uk Kim AcpiGetTimerResolution (
1311a159c266SJung-uk Kim     UINT32                  *Resolution))
1312a159c266SJung-uk Kim 
1313a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1314a159c266SJung-uk Kim ACPI_STATUS
1315a159c266SJung-uk Kim AcpiGetTimer (
1316a159c266SJung-uk Kim     UINT32                  *Ticks))
1317a159c266SJung-uk Kim 
1318a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1319a159c266SJung-uk Kim ACPI_STATUS
1320a159c266SJung-uk Kim AcpiGetTimerDuration (
1321a159c266SJung-uk Kim     UINT32                  StartTicks,
1322a159c266SJung-uk Kim     UINT32                  EndTicks,
1323a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
1324a159c266SJung-uk Kim 
1325a159c266SJung-uk Kim 
1326a159c266SJung-uk Kim /*
1327a9f12690SJung-uk Kim  * Error/Warning output
1328a9f12690SJung-uk Kim  */
1329313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1330313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1331a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1332a9f12690SJung-uk Kim AcpiError (
1333a9f12690SJung-uk Kim     const char              *ModuleName,
1334a9f12690SJung-uk Kim     UINT32                  LineNumber,
1335a9f12690SJung-uk Kim     const char              *Format,
1336313a0c13SJung-uk Kim     ...))
1337a9f12690SJung-uk Kim 
1338313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1339313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(4)
1340a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
1341a9f12690SJung-uk Kim AcpiException (
1342a9f12690SJung-uk Kim     const char              *ModuleName,
1343a9f12690SJung-uk Kim     UINT32                  LineNumber,
1344a9f12690SJung-uk Kim     ACPI_STATUS             Status,
1345a9f12690SJung-uk Kim     const char              *Format,
1346313a0c13SJung-uk Kim     ...))
1347a9f12690SJung-uk Kim 
1348313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1349313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1350a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1351a9f12690SJung-uk Kim AcpiWarning (
1352a9f12690SJung-uk Kim     const char              *ModuleName,
1353a9f12690SJung-uk Kim     UINT32                  LineNumber,
1354a9f12690SJung-uk Kim     const char              *Format,
1355313a0c13SJung-uk Kim     ...))
1356a9f12690SJung-uk Kim 
1357313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1358f8146b88SJung-uk Kim ACPI_PRINTF_LIKE(1)
1359a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1360a9f12690SJung-uk Kim AcpiInfo (
1361a9f12690SJung-uk Kim     const char              *Format,
1362313a0c13SJung-uk Kim     ...))
1363a9f12690SJung-uk Kim 
1364313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1365313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1366e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1367e8241eabSJung-uk Kim AcpiBiosError (
1368e8241eabSJung-uk Kim     const char              *ModuleName,
1369e8241eabSJung-uk Kim     UINT32                  LineNumber,
1370e8241eabSJung-uk Kim     const char              *Format,
1371313a0c13SJung-uk Kim     ...))
1372e8241eabSJung-uk Kim 
1373313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1374e5e1f58aSJung-uk Kim ACPI_PRINTF_LIKE(4)
1375e5e1f58aSJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
1376e5e1f58aSJung-uk Kim AcpiBiosException (
1377e5e1f58aSJung-uk Kim     const char              *ModuleName,
1378e5e1f58aSJung-uk Kim     UINT32                  LineNumber,
1379e5e1f58aSJung-uk Kim     ACPI_STATUS             Status,
1380e5e1f58aSJung-uk Kim     const char              *Format,
1381e5e1f58aSJung-uk Kim     ...))
1382e5e1f58aSJung-uk Kim 
1383e5e1f58aSJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1384313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1385e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1386e8241eabSJung-uk Kim AcpiBiosWarning (
1387e8241eabSJung-uk Kim     const char              *ModuleName,
1388e8241eabSJung-uk Kim     UINT32                  LineNumber,
1389e8241eabSJung-uk Kim     const char              *Format,
1390313a0c13SJung-uk Kim     ...))
1391e8241eabSJung-uk Kim 
1392a9f12690SJung-uk Kim 
1393a9f12690SJung-uk Kim /*
1394a9f12690SJung-uk Kim  * Debug output
1395a9f12690SJung-uk Kim  */
1396313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1397313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1398a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1399a9f12690SJung-uk Kim AcpiDebugPrint (
1400a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1401a9f12690SJung-uk Kim     UINT32                  LineNumber,
1402a9f12690SJung-uk Kim     const char              *FunctionName,
1403a9f12690SJung-uk Kim     const char              *ModuleName,
1404a9f12690SJung-uk Kim     UINT32                  ComponentId,
1405a9f12690SJung-uk Kim     const char              *Format,
1406313a0c13SJung-uk Kim     ...))
1407a9f12690SJung-uk Kim 
1408313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1409313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1410a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1411a9f12690SJung-uk Kim AcpiDebugPrintRaw (
1412a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1413a9f12690SJung-uk Kim     UINT32                  LineNumber,
1414a9f12690SJung-uk Kim     const char              *FunctionName,
1415a9f12690SJung-uk Kim     const char              *ModuleName,
1416a9f12690SJung-uk Kim     UINT32                  ComponentId,
1417a9f12690SJung-uk Kim     const char              *Format,
1418313a0c13SJung-uk Kim     ...))
1419313a0c13SJung-uk Kim 
1420fe0f0bbbSJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1421fe0f0bbbSJung-uk Kim void
1422fe0f0bbbSJung-uk Kim AcpiTracePoint (
1423fe0f0bbbSJung-uk Kim     ACPI_TRACE_EVENT_TYPE   Type,
1424fe0f0bbbSJung-uk Kim     BOOLEAN                 Begin,
1425fe0f0bbbSJung-uk Kim     UINT8                   *Aml,
1426fe0f0bbbSJung-uk Kim     char                    *Pathname))
1427fe0f0bbbSJung-uk Kim 
142870e6ab8fSJung-uk Kim ACPI_STATUS
142970e6ab8fSJung-uk Kim AcpiInitializeDebugger (
143070e6ab8fSJung-uk Kim     void);
143170e6ab8fSJung-uk Kim 
143270e6ab8fSJung-uk Kim void
143370e6ab8fSJung-uk Kim AcpiTerminateDebugger (
143470e6ab8fSJung-uk Kim     void);
143570e6ab8fSJung-uk Kim 
1436f8146b88SJung-uk Kim void
143728482948SJung-uk Kim AcpiRunDebugger (
143828482948SJung-uk Kim     char                    *BatchBuffer);
143928482948SJung-uk Kim 
144028482948SJung-uk Kim void
1441f8146b88SJung-uk Kim AcpiSetDebuggerThreadId (
1442f8146b88SJung-uk Kim     ACPI_THREAD_ID          ThreadId);
1443f8146b88SJung-uk Kim 
1444a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
1445