xref: /illumos-gate/usr/src/uts/intel/sys/acpi/acpixf.h (revision 35786f68)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acpixf.h - External interfaces to the ACPI subsystem
47c478bd9Sstevel@tonic-gate  *
57c478bd9Sstevel@tonic-gate  *****************************************************************************/
67c478bd9Sstevel@tonic-gate 
7*35786f68SRobert Mustacchi /******************************************************************************
8*35786f68SRobert Mustacchi  *
9*35786f68SRobert Mustacchi  * 1. Copyright Notice
10*35786f68SRobert Mustacchi  *
11*35786f68SRobert Mustacchi  * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
127c478bd9Sstevel@tonic-gate  * All rights reserved.
137c478bd9Sstevel@tonic-gate  *
14*35786f68SRobert Mustacchi  * 2. License
15*35786f68SRobert Mustacchi  *
16*35786f68SRobert Mustacchi  * 2.1. This is your license from Intel Corp. under its intellectual property
17*35786f68SRobert Mustacchi  * rights. You may have additional license terms from the party that provided
18*35786f68SRobert Mustacchi  * you this software, covering your right to use that party's intellectual
19*35786f68SRobert Mustacchi  * property rights.
20*35786f68SRobert Mustacchi  *
21*35786f68SRobert Mustacchi  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22*35786f68SRobert Mustacchi  * copy of the source code appearing in this file ("Covered Code") an
23*35786f68SRobert Mustacchi  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24*35786f68SRobert Mustacchi  * base code distributed originally by Intel ("Original Intel Code") to copy,
25*35786f68SRobert Mustacchi  * make derivatives, distribute, use and display any portion of the Covered
26*35786f68SRobert Mustacchi  * Code in any form, with the right to sublicense such rights; and
27*35786f68SRobert Mustacchi  *
28*35786f68SRobert Mustacchi  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29*35786f68SRobert Mustacchi  * license (with the right to sublicense), under only those claims of Intel
30*35786f68SRobert Mustacchi  * patents that are infringed by the Original Intel Code, to make, use, sell,
31*35786f68SRobert Mustacchi  * offer to sell, and import the Covered Code and derivative works thereof
32*35786f68SRobert Mustacchi  * solely to the minimum extent necessary to exercise the above copyright
33*35786f68SRobert Mustacchi  * license, and in no event shall the patent license extend to any additions
34*35786f68SRobert Mustacchi  * to or modifications of the Original Intel Code. No other license or right
35*35786f68SRobert Mustacchi  * is granted directly or by implication, estoppel or otherwise;
36*35786f68SRobert Mustacchi  *
37*35786f68SRobert Mustacchi  * The above copyright and patent license is granted only if the following
38*35786f68SRobert Mustacchi  * conditions are met:
39*35786f68SRobert Mustacchi  *
40*35786f68SRobert Mustacchi  * 3. Conditions
41*35786f68SRobert Mustacchi  *
42*35786f68SRobert Mustacchi  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43*35786f68SRobert Mustacchi  * Redistribution of source code of any substantial portion of the Covered
44*35786f68SRobert Mustacchi  * Code or modification with rights to further distribute source must include
45*35786f68SRobert Mustacchi  * the above Copyright Notice, the above License, this list of Conditions,
46*35786f68SRobert Mustacchi  * and the following Disclaimer and Export Compliance provision. In addition,
47*35786f68SRobert Mustacchi  * Licensee must cause all Covered Code to which Licensee contributes to
48*35786f68SRobert Mustacchi  * contain a file documenting the changes Licensee made to create that Covered
49*35786f68SRobert Mustacchi  * Code and the date of any change. Licensee must include in that file the
50*35786f68SRobert Mustacchi  * documentation of any changes made by any predecessor Licensee. Licensee
51*35786f68SRobert Mustacchi  * must include a prominent statement that the modification is derived,
52*35786f68SRobert Mustacchi  * directly or indirectly, from Original Intel Code.
53*35786f68SRobert Mustacchi  *
54*35786f68SRobert Mustacchi  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55*35786f68SRobert Mustacchi  * Redistribution of source code of any substantial portion of the Covered
56*35786f68SRobert Mustacchi  * Code or modification without rights to further distribute source must
57*35786f68SRobert Mustacchi  * include the following Disclaimer and Export Compliance provision in the
58*35786f68SRobert Mustacchi  * documentation and/or other materials provided with distribution. In
59*35786f68SRobert Mustacchi  * addition, Licensee may not authorize further sublicense of source of any
60*35786f68SRobert Mustacchi  * portion of the Covered Code, and must include terms to the effect that the
61*35786f68SRobert Mustacchi  * license from Licensee to its licensee is limited to the intellectual
62*35786f68SRobert Mustacchi  * property embodied in the software Licensee provides to its licensee, and
63*35786f68SRobert Mustacchi  * not to intellectual property embodied in modifications its licensee may
64*35786f68SRobert Mustacchi  * make.
65*35786f68SRobert Mustacchi  *
66*35786f68SRobert Mustacchi  * 3.3. Redistribution of Executable. Redistribution in executable form of any
67*35786f68SRobert Mustacchi  * substantial portion of the Covered Code or modification must reproduce the
68*35786f68SRobert Mustacchi  * above Copyright Notice, and the following Disclaimer and Export Compliance
69*35786f68SRobert Mustacchi  * provision in the documentation and/or other materials provided with the
70*35786f68SRobert Mustacchi  * distribution.
71*35786f68SRobert Mustacchi  *
72*35786f68SRobert Mustacchi  * 3.4. Intel retains all right, title, and interest in and to the Original
73*35786f68SRobert Mustacchi  * Intel Code.
74*35786f68SRobert Mustacchi  *
75*35786f68SRobert Mustacchi  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76*35786f68SRobert Mustacchi  * Intel shall be used in advertising or otherwise to promote the sale, use or
77*35786f68SRobert Mustacchi  * other dealings in products derived from or relating to the Covered Code
78*35786f68SRobert Mustacchi  * without prior written authorization from Intel.
79*35786f68SRobert Mustacchi  *
80*35786f68SRobert Mustacchi  * 4. Disclaimer and Export Compliance
81*35786f68SRobert Mustacchi  *
82*35786f68SRobert Mustacchi  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83*35786f68SRobert Mustacchi  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84*35786f68SRobert Mustacchi  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85*35786f68SRobert Mustacchi  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86*35786f68SRobert Mustacchi  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87*35786f68SRobert Mustacchi  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
88*35786f68SRobert Mustacchi  * PARTICULAR PURPOSE.
89*35786f68SRobert Mustacchi  *
90*35786f68SRobert Mustacchi  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91*35786f68SRobert Mustacchi  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92*35786f68SRobert Mustacchi  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93*35786f68SRobert Mustacchi  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94*35786f68SRobert Mustacchi  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95*35786f68SRobert Mustacchi  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96*35786f68SRobert Mustacchi  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
97*35786f68SRobert Mustacchi  * LIMITED REMEDY.
98*35786f68SRobert Mustacchi  *
99*35786f68SRobert Mustacchi  * 4.3. Licensee shall not export, either directly or indirectly, any of this
100*35786f68SRobert Mustacchi  * software or system incorporating such software without first obtaining any
101*35786f68SRobert Mustacchi  * required license or other approval from the U. S. Department of Commerce or
102*35786f68SRobert Mustacchi  * any other agency or department of the United States Government. In the
103*35786f68SRobert Mustacchi  * event Licensee exports any such software from the United States or
104*35786f68SRobert Mustacchi  * re-exports any such software from a foreign destination, Licensee shall
105*35786f68SRobert Mustacchi  * ensure that the distribution and export/re-export of the software is in
106*35786f68SRobert Mustacchi  * compliance with all laws, regulations, orders, or other restrictions of the
107*35786f68SRobert Mustacchi  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108*35786f68SRobert Mustacchi  * any of its subsidiaries will export/re-export any technical data, process,
109*35786f68SRobert Mustacchi  * software, or service, directly or indirectly, to any country for which the
110*35786f68SRobert Mustacchi  * United States government or any agency thereof requires an export license,
111*35786f68SRobert Mustacchi  * other governmental approval, or letter of assurance, without first obtaining
112*35786f68SRobert Mustacchi  * such license, approval or letter.
113*35786f68SRobert Mustacchi  *
114*35786f68SRobert Mustacchi  *****************************************************************************
115*35786f68SRobert Mustacchi  *
116*35786f68SRobert Mustacchi  * Alternatively, you may choose to be licensed under the terms of the
117*35786f68SRobert Mustacchi  * following license:
118*35786f68SRobert Mustacchi  *
11926f3cdf0SGordon Ross  * Redistribution and use in source and binary forms, with or without
12026f3cdf0SGordon Ross  * modification, are permitted provided that the following conditions
12126f3cdf0SGordon Ross  * are met:
12226f3cdf0SGordon Ross  * 1. Redistributions of source code must retain the above copyright
12326f3cdf0SGordon Ross  *    notice, this list of conditions, and the following disclaimer,
12426f3cdf0SGordon Ross  *    without modification.
12526f3cdf0SGordon Ross  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
12626f3cdf0SGordon Ross  *    substantially similar to the "NO WARRANTY" disclaimer below
12726f3cdf0SGordon Ross  *    ("Disclaimer") and any redistribution must be conditioned upon
12826f3cdf0SGordon Ross  *    including a substantially similar Disclaimer requirement for further
12926f3cdf0SGordon Ross  *    binary redistribution.
13026f3cdf0SGordon Ross  * 3. Neither the names of the above-listed copyright holders nor the names
13126f3cdf0SGordon Ross  *    of any contributors may be used to endorse or promote products derived
13226f3cdf0SGordon Ross  *    from this software without specific prior written permission.
1337c478bd9Sstevel@tonic-gate  *
13426f3cdf0SGordon Ross  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
13526f3cdf0SGordon Ross  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
136*35786f68SRobert Mustacchi  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
13726f3cdf0SGordon Ross  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
138*35786f68SRobert Mustacchi  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
139*35786f68SRobert Mustacchi  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
140*35786f68SRobert Mustacchi  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
141*35786f68SRobert Mustacchi  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
142*35786f68SRobert Mustacchi  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
143*35786f68SRobert Mustacchi  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144*35786f68SRobert Mustacchi  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145*35786f68SRobert Mustacchi  *
146*35786f68SRobert Mustacchi  * Alternatively, you may choose to be licensed under the terms of the
147*35786f68SRobert Mustacchi  * GNU General Public License ("GPL") version 2 as published by the Free
148*35786f68SRobert Mustacchi  * Software Foundation.
149*35786f68SRobert Mustacchi  *
150*35786f68SRobert Mustacchi  *****************************************************************************/
1517c478bd9Sstevel@tonic-gate 
1527c478bd9Sstevel@tonic-gate #ifndef __ACXFACE_H__
1537c478bd9Sstevel@tonic-gate #define __ACXFACE_H__
1547c478bd9Sstevel@tonic-gate 
155aa2aa9a6SDana Myers /* Current ACPICA subsystem version in YYYYMMDD format */
156aa2aa9a6SDana Myers 
157*35786f68SRobert Mustacchi #define ACPI_CA_VERSION                 0x20180629
158aa2aa9a6SDana Myers 
1597b1019a6SJerry Jelinek #include "acconfig.h"
1607c478bd9Sstevel@tonic-gate #include "actypes.h"
1617c478bd9Sstevel@tonic-gate #include "actbl.h"
1627b1019a6SJerry Jelinek #include "acbuffer.h"
1637b1019a6SJerry Jelinek 
1647b1019a6SJerry Jelinek 
1657b1019a6SJerry Jelinek /*****************************************************************************
1667b1019a6SJerry Jelinek  *
1677b1019a6SJerry Jelinek  * Macros used for ACPICA globals and configuration
1687b1019a6SJerry Jelinek  *
1697b1019a6SJerry Jelinek  ****************************************************************************/
1707b1019a6SJerry Jelinek 
1717b1019a6SJerry Jelinek /*
1727b1019a6SJerry Jelinek  * Ensure that global variables are defined and initialized only once.
1737b1019a6SJerry Jelinek  *
1747b1019a6SJerry Jelinek  * The use of these macros allows for a single list of globals (here)
1757b1019a6SJerry Jelinek  * in order to simplify maintenance of the code.
1767b1019a6SJerry Jelinek  */
1777b1019a6SJerry Jelinek #ifdef DEFINE_ACPI_GLOBALS
1787b1019a6SJerry Jelinek #define ACPI_GLOBAL(type,name) \
1797b1019a6SJerry Jelinek     extern type name; \
1807b1019a6SJerry Jelinek     type name
1817b1019a6SJerry Jelinek 
1827b1019a6SJerry Jelinek #define ACPI_INIT_GLOBAL(type,name,value) \
1837b1019a6SJerry Jelinek     type name=value
1847b1019a6SJerry Jelinek 
1857b1019a6SJerry Jelinek #else
1867b1019a6SJerry Jelinek #ifndef ACPI_GLOBAL
1877b1019a6SJerry Jelinek #define ACPI_GLOBAL(type,name) \
1887b1019a6SJerry Jelinek     extern type name
1897b1019a6SJerry Jelinek #endif
1907b1019a6SJerry Jelinek 
1917b1019a6SJerry Jelinek #ifndef ACPI_INIT_GLOBAL
1927b1019a6SJerry Jelinek #define ACPI_INIT_GLOBAL(type,name,value) \
1937b1019a6SJerry Jelinek     extern type name
1947b1019a6SJerry Jelinek #endif
1957b1019a6SJerry Jelinek #endif
1967b1019a6SJerry Jelinek 
1977b1019a6SJerry Jelinek /*
1987b1019a6SJerry Jelinek  * These macros configure the various ACPICA interfaces. They are
1997b1019a6SJerry Jelinek  * useful for generating stub inline functions for features that are
2007b1019a6SJerry Jelinek  * configured out of the current kernel or ACPICA application.
2017b1019a6SJerry Jelinek  */
2027b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_STATUS
2037b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
2047b1019a6SJerry Jelinek     Prototype;
2057b1019a6SJerry Jelinek #endif
2067b1019a6SJerry Jelinek 
2077b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_OK
2087b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
2097b1019a6SJerry Jelinek     Prototype;
2107b1019a6SJerry Jelinek #endif
2117b1019a6SJerry Jelinek 
2127b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_VOID
2137b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
2147b1019a6SJerry Jelinek     Prototype;
2157b1019a6SJerry Jelinek #endif
2167b1019a6SJerry Jelinek 
2177b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_UINT32
2187b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
2197b1019a6SJerry Jelinek     Prototype;
2207b1019a6SJerry Jelinek #endif
2217b1019a6SJerry Jelinek 
2227b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_PTR
2237b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
2247b1019a6SJerry Jelinek     Prototype;
2257b1019a6SJerry Jelinek #endif
2267b1019a6SJerry Jelinek 
2277b1019a6SJerry Jelinek 
2287b1019a6SJerry Jelinek /*****************************************************************************
2297b1019a6SJerry Jelinek  *
2307b1019a6SJerry Jelinek  * Public globals and runtime configuration options
2317b1019a6SJerry Jelinek  *
2327b1019a6SJerry Jelinek  ****************************************************************************/
2337b1019a6SJerry Jelinek 
2347b1019a6SJerry Jelinek /*
2357b1019a6SJerry Jelinek  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
2367b1019a6SJerry Jelinek  * interpreter strictly follows the ACPI specification. Setting to TRUE
2377b1019a6SJerry Jelinek  * allows the interpreter to ignore certain errors and/or bad AML constructs.
2387b1019a6SJerry Jelinek  *
2397b1019a6SJerry Jelinek  * Currently, these features are enabled by this flag:
2407b1019a6SJerry Jelinek  *
2417b1019a6SJerry Jelinek  * 1) Allow "implicit return" of last value in a control method
2427b1019a6SJerry Jelinek  * 2) Allow access beyond the end of an operation region
2437b1019a6SJerry Jelinek  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
2447b1019a6SJerry Jelinek  * 4) Allow ANY object type to be a source operand for the Store() operator
2457b1019a6SJerry Jelinek  * 5) Allow unresolved references (invalid target name) in package objects
2467b1019a6SJerry Jelinek  * 6) Enable warning messages for behavior that is not ACPI spec compliant
2477b1019a6SJerry Jelinek  */
2487b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
2497b1019a6SJerry Jelinek 
2507b1019a6SJerry Jelinek /*
2517b1019a6SJerry Jelinek  * Automatically serialize all methods that create named objects? Default
2527b1019a6SJerry Jelinek  * is TRUE, meaning that all NonSerialized methods are scanned once at
2537b1019a6SJerry Jelinek  * table load time to determine those that create named objects. Methods
2547b1019a6SJerry Jelinek  * that create named objects are marked Serialized in order to prevent
2557b1019a6SJerry Jelinek  * possible run-time problems if they are entered by more than one thread.
2567b1019a6SJerry Jelinek  */
2577b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
2587b1019a6SJerry Jelinek 
2597b1019a6SJerry Jelinek /*
2607b1019a6SJerry Jelinek  * Create the predefined _OSI method in the namespace? Default is TRUE
2617b1019a6SJerry Jelinek  * because ACPICA is fully compatible with other ACPI implementations.
2627b1019a6SJerry Jelinek  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
2637b1019a6SJerry Jelinek  */
2647b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
2657b1019a6SJerry Jelinek 
2667b1019a6SJerry Jelinek /*
2677b1019a6SJerry Jelinek  * Optionally use default values for the ACPI register widths. Set this to
2687b1019a6SJerry Jelinek  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
2697b1019a6SJerry Jelinek  */
2707b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
2717b1019a6SJerry Jelinek 
2727b1019a6SJerry Jelinek /*
273*35786f68SRobert Mustacchi  * Whether or not to validate (map) an entire table to verify
274*35786f68SRobert Mustacchi  * checksum/duplication in early stage before install. Set this to TRUE to
275*35786f68SRobert Mustacchi  * allow early table validation before install it to the table manager.
276*35786f68SRobert Mustacchi  * Note that enabling this option causes errors to happen in some OSPMs
277*35786f68SRobert Mustacchi  * during early initialization stages. Default behavior is to allow such
278*35786f68SRobert Mustacchi  * validation.
2797b1019a6SJerry Jelinek  */
280*35786f68SRobert Mustacchi ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableTableValidation, TRUE);
2817b1019a6SJerry Jelinek 
2827b1019a6SJerry Jelinek /*
2837b1019a6SJerry Jelinek  * Optionally enable output from the AML Debug Object.
2847b1019a6SJerry Jelinek  */
2857b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
2867b1019a6SJerry Jelinek 
2877b1019a6SJerry Jelinek /*
2887b1019a6SJerry Jelinek  * Optionally copy the entire DSDT to local memory (instead of simply
2897b1019a6SJerry Jelinek  * mapping it.) There are some BIOSs that corrupt or replace the original
2907b1019a6SJerry Jelinek  * DSDT, creating the need for this option. Default is FALSE, do not copy
2917b1019a6SJerry Jelinek  * the DSDT.
2927b1019a6SJerry Jelinek  */
2937b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
2947b1019a6SJerry Jelinek 
2957b1019a6SJerry Jelinek /*
2967b1019a6SJerry Jelinek  * Optionally ignore an XSDT if present and use the RSDT instead.
2977b1019a6SJerry Jelinek  * Although the ACPI specification requires that an XSDT be used instead
2987b1019a6SJerry Jelinek  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
2997b1019a6SJerry Jelinek  * some machines. Default behavior is to use the XSDT if present.
3007b1019a6SJerry Jelinek  */
3017b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
3027b1019a6SJerry Jelinek 
3037b1019a6SJerry Jelinek /*
3047b1019a6SJerry Jelinek  * Optionally support group module level code.
305*35786f68SRobert Mustacchi  * NOTE, this is essentially obsolete and will be removed soon
306*35786f68SRobert Mustacchi  * (01/2018).
3077b1019a6SJerry Jelinek  */
3087b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_GroupModuleLevelCode, FALSE);
3097b1019a6SJerry Jelinek 
310*35786f68SRobert Mustacchi /*
311*35786f68SRobert Mustacchi  * Optionally support module level code by parsing an entire table as
312*35786f68SRobert Mustacchi  * a method as it is loaded. Default is TRUE.
313*35786f68SRobert Mustacchi  * NOTE, this is essentially obsolete and will be removed soon
314*35786f68SRobert Mustacchi  * (01/2018).
315*35786f68SRobert Mustacchi  */
316*35786f68SRobert Mustacchi ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_ExecuteTablesAsMethods, TRUE);
317*35786f68SRobert Mustacchi 
3187b1019a6SJerry Jelinek /*
3197b1019a6SJerry Jelinek  * Optionally use 32-bit FADT addresses if and when there is a conflict
3207b1019a6SJerry Jelinek  * (address mismatch) between the 32-bit and 64-bit versions of the
3217b1019a6SJerry Jelinek  * address. Although ACPICA adheres to the ACPI specification which
3227b1019a6SJerry Jelinek  * requires the use of the corresponding 64-bit address if it is non-zero,
3237b1019a6SJerry Jelinek  * some machines have been found to have a corrupted non-zero 64-bit
3247b1019a6SJerry Jelinek  * address. Default is FALSE, do not favor the 32-bit addresses.
3257b1019a6SJerry Jelinek  */
3267b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
3277b1019a6SJerry Jelinek 
3287b1019a6SJerry Jelinek /*
3297b1019a6SJerry Jelinek  * Optionally use 32-bit FACS table addresses.
3307b1019a6SJerry Jelinek  * It is reported that some platforms fail to resume from system suspending
3317b1019a6SJerry Jelinek  * if 64-bit FACS table address is selected:
3327b1019a6SJerry Jelinek  * https://bugzilla.kernel.org/show_bug.cgi?id=74021
3337b1019a6SJerry Jelinek  * Default is TRUE, favor the 32-bit addresses.
3347b1019a6SJerry Jelinek  */
3357b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFacsAddresses, TRUE);
3367b1019a6SJerry Jelinek 
3377b1019a6SJerry Jelinek /*
3387b1019a6SJerry Jelinek  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
3397b1019a6SJerry Jelinek  * with other ACPI implementations. NOTE: During ACPICA initialization,
3407b1019a6SJerry Jelinek  * this value is set to TRUE if any Windows OSI strings have been
3417b1019a6SJerry Jelinek  * requested by the BIOS.
3427b1019a6SJerry Jelinek  */
3437b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
3447b1019a6SJerry Jelinek 
3457b1019a6SJerry Jelinek /*
3467b1019a6SJerry Jelinek  * Disable runtime checking and repair of values returned by control methods.
3477b1019a6SJerry Jelinek  * Use only if the repair is causing a problem on a particular machine.
3487b1019a6SJerry Jelinek  */
3497b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
3507b1019a6SJerry Jelinek 
3517b1019a6SJerry Jelinek /*
3527b1019a6SJerry Jelinek  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
3537b1019a6SJerry Jelinek  * This can be useful for debugging ACPI problems on some machines.
3547b1019a6SJerry Jelinek  */
3557b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
3567b1019a6SJerry Jelinek 
3577b1019a6SJerry Jelinek /*
3587b1019a6SJerry Jelinek  * Optionally enable runtime namespace override.
3597b1019a6SJerry Jelinek  */
3607b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_RuntimeNamespaceOverride, TRUE);
3617b1019a6SJerry Jelinek 
3627b1019a6SJerry Jelinek /*
3637b1019a6SJerry Jelinek  * We keep track of the latest version of Windows that has been requested by
3647b1019a6SJerry Jelinek  * the BIOS. ACPI 5.0.
3657b1019a6SJerry Jelinek  */
3667b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
3677b1019a6SJerry Jelinek 
3687b1019a6SJerry Jelinek /*
3697b1019a6SJerry Jelinek  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
3707b1019a6SJerry Jelinek  * that the ACPI hardware is no longer required. A flag in the FADT indicates
3717b1019a6SJerry Jelinek  * a reduced HW machine, and that flag is duplicated here for convenience.
3727b1019a6SJerry Jelinek  */
3737b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
3747b1019a6SJerry Jelinek 
375*35786f68SRobert Mustacchi /*
376*35786f68SRobert Mustacchi  * Maximum timeout for While() loop iterations before forced method abort.
377*35786f68SRobert Mustacchi  * This mechanism is intended to prevent infinite loops during interpreter
378*35786f68SRobert Mustacchi  * execution within a host kernel.
379*35786f68SRobert Mustacchi  */
380*35786f68SRobert Mustacchi ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_TIMEOUT);
381*35786f68SRobert Mustacchi 
382*35786f68SRobert Mustacchi /*
383*35786f68SRobert Mustacchi  * Optionally ignore AE_NOT_FOUND errors from named reference package elements
384*35786f68SRobert Mustacchi  * during DSDT/SSDT table loading. This reduces error "noise" in platforms
385*35786f68SRobert Mustacchi  * whose firmware is carrying around a bunch of unused package objects that
386*35786f68SRobert Mustacchi  * refer to non-existent named objects. However, If the AML actually tries to
387*35786f68SRobert Mustacchi  * use such a package, the unresolved element(s) will be replaced with NULL
388*35786f68SRobert Mustacchi  * elements.
389*35786f68SRobert Mustacchi  */
390*35786f68SRobert Mustacchi ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_IgnorePackageResolutionErrors, FALSE);
391*35786f68SRobert Mustacchi 
3927b1019a6SJerry Jelinek /*
3937b1019a6SJerry Jelinek  * This mechanism is used to trace a specified AML method. The method is
3947b1019a6SJerry Jelinek  * traced each time it is executed.
3957b1019a6SJerry Jelinek  */
3967b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
3977b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (const char *,     AcpiGbl_TraceMethodName, NULL);
3987b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
3997b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
4007b1019a6SJerry Jelinek 
4017b1019a6SJerry Jelinek /*
4027b1019a6SJerry Jelinek  * Runtime configuration of debug output control masks. We want the debug
4037b1019a6SJerry Jelinek  * switches statically initialized so they are already set when the debugger
4047b1019a6SJerry Jelinek  * is entered.
4057b1019a6SJerry Jelinek  */
4067b1019a6SJerry Jelinek #ifdef ACPI_DEBUG_OUTPUT
4077b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
4087b1019a6SJerry Jelinek #else
4097b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
4107b1019a6SJerry Jelinek #endif
4117b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
4127b1019a6SJerry Jelinek 
4137b1019a6SJerry Jelinek /* Optionally enable timer output with Debug Object output */
4147b1019a6SJerry Jelinek 
4157b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisplayDebugTimer, FALSE);
4167b1019a6SJerry Jelinek 
417*35786f68SRobert Mustacchi /*
418*35786f68SRobert Mustacchi  * Debugger command handshake globals. Host OSes need to access these
419*35786f68SRobert Mustacchi  * variables to implement their own command handshake mechanism.
420*35786f68SRobert Mustacchi  */
421*35786f68SRobert Mustacchi #ifdef ACPI_DEBUGGER
422*35786f68SRobert Mustacchi ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_MethodExecuting, FALSE);
423*35786f68SRobert Mustacchi ACPI_GLOBAL (char,                  AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]);
424*35786f68SRobert Mustacchi #endif
425*35786f68SRobert Mustacchi 
4267b1019a6SJerry Jelinek /*
4277b1019a6SJerry Jelinek  * Other miscellaneous globals
4287b1019a6SJerry Jelinek  */
4297b1019a6SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
4307b1019a6SJerry Jelinek ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
4317b1019a6SJerry Jelinek ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
4327b1019a6SJerry Jelinek 
4337b1019a6SJerry Jelinek 
4347b1019a6SJerry Jelinek /*****************************************************************************
4357b1019a6SJerry Jelinek  *
4367b1019a6SJerry Jelinek  * ACPICA public interface configuration.
4377b1019a6SJerry Jelinek  *
4387b1019a6SJerry Jelinek  * Interfaces that are configured out of the ACPICA build are replaced
4397b1019a6SJerry Jelinek  * by inlined stubs by default.
4407b1019a6SJerry Jelinek  *
4417b1019a6SJerry Jelinek  ****************************************************************************/
4427b1019a6SJerry Jelinek 
4437b1019a6SJerry Jelinek /*
4447b1019a6SJerry Jelinek  * Hardware-reduced prototypes (default: Not hardware reduced).
4457b1019a6SJerry Jelinek  *
4467b1019a6SJerry Jelinek  * All ACPICA hardware-related interfaces that use these macros will be
4477b1019a6SJerry Jelinek  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
4487b1019a6SJerry Jelinek  * is set to TRUE.
4497b1019a6SJerry Jelinek  *
4507b1019a6SJerry Jelinek  * Note: This static build option for reduced hardware is intended to
4517b1019a6SJerry Jelinek  * reduce ACPICA code size if desired or necessary. However, even if this
4527b1019a6SJerry Jelinek  * option is not specified, the runtime behavior of ACPICA is dependent
4537b1019a6SJerry Jelinek  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
4547b1019a6SJerry Jelinek  * the flag will enable similar behavior -- ACPICA will not attempt
4557b1019a6SJerry Jelinek  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
4567b1019a6SJerry Jelinek  */
4577b1019a6SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE)
4587b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
4597b1019a6SJerry Jelinek     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
4607b1019a6SJerry Jelinek 
4617b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
4627b1019a6SJerry Jelinek     ACPI_EXTERNAL_RETURN_OK(Prototype)
4637b1019a6SJerry Jelinek 
4647b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
4657b1019a6SJerry Jelinek     ACPI_EXTERNAL_RETURN_VOID(Prototype)
4667b1019a6SJerry Jelinek 
4677b1019a6SJerry Jelinek #else
4687b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
4697b1019a6SJerry Jelinek     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
4707b1019a6SJerry Jelinek 
4717b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
4727b1019a6SJerry Jelinek     static ACPI_INLINE Prototype {return(AE_OK);}
4737b1019a6SJerry Jelinek 
4747b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
4757b1019a6SJerry Jelinek     static ACPI_INLINE Prototype {return;}
4767b1019a6SJerry Jelinek 
4777b1019a6SJerry Jelinek #endif /* !ACPI_REDUCED_HARDWARE */
4787b1019a6SJerry Jelinek 
4797b1019a6SJerry Jelinek 
4807b1019a6SJerry Jelinek /*
4817b1019a6SJerry Jelinek  * Error message prototypes (default: error messages enabled).
4827b1019a6SJerry Jelinek  *
4837b1019a6SJerry Jelinek  * All interfaces related to error and warning messages
4847b1019a6SJerry Jelinek  * will be configured out of the ACPICA build if the
4857b1019a6SJerry Jelinek  * ACPI_NO_ERROR_MESSAGE flag is defined.
4867b1019a6SJerry Jelinek  */
4877b1019a6SJerry Jelinek #ifndef ACPI_NO_ERROR_MESSAGES
4887b1019a6SJerry Jelinek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
4897b1019a6SJerry Jelinek     Prototype;
4907b1019a6SJerry Jelinek 
4917b1019a6SJerry Jelinek #else
4927b1019a6SJerry Jelinek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
4937b1019a6SJerry Jelinek     static ACPI_INLINE Prototype {return;}
4947b1019a6SJerry Jelinek 
4957b1019a6SJerry Jelinek #endif /* ACPI_NO_ERROR_MESSAGES */
4967b1019a6SJerry Jelinek 
4977c478bd9Sstevel@tonic-gate 
498aa2aa9a6SDana Myers /*
4997b1019a6SJerry Jelinek  * Debugging output prototypes (default: no debug output).
5007b1019a6SJerry Jelinek  *
5017b1019a6SJerry Jelinek  * All interfaces related to debug output messages
5027b1019a6SJerry Jelinek  * will be configured out of the ACPICA build unless the
5037b1019a6SJerry Jelinek  * ACPI_DEBUG_OUTPUT flag is defined.
5047b1019a6SJerry Jelinek  */
5057b1019a6SJerry Jelinek #ifdef ACPI_DEBUG_OUTPUT
5067b1019a6SJerry Jelinek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
5077b1019a6SJerry Jelinek     Prototype;
5087b1019a6SJerry Jelinek 
5097b1019a6SJerry Jelinek #else
5107b1019a6SJerry Jelinek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype)
5117b1019a6SJerry Jelinek #endif /* ACPI_DEBUG_OUTPUT */
5127b1019a6SJerry Jelinek 
5137b1019a6SJerry Jelinek 
5147b1019a6SJerry Jelinek /*
5157b1019a6SJerry Jelinek  * Application prototypes
5167b1019a6SJerry Jelinek  *
5177b1019a6SJerry Jelinek  * All interfaces used by application will be configured
5187b1019a6SJerry Jelinek  * out of the ACPICA build unless the ACPI_APPLICATION
5197b1019a6SJerry Jelinek  * flag is defined.
520aa2aa9a6SDana Myers  */
5217b1019a6SJerry Jelinek #ifdef ACPI_APPLICATION
5227b1019a6SJerry Jelinek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
5237b1019a6SJerry Jelinek     Prototype;
5247b1019a6SJerry Jelinek 
5257b1019a6SJerry Jelinek #else
5267b1019a6SJerry Jelinek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype)
5277b1019a6SJerry Jelinek #endif /* ACPI_APPLICATION */
5287b1019a6SJerry Jelinek 
5297b1019a6SJerry Jelinek 
5307b1019a6SJerry Jelinek /*
5317b1019a6SJerry Jelinek  * Debugger prototypes
5327b1019a6SJerry Jelinek  *
5337b1019a6SJerry Jelinek  * All interfaces used by debugger will be configured
5347b1019a6SJerry Jelinek  * out of the ACPICA build unless the ACPI_DEBUGGER
5357b1019a6SJerry Jelinek  * flag is defined.
5367b1019a6SJerry Jelinek  */
5377b1019a6SJerry Jelinek #ifdef ACPI_DEBUGGER
5387b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
5397b1019a6SJerry Jelinek     ACPI_EXTERNAL_RETURN_OK(Prototype)
5407b1019a6SJerry Jelinek 
5417b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
5427b1019a6SJerry Jelinek     ACPI_EXTERNAL_RETURN_VOID(Prototype)
543aa2aa9a6SDana Myers 
5447b1019a6SJerry Jelinek #else
5457b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
5467b1019a6SJerry Jelinek     static ACPI_INLINE Prototype {return(AE_OK);}
547aa2aa9a6SDana Myers 
5487b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
5497b1019a6SJerry Jelinek     static ACPI_INLINE Prototype {return;}
55057190917SDana Myers 
5517b1019a6SJerry Jelinek #endif /* ACPI_DEBUGGER */
55257190917SDana Myers 
553aa2aa9a6SDana Myers 
5547b1019a6SJerry Jelinek /*****************************************************************************
5557b1019a6SJerry Jelinek  *
5567b1019a6SJerry Jelinek  * ACPICA public interface prototypes
5577b1019a6SJerry Jelinek  *
5587b1019a6SJerry Jelinek  ****************************************************************************/
5597c478bd9Sstevel@tonic-gate 
5607c478bd9Sstevel@tonic-gate /*
56126f3cdf0SGordon Ross  * Initialization
5627c478bd9Sstevel@tonic-gate  */
5637b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
564*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
565db2bae30SDana Myers AcpiInitializeTables (
566db2bae30SDana Myers     ACPI_TABLE_DESC         *InitialStorage,
567db2bae30SDana Myers     UINT32                  InitialTableCount,
5687b1019a6SJerry Jelinek     BOOLEAN                 AllowResize))
569db2bae30SDana Myers 
5707b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
571*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
5727c478bd9Sstevel@tonic-gate AcpiInitializeSubsystem (
5737b1019a6SJerry Jelinek     void))
5747c478bd9Sstevel@tonic-gate 
5757b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
576*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
5777c478bd9Sstevel@tonic-gate AcpiEnableSubsystem (
5787b1019a6SJerry Jelinek     UINT32                  Flags))
5797c478bd9Sstevel@tonic-gate 
5807b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
581*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
5827c478bd9Sstevel@tonic-gate AcpiInitializeObjects (
5837b1019a6SJerry Jelinek     UINT32                  Flags))
5847c478bd9Sstevel@tonic-gate 
5857b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
586*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
5877c478bd9Sstevel@tonic-gate AcpiTerminate (
5887b1019a6SJerry Jelinek     void))
5897c478bd9Sstevel@tonic-gate 
5907c478bd9Sstevel@tonic-gate 
59126f3cdf0SGordon Ross /*
59226f3cdf0SGordon Ross  * Miscellaneous global interfaces
59326f3cdf0SGordon Ross  */
5947b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
5957c478bd9Sstevel@tonic-gate ACPI_STATUS
5967c478bd9Sstevel@tonic-gate AcpiEnable (
5977b1019a6SJerry Jelinek     void))
5987c478bd9Sstevel@tonic-gate 
5997b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
6007c478bd9Sstevel@tonic-gate ACPI_STATUS
6017c478bd9Sstevel@tonic-gate AcpiDisable (
6027b1019a6SJerry Jelinek     void))
6037c478bd9Sstevel@tonic-gate 
6047b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
60526f3cdf0SGordon Ross ACPI_STATUS
60626f3cdf0SGordon Ross AcpiSubsystemStatus (
6077b1019a6SJerry Jelinek     void))
60826f3cdf0SGordon Ross 
6097b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6107c478bd9Sstevel@tonic-gate ACPI_STATUS
6117c478bd9Sstevel@tonic-gate AcpiGetSystemInfo (
6127b1019a6SJerry Jelinek     ACPI_BUFFER             *RetBuffer))
6137c478bd9Sstevel@tonic-gate 
6147b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
615db2bae30SDana Myers ACPI_STATUS
616db2bae30SDana Myers AcpiGetStatistics (
6177b1019a6SJerry Jelinek     ACPI_STATISTICS         *Stats))
618db2bae30SDana Myers 
6197b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_PTR (
6207c478bd9Sstevel@tonic-gate const char *
6217c478bd9Sstevel@tonic-gate AcpiFormatException (
6227b1019a6SJerry Jelinek     ACPI_STATUS             Exception))
6237c478bd9Sstevel@tonic-gate 
6247b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6257c478bd9Sstevel@tonic-gate ACPI_STATUS
6267c478bd9Sstevel@tonic-gate AcpiPurgeCachedObjects (
6277b1019a6SJerry Jelinek     void))
6287c478bd9Sstevel@tonic-gate 
6297b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
63026f3cdf0SGordon Ross ACPI_STATUS
63126f3cdf0SGordon Ross AcpiInstallInterface (
6327b1019a6SJerry Jelinek     ACPI_STRING             InterfaceName))
63326f3cdf0SGordon Ross 
6347b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
63526f3cdf0SGordon Ross ACPI_STATUS
63626f3cdf0SGordon Ross AcpiRemoveInterface (
6377b1019a6SJerry Jelinek     ACPI_STRING             InterfaceName))
6387b1019a6SJerry Jelinek 
6397b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6407b1019a6SJerry Jelinek ACPI_STATUS
6417b1019a6SJerry Jelinek AcpiUpdateInterfaces (
6427b1019a6SJerry Jelinek     UINT8                   Action))
6437b1019a6SJerry Jelinek 
6447b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_UINT32 (
6457b1019a6SJerry Jelinek UINT32
6467b1019a6SJerry Jelinek AcpiCheckAddressRange (
6477b1019a6SJerry Jelinek     ACPI_ADR_SPACE_TYPE     SpaceId,
6487b1019a6SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   Address,
6497b1019a6SJerry Jelinek     ACPI_SIZE               Length,
6507b1019a6SJerry Jelinek     BOOLEAN                 Warn))
6517b1019a6SJerry Jelinek 
6527b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6537b1019a6SJerry Jelinek ACPI_STATUS
6547b1019a6SJerry Jelinek AcpiDecodePldBuffer (
6557b1019a6SJerry Jelinek     UINT8                   *InBuffer,
6567b1019a6SJerry Jelinek     ACPI_SIZE               Length,
6577b1019a6SJerry Jelinek     ACPI_PLD_INFO           **ReturnBuffer))
65826f3cdf0SGordon Ross 
6597c478bd9Sstevel@tonic-gate 
6607c478bd9Sstevel@tonic-gate /*
6617b1019a6SJerry Jelinek  * ACPI table load/unload interfaces
6627c478bd9Sstevel@tonic-gate  */
6637b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
664*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
6657b1019a6SJerry Jelinek AcpiInstallTable (
6667b1019a6SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   Address,
6677b1019a6SJerry Jelinek     BOOLEAN                 Physical))
6687c478bd9Sstevel@tonic-gate 
6697b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6707b1019a6SJerry Jelinek ACPI_STATUS
6717b1019a6SJerry Jelinek AcpiLoadTable (
6727b1019a6SJerry Jelinek     ACPI_TABLE_HEADER       *Table))
6737c478bd9Sstevel@tonic-gate 
6747b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6757b1019a6SJerry Jelinek ACPI_STATUS
6767b1019a6SJerry Jelinek AcpiUnloadParentTable (
6777b1019a6SJerry Jelinek     ACPI_HANDLE             Object))
6787b1019a6SJerry Jelinek 
6797b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
680*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
6817b1019a6SJerry Jelinek AcpiLoadTables (
6827b1019a6SJerry Jelinek     void))
6837c478bd9Sstevel@tonic-gate 
6847c478bd9Sstevel@tonic-gate 
6857c478bd9Sstevel@tonic-gate /*
6867c478bd9Sstevel@tonic-gate  * ACPI table manipulation interfaces
6877c478bd9Sstevel@tonic-gate  */
6887b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
689*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
690db2bae30SDana Myers AcpiReallocateRootTable (
6917b1019a6SJerry Jelinek     void))
6927c478bd9Sstevel@tonic-gate 
6937b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
694*35786f68SRobert Mustacchi ACPI_STATUS ACPI_INIT_FUNCTION
695db2bae30SDana Myers AcpiFindRootPointer (
6967b1019a6SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   *RsdpAddress))
6977c478bd9Sstevel@tonic-gate 
6987b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
6997c478bd9Sstevel@tonic-gate ACPI_STATUS
7007c478bd9Sstevel@tonic-gate AcpiGetTableHeader (
701db2bae30SDana Myers     ACPI_STRING             Signature,
7027c478bd9Sstevel@tonic-gate     UINT32                  Instance,
7037b1019a6SJerry Jelinek     ACPI_TABLE_HEADER       *OutTableHeader))
7047c478bd9Sstevel@tonic-gate 
7057b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7067c478bd9Sstevel@tonic-gate ACPI_STATUS
7077c478bd9Sstevel@tonic-gate AcpiGetTable (
708db2bae30SDana Myers     ACPI_STRING             Signature,
7097c478bd9Sstevel@tonic-gate     UINT32                  Instance,
7107b1019a6SJerry Jelinek     ACPI_TABLE_HEADER       **OutTable))
7117c478bd9Sstevel@tonic-gate 
712*35786f68SRobert Mustacchi ACPI_EXTERNAL_RETURN_VOID (
713*35786f68SRobert Mustacchi void
714*35786f68SRobert Mustacchi AcpiPutTable (
715*35786f68SRobert Mustacchi     ACPI_TABLE_HEADER       *Table))
716*35786f68SRobert Mustacchi 
7177b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7187c478bd9Sstevel@tonic-gate ACPI_STATUS
719db2bae30SDana Myers AcpiGetTableByIndex (
720db2bae30SDana Myers     UINT32                  TableIndex,
7217b1019a6SJerry Jelinek     ACPI_TABLE_HEADER       **OutTable))
722db2bae30SDana Myers 
7237b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
724db2bae30SDana Myers ACPI_STATUS
725db2bae30SDana Myers AcpiInstallTableHandler (
726db2bae30SDana Myers     ACPI_TABLE_HANDLER      Handler,
7277b1019a6SJerry Jelinek     void                    *Context))
728db2bae30SDana Myers 
7297b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
730db2bae30SDana Myers ACPI_STATUS
731db2bae30SDana Myers AcpiRemoveTableHandler (
7327b1019a6SJerry Jelinek     ACPI_TABLE_HANDLER      Handler))
7337c478bd9Sstevel@tonic-gate 
7347c478bd9Sstevel@tonic-gate 
7357c478bd9Sstevel@tonic-gate /*
7367c478bd9Sstevel@tonic-gate  * Namespace and name interfaces
7377c478bd9Sstevel@tonic-gate  */
7387b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7397c478bd9Sstevel@tonic-gate ACPI_STATUS
7407c478bd9Sstevel@tonic-gate AcpiWalkNamespace (
7417c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
7427c478bd9Sstevel@tonic-gate     ACPI_HANDLE             StartObject,
7437c478bd9Sstevel@tonic-gate     UINT32                  MaxDepth,
7447b1019a6SJerry Jelinek     ACPI_WALK_CALLBACK      DescendingCallback,
7457b1019a6SJerry Jelinek     ACPI_WALK_CALLBACK      AscendingCallback,
7467c478bd9Sstevel@tonic-gate     void                    *Context,
7477b1019a6SJerry Jelinek     void                    **ReturnValue))
7487c478bd9Sstevel@tonic-gate 
7497b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7507c478bd9Sstevel@tonic-gate ACPI_STATUS
7517c478bd9Sstevel@tonic-gate AcpiGetDevices (
7527c478bd9Sstevel@tonic-gate     char                    *HID,
7537c478bd9Sstevel@tonic-gate     ACPI_WALK_CALLBACK      UserFunction,
7547c478bd9Sstevel@tonic-gate     void                    *Context,
7557b1019a6SJerry Jelinek     void                    **ReturnValue))
7567c478bd9Sstevel@tonic-gate 
7577b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7587c478bd9Sstevel@tonic-gate ACPI_STATUS
7597c478bd9Sstevel@tonic-gate AcpiGetName (
76026f3cdf0SGordon Ross     ACPI_HANDLE             Object,
7617c478bd9Sstevel@tonic-gate     UINT32                  NameType,
7627b1019a6SJerry Jelinek     ACPI_BUFFER             *RetPathPtr))
7637c478bd9Sstevel@tonic-gate 
7647b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7657c478bd9Sstevel@tonic-gate ACPI_STATUS
7667c478bd9Sstevel@tonic-gate AcpiGetHandle (
7677c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Parent,
7687c478bd9Sstevel@tonic-gate     ACPI_STRING             Pathname,
7697b1019a6SJerry Jelinek     ACPI_HANDLE             *RetHandle))
7707c478bd9Sstevel@tonic-gate 
7717b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7727c478bd9Sstevel@tonic-gate ACPI_STATUS
7737c478bd9Sstevel@tonic-gate AcpiAttachData (
77426f3cdf0SGordon Ross     ACPI_HANDLE             Object,
7757c478bd9Sstevel@tonic-gate     ACPI_OBJECT_HANDLER     Handler,
7767b1019a6SJerry Jelinek     void                    *Data))
7777c478bd9Sstevel@tonic-gate 
7787b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7797c478bd9Sstevel@tonic-gate ACPI_STATUS
7807c478bd9Sstevel@tonic-gate AcpiDetachData (
78126f3cdf0SGordon Ross     ACPI_HANDLE             Object,
7827b1019a6SJerry Jelinek     ACPI_OBJECT_HANDLER     Handler))
7837c478bd9Sstevel@tonic-gate 
7847b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
7857c478bd9Sstevel@tonic-gate ACPI_STATUS
7867c478bd9Sstevel@tonic-gate AcpiGetData (
78726f3cdf0SGordon Ross     ACPI_HANDLE             Object,
7887c478bd9Sstevel@tonic-gate     ACPI_OBJECT_HANDLER     Handler,
7897b1019a6SJerry Jelinek     void                    **Data))
7907c478bd9Sstevel@tonic-gate 
7917b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
792186507a7Smyers ACPI_STATUS
793186507a7Smyers AcpiDebugTrace (
7947b1019a6SJerry Jelinek     const char              *Name,
795186507a7Smyers     UINT32                  DebugLevel,
796186507a7Smyers     UINT32                  DebugLayer,
7977b1019a6SJerry Jelinek     UINT32                  Flags))
798186507a7Smyers 
7997c478bd9Sstevel@tonic-gate 
8007c478bd9Sstevel@tonic-gate /*
8017c478bd9Sstevel@tonic-gate  * Object manipulation and enumeration
8027c478bd9Sstevel@tonic-gate  */
8037b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8047c478bd9Sstevel@tonic-gate ACPI_STATUS
8057c478bd9Sstevel@tonic-gate AcpiEvaluateObject (
8067c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Object,
8077c478bd9Sstevel@tonic-gate     ACPI_STRING             Pathname,
8087c478bd9Sstevel@tonic-gate     ACPI_OBJECT_LIST        *ParameterObjects,
8097b1019a6SJerry Jelinek     ACPI_BUFFER             *ReturnObjectBuffer))
8107c478bd9Sstevel@tonic-gate 
8117b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8127c478bd9Sstevel@tonic-gate ACPI_STATUS
8137c478bd9Sstevel@tonic-gate AcpiEvaluateObjectTyped (
8147c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Object,
8157c478bd9Sstevel@tonic-gate     ACPI_STRING             Pathname,
8167c478bd9Sstevel@tonic-gate     ACPI_OBJECT_LIST        *ExternalParams,
8177c478bd9Sstevel@tonic-gate     ACPI_BUFFER             *ReturnBuffer,
8187b1019a6SJerry Jelinek     ACPI_OBJECT_TYPE        ReturnType))
8197c478bd9Sstevel@tonic-gate 
8207b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8217c478bd9Sstevel@tonic-gate ACPI_STATUS
8227c478bd9Sstevel@tonic-gate AcpiGetObjectInfo (
82326f3cdf0SGordon Ross     ACPI_HANDLE             Object,
8247b1019a6SJerry Jelinek     ACPI_DEVICE_INFO        **ReturnBuffer))
8257c478bd9Sstevel@tonic-gate 
8267b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
827aa2aa9a6SDana Myers ACPI_STATUS
828aa2aa9a6SDana Myers AcpiInstallMethod (
8297b1019a6SJerry Jelinek     UINT8                   *Buffer))
830aa2aa9a6SDana Myers 
8317b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8327c478bd9Sstevel@tonic-gate ACPI_STATUS
8337c478bd9Sstevel@tonic-gate AcpiGetNextObject (
8347c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
8357c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Parent,
8367c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Child,
8377b1019a6SJerry Jelinek     ACPI_HANDLE             *OutHandle))
8387c478bd9Sstevel@tonic-gate 
8397b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8407c478bd9Sstevel@tonic-gate ACPI_STATUS
8417c478bd9Sstevel@tonic-gate AcpiGetType (
8427c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Object,
8437b1019a6SJerry Jelinek     ACPI_OBJECT_TYPE        *OutType))
8447c478bd9Sstevel@tonic-gate 
8457b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8467c478bd9Sstevel@tonic-gate ACPI_STATUS
8477c478bd9Sstevel@tonic-gate AcpiGetParent (
8487c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Object,
8497b1019a6SJerry Jelinek     ACPI_HANDLE             *OutHandle))
8507c478bd9Sstevel@tonic-gate 
8517c478bd9Sstevel@tonic-gate 
8527c478bd9Sstevel@tonic-gate /*
853aa2aa9a6SDana Myers  * Handler interfaces
8547c478bd9Sstevel@tonic-gate  */
8557b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
8567c478bd9Sstevel@tonic-gate ACPI_STATUS
857aa2aa9a6SDana Myers AcpiInstallInitializationHandler (
858aa2aa9a6SDana Myers     ACPI_INIT_HANDLER       Handler,
8597b1019a6SJerry Jelinek     UINT32                  Function))
8607b1019a6SJerry Jelinek 
8617b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
8627b1019a6SJerry Jelinek ACPI_STATUS
8637b1019a6SJerry Jelinek AcpiInstallSciHandler (
8647b1019a6SJerry Jelinek     ACPI_SCI_HANDLER        Address,
8657b1019a6SJerry Jelinek     void                    *Context))
866aa2aa9a6SDana Myers 
8677b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
8687b1019a6SJerry Jelinek ACPI_STATUS
8697b1019a6SJerry Jelinek AcpiRemoveSciHandler (
8707b1019a6SJerry Jelinek     ACPI_SCI_HANDLER        Address))
8717b1019a6SJerry Jelinek 
8727b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
87326f3cdf0SGordon Ross ACPI_STATUS
87426f3cdf0SGordon Ross AcpiInstallGlobalEventHandler (
87526f3cdf0SGordon Ross     ACPI_GBL_EVENT_HANDLER  Handler,
8767b1019a6SJerry Jelinek     void                    *Context))
87726f3cdf0SGordon Ross 
8787b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
879aa2aa9a6SDana Myers ACPI_STATUS
8807c478bd9Sstevel@tonic-gate AcpiInstallFixedEventHandler (
8817c478bd9Sstevel@tonic-gate     UINT32                  AcpiEvent,
8827c478bd9Sstevel@tonic-gate     ACPI_EVENT_HANDLER      Handler,
8837b1019a6SJerry Jelinek     void                    *Context))
8847c478bd9Sstevel@tonic-gate 
8857b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
8867c478bd9Sstevel@tonic-gate ACPI_STATUS
8877c478bd9Sstevel@tonic-gate AcpiRemoveFixedEventHandler (
8887c478bd9Sstevel@tonic-gate     UINT32                  AcpiEvent,
8897b1019a6SJerry Jelinek     ACPI_EVENT_HANDLER      Handler))
8907c478bd9Sstevel@tonic-gate 
8917b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
89226f3cdf0SGordon Ross ACPI_STATUS
89326f3cdf0SGordon Ross AcpiInstallGpeHandler (
89426f3cdf0SGordon Ross     ACPI_HANDLE             GpeDevice,
89526f3cdf0SGordon Ross     UINT32                  GpeNumber,
89626f3cdf0SGordon Ross     UINT32                  Type,
89726f3cdf0SGordon Ross     ACPI_GPE_HANDLER        Address,
8987b1019a6SJerry Jelinek     void                    *Context))
89926f3cdf0SGordon Ross 
9007b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
9017b1019a6SJerry Jelinek ACPI_STATUS
9027b1019a6SJerry Jelinek AcpiInstallGpeRawHandler (
9037b1019a6SJerry Jelinek     ACPI_HANDLE             GpeDevice,
9047b1019a6SJerry Jelinek     UINT32                  GpeNumber,
9057b1019a6SJerry Jelinek     UINT32                  Type,
9067b1019a6SJerry Jelinek     ACPI_GPE_HANDLER        Address,
9077b1019a6SJerry Jelinek     void                    *Context))
9087b1019a6SJerry Jelinek 
9097b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
91026f3cdf0SGordon Ross ACPI_STATUS
91126f3cdf0SGordon Ross AcpiRemoveGpeHandler (
91226f3cdf0SGordon Ross     ACPI_HANDLE             GpeDevice,
91326f3cdf0SGordon Ross     UINT32                  GpeNumber,
9147b1019a6SJerry Jelinek     ACPI_GPE_HANDLER        Address))
91526f3cdf0SGordon Ross 
9167b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9177c478bd9Sstevel@tonic-gate ACPI_STATUS
9187c478bd9Sstevel@tonic-gate AcpiInstallNotifyHandler (
9197c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Device,
9207c478bd9Sstevel@tonic-gate     UINT32                  HandlerType,
9217c478bd9Sstevel@tonic-gate     ACPI_NOTIFY_HANDLER     Handler,
9227b1019a6SJerry Jelinek     void                    *Context))
9237c478bd9Sstevel@tonic-gate 
9247b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9257c478bd9Sstevel@tonic-gate ACPI_STATUS
9267c478bd9Sstevel@tonic-gate AcpiRemoveNotifyHandler (
9277c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Device,
9287c478bd9Sstevel@tonic-gate     UINT32                  HandlerType,
9297b1019a6SJerry Jelinek     ACPI_NOTIFY_HANDLER     Handler))
9307c478bd9Sstevel@tonic-gate 
9317b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9327c478bd9Sstevel@tonic-gate ACPI_STATUS
9337c478bd9Sstevel@tonic-gate AcpiInstallAddressSpaceHandler (
9347c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Device,
9357c478bd9Sstevel@tonic-gate     ACPI_ADR_SPACE_TYPE     SpaceId,
9367c478bd9Sstevel@tonic-gate     ACPI_ADR_SPACE_HANDLER  Handler,
9377c478bd9Sstevel@tonic-gate     ACPI_ADR_SPACE_SETUP    Setup,
9387b1019a6SJerry Jelinek     void                    *Context))
9397c478bd9Sstevel@tonic-gate 
9407b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9417c478bd9Sstevel@tonic-gate ACPI_STATUS
9427c478bd9Sstevel@tonic-gate AcpiRemoveAddressSpaceHandler (
9437c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Device,
9447c478bd9Sstevel@tonic-gate     ACPI_ADR_SPACE_TYPE     SpaceId,
9457b1019a6SJerry Jelinek     ACPI_ADR_SPACE_HANDLER  Handler))
9467c478bd9Sstevel@tonic-gate 
9477b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9487c478bd9Sstevel@tonic-gate ACPI_STATUS
9497c478bd9Sstevel@tonic-gate AcpiInstallExceptionHandler (
9507b1019a6SJerry Jelinek     ACPI_EXCEPTION_HANDLER  Handler))
9517c478bd9Sstevel@tonic-gate 
9527b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
95326f3cdf0SGordon Ross ACPI_STATUS
95426f3cdf0SGordon Ross AcpiInstallInterfaceHandler (
9557b1019a6SJerry Jelinek     ACPI_INTERFACE_HANDLER  Handler))
95626f3cdf0SGordon Ross 
9577c478bd9Sstevel@tonic-gate 
9587c478bd9Sstevel@tonic-gate /*
95926f3cdf0SGordon Ross  * Global Lock interfaces
9607c478bd9Sstevel@tonic-gate  */
9617b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
9627c478bd9Sstevel@tonic-gate ACPI_STATUS
9637c478bd9Sstevel@tonic-gate AcpiAcquireGlobalLock (
9647c478bd9Sstevel@tonic-gate     UINT16                  Timeout,
9657b1019a6SJerry Jelinek     UINT32                  *Handle))
9667c478bd9Sstevel@tonic-gate 
9677b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
9687c478bd9Sstevel@tonic-gate ACPI_STATUS
9697c478bd9Sstevel@tonic-gate AcpiReleaseGlobalLock (
9707b1019a6SJerry Jelinek     UINT32                  Handle))
9717b1019a6SJerry Jelinek 
9727b1019a6SJerry Jelinek 
9737b1019a6SJerry Jelinek /*
9747b1019a6SJerry Jelinek  * Interfaces to AML mutex objects
9757b1019a6SJerry Jelinek  */
9767b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9777b1019a6SJerry Jelinek ACPI_STATUS
9787b1019a6SJerry Jelinek AcpiAcquireMutex (
9797b1019a6SJerry Jelinek     ACPI_HANDLE             Handle,
9807b1019a6SJerry Jelinek     ACPI_STRING             Pathname,
9817b1019a6SJerry Jelinek     UINT16                  Timeout))
9827b1019a6SJerry Jelinek 
9837b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
9847b1019a6SJerry Jelinek ACPI_STATUS
9857b1019a6SJerry Jelinek AcpiReleaseMutex (
9867b1019a6SJerry Jelinek     ACPI_HANDLE             Handle,
9877b1019a6SJerry Jelinek     ACPI_STRING             Pathname))
9887c478bd9Sstevel@tonic-gate 
98926f3cdf0SGordon Ross 
99026f3cdf0SGordon Ross /*
99126f3cdf0SGordon Ross  * Fixed Event interfaces
99226f3cdf0SGordon Ross  */
9937b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
9947c478bd9Sstevel@tonic-gate ACPI_STATUS
9957c478bd9Sstevel@tonic-gate AcpiEnableEvent (
9967c478bd9Sstevel@tonic-gate     UINT32                  Event,
9977b1019a6SJerry Jelinek     UINT32                  Flags))
9987c478bd9Sstevel@tonic-gate 
9997b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10007c478bd9Sstevel@tonic-gate ACPI_STATUS
10017c478bd9Sstevel@tonic-gate AcpiDisableEvent (
10027c478bd9Sstevel@tonic-gate     UINT32                  Event,
10037b1019a6SJerry Jelinek     UINT32                  Flags))
10047c478bd9Sstevel@tonic-gate 
10057b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10067c478bd9Sstevel@tonic-gate ACPI_STATUS
10077c478bd9Sstevel@tonic-gate AcpiClearEvent (
10087b1019a6SJerry Jelinek     UINT32                  Event))
10097c478bd9Sstevel@tonic-gate 
10107b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10117c478bd9Sstevel@tonic-gate ACPI_STATUS
10127c478bd9Sstevel@tonic-gate AcpiGetEventStatus (
10137c478bd9Sstevel@tonic-gate     UINT32                  Event,
10147b1019a6SJerry Jelinek     ACPI_EVENT_STATUS       *EventStatus))
10157c478bd9Sstevel@tonic-gate 
1016aa2aa9a6SDana Myers 
1017aa2aa9a6SDana Myers /*
101826f3cdf0SGordon Ross  * General Purpose Event (GPE) Interfaces
1019aa2aa9a6SDana Myers  */
10207b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10217c478bd9Sstevel@tonic-gate ACPI_STATUS
102226f3cdf0SGordon Ross AcpiUpdateAllGpes (
10237b1019a6SJerry Jelinek     void))
10247c478bd9Sstevel@tonic-gate 
10257b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10267c478bd9Sstevel@tonic-gate ACPI_STATUS
10277c478bd9Sstevel@tonic-gate AcpiEnableGpe (
10287c478bd9Sstevel@tonic-gate     ACPI_HANDLE             GpeDevice,
10297b1019a6SJerry Jelinek     UINT32                  GpeNumber))
10307c478bd9Sstevel@tonic-gate 
10317b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10327c478bd9Sstevel@tonic-gate ACPI_STATUS
10337c478bd9Sstevel@tonic-gate AcpiDisableGpe (
10347c478bd9Sstevel@tonic-gate     ACPI_HANDLE             GpeDevice,
10357b1019a6SJerry Jelinek     UINT32                  GpeNumber))
10367c478bd9Sstevel@tonic-gate 
10377b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10387c478bd9Sstevel@tonic-gate ACPI_STATUS
10397c478bd9Sstevel@tonic-gate AcpiClearGpe (
104026f3cdf0SGordon Ross     ACPI_HANDLE             GpeDevice,
10417b1019a6SJerry Jelinek     UINT32                  GpeNumber))
104226f3cdf0SGordon Ross 
10437b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
104426f3cdf0SGordon Ross ACPI_STATUS
104526f3cdf0SGordon Ross AcpiSetGpe (
10467c478bd9Sstevel@tonic-gate     ACPI_HANDLE             GpeDevice,
10477c478bd9Sstevel@tonic-gate     UINT32                  GpeNumber,
10487b1019a6SJerry Jelinek     UINT8                   Action))
104926f3cdf0SGordon Ross 
10507b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
105126f3cdf0SGordon Ross ACPI_STATUS
105226f3cdf0SGordon Ross AcpiFinishGpe (
105326f3cdf0SGordon Ross     ACPI_HANDLE             GpeDevice,
10547b1019a6SJerry Jelinek     UINT32                  GpeNumber))
105526f3cdf0SGordon Ross 
1056*35786f68SRobert Mustacchi ACPI_HW_DEPENDENT_RETURN_STATUS (
1057*35786f68SRobert Mustacchi ACPI_STATUS
1058*35786f68SRobert Mustacchi AcpiMaskGpe (
1059*35786f68SRobert Mustacchi     ACPI_HANDLE             GpeDevice,
1060*35786f68SRobert Mustacchi     UINT32                  GpeNumber,
1061*35786f68SRobert Mustacchi     BOOLEAN                 IsMasked))
1062*35786f68SRobert Mustacchi 
10637b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10647b1019a6SJerry Jelinek ACPI_STATUS
10657b1019a6SJerry Jelinek AcpiMarkGpeForWake (
10667b1019a6SJerry Jelinek     ACPI_HANDLE             GpeDevice,
10677b1019a6SJerry Jelinek     UINT32                  GpeNumber))
10687b1019a6SJerry Jelinek 
10697b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
107026f3cdf0SGordon Ross ACPI_STATUS
107126f3cdf0SGordon Ross AcpiSetupGpeForWake (
107226f3cdf0SGordon Ross     ACPI_HANDLE             ParentDevice,
107326f3cdf0SGordon Ross     ACPI_HANDLE             GpeDevice,
10747b1019a6SJerry Jelinek     UINT32                  GpeNumber))
107526f3cdf0SGordon Ross 
10767b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
107726f3cdf0SGordon Ross ACPI_STATUS
107826f3cdf0SGordon Ross AcpiSetGpeWakeMask (
107926f3cdf0SGordon Ross     ACPI_HANDLE             GpeDevice,
108026f3cdf0SGordon Ross     UINT32                  GpeNumber,
10817b1019a6SJerry Jelinek     UINT8                   Action))
10827c478bd9Sstevel@tonic-gate 
10837b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
10847c478bd9Sstevel@tonic-gate ACPI_STATUS
10857c478bd9Sstevel@tonic-gate AcpiGetGpeStatus (
10867c478bd9Sstevel@tonic-gate     ACPI_HANDLE             GpeDevice,
10877c478bd9Sstevel@tonic-gate     UINT32                  GpeNumber,
10887b1019a6SJerry Jelinek     ACPI_EVENT_STATUS       *EventStatus))
10897c478bd9Sstevel@tonic-gate 
10907b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
1091aa2aa9a6SDana Myers ACPI_STATUS
1092aa2aa9a6SDana Myers AcpiDisableAllGpes (
10937b1019a6SJerry Jelinek     void))
1094aa2aa9a6SDana Myers 
10957b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
1096aa2aa9a6SDana Myers ACPI_STATUS
1097aa2aa9a6SDana Myers AcpiEnableAllRuntimeGpes (
10987b1019a6SJerry Jelinek     void))
1099aa2aa9a6SDana Myers 
11007b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
11017b1019a6SJerry Jelinek ACPI_STATUS
11027b1019a6SJerry Jelinek AcpiEnableAllWakeupGpes (
11037b1019a6SJerry Jelinek     void))
11047b1019a6SJerry Jelinek 
11057b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
1106aa2aa9a6SDana Myers ACPI_STATUS
1107aa2aa9a6SDana Myers AcpiGetGpeDevice (
1108aa2aa9a6SDana Myers     UINT32                  GpeIndex,
11097b1019a6SJerry Jelinek     ACPI_HANDLE             *GpeDevice))
1110aa2aa9a6SDana Myers 
11117b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
11127c478bd9Sstevel@tonic-gate ACPI_STATUS
11137c478bd9Sstevel@tonic-gate AcpiInstallGpeBlock (
11147c478bd9Sstevel@tonic-gate     ACPI_HANDLE             GpeDevice,
11157c478bd9Sstevel@tonic-gate     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
11167c478bd9Sstevel@tonic-gate     UINT32                  RegisterCount,
11177b1019a6SJerry Jelinek     UINT32                  InterruptNumber))
11187c478bd9Sstevel@tonic-gate 
11197b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
11207c478bd9Sstevel@tonic-gate ACPI_STATUS
11217c478bd9Sstevel@tonic-gate AcpiRemoveGpeBlock (
11227b1019a6SJerry Jelinek     ACPI_HANDLE             GpeDevice))
11237c478bd9Sstevel@tonic-gate 
11247c478bd9Sstevel@tonic-gate 
11257c478bd9Sstevel@tonic-gate /*
11267c478bd9Sstevel@tonic-gate  * Resource interfaces
11277c478bd9Sstevel@tonic-gate  */
11287c478bd9Sstevel@tonic-gate typedef
11297c478bd9Sstevel@tonic-gate ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
11307c478bd9Sstevel@tonic-gate     ACPI_RESOURCE           *Resource,
11317c478bd9Sstevel@tonic-gate     void                    *Context);
11327c478bd9Sstevel@tonic-gate 
11337b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
113430082d0cSmyers ACPI_STATUS
113530082d0cSmyers AcpiGetVendorResource (
113626f3cdf0SGordon Ross     ACPI_HANDLE             Device,
113730082d0cSmyers     char                    *Name,
113830082d0cSmyers     ACPI_VENDOR_UUID        *Uuid,
11397b1019a6SJerry Jelinek     ACPI_BUFFER             *RetBuffer))
11407c478bd9Sstevel@tonic-gate 
11417b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11427c478bd9Sstevel@tonic-gate ACPI_STATUS
114326f3cdf0SGordon Ross AcpiGetCurrentResources (
114426f3cdf0SGordon Ross     ACPI_HANDLE             Device,
11457b1019a6SJerry Jelinek     ACPI_BUFFER             *RetBuffer))
11467c478bd9Sstevel@tonic-gate 
11477b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11487c478bd9Sstevel@tonic-gate ACPI_STATUS
114926f3cdf0SGordon Ross AcpiGetPossibleResources (
115026f3cdf0SGordon Ross     ACPI_HANDLE             Device,
11517b1019a6SJerry Jelinek     ACPI_BUFFER             *RetBuffer))
11527b1019a6SJerry Jelinek 
11537b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11547b1019a6SJerry Jelinek ACPI_STATUS
11557b1019a6SJerry Jelinek AcpiGetEventResources (
11567b1019a6SJerry Jelinek     ACPI_HANDLE             DeviceHandle,
11577b1019a6SJerry Jelinek     ACPI_BUFFER             *RetBuffer))
11587b1019a6SJerry Jelinek 
11597b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11607b1019a6SJerry Jelinek ACPI_STATUS
11617b1019a6SJerry Jelinek AcpiWalkResourceBuffer (
11627b1019a6SJerry Jelinek     ACPI_BUFFER                 *Buffer,
11637b1019a6SJerry Jelinek     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
11647b1019a6SJerry Jelinek     void                        *Context))
11657c478bd9Sstevel@tonic-gate 
11667b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11677c478bd9Sstevel@tonic-gate ACPI_STATUS
11687c478bd9Sstevel@tonic-gate AcpiWalkResources (
116926f3cdf0SGordon Ross     ACPI_HANDLE                 Device,
117030082d0cSmyers     char                        *Name,
117130082d0cSmyers     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
11727b1019a6SJerry Jelinek     void                        *Context))
11737c478bd9Sstevel@tonic-gate 
11747b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11757c478bd9Sstevel@tonic-gate ACPI_STATUS
11767c478bd9Sstevel@tonic-gate AcpiSetCurrentResources (
117726f3cdf0SGordon Ross     ACPI_HANDLE             Device,
11787b1019a6SJerry Jelinek     ACPI_BUFFER             *InBuffer))
11797c478bd9Sstevel@tonic-gate 
11807b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11817c478bd9Sstevel@tonic-gate ACPI_STATUS
118226f3cdf0SGordon Ross AcpiGetIrqRoutingTable (
118326f3cdf0SGordon Ross     ACPI_HANDLE             Device,
11847b1019a6SJerry Jelinek     ACPI_BUFFER             *RetBuffer))
11857c478bd9Sstevel@tonic-gate 
11867b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11877c478bd9Sstevel@tonic-gate ACPI_STATUS
11887c478bd9Sstevel@tonic-gate AcpiResourceToAddress64 (
11897c478bd9Sstevel@tonic-gate     ACPI_RESOURCE           *Resource,
11907b1019a6SJerry Jelinek     ACPI_RESOURCE_ADDRESS64 *Out))
11917b1019a6SJerry Jelinek 
11927b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
11937b1019a6SJerry Jelinek ACPI_STATUS
11947b1019a6SJerry Jelinek AcpiBufferToResource (
11957b1019a6SJerry Jelinek     UINT8                   *AmlBuffer,
11967b1019a6SJerry Jelinek     UINT16                  AmlBufferLength,
11977b1019a6SJerry Jelinek     ACPI_RESOURCE           **ResourcePtr))
11987c478bd9Sstevel@tonic-gate 
1199aa2aa9a6SDana Myers 
12007c478bd9Sstevel@tonic-gate /*
12017c478bd9Sstevel@tonic-gate  * Hardware (ACPI device) interfaces
12027c478bd9Sstevel@tonic-gate  */
12037b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12047c478bd9Sstevel@tonic-gate ACPI_STATUS
1205aa2aa9a6SDana Myers AcpiReset (
12067b1019a6SJerry Jelinek     void))
1207db2bae30SDana Myers 
12087b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
1209db2bae30SDana Myers ACPI_STATUS
1210aa2aa9a6SDana Myers AcpiRead (
121157190917SDana Myers     UINT64                  *Value,
12127b1019a6SJerry Jelinek     ACPI_GENERIC_ADDRESS    *Reg))
12137c478bd9Sstevel@tonic-gate 
12147b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12157c478bd9Sstevel@tonic-gate ACPI_STATUS
1216aa2aa9a6SDana Myers AcpiWrite (
121757190917SDana Myers     UINT64                  Value,
12187b1019a6SJerry Jelinek     ACPI_GENERIC_ADDRESS    *Reg))
12197c478bd9Sstevel@tonic-gate 
12207b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
12217c478bd9Sstevel@tonic-gate ACPI_STATUS
1222aa2aa9a6SDana Myers AcpiReadBitRegister (
1223aa2aa9a6SDana Myers     UINT32                  RegisterId,
12247b1019a6SJerry Jelinek     UINT32                  *ReturnValue))
12257c478bd9Sstevel@tonic-gate 
12267b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
12277c478bd9Sstevel@tonic-gate ACPI_STATUS
1228aa2aa9a6SDana Myers AcpiWriteBitRegister (
1229aa2aa9a6SDana Myers     UINT32                  RegisterId,
12307b1019a6SJerry Jelinek     UINT32                  Value))
12317b1019a6SJerry Jelinek 
12327c478bd9Sstevel@tonic-gate 
12337b1019a6SJerry Jelinek /*
12347b1019a6SJerry Jelinek  * Sleep/Wake interfaces
12357b1019a6SJerry Jelinek  */
12367b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12377c478bd9Sstevel@tonic-gate ACPI_STATUS
12387c478bd9Sstevel@tonic-gate AcpiGetSleepTypeData (
12397c478bd9Sstevel@tonic-gate     UINT8                   SleepState,
12407c478bd9Sstevel@tonic-gate     UINT8                   *Slp_TypA,
12417b1019a6SJerry Jelinek     UINT8                   *Slp_TypB))
12427c478bd9Sstevel@tonic-gate 
12437b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12447c478bd9Sstevel@tonic-gate ACPI_STATUS
12457c478bd9Sstevel@tonic-gate AcpiEnterSleepStatePrep (
12467b1019a6SJerry Jelinek     UINT8                   SleepState))
12477c478bd9Sstevel@tonic-gate 
12487b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12497c478bd9Sstevel@tonic-gate ACPI_STATUS
12507c478bd9Sstevel@tonic-gate AcpiEnterSleepState (
12517b1019a6SJerry Jelinek     UINT8                   SleepState))
12527c478bd9Sstevel@tonic-gate 
12537b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
12547c478bd9Sstevel@tonic-gate ACPI_STATUS
12557c478bd9Sstevel@tonic-gate AcpiEnterSleepStateS4bios (
12567b1019a6SJerry Jelinek     void))
12577c478bd9Sstevel@tonic-gate 
12587b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12597b1019a6SJerry Jelinek ACPI_STATUS
12607b1019a6SJerry Jelinek AcpiLeaveSleepStatePrep (
12617b1019a6SJerry Jelinek     UINT8                   SleepState))
12627b1019a6SJerry Jelinek 
12637b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS (
12647c478bd9Sstevel@tonic-gate ACPI_STATUS
12657c478bd9Sstevel@tonic-gate AcpiLeaveSleepState (
12667b1019a6SJerry Jelinek     UINT8                   SleepState))
12677b1019a6SJerry Jelinek 
12687b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
1269aa2aa9a6SDana Myers ACPI_STATUS
1270aa2aa9a6SDana Myers AcpiSetFirmwareWakingVector (
12717b1019a6SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   PhysicalAddress,
12727b1019a6SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   PhysicalAddress64))
12737b1019a6SJerry Jelinek 
1274aa2aa9a6SDana Myers 
12757b1019a6SJerry Jelinek /*
12767b1019a6SJerry Jelinek  * ACPI Timer interfaces
12777b1019a6SJerry Jelinek  */
12787b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
1279aa2aa9a6SDana Myers ACPI_STATUS
12807b1019a6SJerry Jelinek AcpiGetTimerResolution (
12817b1019a6SJerry Jelinek     UINT32                  *Resolution))
12827b1019a6SJerry Jelinek 
12837b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
12847b1019a6SJerry Jelinek ACPI_STATUS
12857b1019a6SJerry Jelinek AcpiGetTimer (
12867b1019a6SJerry Jelinek     UINT32                  *Ticks))
12877b1019a6SJerry Jelinek 
12887b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS (
12897b1019a6SJerry Jelinek ACPI_STATUS
12907b1019a6SJerry Jelinek AcpiGetTimerDuration (
12917b1019a6SJerry Jelinek     UINT32                  StartTicks,
12927b1019a6SJerry Jelinek     UINT32                  EndTicks,
12937b1019a6SJerry Jelinek     UINT32                  *TimeElapsed))
1294aa2aa9a6SDana Myers 
1295aa2aa9a6SDana Myers 
1296aa2aa9a6SDana Myers /*
1297aa2aa9a6SDana Myers  * Error/Warning output
1298aa2aa9a6SDana Myers  */
12997b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID (
13007b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3)
1301aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE
1302aa2aa9a6SDana Myers AcpiError (
1303aa2aa9a6SDana Myers     const char              *ModuleName,
1304aa2aa9a6SDana Myers     UINT32                  LineNumber,
1305aa2aa9a6SDana Myers     const char              *Format,
13067b1019a6SJerry Jelinek     ...))
1307aa2aa9a6SDana Myers 
13087b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID (
13097b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(4)
1310aa2aa9a6SDana Myers void  ACPI_INTERNAL_VAR_XFACE
1311aa2aa9a6SDana Myers AcpiException (
1312aa2aa9a6SDana Myers     const char              *ModuleName,
1313aa2aa9a6SDana Myers     UINT32                  LineNumber,
1314aa2aa9a6SDana Myers     ACPI_STATUS             Status,
1315aa2aa9a6SDana Myers     const char              *Format,
13167b1019a6SJerry Jelinek     ...))
1317aa2aa9a6SDana Myers 
13187b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID (
13197b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3)
1320aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE
1321aa2aa9a6SDana Myers AcpiWarning (
1322aa2aa9a6SDana Myers     const char              *ModuleName,
1323aa2aa9a6SDana Myers     UINT32                  LineNumber,
1324aa2aa9a6SDana Myers     const char              *Format,
13257b1019a6SJerry Jelinek     ...))
1326aa2aa9a6SDana Myers 
13277b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID (
13287b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(1)
1329aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE
1330aa2aa9a6SDana Myers AcpiInfo (
13317b1019a6SJerry Jelinek     const char              *Format,
13327b1019a6SJerry Jelinek     ...))
13337b1019a6SJerry Jelinek 
13347b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID (
13357b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3)
13367b1019a6SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE
13377b1019a6SJerry Jelinek AcpiBiosError (
13387b1019a6SJerry Jelinek     const char              *ModuleName,
13397b1019a6SJerry Jelinek     UINT32                  LineNumber,
13407b1019a6SJerry Jelinek     const char              *Format,
13417b1019a6SJerry Jelinek     ...))
13427b1019a6SJerry Jelinek 
13437b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID (
13447b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3)
13457b1019a6SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE
13467b1019a6SJerry Jelinek AcpiBiosWarning (
1347aa2aa9a6SDana Myers     const char              *ModuleName,
1348aa2aa9a6SDana Myers     UINT32                  LineNumber,
1349aa2aa9a6SDana Myers     const char              *Format,
13507b1019a6SJerry Jelinek     ...))
1351aa2aa9a6SDana Myers 
13527c478bd9Sstevel@tonic-gate 
1353aa2aa9a6SDana Myers /*
1354aa2aa9a6SDana Myers  * Debug output
1355aa2aa9a6SDana Myers  */
13567b1019a6SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID (
13577b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(6)
1358aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE
1359aa2aa9a6SDana Myers AcpiDebugPrint (
1360aa2aa9a6SDana Myers     UINT32                  RequestedDebugLevel,
1361aa2aa9a6SDana Myers     UINT32                  LineNumber,
1362aa2aa9a6SDana Myers     const char              *FunctionName,
1363aa2aa9a6SDana Myers     const char              *ModuleName,
1364aa2aa9a6SDana Myers     UINT32                  ComponentId,
1365aa2aa9a6SDana Myers     const char              *Format,
13667b1019a6SJerry Jelinek     ...))
1367aa2aa9a6SDana Myers 
13687b1019a6SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID (
13697b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(6)
1370aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE
1371aa2aa9a6SDana Myers AcpiDebugPrintRaw (
1372aa2aa9a6SDana Myers     UINT32                  RequestedDebugLevel,
1373aa2aa9a6SDana Myers     UINT32                  LineNumber,
1374aa2aa9a6SDana Myers     const char              *FunctionName,
1375aa2aa9a6SDana Myers     const char              *ModuleName,
1376aa2aa9a6SDana Myers     UINT32                  ComponentId,
1377aa2aa9a6SDana Myers     const char              *Format,
13787b1019a6SJerry Jelinek     ...))
13797b1019a6SJerry Jelinek 
13807b1019a6SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID (
13817b1019a6SJerry Jelinek void
13827b1019a6SJerry Jelinek AcpiTracePoint (
13837b1019a6SJerry Jelinek     ACPI_TRACE_EVENT_TYPE   Type,
13847b1019a6SJerry Jelinek     BOOLEAN                 Begin,
13857b1019a6SJerry Jelinek     UINT8                   *Aml,
13867b1019a6SJerry Jelinek     char                    *Pathname))
13877b1019a6SJerry Jelinek 
13887b1019a6SJerry Jelinek ACPI_STATUS
13897b1019a6SJerry Jelinek AcpiInitializeDebugger (
13907b1019a6SJerry Jelinek     void);
13917b1019a6SJerry Jelinek 
13927b1019a6SJerry Jelinek void
13937b1019a6SJerry Jelinek AcpiTerminateDebugger (
13947b1019a6SJerry Jelinek     void);
13957b1019a6SJerry Jelinek 
1396*35786f68SRobert Mustacchi void
1397*35786f68SRobert Mustacchi AcpiRunDebugger (
1398*35786f68SRobert Mustacchi     char                    *BatchBuffer);
1399*35786f68SRobert Mustacchi 
14007b1019a6SJerry Jelinek void
14017b1019a6SJerry Jelinek AcpiSetDebuggerThreadId (
14027b1019a6SJerry Jelinek     ACPI_THREAD_ID          ThreadId);
14037c478bd9Sstevel@tonic-gate 
14047c478bd9Sstevel@tonic-gate #endif /* __ACXFACE_H__ */
1405