xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision a009b7dcabdc27aa3fdde1f2c6dd08d4fe5a3170)
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  *
11e5e1f58aSJung-uk Kim  * Some or all of this work - Copyright (c) 1999 - 2019, 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*a009b7dcSJung-uk Kim #define ACPI_CA_VERSION                 0x20191018
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 
449*a009b7dcSJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
450*a009b7dcSJung-uk Kim     ACPI_EXTERNAL_RETURN_UINT32(prototype)
451*a009b7dcSJung-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 
462*a009b7dcSJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
463*a009b7dcSJung-uk Kim     static ACPI_INLINE prototype {return(0);}
464*a009b7dcSJung-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 (
661313a0c13SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
662313a0c13SJung-uk Kim     BOOLEAN                 Physical))
663313a0c13SJung-uk Kim 
664313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
665e8241eabSJung-uk Kim ACPI_STATUS
666e8241eabSJung-uk Kim AcpiLoadTable (
667*a009b7dcSJung-uk Kim     ACPI_TABLE_HEADER       *Table,
668*a009b7dcSJung-uk Kim     UINT32                  *TableIdx))
669*a009b7dcSJung-uk Kim 
670*a009b7dcSJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
671*a009b7dcSJung-uk Kim ACPI_STATUS
672*a009b7dcSJung-uk Kim AcpiUnloadTable (
673*a009b7dcSJung-uk Kim     UINT32                  TableIndex))
674e8241eabSJung-uk Kim 
675313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
676e8241eabSJung-uk Kim ACPI_STATUS
677e8241eabSJung-uk Kim AcpiUnloadParentTable (
678313a0c13SJung-uk Kim     ACPI_HANDLE             Object))
679e8241eabSJung-uk Kim 
680313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
681493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
682e8241eabSJung-uk Kim AcpiLoadTables (
683313a0c13SJung-uk Kim     void))
684e8241eabSJung-uk Kim 
685e8241eabSJung-uk Kim 
686e8241eabSJung-uk Kim /*
687a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
688a9f12690SJung-uk Kim  */
689313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
690493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
691a9f12690SJung-uk Kim AcpiReallocateRootTable (
692313a0c13SJung-uk Kim     void))
693a9f12690SJung-uk Kim 
694313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
695493deb39SJung-uk Kim ACPI_STATUS ACPI_INIT_FUNCTION
696a9f12690SJung-uk Kim AcpiFindRootPointer (
6977cf3e94aSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
698a9f12690SJung-uk Kim 
699313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
700a9f12690SJung-uk Kim ACPI_STATUS
701a9f12690SJung-uk Kim AcpiGetTableHeader (
702a9f12690SJung-uk Kim     ACPI_STRING             Signature,
703a9f12690SJung-uk Kim     UINT32                  Instance,
704313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader))
705a9f12690SJung-uk Kim 
706313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
707a9f12690SJung-uk Kim ACPI_STATUS
708a9f12690SJung-uk Kim AcpiGetTable (
709a9f12690SJung-uk Kim     ACPI_STRING             Signature,
710a9f12690SJung-uk Kim     UINT32                  Instance,
711313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
712a9f12690SJung-uk Kim 
7131cc50d6bSJung-uk Kim ACPI_EXTERNAL_RETURN_VOID (
7141cc50d6bSJung-uk Kim void
7151cc50d6bSJung-uk Kim AcpiPutTable (
7161cc50d6bSJung-uk Kim     ACPI_TABLE_HEADER       *Table))
7171cc50d6bSJung-uk Kim 
718313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
719a9f12690SJung-uk Kim ACPI_STATUS
720a9f12690SJung-uk Kim AcpiGetTableByIndex (
721a9f12690SJung-uk Kim     UINT32                  TableIndex,
722313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
723a9f12690SJung-uk Kim 
724313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
725a9f12690SJung-uk Kim ACPI_STATUS
726a9f12690SJung-uk Kim AcpiInstallTableHandler (
727a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
728313a0c13SJung-uk Kim     void                    *Context))
729a9f12690SJung-uk Kim 
730313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
731a9f12690SJung-uk Kim ACPI_STATUS
732a9f12690SJung-uk Kim AcpiRemoveTableHandler (
733313a0c13SJung-uk Kim     ACPI_TABLE_HANDLER      Handler))
734a9f12690SJung-uk Kim 
735a9f12690SJung-uk Kim 
736a9f12690SJung-uk Kim /*
737a9f12690SJung-uk Kim  * Namespace and name interfaces
738a9f12690SJung-uk Kim  */
739313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
740a9f12690SJung-uk Kim ACPI_STATUS
741a9f12690SJung-uk Kim AcpiWalkNamespace (
742a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
743a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
744a9f12690SJung-uk Kim     UINT32                  MaxDepth,
745bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      DescendingCallback,
746bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      AscendingCallback,
747a9f12690SJung-uk Kim     void                    *Context,
748313a0c13SJung-uk Kim     void                    **ReturnValue))
749a9f12690SJung-uk Kim 
750313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
751a9f12690SJung-uk Kim ACPI_STATUS
752a9f12690SJung-uk Kim AcpiGetDevices (
753a9f12690SJung-uk Kim     char                    *HID,
754a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
755a9f12690SJung-uk Kim     void                    *Context,
756313a0c13SJung-uk Kim     void                    **ReturnValue))
757a9f12690SJung-uk Kim 
758313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
759a9f12690SJung-uk Kim ACPI_STATUS
760a9f12690SJung-uk Kim AcpiGetName (
7613f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
762a9f12690SJung-uk Kim     UINT32                  NameType,
763313a0c13SJung-uk Kim     ACPI_BUFFER             *RetPathPtr))
764a9f12690SJung-uk Kim 
765313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
766a9f12690SJung-uk Kim ACPI_STATUS
767a9f12690SJung-uk Kim AcpiGetHandle (
768a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
769a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
770313a0c13SJung-uk Kim     ACPI_HANDLE             *RetHandle))
771a9f12690SJung-uk Kim 
772313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
773a9f12690SJung-uk Kim ACPI_STATUS
774a9f12690SJung-uk Kim AcpiAttachData (
7753f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
776a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
777313a0c13SJung-uk Kim     void                    *Data))
778a9f12690SJung-uk Kim 
779313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
780a9f12690SJung-uk Kim ACPI_STATUS
781a9f12690SJung-uk Kim AcpiDetachData (
7823f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
783313a0c13SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler))
784a9f12690SJung-uk Kim 
785313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
786a9f12690SJung-uk Kim ACPI_STATUS
787a9f12690SJung-uk Kim AcpiGetData (
7883f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
789a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
790313a0c13SJung-uk Kim     void                    **Data))
791a9f12690SJung-uk Kim 
792313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
793a9f12690SJung-uk Kim ACPI_STATUS
794a9f12690SJung-uk Kim AcpiDebugTrace (
795fe0f0bbbSJung-uk Kim     const char              *Name,
796a9f12690SJung-uk Kim     UINT32                  DebugLevel,
797a9f12690SJung-uk Kim     UINT32                  DebugLayer,
798313a0c13SJung-uk Kim     UINT32                  Flags))
799a9f12690SJung-uk Kim 
800a9f12690SJung-uk Kim 
801a9f12690SJung-uk Kim /*
802a9f12690SJung-uk Kim  * Object manipulation and enumeration
803a9f12690SJung-uk Kim  */
804313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
805a9f12690SJung-uk Kim ACPI_STATUS
806a9f12690SJung-uk Kim AcpiEvaluateObject (
807a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
808a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
809a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
810313a0c13SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer))
811a9f12690SJung-uk Kim 
812313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
813a9f12690SJung-uk Kim ACPI_STATUS
814a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
815a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
816a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
817a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
818a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
819313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType))
820a9f12690SJung-uk Kim 
821313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
822a9f12690SJung-uk Kim ACPI_STATUS
823a9f12690SJung-uk Kim AcpiGetObjectInfo (
8243f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
825313a0c13SJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer))
826a9f12690SJung-uk Kim 
827313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
828a9f12690SJung-uk Kim ACPI_STATUS
829a9f12690SJung-uk Kim AcpiInstallMethod (
830313a0c13SJung-uk Kim     UINT8                   *Buffer))
831a9f12690SJung-uk Kim 
832313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
833a9f12690SJung-uk Kim ACPI_STATUS
834a9f12690SJung-uk Kim AcpiGetNextObject (
835a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
836a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
837a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
838313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
839a9f12690SJung-uk Kim 
840313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
841a9f12690SJung-uk Kim ACPI_STATUS
842a9f12690SJung-uk Kim AcpiGetType (
843a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
844313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType))
845a9f12690SJung-uk Kim 
846313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
847a9f12690SJung-uk Kim ACPI_STATUS
848a9f12690SJung-uk Kim AcpiGetParent (
849a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
850313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
851a9f12690SJung-uk Kim 
852a9f12690SJung-uk Kim 
853a9f12690SJung-uk Kim /*
854a9f12690SJung-uk Kim  * Handler interfaces
855a9f12690SJung-uk Kim  */
856313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
857a9f12690SJung-uk Kim ACPI_STATUS
858a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
859a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
860313a0c13SJung-uk Kim     UINT32                  Function))
861a9f12690SJung-uk Kim 
862a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
863a9f12690SJung-uk Kim ACPI_STATUS
86479c6d946SJung-uk Kim AcpiInstallSciHandler (
86579c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address,
86679c6d946SJung-uk Kim     void                    *Context))
86779c6d946SJung-uk Kim 
86879c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
86979c6d946SJung-uk Kim ACPI_STATUS
87079c6d946SJung-uk Kim AcpiRemoveSciHandler (
87179c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address))
87279c6d946SJung-uk Kim 
87379c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
87479c6d946SJung-uk Kim ACPI_STATUS
8755a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
8765a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
877a159c266SJung-uk Kim     void                    *Context))
8785a77b11bSJung-uk Kim 
879a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
8805a77b11bSJung-uk Kim ACPI_STATUS
881a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
882a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
883a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
884a159c266SJung-uk Kim     void                    *Context))
885a9f12690SJung-uk Kim 
886a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
887a9f12690SJung-uk Kim ACPI_STATUS
888a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
889a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
890a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
891a9f12690SJung-uk Kim 
892a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
893a9f12690SJung-uk Kim ACPI_STATUS
8945a77b11bSJung-uk Kim AcpiInstallGpeHandler (
8955a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
8965a77b11bSJung-uk Kim     UINT32                  GpeNumber,
8975a77b11bSJung-uk Kim     UINT32                  Type,
8985a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
899a159c266SJung-uk Kim     void                    *Context))
9005a77b11bSJung-uk Kim 
901a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9025a77b11bSJung-uk Kim ACPI_STATUS
9031c0e1b6dSJung-uk Kim AcpiInstallGpeRawHandler (
9041c0e1b6dSJung-uk Kim     ACPI_HANDLE             GpeDevice,
9051c0e1b6dSJung-uk Kim     UINT32                  GpeNumber,
9061c0e1b6dSJung-uk Kim     UINT32                  Type,
9071c0e1b6dSJung-uk Kim     ACPI_GPE_HANDLER        Address,
9081c0e1b6dSJung-uk Kim     void                    *Context))
9091c0e1b6dSJung-uk Kim 
9101c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
9111c0e1b6dSJung-uk Kim ACPI_STATUS
9125a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
9135a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
9145a77b11bSJung-uk Kim     UINT32                  GpeNumber,
915a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
9165a77b11bSJung-uk Kim 
917313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9185a77b11bSJung-uk Kim ACPI_STATUS
919a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
920a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
921a9f12690SJung-uk Kim     UINT32                  HandlerType,
922a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
923313a0c13SJung-uk Kim     void                    *Context))
924a9f12690SJung-uk Kim 
925313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
926a9f12690SJung-uk Kim ACPI_STATUS
927a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
928a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
929a9f12690SJung-uk Kim     UINT32                  HandlerType,
930313a0c13SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler))
931a9f12690SJung-uk Kim 
932313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
933a9f12690SJung-uk Kim ACPI_STATUS
934a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
935a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
936a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
937a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
938a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
939313a0c13SJung-uk Kim     void                    *Context))
940a9f12690SJung-uk Kim 
941313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
942a9f12690SJung-uk Kim ACPI_STATUS
943a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
944a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
945a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
946313a0c13SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler))
947a9f12690SJung-uk Kim 
948313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
949a9f12690SJung-uk Kim ACPI_STATUS
950a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
951313a0c13SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler))
952a9f12690SJung-uk Kim 
953313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
954709fac06SJung-uk Kim ACPI_STATUS
955709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
956313a0c13SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler))
957709fac06SJung-uk Kim 
958a9f12690SJung-uk Kim 
959a9f12690SJung-uk Kim /*
9605a77b11bSJung-uk Kim  * Global Lock interfaces
961a9f12690SJung-uk Kim  */
962a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
963a9f12690SJung-uk Kim ACPI_STATUS
964a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
965a9f12690SJung-uk Kim     UINT16                  Timeout,
966a159c266SJung-uk Kim     UINT32                  *Handle))
967a9f12690SJung-uk Kim 
968a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
969a9f12690SJung-uk Kim ACPI_STATUS
970a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
971a159c266SJung-uk Kim     UINT32                  Handle))
972a9f12690SJung-uk Kim 
9735a77b11bSJung-uk Kim 
9745a77b11bSJung-uk Kim /*
9753f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
9763f0275a0SJung-uk Kim  */
977313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9783f0275a0SJung-uk Kim ACPI_STATUS
9793f0275a0SJung-uk Kim AcpiAcquireMutex (
9803f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
9813f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
982313a0c13SJung-uk Kim     UINT16                  Timeout))
9833f0275a0SJung-uk Kim 
984313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9853f0275a0SJung-uk Kim ACPI_STATUS
9863f0275a0SJung-uk Kim AcpiReleaseMutex (
9873f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
988313a0c13SJung-uk Kim     ACPI_STRING             Pathname))
9893f0275a0SJung-uk Kim 
9903f0275a0SJung-uk Kim 
9913f0275a0SJung-uk Kim /*
9925a77b11bSJung-uk Kim  * Fixed Event interfaces
9935a77b11bSJung-uk Kim  */
994a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
995a9f12690SJung-uk Kim ACPI_STATUS
996a9f12690SJung-uk Kim AcpiEnableEvent (
997a9f12690SJung-uk Kim     UINT32                  Event,
998a159c266SJung-uk Kim     UINT32                  Flags))
999a9f12690SJung-uk Kim 
1000a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1001a9f12690SJung-uk Kim ACPI_STATUS
1002a9f12690SJung-uk Kim AcpiDisableEvent (
1003a9f12690SJung-uk Kim     UINT32                  Event,
1004a159c266SJung-uk Kim     UINT32                  Flags))
1005a9f12690SJung-uk Kim 
1006a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1007a9f12690SJung-uk Kim ACPI_STATUS
1008a9f12690SJung-uk Kim AcpiClearEvent (
1009a159c266SJung-uk Kim     UINT32                  Event))
1010a9f12690SJung-uk Kim 
1011a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1012a9f12690SJung-uk Kim ACPI_STATUS
1013a9f12690SJung-uk Kim AcpiGetEventStatus (
1014a9f12690SJung-uk Kim     UINT32                  Event,
1015a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
1016a9f12690SJung-uk Kim 
1017a9f12690SJung-uk Kim 
1018a9f12690SJung-uk Kim /*
10195a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
1020a9f12690SJung-uk Kim  */
1021a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1022a9f12690SJung-uk Kim ACPI_STATUS
10235a77b11bSJung-uk Kim AcpiUpdateAllGpes (
1024a159c266SJung-uk Kim     void))
1025a9f12690SJung-uk Kim 
1026a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1027a9f12690SJung-uk Kim ACPI_STATUS
1028a9f12690SJung-uk Kim AcpiEnableGpe (
1029a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1030a159c266SJung-uk Kim     UINT32                  GpeNumber))
1031a9f12690SJung-uk Kim 
1032a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1033a9f12690SJung-uk Kim ACPI_STATUS
1034a9f12690SJung-uk Kim AcpiDisableGpe (
1035a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1036a159c266SJung-uk Kim     UINT32                  GpeNumber))
1037a9f12690SJung-uk Kim 
1038a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1039a9f12690SJung-uk Kim ACPI_STATUS
1040a9f12690SJung-uk Kim AcpiClearGpe (
1041a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1042a159c266SJung-uk Kim     UINT32                  GpeNumber))
1043a9f12690SJung-uk Kim 
1044a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1045a9f12690SJung-uk Kim ACPI_STATUS
10465a77b11bSJung-uk Kim AcpiSetGpe (
10475a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
10485a77b11bSJung-uk Kim     UINT32                  GpeNumber,
1049a159c266SJung-uk Kim     UINT8                   Action))
10505a77b11bSJung-uk Kim 
1051a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
10525a77b11bSJung-uk Kim ACPI_STATUS
10535a77b11bSJung-uk Kim AcpiFinishGpe (
10545a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
1055a159c266SJung-uk Kim     UINT32                  GpeNumber))
10565a77b11bSJung-uk Kim 
1057a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
10585a77b11bSJung-uk Kim ACPI_STATUS
1059493deb39SJung-uk Kim AcpiMaskGpe (
1060493deb39SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1061493deb39SJung-uk Kim     UINT32                  GpeNumber,
1062493deb39SJung-uk Kim     BOOLEAN                 IsMasked))
1063493deb39SJung-uk Kim 
1064493deb39SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1065493deb39SJung-uk Kim ACPI_STATUS
1066313a0c13SJung-uk Kim AcpiMarkGpeForWake (
1067313a0c13SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1068313a0c13SJung-uk Kim     UINT32                  GpeNumber))
1069313a0c13SJung-uk Kim 
1070313a0c13SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1071313a0c13SJung-uk Kim ACPI_STATUS
10725a77b11bSJung-uk Kim AcpiSetupGpeForWake (
10735a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
10745a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
1075a159c266SJung-uk Kim     UINT32                  GpeNumber))
10765a77b11bSJung-uk Kim 
1077a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
10785a77b11bSJung-uk Kim ACPI_STATUS
10795a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
1080a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1081a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
1082a159c266SJung-uk Kim     UINT8                   Action))
1083a88e22b7SJung-uk Kim 
1084a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1085a88e22b7SJung-uk Kim ACPI_STATUS
1086a9f12690SJung-uk Kim AcpiGetGpeStatus (
1087a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1088a9f12690SJung-uk Kim     UINT32                  GpeNumber,
1089a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
1090a9f12690SJung-uk Kim 
1091*a009b7dcSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_UINT32 (
1092*a009b7dcSJung-uk Kim UINT32
1093*a009b7dcSJung-uk Kim AcpiDispatchGpe (
1094*a009b7dcSJung-uk Kim     ACPI_HANDLE             GpeDevice,
1095*a009b7dcSJung-uk Kim     UINT32                  GpeNumber))
1096*a009b7dcSJung-uk Kim 
1097a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1098a9f12690SJung-uk Kim ACPI_STATUS
1099a9f12690SJung-uk Kim AcpiDisableAllGpes (
1100a159c266SJung-uk Kim     void))
1101a9f12690SJung-uk Kim 
1102a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1103a9f12690SJung-uk Kim ACPI_STATUS
1104a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
1105a159c266SJung-uk Kim     void))
1106a9f12690SJung-uk Kim 
1107a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1108a9f12690SJung-uk Kim ACPI_STATUS
11091c0e1b6dSJung-uk Kim AcpiEnableAllWakeupGpes (
11101c0e1b6dSJung-uk Kim     void))
11111c0e1b6dSJung-uk Kim 
11121c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
11131c0e1b6dSJung-uk Kim ACPI_STATUS
1114a9f12690SJung-uk Kim AcpiGetGpeDevice (
1115a9f12690SJung-uk Kim     UINT32                  GpeIndex,
1116a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
1117a9f12690SJung-uk Kim 
1118a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1119a9f12690SJung-uk Kim ACPI_STATUS
1120a9f12690SJung-uk Kim AcpiInstallGpeBlock (
1121a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
1122a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
1123a9f12690SJung-uk Kim     UINT32                  RegisterCount,
1124a159c266SJung-uk Kim     UINT32                  InterruptNumber))
1125a9f12690SJung-uk Kim 
1126a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1127a9f12690SJung-uk Kim ACPI_STATUS
1128a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
1129a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
1130a9f12690SJung-uk Kim 
1131a9f12690SJung-uk Kim 
1132a9f12690SJung-uk Kim /*
1133a9f12690SJung-uk Kim  * Resource interfaces
1134a9f12690SJung-uk Kim  */
1135a9f12690SJung-uk Kim typedef
1136a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
1137a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
1138a9f12690SJung-uk Kim     void                    *Context);
1139a9f12690SJung-uk Kim 
1140313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1141a9f12690SJung-uk Kim ACPI_STATUS
1142a9f12690SJung-uk Kim AcpiGetVendorResource (
11433f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1144a9f12690SJung-uk Kim     char                    *Name,
1145a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
1146313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1147a9f12690SJung-uk Kim 
1148313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1149a9f12690SJung-uk Kim ACPI_STATUS
1150a9f12690SJung-uk Kim AcpiGetCurrentResources (
11513f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1152313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1153a9f12690SJung-uk Kim 
1154313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1155a9f12690SJung-uk Kim ACPI_STATUS
1156a9f12690SJung-uk Kim AcpiGetPossibleResources (
11573f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1158313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1159a9f12690SJung-uk Kim 
1160313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1161a9f12690SJung-uk Kim ACPI_STATUS
11623f0275a0SJung-uk Kim AcpiGetEventResources (
11633f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
1164313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
11653f0275a0SJung-uk Kim 
1166313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
11673f0275a0SJung-uk Kim ACPI_STATUS
1168efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
1169efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
1170efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1171313a0c13SJung-uk Kim     void                        *Context))
1172efcc2a30SJung-uk Kim 
1173313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1174efcc2a30SJung-uk Kim ACPI_STATUS
1175a9f12690SJung-uk Kim AcpiWalkResources (
11763f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
1177a9f12690SJung-uk Kim     char                        *Name,
1178a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1179313a0c13SJung-uk Kim     void                        *Context))
1180a9f12690SJung-uk Kim 
1181313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1182a9f12690SJung-uk Kim ACPI_STATUS
1183a9f12690SJung-uk Kim AcpiSetCurrentResources (
11843f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1185313a0c13SJung-uk Kim     ACPI_BUFFER             *InBuffer))
1186a9f12690SJung-uk Kim 
1187313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1188a9f12690SJung-uk Kim ACPI_STATUS
1189a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
11903f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
1191313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
1192a9f12690SJung-uk Kim 
1193313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1194a9f12690SJung-uk Kim ACPI_STATUS
1195a9f12690SJung-uk Kim AcpiResourceToAddress64 (
1196a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
1197313a0c13SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out))
1198a9f12690SJung-uk Kim 
1199313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
12003f0275a0SJung-uk Kim ACPI_STATUS
12013f0275a0SJung-uk Kim AcpiBufferToResource (
12023f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
12033f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
1204313a0c13SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr))
12053f0275a0SJung-uk Kim 
1206a9f12690SJung-uk Kim 
1207a9f12690SJung-uk Kim /*
1208a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
1209a9f12690SJung-uk Kim  */
1210313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1211a9f12690SJung-uk Kim ACPI_STATUS
1212a9f12690SJung-uk Kim AcpiReset (
1213313a0c13SJung-uk Kim     void))
1214a9f12690SJung-uk Kim 
1215313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1216a9f12690SJung-uk Kim ACPI_STATUS
1217a9f12690SJung-uk Kim AcpiRead (
1218d6dd1baeSJung-uk Kim     UINT64                  *Value,
1219313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1220a9f12690SJung-uk Kim 
1221313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1222a9f12690SJung-uk Kim ACPI_STATUS
1223a9f12690SJung-uk Kim AcpiWrite (
1224d6dd1baeSJung-uk Kim     UINT64                  Value,
1225313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1226a9f12690SJung-uk Kim 
1227a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1228a9f12690SJung-uk Kim ACPI_STATUS
1229a9f12690SJung-uk Kim AcpiReadBitRegister (
1230a9f12690SJung-uk Kim     UINT32                  RegisterId,
1231a159c266SJung-uk Kim     UINT32                  *ReturnValue))
1232a9f12690SJung-uk Kim 
1233a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1234a9f12690SJung-uk Kim ACPI_STATUS
1235a9f12690SJung-uk Kim AcpiWriteBitRegister (
1236a9f12690SJung-uk Kim     UINT32                  RegisterId,
1237a159c266SJung-uk Kim     UINT32                  Value))
1238a9f12690SJung-uk Kim 
1239a159c266SJung-uk Kim 
1240a159c266SJung-uk Kim /*
1241a159c266SJung-uk Kim  * Sleep/Wake interfaces
1242a159c266SJung-uk Kim  */
1243313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1244a9f12690SJung-uk Kim ACPI_STATUS
1245a9f12690SJung-uk Kim AcpiGetSleepTypeData (
1246a9f12690SJung-uk Kim     UINT8                   SleepState,
1247a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
1248313a0c13SJung-uk Kim     UINT8                   *Slp_TypB))
1249a9f12690SJung-uk Kim 
1250313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1251a9f12690SJung-uk Kim ACPI_STATUS
1252a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
1253313a0c13SJung-uk Kim     UINT8                   SleepState))
1254a9f12690SJung-uk Kim 
1255313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1256a9f12690SJung-uk Kim ACPI_STATUS
1257a9f12690SJung-uk Kim AcpiEnterSleepState (
1258313a0c13SJung-uk Kim     UINT8                   SleepState))
1259a9f12690SJung-uk Kim 
1260a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1261a9f12690SJung-uk Kim ACPI_STATUS
1262a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
1263a159c266SJung-uk Kim     void))
1264a159c266SJung-uk Kim 
1265313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1266a159c266SJung-uk Kim ACPI_STATUS
1267a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
1268313a0c13SJung-uk Kim     UINT8                   SleepState))
1269a9f12690SJung-uk Kim 
1270313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1271a9f12690SJung-uk Kim ACPI_STATUS
1272a9f12690SJung-uk Kim AcpiLeaveSleepState (
1273313a0c13SJung-uk Kim     UINT8                   SleepState))
1274a159c266SJung-uk Kim 
1275a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1276a9f12690SJung-uk Kim ACPI_STATUS
1277a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
12785ef50723SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
12795ef50723SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
1280a9f12690SJung-uk Kim 
1281a9f12690SJung-uk Kim 
1282a9f12690SJung-uk Kim /*
1283a159c266SJung-uk Kim  * ACPI Timer interfaces
1284a159c266SJung-uk Kim  */
1285a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1286a159c266SJung-uk Kim ACPI_STATUS
1287a159c266SJung-uk Kim AcpiGetTimerResolution (
1288a159c266SJung-uk Kim     UINT32                  *Resolution))
1289a159c266SJung-uk Kim 
1290a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1291a159c266SJung-uk Kim ACPI_STATUS
1292a159c266SJung-uk Kim AcpiGetTimer (
1293a159c266SJung-uk Kim     UINT32                  *Ticks))
1294a159c266SJung-uk Kim 
1295a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1296a159c266SJung-uk Kim ACPI_STATUS
1297a159c266SJung-uk Kim AcpiGetTimerDuration (
1298a159c266SJung-uk Kim     UINT32                  StartTicks,
1299a159c266SJung-uk Kim     UINT32                  EndTicks,
1300a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
1301a159c266SJung-uk Kim 
1302a159c266SJung-uk Kim 
1303a159c266SJung-uk Kim /*
1304a9f12690SJung-uk Kim  * Error/Warning output
1305a9f12690SJung-uk Kim  */
1306313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1307313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1308a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1309a9f12690SJung-uk Kim AcpiError (
1310a9f12690SJung-uk Kim     const char              *ModuleName,
1311a9f12690SJung-uk Kim     UINT32                  LineNumber,
1312a9f12690SJung-uk Kim     const char              *Format,
1313313a0c13SJung-uk Kim     ...))
1314a9f12690SJung-uk Kim 
1315313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1316313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(4)
1317a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
1318a9f12690SJung-uk Kim AcpiException (
1319a9f12690SJung-uk Kim     const char              *ModuleName,
1320a9f12690SJung-uk Kim     UINT32                  LineNumber,
1321a9f12690SJung-uk Kim     ACPI_STATUS             Status,
1322a9f12690SJung-uk Kim     const char              *Format,
1323313a0c13SJung-uk Kim     ...))
1324a9f12690SJung-uk Kim 
1325313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1326313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1327a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1328a9f12690SJung-uk Kim AcpiWarning (
1329a9f12690SJung-uk Kim     const char              *ModuleName,
1330a9f12690SJung-uk Kim     UINT32                  LineNumber,
1331a9f12690SJung-uk Kim     const char              *Format,
1332313a0c13SJung-uk Kim     ...))
1333a9f12690SJung-uk Kim 
1334313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1335f8146b88SJung-uk Kim ACPI_PRINTF_LIKE(1)
1336a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1337a9f12690SJung-uk Kim AcpiInfo (
1338a9f12690SJung-uk Kim     const char              *Format,
1339313a0c13SJung-uk Kim     ...))
1340a9f12690SJung-uk Kim 
1341313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1342313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1343e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1344e8241eabSJung-uk Kim AcpiBiosError (
1345e8241eabSJung-uk Kim     const char              *ModuleName,
1346e8241eabSJung-uk Kim     UINT32                  LineNumber,
1347e8241eabSJung-uk Kim     const char              *Format,
1348313a0c13SJung-uk Kim     ...))
1349e8241eabSJung-uk Kim 
1350313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1351e5e1f58aSJung-uk Kim ACPI_PRINTF_LIKE(4)
1352e5e1f58aSJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
1353e5e1f58aSJung-uk Kim AcpiBiosException (
1354e5e1f58aSJung-uk Kim     const char              *ModuleName,
1355e5e1f58aSJung-uk Kim     UINT32                  LineNumber,
1356e5e1f58aSJung-uk Kim     ACPI_STATUS             Status,
1357e5e1f58aSJung-uk Kim     const char              *Format,
1358e5e1f58aSJung-uk Kim     ...))
1359e5e1f58aSJung-uk Kim 
1360e5e1f58aSJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1361313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1362e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1363e8241eabSJung-uk Kim AcpiBiosWarning (
1364e8241eabSJung-uk Kim     const char              *ModuleName,
1365e8241eabSJung-uk Kim     UINT32                  LineNumber,
1366e8241eabSJung-uk Kim     const char              *Format,
1367313a0c13SJung-uk Kim     ...))
1368e8241eabSJung-uk Kim 
1369a9f12690SJung-uk Kim 
1370a9f12690SJung-uk Kim /*
1371a9f12690SJung-uk Kim  * Debug output
1372a9f12690SJung-uk Kim  */
1373313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1374313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1375a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1376a9f12690SJung-uk Kim AcpiDebugPrint (
1377a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1378a9f12690SJung-uk Kim     UINT32                  LineNumber,
1379a9f12690SJung-uk Kim     const char              *FunctionName,
1380a9f12690SJung-uk Kim     const char              *ModuleName,
1381a9f12690SJung-uk Kim     UINT32                  ComponentId,
1382a9f12690SJung-uk Kim     const char              *Format,
1383313a0c13SJung-uk Kim     ...))
1384a9f12690SJung-uk Kim 
1385313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1386313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1387a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1388a9f12690SJung-uk Kim AcpiDebugPrintRaw (
1389a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1390a9f12690SJung-uk Kim     UINT32                  LineNumber,
1391a9f12690SJung-uk Kim     const char              *FunctionName,
1392a9f12690SJung-uk Kim     const char              *ModuleName,
1393a9f12690SJung-uk Kim     UINT32                  ComponentId,
1394a9f12690SJung-uk Kim     const char              *Format,
1395313a0c13SJung-uk Kim     ...))
1396313a0c13SJung-uk Kim 
1397fe0f0bbbSJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1398fe0f0bbbSJung-uk Kim void
1399fe0f0bbbSJung-uk Kim AcpiTracePoint (
1400fe0f0bbbSJung-uk Kim     ACPI_TRACE_EVENT_TYPE   Type,
1401fe0f0bbbSJung-uk Kim     BOOLEAN                 Begin,
1402fe0f0bbbSJung-uk Kim     UINT8                   *Aml,
1403fe0f0bbbSJung-uk Kim     char                    *Pathname))
1404fe0f0bbbSJung-uk Kim 
140570e6ab8fSJung-uk Kim ACPI_STATUS
140670e6ab8fSJung-uk Kim AcpiInitializeDebugger (
140770e6ab8fSJung-uk Kim     void);
140870e6ab8fSJung-uk Kim 
140970e6ab8fSJung-uk Kim void
141070e6ab8fSJung-uk Kim AcpiTerminateDebugger (
141170e6ab8fSJung-uk Kim     void);
141270e6ab8fSJung-uk Kim 
1413f8146b88SJung-uk Kim void
141428482948SJung-uk Kim AcpiRunDebugger (
141528482948SJung-uk Kim     char                    *BatchBuffer);
141628482948SJung-uk Kim 
141728482948SJung-uk Kim void
1418f8146b88SJung-uk Kim AcpiSetDebuggerThreadId (
1419f8146b88SJung-uk Kim     ACPI_THREAD_ID          ThreadId);
1420f8146b88SJung-uk Kim 
1421a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
1422