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