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))
638