10d02842fSSascha Wildner /******************************************************************************
20d02842fSSascha Wildner  *
30d02842fSSascha Wildner  * Name: acpixf.h - External interfaces to the ACPI subsystem
40d02842fSSascha Wildner  *
50d02842fSSascha Wildner  *****************************************************************************/
60d02842fSSascha Wildner 
7b4315fc7SSascha Wildner /******************************************************************************
8b4315fc7SSascha Wildner  *
9b4315fc7SSascha Wildner  * 1. Copyright Notice
10b4315fc7SSascha Wildner  *
11383048acSSascha Wildner  * Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
120d02842fSSascha Wildner  * All rights reserved.
130d02842fSSascha Wildner  *
14b4315fc7SSascha Wildner  * 2. License
15b4315fc7SSascha Wildner  *
16b4315fc7SSascha Wildner  * 2.1. This is your license from Intel Corp. under its intellectual property
17b4315fc7SSascha Wildner  * rights. You may have additional license terms from the party that provided
18b4315fc7SSascha Wildner  * you this software, covering your right to use that party's intellectual
19b4315fc7SSascha Wildner  * property rights.
20b4315fc7SSascha Wildner  *
21b4315fc7SSascha Wildner  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22b4315fc7SSascha Wildner  * copy of the source code appearing in this file ("Covered Code") an
23b4315fc7SSascha Wildner  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24b4315fc7SSascha Wildner  * base code distributed originally by Intel ("Original Intel Code") to copy,
25b4315fc7SSascha Wildner  * make derivatives, distribute, use and display any portion of the Covered
26b4315fc7SSascha Wildner  * Code in any form, with the right to sublicense such rights; and
27b4315fc7SSascha Wildner  *
28b4315fc7SSascha Wildner  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29b4315fc7SSascha Wildner  * license (with the right to sublicense), under only those claims of Intel
30b4315fc7SSascha Wildner  * patents that are infringed by the Original Intel Code, to make, use, sell,
31b4315fc7SSascha Wildner  * offer to sell, and import the Covered Code and derivative works thereof
32b4315fc7SSascha Wildner  * solely to the minimum extent necessary to exercise the above copyright
33b4315fc7SSascha Wildner  * license, and in no event shall the patent license extend to any additions
34b4315fc7SSascha Wildner  * to or modifications of the Original Intel Code. No other license or right
35b4315fc7SSascha Wildner  * is granted directly or by implication, estoppel or otherwise;
36b4315fc7SSascha Wildner  *
37b4315fc7SSascha Wildner  * The above copyright and patent license is granted only if the following
38b4315fc7SSascha Wildner  * conditions are met:
39b4315fc7SSascha Wildner  *
40b4315fc7SSascha Wildner  * 3. Conditions
41b4315fc7SSascha Wildner  *
42b4315fc7SSascha Wildner  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43b4315fc7SSascha Wildner  * Redistribution of source code of any substantial portion of the Covered
44b4315fc7SSascha Wildner  * Code or modification with rights to further distribute source must include
45b4315fc7SSascha Wildner  * the above Copyright Notice, the above License, this list of Conditions,
46b4315fc7SSascha Wildner  * and the following Disclaimer and Export Compliance provision. In addition,
47b4315fc7SSascha Wildner  * Licensee must cause all Covered Code to which Licensee contributes to
48b4315fc7SSascha Wildner  * contain a file documenting the changes Licensee made to create that Covered
49b4315fc7SSascha Wildner  * Code and the date of any change. Licensee must include in that file the
50b4315fc7SSascha Wildner  * documentation of any changes made by any predecessor Licensee. Licensee
51b4315fc7SSascha Wildner  * must include a prominent statement that the modification is derived,
52b4315fc7SSascha Wildner  * directly or indirectly, from Original Intel Code.
53b4315fc7SSascha Wildner  *
54b4315fc7SSascha Wildner  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55b4315fc7SSascha Wildner  * Redistribution of source code of any substantial portion of the Covered
56b4315fc7SSascha Wildner  * Code or modification without rights to further distribute source must
57b4315fc7SSascha Wildner  * include the following Disclaimer and Export Compliance provision in the
58b4315fc7SSascha Wildner  * documentation and/or other materials provided with distribution. In
59b4315fc7SSascha Wildner  * addition, Licensee may not authorize further sublicense of source of any
60b4315fc7SSascha Wildner  * portion of the Covered Code, and must include terms to the effect that the
61b4315fc7SSascha Wildner  * license from Licensee to its licensee is limited to the intellectual
62b4315fc7SSascha Wildner  * property embodied in the software Licensee provides to its licensee, and
63b4315fc7SSascha Wildner  * not to intellectual property embodied in modifications its licensee may
64b4315fc7SSascha Wildner  * make.
65b4315fc7SSascha Wildner  *
66b4315fc7SSascha Wildner  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67b4315fc7SSascha Wildner  * substantial portion of the Covered Code or modification must reproduce the
68b4315fc7SSascha Wildner  * above Copyright Notice, and the following Disclaimer and Export Compliance
69b4315fc7SSascha Wildner  * provision in the documentation and/or other materials provided with the
70b4315fc7SSascha Wildner  * distribution.
71b4315fc7SSascha Wildner  *
72b4315fc7SSascha Wildner  * 3.4. Intel retains all right, title, and interest in and to the Original
73b4315fc7SSascha Wildner  * Intel Code.
74b4315fc7SSascha Wildner  *
75b4315fc7SSascha Wildner  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76b4315fc7SSascha Wildner  * Intel shall be used in advertising or otherwise to promote the sale, use or
77b4315fc7SSascha Wildner  * other dealings in products derived from or relating to the Covered Code
78b4315fc7SSascha Wildner  * without prior written authorization from Intel.
79b4315fc7SSascha Wildner  *
80b4315fc7SSascha Wildner  * 4. Disclaimer and Export Compliance
81b4315fc7SSascha Wildner  *
82b4315fc7SSascha Wildner  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83b4315fc7SSascha Wildner  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84b4315fc7SSascha Wildner  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85b4315fc7SSascha Wildner  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86b4315fc7SSascha Wildner  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87b4315fc7SSascha Wildner  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88b4315fc7SSascha Wildner  * PARTICULAR PURPOSE.
89b4315fc7SSascha Wildner  *
90b4315fc7SSascha Wildner  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91b4315fc7SSascha Wildner  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92b4315fc7SSascha Wildner  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93b4315fc7SSascha Wildner  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94b4315fc7SSascha Wildner  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95b4315fc7SSascha Wildner  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96b4315fc7SSascha Wildner  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97b4315fc7SSascha Wildner  * LIMITED REMEDY.
98b4315fc7SSascha Wildner  *
99b4315fc7SSascha Wildner  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100b4315fc7SSascha Wildner  * software or system incorporating such software without first obtaining any
101b4315fc7SSascha Wildner  * required license or other approval from the U. S. Department of Commerce or
102b4315fc7SSascha Wildner  * any other agency or department of the United States Government. In the
103b4315fc7SSascha Wildner  * event Licensee exports any such software from the United States or
104b4315fc7SSascha Wildner  * re-exports any such software from a foreign destination, Licensee shall
105b4315fc7SSascha Wildner  * ensure that the distribution and export/re-export of the software is in
106b4315fc7SSascha Wildner  * compliance with all laws, regulations, orders, or other restrictions of the
107b4315fc7SSascha Wildner  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108b4315fc7SSascha Wildner  * any of its subsidiaries will export/re-export any technical data, process,
109b4315fc7SSascha Wildner  * software, or service, directly or indirectly, to any country for which the
110b4315fc7SSascha Wildner  * United States government or any agency thereof requires an export license,
111b4315fc7SSascha Wildner  * other governmental approval, or letter of assurance, without first obtaining
112b4315fc7SSascha Wildner  * such license, approval or letter.
113b4315fc7SSascha Wildner  *
114b4315fc7SSascha Wildner  *****************************************************************************
115b4315fc7SSascha Wildner  *
116b4315fc7SSascha Wildner  * Alternatively, you may choose to be licensed under the terms of the
117b4315fc7SSascha Wildner  * following license:
118b4315fc7SSascha Wildner  *
1190d02842fSSascha Wildner  * Redistribution and use in source and binary forms, with or without
1200d02842fSSascha Wildner  * modification, are permitted provided that the following conditions
1210d02842fSSascha Wildner  * are met:
1220d02842fSSascha Wildner  * 1. Redistributions of source code must retain the above copyright
1230d02842fSSascha Wildner  *    notice, this list of conditions, and the following disclaimer,
1240d02842fSSascha Wildner  *    without modification.
1250d02842fSSascha Wildner  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1260d02842fSSascha Wildner  *    substantially similar to the "NO WARRANTY" disclaimer below
1270d02842fSSascha Wildner  *    ("Disclaimer") and any redistribution must be conditioned upon
1280d02842fSSascha Wildner  *    including a substantially similar Disclaimer requirement for further
1290d02842fSSascha Wildner  *    binary redistribution.
1300d02842fSSascha Wildner  * 3. Neither the names of the above-listed copyright holders nor the names
1310d02842fSSascha Wildner  *    of any contributors may be used to endorse or promote products derived
1320d02842fSSascha Wildner  *    from this software without specific prior written permission.
1330d02842fSSascha Wildner  *
134b4315fc7SSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
135b4315fc7SSascha Wildner  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136b4315fc7SSascha Wildner  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
137b4315fc7SSascha Wildner  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138b4315fc7SSascha Wildner  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139b4315fc7SSascha Wildner  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140b4315fc7SSascha Wildner  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141b4315fc7SSascha Wildner  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142b4315fc7SSascha Wildner  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143b4315fc7SSascha Wildner  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144b4315fc7SSascha Wildner  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145b4315fc7SSascha Wildner  *
146b4315fc7SSascha Wildner  * Alternatively, you may choose to be licensed under the terms of the
1470d02842fSSascha Wildner  * GNU General Public License ("GPL") version 2 as published by the Free
1480d02842fSSascha Wildner  * Software Foundation.
1490d02842fSSascha Wildner  *
150b4315fc7SSascha Wildner  *****************************************************************************/
1510d02842fSSascha Wildner 
1520d02842fSSascha Wildner #ifndef __ACXFACE_H__
1530d02842fSSascha Wildner #define __ACXFACE_H__
1540d02842fSSascha Wildner 
1550d02842fSSascha Wildner /* Current ACPICA subsystem version in YYYYMMDD format */
1560d02842fSSascha Wildner 
157*aab122a6SSascha Wildner #define ACPI_CA_VERSION                 0x20211217
1580d02842fSSascha Wildner 
1590d02842fSSascha Wildner #include "acconfig.h"
1600d02842fSSascha Wildner #include "actypes.h"
1610d02842fSSascha Wildner #include "actbl.h"
1620d02842fSSascha Wildner #include "acbuffer.h"
1630d02842fSSascha Wildner 
1649e1c0880SSascha Wildner 
1659e1c0880SSascha Wildner /*****************************************************************************
1669e1c0880SSascha Wildner  *
1679e1c0880SSascha Wildner  * Macros used for ACPICA globals and configuration
1689e1c0880SSascha Wildner  *
1699e1c0880SSascha Wildner  ****************************************************************************/
1709e1c0880SSascha Wildner 
1710d02842fSSascha Wildner /*
1729e1c0880SSascha Wildner  * Ensure that global variables are defined and initialized only once.
1739e1c0880SSascha Wildner  *
1749e1c0880SSascha Wildner  * The use of these macros allows for a single list of globals (here)
1759e1c0880SSascha Wildner  * in order to simplify maintenance of the code.
1760d02842fSSascha Wildner  */
1779e1c0880SSascha Wildner #ifdef DEFINE_ACPI_GLOBALS
1789e1c0880SSascha Wildner #define ACPI_GLOBAL(type,name) \
1799e1c0880SSascha Wildner     extern type name; \
1809e1c0880SSascha Wildner     type name
1810d02842fSSascha Wildner 
1829e1c0880SSascha Wildner #define ACPI_INIT_GLOBAL(type,name,value) \
1839e1c0880SSascha Wildner     type name=value
1840d02842fSSascha Wildner 
1859e1c0880SSascha Wildner #else
1869e1c0880SSascha Wildner #ifndef ACPI_GLOBAL
1879e1c0880SSascha Wildner #define ACPI_GLOBAL(type,name) \
1889e1c0880SSascha Wildner     extern type name
1899e1c0880SSascha Wildner #endif
1900d02842fSSascha Wildner 
1919e1c0880SSascha Wildner #ifndef ACPI_INIT_GLOBAL
1929e1c0880SSascha Wildner #define ACPI_INIT_GLOBAL(type,name,value) \
1939e1c0880SSascha Wildner     extern type name
1949e1c0880SSascha Wildner #endif
1959e1c0880SSascha Wildner #endif
1960d02842fSSascha Wildner 
1970d02842fSSascha Wildner /*
1989e1c0880SSascha Wildner  * These macros configure the various ACPICA interfaces. They are
1999e1c0880SSascha Wildner  * useful for generating stub inline functions for features that are
2009e1c0880SSascha Wildner  * configured out of the current kernel or ACPICA application.
2019e1c0880SSascha Wildner  */
2029e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_STATUS
2039e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
2049e1c0880SSascha Wildner     Prototype;
2059e1c0880SSascha Wildner #endif
2069e1c0880SSascha Wildner 
2079e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_OK
2089e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
2099e1c0880SSascha Wildner     Prototype;
2109e1c0880SSascha Wildner #endif
2119e1c0880SSascha Wildner 
2129e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_VOID
2139e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
2149e1c0880SSascha Wildner     Prototype;
2159e1c0880SSascha Wildner #endif
2169e1c0880SSascha Wildner 
2179e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_UINT32
2189e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
2199e1c0880SSascha Wildner     Prototype;
2209e1c0880SSascha Wildner #endif
2219e1c0880SSascha Wildner 
2229e1c0880SSascha Wildner #ifndef ACPI_EXTERNAL_RETURN_PTR
2239e1c0880SSascha Wildner #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
2249e1c0880SSascha Wildner     Prototype;
2259e1c0880SSascha Wildner #endif
2269e1c0880SSascha Wildner 
2279e1c0880SSascha Wildner 
2289e1c0880SSascha Wildner /*****************************************************************************
2299e1c0880SSascha Wildner  *
2309e1c0880SSascha Wildner  * Public globals and runtime configuration options
2319e1c0880SSascha Wildner  *
2329e1c0880SSascha Wildner  ****************************************************************************/
2339e1c0880SSascha Wildner 
2349e1c0880SSascha Wildner /*
2359e1c0880SSascha Wildner  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
2369e1c0880SSascha Wildner  * interpreter strictly follows the ACPI specification. Setting to TRUE
2379e1c0880SSascha Wildner  * allows the interpreter to ignore certain errors and/or bad AML constructs.
2389e1c0880SSascha Wildner  *
2399e1c0880SSascha Wildner  * Currently, these features are enabled by this flag:
2409e1c0880SSascha Wildner  *
2419e1c0880SSascha Wildner  * 1) Allow "implicit return" of last value in a control method
2429e1c0880SSascha Wildner  * 2) Allow access beyond the end of an operation region
2439e1c0880SSascha Wildner  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
2449e1c0880SSascha Wildner  * 4) Allow ANY object type to be a source operand for the Store() operator
2459e1c0880SSascha Wildner  * 5) Allow unresolved references (invalid target name) in package objects
2469e1c0880SSascha Wildner  * 6) Enable warning messages for behavior that is not ACPI spec compliant
2479e1c0880SSascha Wildner  */
2489e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
2499e1c0880SSascha Wildner 
2509e1c0880SSascha Wildner /*
2519e1c0880SSascha Wildner  * Automatically serialize all methods that create named objects? Default
2529e1c0880SSascha Wildner  * is TRUE, meaning that all NonSerialized methods are scanned once at
2539e1c0880SSascha Wildner  * table load time to determine those that create named objects. Methods
2549e1c0880SSascha Wildner  * that create named objects are marked Serialized in order to prevent
2559e1c0880SSascha Wildner  * possible run-time problems if they are entered by more than one thread.
2569e1c0880SSascha Wildner  */
2579e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
2589e1c0880SSascha Wildner 
2599e1c0880SSascha Wildner /*
2609e1c0880SSascha Wildner  * Create the predefined _OSI method in the namespace? Default is TRUE
2619e1c0880SSascha Wildner  * because ACPICA is fully compatible with other ACPI implementations.
2629e1c0880SSascha Wildner  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
2639e1c0880SSascha Wildner  */
2649e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
2659e1c0880SSascha Wildner 
2669e1c0880SSascha Wildner /*
2679e1c0880SSascha Wildner  * Optionally use default values for the ACPI register widths. Set this to
2689e1c0880SSascha Wildner  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
2699e1c0880SSascha Wildner  */
2709e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
2719e1c0880SSascha Wildner 
2729e1c0880SSascha Wildner /*
2731093ca81SSascha Wildner  * Whether or not to validate (map) an entire table to verify
2741093ca81SSascha Wildner  * checksum/duplication in early stage before install. Set this to TRUE to
2751093ca81SSascha Wildner  * allow early table validation before install it to the table manager.
2761093ca81SSascha Wildner  * Note that enabling this option causes errors to happen in some OSPMs
2771093ca81SSascha Wildner  * during early initialization stages. Default behavior is to allow such
2781093ca81SSascha Wildner  * validation.
2795f39c7e7SSascha Wildner  */
2801093ca81SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableTableValidation, TRUE);
2815f39c7e7SSascha Wildner 
2825f39c7e7SSascha Wildner /*
2839e1c0880SSascha Wildner  * Optionally enable output from the AML Debug Object.
2849e1c0880SSascha Wildner  */
2859e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
2869e1c0880SSascha Wildner 
2879e1c0880SSascha Wildner /*
2889e1c0880SSascha Wildner  * Optionally copy the entire DSDT to local memory (instead of simply
2899e1c0880SSascha Wildner  * mapping it.) There are some BIOSs that corrupt or replace the original
2909e1c0880SSascha Wildner  * DSDT, creating the need for this option. Default is FALSE, do not copy
2919e1c0880SSascha Wildner  * the DSDT.
2929e1c0880SSascha Wildner  */
2939e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
2949e1c0880SSascha Wildner 
2959e1c0880SSascha Wildner /*
2969e1c0880SSascha Wildner  * Optionally ignore an XSDT if present and use the RSDT instead.
2979e1c0880SSascha Wildner  * Although the ACPI specification requires that an XSDT be used instead
2989e1c0880SSascha Wildner  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
2999e1c0880SSascha Wildner  * some machines. Default behavior is to use the XSDT if present.
3009e1c0880SSascha Wildner  */
3019e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
3029e1c0880SSascha Wildner 
3039e1c0880SSascha Wildner /*
3049e1c0880SSascha Wildner  * Optionally use 32-bit FADT addresses if and when there is a conflict
3059e1c0880SSascha Wildner  * (address mismatch) between the 32-bit and 64-bit versions of the
3069e1c0880SSascha Wildner  * address. Although ACPICA adheres to the ACPI specification which
3079e1c0880SSascha Wildner  * requires the use of the corresponding 64-bit address if it is non-zero,
3089e1c0880SSascha Wildner  * some machines have been found to have a corrupted non-zero 64-bit
3099e1c0880SSascha Wildner  * address. Default is FALSE, do not favor the 32-bit addresses.
3109e1c0880SSascha Wildner  */
3119e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
3129e1c0880SSascha Wildner 
3139e1c0880SSascha Wildner /*
31425ca8c79SSascha Wildner  * Optionally use 32-bit FACS table addresses.
31525ca8c79SSascha Wildner  * It is reported that some platforms fail to resume from system suspending
31625ca8c79SSascha Wildner  * if 64-bit FACS table address is selected:
31725ca8c79SSascha Wildner  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
31825ca8c79SSascha Wildner  * Default is TRUE, favor the 32-bit addresses.
31925ca8c79SSascha Wildner  */
32025ca8c79SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
32125ca8c79SSascha Wildner 
32225ca8c79SSascha Wildner /*
3239e1c0880SSascha Wildner  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
3249e1c0880SSascha Wildner  * with other ACPI implementations. NOTE: During ACPICA initialization,
3259e1c0880SSascha Wildner  * this value is set to TRUE if any Windows OSI strings have been
3269e1c0880SSascha Wildner  * requested by the BIOS.
3279e1c0880SSascha Wildner  */
3289e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
3299e1c0880SSascha Wildner 
3309e1c0880SSascha Wildner /*
3319e1c0880SSascha Wildner  * Disable runtime checking and repair of values returned by control methods.
3329e1c0880SSascha Wildner  * Use only if the repair is causing a problem on a particular machine.
3339e1c0880SSascha Wildner  */
3349e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
3359e1c0880SSascha Wildner 
3369e1c0880SSascha Wildner /*
3379e1c0880SSascha Wildner  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
3389e1c0880SSascha Wildner  * This can be useful for debugging ACPI problems on some machines.
3399e1c0880SSascha Wildner  */
3409e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
3419e1c0880SSascha Wildner 
3429e1c0880SSascha Wildner /*
34325ca8c79SSascha Wildner  * Optionally enable runtime namespace override.
34425ca8c79SSascha Wildner  */
34525ca8c79SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
34625ca8c79SSascha Wildner 
34725ca8c79SSascha Wildner /*
3489e1c0880SSascha Wildner  * We keep track of the latest version of Windows that has been requested by
3499e1c0880SSascha Wildner  * the BIOS. ACPI 5.0.
3509e1c0880SSascha Wildner  */
3519e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
3529e1c0880SSascha Wildner 
3539e1c0880SSascha Wildner /*
3549e1c0880SSascha Wildner  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
3559e1c0880SSascha Wildner  * that the ACPI hardware is no longer required. A flag in the FADT indicates
3569e1c0880SSascha Wildner  * a reduced HW machine, and that flag is duplicated here for convenience.
3579e1c0880SSascha Wildner  */
3589e1c0880SSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
3599e1c0880SSascha Wildner 
3609e1c0880SSascha Wildner /*
3617bcb6cafSSascha Wildner  * Maximum timeout for While() loop iterations before forced method abort.
36296f24602SSascha Wildner  * This mechanism is intended to prevent infinite loops during interpreter
36396f24602SSascha Wildner  * execution within a host kernel.
36496f24602SSascha Wildner  */
3657bcb6cafSSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_TIMEOUT);
3667bcb6cafSSascha Wildner 
3677bcb6cafSSascha Wildner /*
3687bcb6cafSSascha Wildner  * Optionally ignore AE_NOT_FOUND errors from named reference package elements
3697bcb6cafSSascha Wildner  * during DSDT/SSDT table loading. This reduces error "noise" in platforms
3707bcb6cafSSascha Wildner  * whose firmware is carrying around a bunch of unused package objects that
3717bcb6cafSSascha Wildner  * refer to non-existent named objects. However, If the AML actually tries to
3727bcb6cafSSascha Wildner  * use such a package, the unresolved element(s) will be replaced with NULL
3737bcb6cafSSascha Wildner  * elements.
3747bcb6cafSSascha Wildner  */
3757bcb6cafSSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_IgnorePackageResolutionErrors, FALSE);
37696f24602SSascha Wildner 
37796f24602SSascha Wildner /*
3789e1c0880SSascha Wildner  * This mechanism is used to trace a specified AML method. The method is
3799e1c0880SSascha Wildner  * traced each time it is executed.
3809e1c0880SSascha Wildner  */
3819e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
382267c04fdSSascha Wildner ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
383267c04fdSSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
384267c04fdSSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
3859e1c0880SSascha Wildner 
3869e1c0880SSascha Wildner /*
3879e1c0880SSascha Wildner  * Runtime configuration of debug output control masks. We want the debug
3889e1c0880SSascha Wildner  * switches statically initialized so they are already set when the debugger
3899e1c0880SSascha Wildner  * is entered.
3909e1c0880SSascha Wildner  */
3919e1c0880SSascha Wildner #ifdef ACPI_DEBUG_OUTPUT
3929e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
3939e1c0880SSascha Wildner #else
3949e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
3959e1c0880SSascha Wildner #endif
3969e1c0880SSascha Wildner ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
3979e1c0880SSascha Wildner 
398f5f76cf2SSascha Wildner /* Optionally enable timer output with Debug Object output */
399f5f76cf2SSascha Wildner 
400f5f76cf2SSascha Wildner ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
401f5f76cf2SSascha Wildner 
4029e1c0880SSascha Wildner /*
40338b5d46cSSascha Wildner  * Debugger command handshake globals. Host OSes need to access these
40438b5d46cSSascha Wildner  * variables to implement their own command handshake mechanism.
40538b5d46cSSascha Wildner  */
40638b5d46cSSascha Wildner #ifdef ACPI_DEBUGGER
40738b5d46cSSascha Wildner ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_MethodExecuting, FALSE);
40838b5d46cSSascha Wildner ACPI_GLOBAL (char,                  AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
40938b5d46cSSascha Wildner #endif
41038b5d46cSSascha Wildner 
41138b5d46cSSascha Wildner /*
4129e1c0880SSascha Wildner  * Other miscellaneous globals
4139e1c0880SSascha Wildner  */
4149e1c0880SSascha Wildner ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
4159e1c0880SSascha Wildner ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
4169e1c0880SSascha Wildner ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
4179e1c0880SSascha Wildner 
4189e1c0880SSascha Wildner 
4199e1c0880SSascha Wildner /*****************************************************************************
4209e1c0880SSascha Wildner  *
4219e1c0880SSascha Wildner  * ACPICA public interface configuration.
4229e1c0880SSascha Wildner  *
4239e1c0880SSascha Wildner  * Interfaces that are configured out of the ACPICA build are replaced
4249e1c0880SSascha Wildner  * by inlined stubs by default.
4259e1c0880SSascha Wildner  *
4269e1c0880SSascha Wildner  ****************************************************************************/
4279e1c0880SSascha Wildner 
4289e1c0880SSascha Wildner /*
4299e1c0880SSascha Wildner  * Hardware-reduced prototypes (default: Not hardware reduced).
4309e1c0880SSascha Wildner  *
4319e1c0880SSascha Wildner  * All ACPICA hardware-related interfaces that use these macros will be
4329e1c0880SSascha Wildner  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
4330d02842fSSascha Wildner  * is set to TRUE.
4349e1c0880SSascha Wildner  *
4359e1c0880SSascha Wildner  * Note: This static build option for reduced hardware is intended to
4369e1c0880SSascha Wildner  * reduce ACPICA code size if desired or necessary. However, even if this
4379e1c0880SSascha Wildner  * option is not specified, the runtime behavior of ACPICA is dependent
4389e1c0880SSascha Wildner  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
4399e1c0880SSascha Wildner  * the flag will enable similar behavior -- ACPICA will not attempt
4409e1c0880SSascha Wildner  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
4410d02842fSSascha Wildner  */
4420d02842fSSascha Wildner #if (!ACPI_REDUCED_HARDWARE)
4430d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
4449e1c0880SSascha Wildner     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
4450d02842fSSascha Wildner 
4460d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
4479e1c0880SSascha Wildner     ACPI_EXTERNAL_RETURN_OK(Prototype)
4480d02842fSSascha Wildner 
449e5412f1eSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
450e5412f1eSSascha Wildner     ACPI_EXTERNAL_RETURN_UINT32(prototype)
451e5412f1eSSascha Wildner 
4520d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
4539e1c0880SSascha Wildner     ACPI_EXTERNAL_RETURN_VOID(Prototype)
4540d02842fSSascha Wildner 
4550d02842fSSascha Wildner #else
4560d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
4570d02842fSSascha Wildner     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
4580d02842fSSascha Wildner 
4590d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
4600d02842fSSascha Wildner     static ACPI_INLINE Prototype {return(AE_OK);}
4610d02842fSSascha Wildner 
462e5412f1eSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
463e5412f1eSSascha Wildner     static ACPI_INLINE prototype {return(0);}
464e5412f1eSSascha Wildner 
4650d02842fSSascha Wildner #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
4660d02842fSSascha Wildner     static ACPI_INLINE Prototype {return;}
4670d02842fSSascha Wildner 
4680d02842fSSascha Wildner #endif /* !ACPI_REDUCED_HARDWARE */
4690d02842fSSascha Wildner 
4700d02842fSSascha Wildner 
4710d02842fSSascha Wildner /*
4729e1c0880SSascha Wildner  * Error message prototypes (default: error messages enabled).
4739e1c0880SSascha Wildner  *
4749e1c0880SSascha Wildner  * All interfaces related to error and warning messages
4759e1c0880SSascha Wildner  * will be configured out of the ACPICA build if the
4769e1c0880SSascha Wildner  * ACPI_NO_ERROR_MESSAGE flag is defined.
4779e1c0880SSascha Wildner  */
4789e1c0880SSascha Wildner #ifndef ACPI_NO_ERROR_MESSAGES
4799e1c0880SSascha Wildner #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
4809e1c0880SSascha Wildner     Prototype;
4819e1c0880SSascha Wildner 
4829e1c0880SSascha Wildner #else
4839e1c0880SSascha Wildner #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
4849e1c0880SSascha Wildner     static ACPI_INLINE Prototype {return;}
4859e1c0880SSascha Wildner 
4869e1c0880SSascha Wildner #endif /* ACPI_NO_ERROR_MESSAGES */
4879e1c0880SSascha Wildner 
4889e1c0880SSascha Wildner 
4899e1c0880SSascha Wildner /*
4909e1c0880SSascha Wildner  * Debugging output prototypes (default: no debug output).
4919e1c0880SSascha Wildner  *
4929e1c0880SSascha Wildner  * All interfaces related to debug output messages
4939e1c0880SSascha Wildner  * will be configured out of the ACPICA build unless the
4949e1c0880SSascha Wildner  * ACPI_DEBUG_OUTPUT flag is defined.
4959e1c0880SSascha Wildner  */
4969e1c0880SSascha Wildner #ifdef ACPI_DEBUG_OUTPUT
4979e1c0880SSascha Wildner #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
4989e1c0880SSascha Wildner     Prototype;
4999e1c0880SSascha Wildner 
5009e1c0880SSascha Wildner #else
5019e1c0880SSascha Wildner #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
5029e1c0880SSascha Wildner     static ACPI_INLINE Prototype {return;}
5039e1c0880SSascha Wildner 
5049e1c0880SSascha Wildner #endif /* ACPI_DEBUG_OUTPUT */
5059e1c0880SSascha Wildner 
5069e1c0880SSascha Wildner 
5075f39c7e7SSascha Wildner /*
5085f39c7e7SSascha Wildner  * Application prototypes
5095f39c7e7SSascha Wildner  *
5105f39c7e7SSascha Wildner  * All interfaces used by application will be configured
5115f39c7e7SSascha Wildner  * out of the ACPICA build unless the ACPI_APPLICATION
5125f39c7e7SSascha Wildner  * flag is defined.
5135f39c7e7SSascha Wildner  */
5145f39c7e7SSascha Wildner #ifdef ACPI_APPLICATION
5155f39c7e7SSascha Wildner #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
5165f39c7e7SSascha Wildner     Prototype;
5175f39c7e7SSascha Wildner 
5185f39c7e7SSascha Wildner #else
5195f39c7e7SSascha Wildner #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
5205f39c7e7SSascha Wildner     static ACPI_INLINE Prototype {return;}
5215f39c7e7SSascha Wildner 
5225f39c7e7SSascha Wildner #endif /* ACPI_APPLICATION */
5235f39c7e7SSascha Wildner 
5245f39c7e7SSascha Wildner 
525820c5b08SSascha Wildner /*
526820c5b08SSascha Wildner  * Debugger prototypes
527820c5b08SSascha Wildner  *
528820c5b08SSascha Wildner  * All interfaces used by debugger will be configured
529820c5b08SSascha Wildner  * out of the ACPICA build unless the ACPI_DEBUGGER
530820c5b08SSascha Wildner  * flag is defined.
531820c5b08SSascha Wildner  */
532820c5b08SSascha Wildner #ifdef ACPI_DEBUGGER
533820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
534820c5b08SSascha Wildner     ACPI_EXTERNAL_RETURN_OK(Prototype)
535820c5b08SSascha Wildner 
536820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
537820c5b08SSascha Wildner     ACPI_EXTERNAL_RETURN_VOID(Prototype)
538820c5b08SSascha Wildner 
539820c5b08SSascha Wildner #else
540820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
541820c5b08SSascha Wildner     static ACPI_INLINE Prototype {return(AE_OK);}
542820c5b08SSascha Wildner 
543820c5b08SSascha Wildner #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
544820c5b08SSascha Wildner     static ACPI_INLINE Prototype {return;}
545820c5b08SSascha Wildner 
546820c5b08SSascha Wildner #endif /* ACPI_DEBUGGER */
547820c5b08SSascha Wildner 
548820c5b08SSascha Wildner 
5499e1c0880SSascha Wildner /*****************************************************************************
5509e1c0880SSascha Wildner  *
5519e1c0880SSascha Wildner  * ACPICA public interface prototypes
5529e1c0880SSascha Wildner  *
5539e1c0880SSascha Wildner  ****************************************************************************/
5549e1c0880SSascha Wildner 
5559e1c0880SSascha Wildner /*
5560d02842fSSascha Wildner  * Initialization
5570d02842fSSascha Wildner  */
5589e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
559277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5600d02842fSSascha Wildner AcpiInitializeTables (
5610d02842fSSascha Wildner     ACPI_TABLE_DESC         *InitialStorage,
5620d02842fSSascha Wildner     UINT32                  InitialTableCount,
5639e1c0880SSascha Wildner     BOOLEAN                 AllowResize))
5640d02842fSSascha Wildner 
5659e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
566277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5670d02842fSSascha Wildner AcpiInitializeSubsystem (
5689e1c0880SSascha Wildner     void))
5690d02842fSSascha Wildner 
5709e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
571277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5720d02842fSSascha Wildner AcpiEnableSubsystem (
5739e1c0880SSascha Wildner     UINT32                  Flags))
5740d02842fSSascha Wildner 
5759e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
576277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5770d02842fSSascha Wildner AcpiInitializeObjects (
5789e1c0880SSascha Wildner     UINT32                  Flags))
5790d02842fSSascha Wildner 
5809e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
581277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
5820d02842fSSascha Wildner AcpiTerminate (
5839e1c0880SSascha Wildner     void))
5840d02842fSSascha Wildner 
5850d02842fSSascha Wildner 
5860d02842fSSascha Wildner /*
5870d02842fSSascha Wildner  * Miscellaneous global interfaces
5880d02842fSSascha Wildner  */
5890d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
5900d02842fSSascha Wildner ACPI_STATUS
5910d02842fSSascha Wildner AcpiEnable (
5920d02842fSSascha Wildner     void))
5930d02842fSSascha Wildner 
5940d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
5950d02842fSSascha Wildner ACPI_STATUS
5960d02842fSSascha Wildner AcpiDisable (
5970d02842fSSascha Wildner     void))
5980d02842fSSascha Wildner 
5999e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6000d02842fSSascha Wildner ACPI_STATUS
6010d02842fSSascha Wildner AcpiSubsystemStatus (
6029e1c0880SSascha Wildner     void))
6030d02842fSSascha Wildner 
6049e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6050d02842fSSascha Wildner ACPI_STATUS
6060d02842fSSascha Wildner AcpiGetSystemInfo (
6079e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
6080d02842fSSascha Wildner 
6099e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6100d02842fSSascha Wildner ACPI_STATUS
6110d02842fSSascha Wildner AcpiGetStatistics (
6129e1c0880SSascha Wildner     ACPI_STATISTICS         *Stats))
6130d02842fSSascha Wildner 
6149e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_PTR (
6150d02842fSSascha Wildner const char *
6160d02842fSSascha Wildner AcpiFormatException (
6179e1c0880SSascha Wildner     ACPI_STATUS             Exception))
6180d02842fSSascha Wildner 
6199e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6200d02842fSSascha Wildner ACPI_STATUS
6210d02842fSSascha Wildner AcpiPurgeCachedObjects (
6229e1c0880SSascha Wildner     void))
6230d02842fSSascha Wildner 
6249e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6250d02842fSSascha Wildner ACPI_STATUS
6260d02842fSSascha Wildner AcpiInstallInterface (
6279e1c0880SSascha Wildner     ACPI_STRING             InterfaceName))
6280d02842fSSascha Wildner 
6299e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6300d02842fSSascha Wildner ACPI_STATUS
6310d02842fSSascha Wildner AcpiRemoveInterface (
6329e1c0880SSascha Wildner     ACPI_STRING             InterfaceName))
6330d02842fSSascha Wildner 
6349e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6350d02842fSSascha Wildner ACPI_STATUS
6360d02842fSSascha Wildner AcpiUpdateInterfaces (
6379e1c0880SSascha Wildner     UINT8                   Action))
6380d02842fSSascha Wildner 
6399e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_UINT32 (
6400d02842fSSascha Wildner UINT32
6410d02842fSSascha Wildner AcpiCheckAddressRange (
6420d02842fSSascha Wildner     ACPI_ADR_SPACE_TYPE     SpaceId,
6430d02842fSSascha Wildner     ACPI_PHYSICAL_ADDRESS   Address,
6440d02842fSSascha Wildner     ACPI_SIZE               Length,
6459e1c0880SSascha Wildner     BOOLEAN                 Warn))
6460d02842fSSascha Wildner 
6479e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6480d02842fSSascha Wildner ACPI_STATUS
6490d02842fSSascha Wildner AcpiDecodePldBuffer (
6500d02842fSSascha Wildner     UINT8                   *InBuffer,
6510d02842fSSascha Wildner     ACPI_SIZE               Length,
6529e1c0880SSascha Wildner     ACPI_PLD_INFO           **ReturnBuffer))
6530d02842fSSascha Wildner 
6540d02842fSSascha Wildner 
6550d02842fSSascha Wildner /*
6560d02842fSSascha Wildner  * ACPI table load/unload interfaces
6570d02842fSSascha Wildner  */
6589e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
659277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
660d4972a9cSSascha Wildner AcpiInstallTable (
661*aab122a6SSascha Wildner     ACPI_TABLE_HEADER       *Table))
662*aab122a6SSascha Wildner 
663*aab122a6SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
664*aab122a6SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
665*aab122a6SSascha Wildner AcpiInstallPhysicalTable (
666*aab122a6SSascha Wildner     ACPI_PHYSICAL_ADDRESS   Address))
667d4972a9cSSascha Wildner 
6689e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
669d4972a9cSSascha Wildner ACPI_STATUS
6700d02842fSSascha Wildner AcpiLoadTable (
671e5412f1eSSascha Wildner     ACPI_TABLE_HEADER       *Table,
672e5412f1eSSascha Wildner     UINT32                  *TableIdx))
673e5412f1eSSascha Wildner 
674e5412f1eSSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
675e5412f1eSSascha Wildner ACPI_STATUS
676e5412f1eSSascha Wildner AcpiUnloadTable (
677e5412f1eSSascha Wildner     UINT32                  TableIndex))
6780d02842fSSascha Wildner 
6799e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
6800d02842fSSascha Wildner ACPI_STATUS
6810d02842fSSascha Wildner AcpiUnloadParentTable (
6829e1c0880SSascha Wildner     ACPI_HANDLE             Object))
6830d02842fSSascha Wildner 
6849e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
685277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
6860d02842fSSascha Wildner AcpiLoadTables (
6879e1c0880SSascha Wildner     void))
6880d02842fSSascha Wildner 
6890d02842fSSascha Wildner 
6900d02842fSSascha Wildner /*
6910d02842fSSascha Wildner  * ACPI table manipulation interfaces
6920d02842fSSascha Wildner  */
6939e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
694277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
6950d02842fSSascha Wildner AcpiReallocateRootTable (
6969e1c0880SSascha Wildner     void))
6970d02842fSSascha Wildner 
6989e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
699277350a0SSascha Wildner ACPI_STATUS ACPI_INIT_FUNCTION
7000d02842fSSascha Wildner AcpiFindRootPointer (
7015943f66cSSascha Wildner     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
7020d02842fSSascha Wildner 
7039e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7040d02842fSSascha Wildner ACPI_STATUS
7050d02842fSSascha Wildner AcpiGetTableHeader (
7060d02842fSSascha Wildner     ACPI_STRING             Signature,
7070d02842fSSascha Wildner     UINT32                  Instance,
7089e1c0880SSascha Wildner     ACPI_TABLE_HEADER       *OutTableHeader))
7090d02842fSSascha Wildner 
7109e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7110d02842fSSascha Wildner ACPI_STATUS
7120d02842fSSascha Wildner AcpiGetTable (
7130d02842fSSascha Wildner     ACPI_STRING             Signature,
7140d02842fSSascha Wildner     UINT32                  Instance,
7159e1c0880SSascha Wildner     ACPI_TABLE_HEADER       **OutTable))
7160d02842fSSascha Wildner 
717a96e04f2SSascha Wildner ACPI_EXTERNAL_RETURN_VOID (
718a96e04f2SSascha Wildner void
719a96e04f2SSascha Wildner AcpiPutTable (
720a96e04f2SSascha Wildner     ACPI_TABLE_HEADER       *Table))
721a96e04f2SSascha Wildner 
7229e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7230d02842fSSascha Wildner ACPI_STATUS
7240d02842fSSascha Wildner AcpiGetTableByIndex (
7250d02842fSSascha Wildner     UINT32                  TableIndex,
7269e1c0880SSascha Wildner     ACPI_TABLE_HEADER       **OutTable))
7270d02842fSSascha Wildner 
7289e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7290d02842fSSascha Wildner ACPI_STATUS
7300d02842fSSascha Wildner AcpiInstallTableHandler (
7310d02842fSSascha Wildner     ACPI_TABLE_HANDLER      Handler,
7329e1c0880SSascha Wildner     void                    *Context))
7330d02842fSSascha Wildner 
7349e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7350d02842fSSascha Wildner ACPI_STATUS
7360d02842fSSascha Wildner AcpiRemoveTableHandler (
7379e1c0880SSascha Wildner     ACPI_TABLE_HANDLER      Handler))
7380d02842fSSascha Wildner 
7390d02842fSSascha Wildner 
7400d02842fSSascha Wildner /*
7410d02842fSSascha Wildner  * Namespace and name interfaces
7420d02842fSSascha Wildner  */
7439e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7440d02842fSSascha Wildner ACPI_STATUS
7450d02842fSSascha Wildner AcpiWalkNamespace (
7460d02842fSSascha Wildner     ACPI_OBJECT_TYPE        Type,
7470d02842fSSascha Wildner     ACPI_HANDLE             StartObject,
7480d02842fSSascha Wildner     UINT32                  MaxDepth,
7490d02842fSSascha Wildner     ACPI_WALK_CALLBACK      DescendingCallback,
7500d02842fSSascha Wildner     ACPI_WALK_CALLBACK      AscendingCallback,
7510d02842fSSascha Wildner     void                    *Context,
7529e1c0880SSascha Wildner     void                    **ReturnValue))
7530d02842fSSascha Wildner 
7549e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7550d02842fSSascha Wildner ACPI_STATUS
7560d02842fSSascha Wildner AcpiGetDevices (
7570d02842fSSascha Wildner     char                    *HID,
7580d02842fSSascha Wildner     ACPI_WALK_CALLBACK      UserFunction,
7590d02842fSSascha Wildner     void                    *Context,
7609e1c0880SSascha Wildner     void                    **ReturnValue))
7610d02842fSSascha Wildner 
7629e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7630d02842fSSascha Wildner ACPI_STATUS
7640d02842fSSascha Wildner AcpiGetName (
7650d02842fSSascha Wildner     ACPI_HANDLE             Object,
7660d02842fSSascha Wildner     UINT32                  NameType,
7679e1c0880SSascha Wildner     ACPI_BUFFER             *RetPathPtr))
7680d02842fSSascha Wildner 
7699e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7700d02842fSSascha Wildner ACPI_STATUS
7710d02842fSSascha Wildner AcpiGetHandle (
7720d02842fSSascha Wildner     ACPI_HANDLE             Parent,
7730d02842fSSascha Wildner     ACPI_STRING             Pathname,
7749e1c0880SSascha Wildner     ACPI_HANDLE             *RetHandle))
7750d02842fSSascha Wildner 
7769e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7770d02842fSSascha Wildner ACPI_STATUS
7780d02842fSSascha Wildner AcpiAttachData (
7790d02842fSSascha Wildner     ACPI_HANDLE             Object,
7800d02842fSSascha Wildner     ACPI_OBJECT_HANDLER     Handler,
7819e1c0880SSascha Wildner     void                    *Data))
7820d02842fSSascha Wildner 
7839e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7840d02842fSSascha Wildner ACPI_STATUS
7850d02842fSSascha Wildner AcpiDetachData (
7860d02842fSSascha Wildner     ACPI_HANDLE             Object,
7879e1c0880SSascha Wildner     ACPI_OBJECT_HANDLER     Handler))
7880d02842fSSascha Wildner 
7899e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7900d02842fSSascha Wildner ACPI_STATUS
7910d02842fSSascha Wildner AcpiGetData (
7920d02842fSSascha Wildner     ACPI_HANDLE             Object,
7930d02842fSSascha Wildner     ACPI_OBJECT_HANDLER     Handler,
7949e1c0880SSascha Wildner     void                    **Data))
7950d02842fSSascha Wildner 
7969e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
7970d02842fSSascha Wildner ACPI_STATUS
7980d02842fSSascha Wildner AcpiDebugTrace (
799267c04fdSSascha Wildner     const char              *Name,
8000d02842fSSascha Wildner     UINT32                  DebugLevel,
8010d02842fSSascha Wildner     UINT32                  DebugLayer,
8029e1c0880SSascha Wildner     UINT32                  Flags))
8030d02842fSSascha Wildner 
8040d02842fSSascha Wildner 
8050d02842fSSascha Wildner /*
8060d02842fSSascha Wildner  * Object manipulation and enumeration
8070d02842fSSascha Wildner  */
8089e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8090d02842fSSascha Wildner ACPI_STATUS
8100d02842fSSascha Wildner AcpiEvaluateObject (
8110d02842fSSascha Wildner     ACPI_HANDLE             Object,
8120d02842fSSascha Wildner     ACPI_STRING             Pathname,
8130d02842fSSascha Wildner     ACPI_OBJECT_LIST        *ParameterObjects,
8149e1c0880SSascha Wildner     ACPI_BUFFER             *ReturnObjectBuffer))
8150d02842fSSascha Wildner 
8169e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8170d02842fSSascha Wildner ACPI_STATUS
8180d02842fSSascha Wildner AcpiEvaluateObjectTyped (
8190d02842fSSascha Wildner     ACPI_HANDLE             Object,
8200d02842fSSascha Wildner     ACPI_STRING             Pathname,
8210d02842fSSascha Wildner     ACPI_OBJECT_LIST        *ExternalParams,
8220d02842fSSascha Wildner     ACPI_BUFFER             *ReturnBuffer,
8239e1c0880SSascha Wildner     ACPI_OBJECT_TYPE        ReturnType))
8240d02842fSSascha Wildner 
8259e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8260d02842fSSascha Wildner ACPI_STATUS
8270d02842fSSascha Wildner AcpiGetObjectInfo (
8280d02842fSSascha Wildner     ACPI_HANDLE             Object,
8299e1c0880SSascha Wildner     ACPI_DEVICE_INFO        **ReturnBuffer))
8300d02842fSSascha Wildner 
8319e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8320d02842fSSascha Wildner ACPI_STATUS
8330d02842fSSascha Wildner AcpiInstallMethod (
8349e1c0880SSascha Wildner     UINT8                   *Buffer))
8350d02842fSSascha Wildner 
8369e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8370d02842fSSascha Wildner ACPI_STATUS
8380d02842fSSascha Wildner AcpiGetNextObject (
8390d02842fSSascha Wildner     ACPI_OBJECT_TYPE        Type,
8400d02842fSSascha Wildner     ACPI_HANDLE             Parent,
8410d02842fSSascha Wildner     ACPI_HANDLE             Child,
8429e1c0880SSascha Wildner     ACPI_HANDLE             *OutHandle))
8430d02842fSSascha Wildner 
8449e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8450d02842fSSascha Wildner ACPI_STATUS
8460d02842fSSascha Wildner AcpiGetType (
8470d02842fSSascha Wildner     ACPI_HANDLE             Object,
8489e1c0880SSascha Wildner     ACPI_OBJECT_TYPE        *OutType))
8490d02842fSSascha Wildner 
8509e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8510d02842fSSascha Wildner ACPI_STATUS
8520d02842fSSascha Wildner AcpiGetParent (
8530d02842fSSascha Wildner     ACPI_HANDLE             Object,
8549e1c0880SSascha Wildner     ACPI_HANDLE             *OutHandle))
8550d02842fSSascha Wildner 
8560d02842fSSascha Wildner 
8570d02842fSSascha Wildner /*
8580d02842fSSascha Wildner  * Handler interfaces
8590d02842fSSascha Wildner  */
8609e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
8610d02842fSSascha Wildner ACPI_STATUS
8620d02842fSSascha Wildner AcpiInstallInitializationHandler (
8630d02842fSSascha Wildner     ACPI_INIT_HANDLER       Handler,
8649e1c0880SSascha Wildner     UINT32                  Function))
8650d02842fSSascha Wildner 
8660d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8670d02842fSSascha Wildner ACPI_STATUS
8680d02842fSSascha Wildner AcpiInstallSciHandler (
8690d02842fSSascha Wildner     ACPI_SCI_HANDLER        Address,
8700d02842fSSascha Wildner     void                    *Context))
8710d02842fSSascha Wildner 
8720d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8730d02842fSSascha Wildner ACPI_STATUS
8740d02842fSSascha Wildner AcpiRemoveSciHandler (
8750d02842fSSascha Wildner     ACPI_SCI_HANDLER        Address))
8760d02842fSSascha Wildner 
8770d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8780d02842fSSascha Wildner ACPI_STATUS
8790d02842fSSascha Wildner AcpiInstallGlobalEventHandler (
8800d02842fSSascha Wildner     ACPI_GBL_EVENT_HANDLER  Handler,
8810d02842fSSascha Wildner     void                    *Context))
8820d02842fSSascha Wildner 
8830d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8840d02842fSSascha Wildner ACPI_STATUS
8850d02842fSSascha Wildner AcpiInstallFixedEventHandler (
8860d02842fSSascha Wildner     UINT32                  AcpiEvent,
8870d02842fSSascha Wildner     ACPI_EVENT_HANDLER      Handler,
8880d02842fSSascha Wildner     void                    *Context))
8890d02842fSSascha Wildner 
8900d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8910d02842fSSascha Wildner ACPI_STATUS
8920d02842fSSascha Wildner AcpiRemoveFixedEventHandler (
8930d02842fSSascha Wildner     UINT32                  AcpiEvent,
8940d02842fSSascha Wildner     ACPI_EVENT_HANDLER      Handler))
8950d02842fSSascha Wildner 
8960d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
8970d02842fSSascha Wildner ACPI_STATUS
8980d02842fSSascha Wildner AcpiInstallGpeHandler (
8990d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9000d02842fSSascha Wildner     UINT32                  GpeNumber,
9010d02842fSSascha Wildner     UINT32                  Type,
9020d02842fSSascha Wildner     ACPI_GPE_HANDLER        Address,
9030d02842fSSascha Wildner     void                    *Context))
9040d02842fSSascha Wildner 
9050d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9060d02842fSSascha Wildner ACPI_STATUS
907fe7b5cb4SSascha Wildner AcpiInstallGpeRawHandler (
908fe7b5cb4SSascha Wildner     ACPI_HANDLE             GpeDevice,
909fe7b5cb4SSascha Wildner     UINT32                  GpeNumber,
910fe7b5cb4SSascha Wildner     UINT32                  Type,
911fe7b5cb4SSascha Wildner     ACPI_GPE_HANDLER        Address,
912fe7b5cb4SSascha Wildner     void                    *Context))
913fe7b5cb4SSascha Wildner 
914fe7b5cb4SSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
915fe7b5cb4SSascha Wildner ACPI_STATUS
9160d02842fSSascha Wildner AcpiRemoveGpeHandler (
9170d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
9180d02842fSSascha Wildner     UINT32                  GpeNumber,
9190d02842fSSascha Wildner     ACPI_GPE_HANDLER        Address))
9200d02842fSSascha Wildner 
9219e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9220d02842fSSascha Wildner ACPI_STATUS
9230d02842fSSascha Wildner AcpiInstallNotifyHandler (
9240d02842fSSascha Wildner     ACPI_HANDLE             Device,
9250d02842fSSascha Wildner     UINT32                  HandlerType,
9260d02842fSSascha Wildner     ACPI_NOTIFY_HANDLER     Handler,
9279e1c0880SSascha Wildner     void                    *Context))
9280d02842fSSascha Wildner 
9299e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9300d02842fSSascha Wildner ACPI_STATUS
9310d02842fSSascha Wildner AcpiRemoveNotifyHandler (
9320d02842fSSascha Wildner     ACPI_HANDLE             Device,
9330d02842fSSascha Wildner     UINT32                  HandlerType,
9349e1c0880SSascha Wildner     ACPI_NOTIFY_HANDLER     Handler))
9350d02842fSSascha Wildner 
9369e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9370d02842fSSascha Wildner ACPI_STATUS
9380d02842fSSascha Wildner AcpiInstallAddressSpaceHandler (
9390d02842fSSascha Wildner     ACPI_HANDLE             Device,
9400d02842fSSascha Wildner     ACPI_ADR_SPACE_TYPE     SpaceId,
9410d02842fSSascha Wildner     ACPI_ADR_SPACE_HANDLER  Handler,
9420d02842fSSascha Wildner     ACPI_ADR_SPACE_SETUP    Setup,
9439e1c0880SSascha Wildner     void                    *Context))
9440d02842fSSascha Wildner 
9459e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9460d02842fSSascha Wildner ACPI_STATUS
9470d02842fSSascha Wildner AcpiRemoveAddressSpaceHandler (
9480d02842fSSascha Wildner     ACPI_HANDLE             Device,
9490d02842fSSascha Wildner     ACPI_ADR_SPACE_TYPE     SpaceId,
9509e1c0880SSascha Wildner     ACPI_ADR_SPACE_HANDLER  Handler))
9510d02842fSSascha Wildner 
9529e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9530d02842fSSascha Wildner ACPI_STATUS
9540d02842fSSascha Wildner AcpiInstallExceptionHandler (
9559e1c0880SSascha Wildner     ACPI_EXCEPTION_HANDLER  Handler))
9560d02842fSSascha Wildner 
9579e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9580d02842fSSascha Wildner ACPI_STATUS
9590d02842fSSascha Wildner AcpiInstallInterfaceHandler (
9609e1c0880SSascha Wildner     ACPI_INTERFACE_HANDLER  Handler))
9610d02842fSSascha Wildner 
9620d02842fSSascha Wildner 
9630d02842fSSascha Wildner /*
9640d02842fSSascha Wildner  * Global Lock interfaces
9650d02842fSSascha Wildner  */
9660d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9670d02842fSSascha Wildner ACPI_STATUS
9680d02842fSSascha Wildner AcpiAcquireGlobalLock (
9690d02842fSSascha Wildner     UINT16                  Timeout,
9700d02842fSSascha Wildner     UINT32                  *Handle))
9710d02842fSSascha Wildner 
9720d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9730d02842fSSascha Wildner ACPI_STATUS
9740d02842fSSascha Wildner AcpiReleaseGlobalLock (
9750d02842fSSascha Wildner     UINT32                  Handle))
9760d02842fSSascha Wildner 
9770d02842fSSascha Wildner 
9780d02842fSSascha Wildner /*
9790d02842fSSascha Wildner  * Interfaces to AML mutex objects
9800d02842fSSascha Wildner  */
9819e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9820d02842fSSascha Wildner ACPI_STATUS
9830d02842fSSascha Wildner AcpiAcquireMutex (
9840d02842fSSascha Wildner     ACPI_HANDLE             Handle,
9850d02842fSSascha Wildner     ACPI_STRING             Pathname,
9869e1c0880SSascha Wildner     UINT16                  Timeout))
9870d02842fSSascha Wildner 
9889e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
9890d02842fSSascha Wildner ACPI_STATUS
9900d02842fSSascha Wildner AcpiReleaseMutex (
9910d02842fSSascha Wildner     ACPI_HANDLE             Handle,
9929e1c0880SSascha Wildner     ACPI_STRING             Pathname))
9930d02842fSSascha Wildner 
9940d02842fSSascha Wildner 
9950d02842fSSascha Wildner /*
9960d02842fSSascha Wildner  * Fixed Event interfaces
9970d02842fSSascha Wildner  */
9980d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
9990d02842fSSascha Wildner ACPI_STATUS
10000d02842fSSascha Wildner AcpiEnableEvent (
10010d02842fSSascha Wildner     UINT32                  Event,
10020d02842fSSascha Wildner     UINT32                  Flags))
10030d02842fSSascha Wildner 
10040d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10050d02842fSSascha Wildner ACPI_STATUS
10060d02842fSSascha Wildner AcpiDisableEvent (
10070d02842fSSascha Wildner     UINT32                  Event,
10080d02842fSSascha Wildner     UINT32                  Flags))
10090d02842fSSascha Wildner 
10100d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10110d02842fSSascha Wildner ACPI_STATUS
10120d02842fSSascha Wildner AcpiClearEvent (
10130d02842fSSascha Wildner     UINT32                  Event))
10140d02842fSSascha Wildner 
10150d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10160d02842fSSascha Wildner ACPI_STATUS
10170d02842fSSascha Wildner AcpiGetEventStatus (
10180d02842fSSascha Wildner     UINT32                  Event,
10190d02842fSSascha Wildner     ACPI_EVENT_STATUS       *EventStatus))
10200d02842fSSascha Wildner 
10210d02842fSSascha Wildner 
10220d02842fSSascha Wildner /*
10230d02842fSSascha Wildner  * General Purpose Event (GPE) Interfaces
10240d02842fSSascha Wildner  */
10250d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10260d02842fSSascha Wildner ACPI_STATUS
10270d02842fSSascha Wildner AcpiUpdateAllGpes (
10280d02842fSSascha Wildner     void))
10290d02842fSSascha Wildner 
10300d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10310d02842fSSascha Wildner ACPI_STATUS
10320d02842fSSascha Wildner AcpiEnableGpe (
10330d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10340d02842fSSascha Wildner     UINT32                  GpeNumber))
10350d02842fSSascha Wildner 
10360d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10370d02842fSSascha Wildner ACPI_STATUS
10380d02842fSSascha Wildner AcpiDisableGpe (
10390d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10400d02842fSSascha Wildner     UINT32                  GpeNumber))
10410d02842fSSascha Wildner 
10420d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10430d02842fSSascha Wildner ACPI_STATUS
10440d02842fSSascha Wildner AcpiClearGpe (
10450d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10460d02842fSSascha Wildner     UINT32                  GpeNumber))
10470d02842fSSascha Wildner 
10480d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10490d02842fSSascha Wildner ACPI_STATUS
10500d02842fSSascha Wildner AcpiSetGpe (
10510d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10520d02842fSSascha Wildner     UINT32                  GpeNumber,
10530d02842fSSascha Wildner     UINT8                   Action))
10540d02842fSSascha Wildner 
10550d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10560d02842fSSascha Wildner ACPI_STATUS
10570d02842fSSascha Wildner AcpiFinishGpe (
10580d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10590d02842fSSascha Wildner     UINT32                  GpeNumber))
10600d02842fSSascha Wildner 
10610d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10620d02842fSSascha Wildner ACPI_STATUS
1063e5e174adSSascha Wildner AcpiMaskGpe (
1064e5e174adSSascha Wildner     ACPI_HANDLE             GpeDevice,
1065e5e174adSSascha Wildner     UINT32                  GpeNumber,
1066e5e174adSSascha Wildner     BOOLEAN                 IsMasked))
1067e5e174adSSascha Wildner 
1068e5e174adSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
1069e5e174adSSascha Wildner ACPI_STATUS
1070066b6da2SSascha Wildner AcpiMarkGpeForWake (
1071066b6da2SSascha Wildner     ACPI_HANDLE             GpeDevice,
1072066b6da2SSascha Wildner     UINT32                  GpeNumber))
1073066b6da2SSascha Wildner 
1074066b6da2SSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
1075066b6da2SSascha Wildner ACPI_STATUS
10760d02842fSSascha Wildner AcpiSetupGpeForWake (
10770d02842fSSascha Wildner     ACPI_HANDLE             ParentDevice,
10780d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10790d02842fSSascha Wildner     UINT32                  GpeNumber))
10800d02842fSSascha Wildner 
10810d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10820d02842fSSascha Wildner ACPI_STATUS
10830d02842fSSascha Wildner AcpiSetGpeWakeMask (
10840d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10850d02842fSSascha Wildner     UINT32                  GpeNumber,
10860d02842fSSascha Wildner     UINT8                   Action))
10870d02842fSSascha Wildner 
10880d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
10890d02842fSSascha Wildner ACPI_STATUS
10900d02842fSSascha Wildner AcpiGetGpeStatus (
10910d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
10920d02842fSSascha Wildner     UINT32                  GpeNumber,
10930d02842fSSascha Wildner     ACPI_EVENT_STATUS       *EventStatus))
10940d02842fSSascha Wildner 
1095e5412f1eSSascha Wildner ACPI_HW_DEPENDENT_RETURN_UINT32 (
1096e5412f1eSSascha Wildner UINT32
1097e5412f1eSSascha Wildner AcpiDispatchGpe (
1098e5412f1eSSascha Wildner     ACPI_HANDLE             GpeDevice,
1099e5412f1eSSascha Wildner     UINT32                  GpeNumber))
1100e5412f1eSSascha Wildner 
11010d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11020d02842fSSascha Wildner ACPI_STATUS
11030d02842fSSascha Wildner AcpiDisableAllGpes (
11040d02842fSSascha Wildner     void))
11050d02842fSSascha Wildner 
11060d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11070d02842fSSascha Wildner ACPI_STATUS
11080d02842fSSascha Wildner AcpiEnableAllRuntimeGpes (
11090d02842fSSascha Wildner     void))
11100d02842fSSascha Wildner 
11110d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11120d02842fSSascha Wildner ACPI_STATUS
1113fe7b5cb4SSascha Wildner AcpiEnableAllWakeupGpes (
1114fe7b5cb4SSascha Wildner     void))
1115fe7b5cb4SSascha Wildner 
1116ff3cb46dSSascha Wildner ACPI_HW_DEPENDENT_RETURN_UINT32 (
1117ff3cb46dSSascha Wildner     UINT32                  AcpiAnyGpeStatusSet (
1118ff3cb46dSSascha Wildner     void))
1119ff3cb46dSSascha Wildner 
1120fe7b5cb4SSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
1121fe7b5cb4SSascha Wildner ACPI_STATUS
11220d02842fSSascha Wildner AcpiGetGpeDevice (
11230d02842fSSascha Wildner     UINT32                  GpeIndex,
11240d02842fSSascha Wildner     ACPI_HANDLE             *GpeDevice))
11250d02842fSSascha Wildner 
11260d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11270d02842fSSascha Wildner ACPI_STATUS
11280d02842fSSascha Wildner AcpiInstallGpeBlock (
11290d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice,
11300d02842fSSascha Wildner     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
11310d02842fSSascha Wildner     UINT32                  RegisterCount,
11320d02842fSSascha Wildner     UINT32                  InterruptNumber))
11330d02842fSSascha Wildner 
11340d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
11350d02842fSSascha Wildner ACPI_STATUS
11360d02842fSSascha Wildner AcpiRemoveGpeBlock (
11370d02842fSSascha Wildner     ACPI_HANDLE             GpeDevice))
11380d02842fSSascha Wildner 
11390d02842fSSascha Wildner 
11400d02842fSSascha Wildner /*
11410d02842fSSascha Wildner  * Resource interfaces
11420d02842fSSascha Wildner  */
11430d02842fSSascha Wildner typedef
11440d02842fSSascha Wildner ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
11450d02842fSSascha Wildner     ACPI_RESOURCE           *Resource,
11460d02842fSSascha Wildner     void                    *Context);
11470d02842fSSascha Wildner 
11489e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11490d02842fSSascha Wildner ACPI_STATUS
11500d02842fSSascha Wildner AcpiGetVendorResource (
11510d02842fSSascha Wildner     ACPI_HANDLE             Device,
11520d02842fSSascha Wildner     char                    *Name,
11530d02842fSSascha Wildner     ACPI_VENDOR_UUID        *Uuid,
11549e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
11550d02842fSSascha Wildner 
11569e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11570d02842fSSascha Wildner ACPI_STATUS
11580d02842fSSascha Wildner AcpiGetCurrentResources (
11590d02842fSSascha Wildner     ACPI_HANDLE             Device,
11609e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
11610d02842fSSascha Wildner 
11629e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11630d02842fSSascha Wildner ACPI_STATUS
11640d02842fSSascha Wildner AcpiGetPossibleResources (
11650d02842fSSascha Wildner     ACPI_HANDLE             Device,
11669e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
11670d02842fSSascha Wildner 
11689e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11690d02842fSSascha Wildner ACPI_STATUS
11700d02842fSSascha Wildner AcpiGetEventResources (
11710d02842fSSascha Wildner     ACPI_HANDLE             DeviceHandle,
11729e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
11730d02842fSSascha Wildner 
11749e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11750d02842fSSascha Wildner ACPI_STATUS
11760d02842fSSascha Wildner AcpiWalkResourceBuffer (
11770d02842fSSascha Wildner     ACPI_BUFFER                 *Buffer,
11780d02842fSSascha Wildner     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
11799e1c0880SSascha Wildner     void                        *Context))
11800d02842fSSascha Wildner 
11819e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11820d02842fSSascha Wildner ACPI_STATUS
11830d02842fSSascha Wildner AcpiWalkResources (
11840d02842fSSascha Wildner     ACPI_HANDLE                 Device,
11850d02842fSSascha Wildner     char                        *Name,
11860d02842fSSascha Wildner     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
11879e1c0880SSascha Wildner     void                        *Context))
11880d02842fSSascha Wildner 
11899e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11900d02842fSSascha Wildner ACPI_STATUS
11910d02842fSSascha Wildner AcpiSetCurrentResources (
11920d02842fSSascha Wildner     ACPI_HANDLE             Device,
11939e1c0880SSascha Wildner     ACPI_BUFFER             *InBuffer))
11940d02842fSSascha Wildner 
11959e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
11960d02842fSSascha Wildner ACPI_STATUS
11970d02842fSSascha Wildner AcpiGetIrqRoutingTable (
11980d02842fSSascha Wildner     ACPI_HANDLE             Device,
11999e1c0880SSascha Wildner     ACPI_BUFFER             *RetBuffer))
12000d02842fSSascha Wildner 
12019e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12020d02842fSSascha Wildner ACPI_STATUS
12030d02842fSSascha Wildner AcpiResourceToAddress64 (
12040d02842fSSascha Wildner     ACPI_RESOURCE           *Resource,
12059e1c0880SSascha Wildner     ACPI_RESOURCE_ADDRESS64 *Out))
12060d02842fSSascha Wildner 
12079e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12080d02842fSSascha Wildner ACPI_STATUS
12090d02842fSSascha Wildner AcpiBufferToResource (
12100d02842fSSascha Wildner     UINT8                   *AmlBuffer,
12110d02842fSSascha Wildner     UINT16                  AmlBufferLength,
12129e1c0880SSascha Wildner     ACPI_RESOURCE           **ResourcePtr))
12130d02842fSSascha Wildner 
12140d02842fSSascha Wildner 
12150d02842fSSascha Wildner /*
12160d02842fSSascha Wildner  * Hardware (ACPI device) interfaces
12170d02842fSSascha Wildner  */
12189e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12190d02842fSSascha Wildner ACPI_STATUS
12200d02842fSSascha Wildner AcpiReset (
12219e1c0880SSascha Wildner     void))
12220d02842fSSascha Wildner 
12239e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12240d02842fSSascha Wildner ACPI_STATUS
12250d02842fSSascha Wildner AcpiRead (
12260d02842fSSascha Wildner     UINT64                  *Value,
12279e1c0880SSascha Wildner     ACPI_GENERIC_ADDRESS    *Reg))
12280d02842fSSascha Wildner 
12299e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12300d02842fSSascha Wildner ACPI_STATUS
12310d02842fSSascha Wildner AcpiWrite (
12320d02842fSSascha Wildner     UINT64                  Value,
12339e1c0880SSascha Wildner     ACPI_GENERIC_ADDRESS    *Reg))
12340d02842fSSascha Wildner 
12350d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
12360d02842fSSascha Wildner ACPI_STATUS
12370d02842fSSascha Wildner AcpiReadBitRegister (
12380d02842fSSascha Wildner     UINT32                  RegisterId,
12390d02842fSSascha Wildner     UINT32                  *ReturnValue))
12400d02842fSSascha Wildner 
12410d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
12420d02842fSSascha Wildner ACPI_STATUS
12430d02842fSSascha Wildner AcpiWriteBitRegister (
12440d02842fSSascha Wildner     UINT32                  RegisterId,
12450d02842fSSascha Wildner     UINT32                  Value))
12460d02842fSSascha Wildner 
12470d02842fSSascha Wildner 
12480d02842fSSascha Wildner /*
12490d02842fSSascha Wildner  * Sleep/Wake interfaces
12500d02842fSSascha Wildner  */
12519e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12520d02842fSSascha Wildner ACPI_STATUS
12530d02842fSSascha Wildner AcpiGetSleepTypeData (
12540d02842fSSascha Wildner     UINT8                   SleepState,
12550d02842fSSascha Wildner     UINT8                   *Slp_TypA,
12569e1c0880SSascha Wildner     UINT8                   *Slp_TypB))
12570d02842fSSascha Wildner 
12589e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12590d02842fSSascha Wildner ACPI_STATUS
12600d02842fSSascha Wildner AcpiEnterSleepStatePrep (
12619e1c0880SSascha Wildner     UINT8                   SleepState))
12620d02842fSSascha Wildner 
12639e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12640d02842fSSascha Wildner ACPI_STATUS
12650d02842fSSascha Wildner AcpiEnterSleepState (
12669e1c0880SSascha Wildner     UINT8                   SleepState))
12670d02842fSSascha Wildner 
12680d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
12690d02842fSSascha Wildner ACPI_STATUS
12700d02842fSSascha Wildner AcpiEnterSleepStateS4bios (
12710d02842fSSascha Wildner     void))
12720d02842fSSascha Wildner 
12739e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12740d02842fSSascha Wildner ACPI_STATUS
12750d02842fSSascha Wildner AcpiLeaveSleepStatePrep (
12769e1c0880SSascha Wildner     UINT8                   SleepState))
12770d02842fSSascha Wildner 
12789e1c0880SSascha Wildner ACPI_EXTERNAL_RETURN_STATUS (
12790d02842fSSascha Wildner ACPI_STATUS
12800d02842fSSascha Wildner AcpiLeaveSleepState (
12819e1c0880SSascha Wildner     UINT8                   SleepState))
12820d02842fSSascha Wildner 
12830d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
12840d02842fSSascha Wildner ACPI_STATUS
12850d02842fSSascha Wildner AcpiSetFirmwareWakingVector (
128625ca8c79SSascha Wildner     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
128725ca8c79SSascha Wildner     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
12880d02842fSSascha Wildner 
12890d02842fSSascha Wildner 
12900d02842fSSascha Wildner /*
12910d02842fSSascha Wildner  * ACPI Timer interfaces
12920d02842fSSascha Wildner  */
12930d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
12940d02842fSSascha Wildner ACPI_STATUS
12950d02842fSSascha Wildner AcpiGetTimerResolution (
12960d02842fSSascha Wildner     UINT32                  *Resolution))
12970d02842fSSascha Wildner 
12980d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
12990d02842fSSascha Wildner ACPI_STATUS
13000d02842fSSascha Wildner AcpiGetTimer (
13010d02842fSSascha Wildner     UINT32                  *Ticks))
13020d02842fSSascha Wildner 
13030d02842fSSascha Wildner ACPI_HW_DEPENDENT_RETURN_STATUS (
13040d02842fSSascha Wildner ACPI_STATUS
13050d02842fSSascha Wildner AcpiGetTimerDuration (
13060d02842fSSascha Wildner     UINT32                  StartTicks,
13070d02842fSSascha Wildner     UINT32                  EndTicks,
13080d02842fSSascha Wildner     UINT32                  *TimeElapsed))
13090d02842fSSascha Wildner 
13100d02842fSSascha Wildner 
13110d02842fSSascha Wildner /*
13120d02842fSSascha Wildner  * Error/Warning output
13130d02842fSSascha Wildner  */
13149e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
13150d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
13160d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13170d02842fSSascha Wildner AcpiError (
13180d02842fSSascha Wildner     const char              *ModuleName,
13190d02842fSSascha Wildner     UINT32                  LineNumber,
13200d02842fSSascha Wildner     const char              *Format,
13219e1c0880SSascha Wildner     ...))
13220d02842fSSascha Wildner 
13239e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
13240d02842fSSascha Wildner ACPI_PRINTF_LIKE(4)
13250d02842fSSascha Wildner void  ACPI_INTERNAL_VAR_XFACE
13260d02842fSSascha Wildner AcpiException (
13270d02842fSSascha Wildner     const char              *ModuleName,
13280d02842fSSascha Wildner     UINT32                  LineNumber,
13290d02842fSSascha Wildner     ACPI_STATUS             Status,
13300d02842fSSascha Wildner     const char              *Format,
13319e1c0880SSascha Wildner     ...))
13320d02842fSSascha Wildner 
13339e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
13340d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
13350d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13360d02842fSSascha Wildner AcpiWarning (
13370d02842fSSascha Wildner     const char              *ModuleName,
13380d02842fSSascha Wildner     UINT32                  LineNumber,
13390d02842fSSascha Wildner     const char              *Format,
13409e1c0880SSascha Wildner     ...))
13410d02842fSSascha Wildner 
13429e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
13437c9678bcSSascha Wildner ACPI_PRINTF_LIKE(1)
13440d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13450d02842fSSascha Wildner AcpiInfo (
13460d02842fSSascha Wildner     const char              *Format,
13479e1c0880SSascha Wildner     ...))
13480d02842fSSascha Wildner 
13499e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
13500d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
13510d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13520d02842fSSascha Wildner AcpiBiosError (
13530d02842fSSascha Wildner     const char              *ModuleName,
13540d02842fSSascha Wildner     UINT32                  LineNumber,
13550d02842fSSascha Wildner     const char              *Format,
13569e1c0880SSascha Wildner     ...))
13570d02842fSSascha Wildner 
13589e1c0880SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
1359ff4021a0SSascha Wildner ACPI_PRINTF_LIKE(4)
1360ff4021a0SSascha Wildner void  ACPI_INTERNAL_VAR_XFACE
1361ff4021a0SSascha Wildner AcpiBiosException (
1362ff4021a0SSascha Wildner     const char              *ModuleName,
1363ff4021a0SSascha Wildner     UINT32                  LineNumber,
1364ff4021a0SSascha Wildner     ACPI_STATUS             Status,
1365ff4021a0SSascha Wildner     const char              *Format,
1366ff4021a0SSascha Wildner     ...))
1367ff4021a0SSascha Wildner 
1368ff4021a0SSascha Wildner ACPI_MSG_DEPENDENT_RETURN_VOID (
13690d02842fSSascha Wildner ACPI_PRINTF_LIKE(3)
13700d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13710d02842fSSascha Wildner AcpiBiosWarning (
13720d02842fSSascha Wildner     const char              *ModuleName,
13730d02842fSSascha Wildner     UINT32                  LineNumber,
13740d02842fSSascha Wildner     const char              *Format,
13759e1c0880SSascha Wildner     ...))
13760d02842fSSascha Wildner 
13770d02842fSSascha Wildner 
13780d02842fSSascha Wildner /*
13790d02842fSSascha Wildner  * Debug output
13800d02842fSSascha Wildner  */
13819e1c0880SSascha Wildner ACPI_DBG_DEPENDENT_RETURN_VOID (
13820d02842fSSascha Wildner ACPI_PRINTF_LIKE(6)
13830d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13840d02842fSSascha Wildner AcpiDebugPrint (
13850d02842fSSascha Wildner     UINT32                  RequestedDebugLevel,
13860d02842fSSascha Wildner     UINT32                  LineNumber,
13870d02842fSSascha Wildner     const char              *FunctionName,
13880d02842fSSascha Wildner     const char              *ModuleName,
13890d02842fSSascha Wildner     UINT32                  ComponentId,
13900d02842fSSascha Wildner     const char              *Format,
13919e1c0880SSascha Wildner     ...))
13920d02842fSSascha Wildner 
13939e1c0880SSascha Wildner ACPI_DBG_DEPENDENT_RETURN_VOID (
13940d02842fSSascha Wildner ACPI_PRINTF_LIKE(6)
13950d02842fSSascha Wildner void ACPI_INTERNAL_VAR_XFACE
13960d02842fSSascha Wildner AcpiDebugPrintRaw (
13970d02842fSSascha Wildner     UINT32                  RequestedDebugLevel,
13980d02842fSSascha Wildner     UINT32                  LineNumber,
13990d02842fSSascha Wildner     const char              *FunctionName,
14000d02842fSSascha Wildner     const char              *ModuleName,
14010d02842fSSascha Wildner     UINT32                  ComponentId,
14020d02842fSSascha Wildner     const char              *Format,
14039e1c0880SSascha Wildner     ...))
14040d02842fSSascha Wildner 
1405267c04fdSSascha Wildner ACPI_DBG_DEPENDENT_RETURN_VOID (
1406267c04fdSSascha Wildner void
1407267c04fdSSascha Wildner AcpiTracePoint (
1408267c04fdSSascha Wildner     ACPI_TRACE_EVENT_TYPE   Type,
1409267c04fdSSascha Wildner     BOOLEAN                 Begin,
1410267c04fdSSascha Wildner     UINT8                   *Aml,
1411267c04fdSSascha Wildner     char                    *Pathname))
1412267c04fdSSascha Wildner 
14133cc0afc6SSascha Wildner ACPI_STATUS
14143cc0afc6SSascha Wildner AcpiInitializeDebugger (
14153cc0afc6SSascha Wildner     void);
14163cc0afc6SSascha Wildner 
14173cc0afc6SSascha Wildner void
14183cc0afc6SSascha Wildner AcpiTerminateDebugger (
14193cc0afc6SSascha Wildner     void);
14203cc0afc6SSascha Wildner 
1421820c5b08SSascha Wildner void
142238b5d46cSSascha Wildner AcpiRunDebugger (
142338b5d46cSSascha Wildner     char                    *BatchBuffer);
142438b5d46cSSascha Wildner 
142538b5d46cSSascha Wildner void
1426820c5b08SSascha Wildner AcpiSetDebuggerThreadId (
1427820c5b08SSascha Wildner     ACPI_THREAD_ID          ThreadId);
1428820c5b08SSascha Wildner 
14290d02842fSSascha Wildner #endif /* __ACXFACE_H__ */
1430