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 726f3cdf0SGordon Ross /* 8*7b1019a6SJerry Jelinek * Copyright (C) 2000 - 2016, Intel Corp. 97c478bd9Sstevel@tonic-gate * All rights reserved. 107c478bd9Sstevel@tonic-gate * 1126f3cdf0SGordon Ross * Redistribution and use in source and binary forms, with or without 1226f3cdf0SGordon Ross * modification, are permitted provided that the following conditions 1326f3cdf0SGordon Ross * are met: 1426f3cdf0SGordon Ross * 1. Redistributions of source code must retain the above copyright 1526f3cdf0SGordon Ross * notice, this list of conditions, and the following disclaimer, 1626f3cdf0SGordon Ross * without modification. 1726f3cdf0SGordon Ross * 2. Redistributions in binary form must reproduce at minimum a disclaimer 1826f3cdf0SGordon Ross * substantially similar to the "NO WARRANTY" disclaimer below 1926f3cdf0SGordon Ross * ("Disclaimer") and any redistribution must be conditioned upon 2026f3cdf0SGordon Ross * including a substantially similar Disclaimer requirement for further 2126f3cdf0SGordon Ross * binary redistribution. 2226f3cdf0SGordon Ross * 3. Neither the names of the above-listed copyright holders nor the names 2326f3cdf0SGordon Ross * of any contributors may be used to endorse or promote products derived 2426f3cdf0SGordon Ross * from this software without specific prior written permission. 257c478bd9Sstevel@tonic-gate * 2626f3cdf0SGordon Ross * Alternatively, this software may be distributed under the terms of the 2726f3cdf0SGordon Ross * GNU General Public License ("GPL") version 2 as published by the Free 2826f3cdf0SGordon Ross * Software Foundation. 297c478bd9Sstevel@tonic-gate * 3026f3cdf0SGordon Ross * NO WARRANTY 3126f3cdf0SGordon Ross * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 3226f3cdf0SGordon Ross * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3326f3cdf0SGordon Ross * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 3426f3cdf0SGordon Ross * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 3526f3cdf0SGordon Ross * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3626f3cdf0SGordon Ross * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3726f3cdf0SGordon Ross * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3826f3cdf0SGordon Ross * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 3926f3cdf0SGordon Ross * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 4026f3cdf0SGordon Ross * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 4126f3cdf0SGordon Ross * POSSIBILITY OF SUCH DAMAGES. 4226f3cdf0SGordon Ross */ 437c478bd9Sstevel@tonic-gate 447c478bd9Sstevel@tonic-gate #ifndef __ACXFACE_H__ 457c478bd9Sstevel@tonic-gate #define __ACXFACE_H__ 467c478bd9Sstevel@tonic-gate 47aa2aa9a6SDana Myers /* Current ACPICA subsystem version in YYYYMMDD format */ 48aa2aa9a6SDana Myers 49*7b1019a6SJerry Jelinek #define ACPI_CA_VERSION 0x20160527 50aa2aa9a6SDana Myers 51*7b1019a6SJerry Jelinek #include "acconfig.h" 527c478bd9Sstevel@tonic-gate #include "actypes.h" 537c478bd9Sstevel@tonic-gate #include "actbl.h" 54*7b1019a6SJerry Jelinek #include "acbuffer.h" 55*7b1019a6SJerry Jelinek 56*7b1019a6SJerry Jelinek 57*7b1019a6SJerry Jelinek /***************************************************************************** 58*7b1019a6SJerry Jelinek * 59*7b1019a6SJerry Jelinek * Macros used for ACPICA globals and configuration 60*7b1019a6SJerry Jelinek * 61*7b1019a6SJerry Jelinek ****************************************************************************/ 62*7b1019a6SJerry Jelinek 63*7b1019a6SJerry Jelinek /* 64*7b1019a6SJerry Jelinek * Ensure that global variables are defined and initialized only once. 65*7b1019a6SJerry Jelinek * 66*7b1019a6SJerry Jelinek * The use of these macros allows for a single list of globals (here) 67*7b1019a6SJerry Jelinek * in order to simplify maintenance of the code. 68*7b1019a6SJerry Jelinek */ 69*7b1019a6SJerry Jelinek #ifdef DEFINE_ACPI_GLOBALS 70*7b1019a6SJerry Jelinek #define ACPI_GLOBAL(type,name) \ 71*7b1019a6SJerry Jelinek extern type name; \ 72*7b1019a6SJerry Jelinek type name 73*7b1019a6SJerry Jelinek 74*7b1019a6SJerry Jelinek #define ACPI_INIT_GLOBAL(type,name,value) \ 75*7b1019a6SJerry Jelinek type name=value 76*7b1019a6SJerry Jelinek 77*7b1019a6SJerry Jelinek #else 78*7b1019a6SJerry Jelinek #ifndef ACPI_GLOBAL 79*7b1019a6SJerry Jelinek #define ACPI_GLOBAL(type,name) \ 80*7b1019a6SJerry Jelinek extern type name 81*7b1019a6SJerry Jelinek #endif 82*7b1019a6SJerry Jelinek 83*7b1019a6SJerry Jelinek #ifndef ACPI_INIT_GLOBAL 84*7b1019a6SJerry Jelinek #define ACPI_INIT_GLOBAL(type,name,value) \ 85*7b1019a6SJerry Jelinek extern type name 86*7b1019a6SJerry Jelinek #endif 87*7b1019a6SJerry Jelinek #endif 88*7b1019a6SJerry Jelinek 89*7b1019a6SJerry Jelinek /* 90*7b1019a6SJerry Jelinek * These macros configure the various ACPICA interfaces. They are 91*7b1019a6SJerry Jelinek * useful for generating stub inline functions for features that are 92*7b1019a6SJerry Jelinek * configured out of the current kernel or ACPICA application. 93*7b1019a6SJerry Jelinek */ 94*7b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_STATUS 95*7b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \ 96*7b1019a6SJerry Jelinek Prototype; 97*7b1019a6SJerry Jelinek #endif 98*7b1019a6SJerry Jelinek 99*7b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_OK 100*7b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_OK(Prototype) \ 101*7b1019a6SJerry Jelinek Prototype; 102*7b1019a6SJerry Jelinek #endif 103*7b1019a6SJerry Jelinek 104*7b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_VOID 105*7b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \ 106*7b1019a6SJerry Jelinek Prototype; 107*7b1019a6SJerry Jelinek #endif 108*7b1019a6SJerry Jelinek 109*7b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_UINT32 110*7b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \ 111*7b1019a6SJerry Jelinek Prototype; 112*7b1019a6SJerry Jelinek #endif 113*7b1019a6SJerry Jelinek 114*7b1019a6SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_PTR 115*7b1019a6SJerry Jelinek #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \ 116*7b1019a6SJerry Jelinek Prototype; 117*7b1019a6SJerry Jelinek #endif 118*7b1019a6SJerry Jelinek 119*7b1019a6SJerry Jelinek 120*7b1019a6SJerry Jelinek /***************************************************************************** 121*7b1019a6SJerry Jelinek * 122*7b1019a6SJerry Jelinek * Public globals and runtime configuration options 123*7b1019a6SJerry Jelinek * 124*7b1019a6SJerry Jelinek ****************************************************************************/ 125*7b1019a6SJerry Jelinek 126*7b1019a6SJerry Jelinek /* 127*7b1019a6SJerry Jelinek * Enable "slack mode" of the AML interpreter? Default is FALSE, and the 128*7b1019a6SJerry Jelinek * interpreter strictly follows the ACPI specification. Setting to TRUE 129*7b1019a6SJerry Jelinek * allows the interpreter to ignore certain errors and/or bad AML constructs. 130*7b1019a6SJerry Jelinek * 131*7b1019a6SJerry Jelinek * Currently, these features are enabled by this flag: 132*7b1019a6SJerry Jelinek * 133*7b1019a6SJerry Jelinek * 1) Allow "implicit return" of last value in a control method 134*7b1019a6SJerry Jelinek * 2) Allow access beyond the end of an operation region 135*7b1019a6SJerry Jelinek * 3) Allow access to uninitialized locals/args (auto-init to integer 0) 136*7b1019a6SJerry Jelinek * 4) Allow ANY object type to be a source operand for the Store() operator 137*7b1019a6SJerry Jelinek * 5) Allow unresolved references (invalid target name) in package objects 138*7b1019a6SJerry Jelinek * 6) Enable warning messages for behavior that is not ACPI spec compliant 139*7b1019a6SJerry Jelinek */ 140*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, FALSE); 141*7b1019a6SJerry Jelinek 142*7b1019a6SJerry Jelinek /* 143*7b1019a6SJerry Jelinek * Automatically serialize all methods that create named objects? Default 144*7b1019a6SJerry Jelinek * is TRUE, meaning that all NonSerialized methods are scanned once at 145*7b1019a6SJerry Jelinek * table load time to determine those that create named objects. Methods 146*7b1019a6SJerry Jelinek * that create named objects are marked Serialized in order to prevent 147*7b1019a6SJerry Jelinek * possible run-time problems if they are entered by more than one thread. 148*7b1019a6SJerry Jelinek */ 149*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_AutoSerializeMethods, TRUE); 150*7b1019a6SJerry Jelinek 151*7b1019a6SJerry Jelinek /* 152*7b1019a6SJerry Jelinek * Create the predefined _OSI method in the namespace? Default is TRUE 153*7b1019a6SJerry Jelinek * because ACPICA is fully compatible with other ACPI implementations. 154*7b1019a6SJerry Jelinek * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior. 155*7b1019a6SJerry Jelinek */ 156*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CreateOsiMethod, TRUE); 157*7b1019a6SJerry Jelinek 158*7b1019a6SJerry Jelinek /* 159*7b1019a6SJerry Jelinek * Optionally use default values for the ACPI register widths. Set this to 160*7b1019a6SJerry Jelinek * TRUE to use the defaults, if an FADT contains incorrect widths/lengths. 161*7b1019a6SJerry Jelinek */ 162*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_UseDefaultRegisterWidths, TRUE); 163*7b1019a6SJerry Jelinek 164*7b1019a6SJerry Jelinek /* 165*7b1019a6SJerry Jelinek * Whether or not to verify the table checksum before installation. Set 166*7b1019a6SJerry Jelinek * this to TRUE to verify the table checksum before install it to the table 167*7b1019a6SJerry Jelinek * manager. Note that enabling this option causes errors to happen in some 168*7b1019a6SJerry Jelinek * OSPMs during early initialization stages. Default behavior is to do such 169*7b1019a6SJerry Jelinek * verification. 170*7b1019a6SJerry Jelinek */ 171*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_VerifyTableChecksum, TRUE); 172*7b1019a6SJerry Jelinek 173*7b1019a6SJerry Jelinek /* 174*7b1019a6SJerry Jelinek * Optionally enable output from the AML Debug Object. 175*7b1019a6SJerry Jelinek */ 176*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableAmlDebugObject, FALSE); 177*7b1019a6SJerry Jelinek 178*7b1019a6SJerry Jelinek /* 179*7b1019a6SJerry Jelinek * Optionally copy the entire DSDT to local memory (instead of simply 180*7b1019a6SJerry Jelinek * mapping it.) There are some BIOSs that corrupt or replace the original 181*7b1019a6SJerry Jelinek * DSDT, creating the need for this option. Default is FALSE, do not copy 182*7b1019a6SJerry Jelinek * the DSDT. 183*7b1019a6SJerry Jelinek */ 184*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CopyDsdtLocally, FALSE); 185*7b1019a6SJerry Jelinek 186*7b1019a6SJerry Jelinek /* 187*7b1019a6SJerry Jelinek * Optionally ignore an XSDT if present and use the RSDT instead. 188*7b1019a6SJerry Jelinek * Although the ACPI specification requires that an XSDT be used instead 189*7b1019a6SJerry Jelinek * of the RSDT, the XSDT has been found to be corrupt or ill-formed on 190*7b1019a6SJerry Jelinek * some machines. Default behavior is to use the XSDT if present. 191*7b1019a6SJerry Jelinek */ 192*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE); 193*7b1019a6SJerry Jelinek 194*7b1019a6SJerry Jelinek /* 195*7b1019a6SJerry Jelinek * Optionally support group module level code. 196*7b1019a6SJerry Jelinek */ 197*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_GroupModuleLevelCode, FALSE); 198*7b1019a6SJerry Jelinek 199*7b1019a6SJerry Jelinek /* 200*7b1019a6SJerry Jelinek * Optionally use 32-bit FADT addresses if and when there is a conflict 201*7b1019a6SJerry Jelinek * (address mismatch) between the 32-bit and 64-bit versions of the 202*7b1019a6SJerry Jelinek * address. Although ACPICA adheres to the ACPI specification which 203*7b1019a6SJerry Jelinek * requires the use of the corresponding 64-bit address if it is non-zero, 204*7b1019a6SJerry Jelinek * some machines have been found to have a corrupted non-zero 64-bit 205*7b1019a6SJerry Jelinek * address. Default is FALSE, do not favor the 32-bit addresses. 206*7b1019a6SJerry Jelinek */ 207*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFadtAddresses, FALSE); 208*7b1019a6SJerry Jelinek 209*7b1019a6SJerry Jelinek /* 210*7b1019a6SJerry Jelinek * Optionally use 32-bit FACS table addresses. 211*7b1019a6SJerry Jelinek * It is reported that some platforms fail to resume from system suspending 212*7b1019a6SJerry Jelinek * if 64-bit FACS table address is selected: 213*7b1019a6SJerry Jelinek * https://bugzilla.kernel.org/show_bug.cgi?id=74021 214*7b1019a6SJerry Jelinek * Default is TRUE, favor the 32-bit addresses. 215*7b1019a6SJerry Jelinek */ 216*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFacsAddresses, TRUE); 217*7b1019a6SJerry Jelinek 218*7b1019a6SJerry Jelinek /* 219*7b1019a6SJerry Jelinek * Optionally truncate I/O addresses to 16 bits. Provides compatibility 220*7b1019a6SJerry Jelinek * with other ACPI implementations. NOTE: During ACPICA initialization, 221*7b1019a6SJerry Jelinek * this value is set to TRUE if any Windows OSI strings have been 222*7b1019a6SJerry Jelinek * requested by the BIOS. 223*7b1019a6SJerry Jelinek */ 224*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_TruncateIoAddresses, FALSE); 225*7b1019a6SJerry Jelinek 226*7b1019a6SJerry Jelinek /* 227*7b1019a6SJerry Jelinek * Disable runtime checking and repair of values returned by control methods. 228*7b1019a6SJerry Jelinek * Use only if the repair is causing a problem on a particular machine. 229*7b1019a6SJerry Jelinek */ 230*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableAutoRepair, FALSE); 231*7b1019a6SJerry Jelinek 232*7b1019a6SJerry Jelinek /* 233*7b1019a6SJerry Jelinek * Optionally do not install any SSDTs from the RSDT/XSDT during initialization. 234*7b1019a6SJerry Jelinek * This can be useful for debugging ACPI problems on some machines. 235*7b1019a6SJerry Jelinek */ 236*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableSsdtTableInstall, FALSE); 237*7b1019a6SJerry Jelinek 238*7b1019a6SJerry Jelinek /* 239*7b1019a6SJerry Jelinek * Optionally enable runtime namespace override. 240*7b1019a6SJerry Jelinek */ 241*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_RuntimeNamespaceOverride, TRUE); 242*7b1019a6SJerry Jelinek 243*7b1019a6SJerry Jelinek /* 244*7b1019a6SJerry Jelinek * We keep track of the latest version of Windows that has been requested by 245*7b1019a6SJerry Jelinek * the BIOS. ACPI 5.0. 246*7b1019a6SJerry Jelinek */ 247*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_OsiData, 0); 248*7b1019a6SJerry Jelinek 249*7b1019a6SJerry Jelinek /* 250*7b1019a6SJerry Jelinek * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning 251*7b1019a6SJerry Jelinek * that the ACPI hardware is no longer required. A flag in the FADT indicates 252*7b1019a6SJerry Jelinek * a reduced HW machine, and that flag is duplicated here for convenience. 253*7b1019a6SJerry Jelinek */ 254*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ReducedHardware, FALSE); 255*7b1019a6SJerry Jelinek 256*7b1019a6SJerry Jelinek /* 257*7b1019a6SJerry Jelinek * This mechanism is used to trace a specified AML method. The method is 258*7b1019a6SJerry Jelinek * traced each time it is executed. 259*7b1019a6SJerry Jelinek */ 260*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceFlags, 0); 261*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (const char *, AcpiGbl_TraceMethodName, NULL); 262*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT); 263*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT); 264*7b1019a6SJerry Jelinek 265*7b1019a6SJerry Jelinek /* 266*7b1019a6SJerry Jelinek * Runtime configuration of debug output control masks. We want the debug 267*7b1019a6SJerry Jelinek * switches statically initialized so they are already set when the debugger 268*7b1019a6SJerry Jelinek * is entered. 269*7b1019a6SJerry Jelinek */ 270*7b1019a6SJerry Jelinek #ifdef ACPI_DEBUG_OUTPUT 271*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_DEBUG_DEFAULT); 272*7b1019a6SJerry Jelinek #else 273*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_NORMAL_DEFAULT); 274*7b1019a6SJerry Jelinek #endif 275*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLayer, ACPI_COMPONENT_DEFAULT); 276*7b1019a6SJerry Jelinek 277*7b1019a6SJerry Jelinek /* Optionally enable timer output with Debug Object output */ 278*7b1019a6SJerry Jelinek 279*7b1019a6SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisplayDebugTimer, FALSE); 280*7b1019a6SJerry Jelinek 281*7b1019a6SJerry Jelinek /* 282*7b1019a6SJerry Jelinek * Other miscellaneous globals 283*7b1019a6SJerry Jelinek */ 284*7b1019a6SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_FADT, AcpiGbl_FADT); 285*7b1019a6SJerry Jelinek ACPI_GLOBAL (UINT32, AcpiCurrentGpeCount); 286*7b1019a6SJerry Jelinek ACPI_GLOBAL (BOOLEAN, AcpiGbl_SystemAwakeAndRunning); 287*7b1019a6SJerry Jelinek 288*7b1019a6SJerry Jelinek 289*7b1019a6SJerry Jelinek /***************************************************************************** 290*7b1019a6SJerry Jelinek * 291*7b1019a6SJerry Jelinek * ACPICA public interface configuration. 292*7b1019a6SJerry Jelinek * 293*7b1019a6SJerry Jelinek * Interfaces that are configured out of the ACPICA build are replaced 294*7b1019a6SJerry Jelinek * by inlined stubs by default. 295*7b1019a6SJerry Jelinek * 296*7b1019a6SJerry Jelinek ****************************************************************************/ 297*7b1019a6SJerry Jelinek 298*7b1019a6SJerry Jelinek /* 299*7b1019a6SJerry Jelinek * Hardware-reduced prototypes (default: Not hardware reduced). 300*7b1019a6SJerry Jelinek * 301*7b1019a6SJerry Jelinek * All ACPICA hardware-related interfaces that use these macros will be 302*7b1019a6SJerry Jelinek * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag 303*7b1019a6SJerry Jelinek * is set to TRUE. 304*7b1019a6SJerry Jelinek * 305*7b1019a6SJerry Jelinek * Note: This static build option for reduced hardware is intended to 306*7b1019a6SJerry Jelinek * reduce ACPICA code size if desired or necessary. However, even if this 307*7b1019a6SJerry Jelinek * option is not specified, the runtime behavior of ACPICA is dependent 308*7b1019a6SJerry Jelinek * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set, 309*7b1019a6SJerry Jelinek * the flag will enable similar behavior -- ACPICA will not attempt 310*7b1019a6SJerry Jelinek * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.) 311*7b1019a6SJerry Jelinek */ 312*7b1019a6SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE) 313*7b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 314*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS(Prototype) 315*7b1019a6SJerry Jelinek 316*7b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 317*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_OK(Prototype) 318*7b1019a6SJerry Jelinek 319*7b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 320*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_VOID(Prototype) 321*7b1019a6SJerry Jelinek 322*7b1019a6SJerry Jelinek #else 323*7b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 324*7b1019a6SJerry Jelinek static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);} 325*7b1019a6SJerry Jelinek 326*7b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 327*7b1019a6SJerry Jelinek static ACPI_INLINE Prototype {return(AE_OK);} 328*7b1019a6SJerry Jelinek 329*7b1019a6SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 330*7b1019a6SJerry Jelinek static ACPI_INLINE Prototype {return;} 331*7b1019a6SJerry Jelinek 332*7b1019a6SJerry Jelinek #endif /* !ACPI_REDUCED_HARDWARE */ 333*7b1019a6SJerry Jelinek 334*7b1019a6SJerry Jelinek 335*7b1019a6SJerry Jelinek /* 336*7b1019a6SJerry Jelinek * Error message prototypes (default: error messages enabled). 337*7b1019a6SJerry Jelinek * 338*7b1019a6SJerry Jelinek * All interfaces related to error and warning messages 339*7b1019a6SJerry Jelinek * will be configured out of the ACPICA build if the 340*7b1019a6SJerry Jelinek * ACPI_NO_ERROR_MESSAGE flag is defined. 341*7b1019a6SJerry Jelinek */ 342*7b1019a6SJerry Jelinek #ifndef ACPI_NO_ERROR_MESSAGES 343*7b1019a6SJerry Jelinek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ 344*7b1019a6SJerry Jelinek Prototype; 345*7b1019a6SJerry Jelinek 346*7b1019a6SJerry Jelinek #else 347*7b1019a6SJerry Jelinek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ 348*7b1019a6SJerry Jelinek static ACPI_INLINE Prototype {return;} 349*7b1019a6SJerry Jelinek 350*7b1019a6SJerry Jelinek #endif /* ACPI_NO_ERROR_MESSAGES */ 351*7b1019a6SJerry Jelinek 3527c478bd9Sstevel@tonic-gate 353aa2aa9a6SDana Myers /* 354*7b1019a6SJerry Jelinek * Debugging output prototypes (default: no debug output). 355*7b1019a6SJerry Jelinek * 356*7b1019a6SJerry Jelinek * All interfaces related to debug output messages 357*7b1019a6SJerry Jelinek * will be configured out of the ACPICA build unless the 358*7b1019a6SJerry Jelinek * ACPI_DEBUG_OUTPUT flag is defined. 359*7b1019a6SJerry Jelinek */ 360*7b1019a6SJerry Jelinek #ifdef ACPI_DEBUG_OUTPUT 361*7b1019a6SJerry Jelinek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \ 362*7b1019a6SJerry Jelinek Prototype; 363*7b1019a6SJerry Jelinek 364*7b1019a6SJerry Jelinek #else 365*7b1019a6SJerry Jelinek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) 366*7b1019a6SJerry Jelinek #endif /* ACPI_DEBUG_OUTPUT */ 367*7b1019a6SJerry Jelinek 368*7b1019a6SJerry Jelinek 369*7b1019a6SJerry Jelinek /* 370*7b1019a6SJerry Jelinek * Application prototypes 371*7b1019a6SJerry Jelinek * 372*7b1019a6SJerry Jelinek * All interfaces used by application will be configured 373*7b1019a6SJerry Jelinek * out of the ACPICA build unless the ACPI_APPLICATION 374*7b1019a6SJerry Jelinek * flag is defined. 375aa2aa9a6SDana Myers */ 376*7b1019a6SJerry Jelinek #ifdef ACPI_APPLICATION 377*7b1019a6SJerry Jelinek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \ 378*7b1019a6SJerry Jelinek Prototype; 379*7b1019a6SJerry Jelinek 380*7b1019a6SJerry Jelinek #else 381*7b1019a6SJerry Jelinek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) 382*7b1019a6SJerry Jelinek #endif /* ACPI_APPLICATION */ 383*7b1019a6SJerry Jelinek 384*7b1019a6SJerry Jelinek 385*7b1019a6SJerry Jelinek /* 386*7b1019a6SJerry Jelinek * Debugger prototypes 387*7b1019a6SJerry Jelinek * 388*7b1019a6SJerry Jelinek * All interfaces used by debugger will be configured 389*7b1019a6SJerry Jelinek * out of the ACPICA build unless the ACPI_DEBUGGER 390*7b1019a6SJerry Jelinek * flag is defined. 391*7b1019a6SJerry Jelinek */ 392*7b1019a6SJerry Jelinek #ifdef ACPI_DEBUGGER 393*7b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \ 394*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_OK(Prototype) 395*7b1019a6SJerry Jelinek 396*7b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \ 397*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_VOID(Prototype) 398aa2aa9a6SDana Myers 399*7b1019a6SJerry Jelinek #else 400*7b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \ 401*7b1019a6SJerry Jelinek static ACPI_INLINE Prototype {return(AE_OK);} 402aa2aa9a6SDana Myers 403*7b1019a6SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \ 404*7b1019a6SJerry Jelinek static ACPI_INLINE Prototype {return;} 40557190917SDana Myers 406*7b1019a6SJerry Jelinek #endif /* ACPI_DEBUGGER */ 40757190917SDana Myers 408aa2aa9a6SDana Myers 409*7b1019a6SJerry Jelinek /***************************************************************************** 410*7b1019a6SJerry Jelinek * 411*7b1019a6SJerry Jelinek * ACPICA public interface prototypes 412*7b1019a6SJerry Jelinek * 413*7b1019a6SJerry Jelinek ****************************************************************************/ 4147c478bd9Sstevel@tonic-gate 4157c478bd9Sstevel@tonic-gate /* 41626f3cdf0SGordon Ross * Initialization 4177c478bd9Sstevel@tonic-gate */ 418*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4197c478bd9Sstevel@tonic-gate ACPI_STATUS 420db2bae30SDana Myers AcpiInitializeTables ( 421db2bae30SDana Myers ACPI_TABLE_DESC *InitialStorage, 422db2bae30SDana Myers UINT32 InitialTableCount, 423*7b1019a6SJerry Jelinek BOOLEAN AllowResize)) 424db2bae30SDana Myers 425*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 426db2bae30SDana Myers ACPI_STATUS 4277c478bd9Sstevel@tonic-gate AcpiInitializeSubsystem ( 428*7b1019a6SJerry Jelinek void)) 4297c478bd9Sstevel@tonic-gate 430*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4317c478bd9Sstevel@tonic-gate ACPI_STATUS 4327c478bd9Sstevel@tonic-gate AcpiEnableSubsystem ( 433*7b1019a6SJerry Jelinek UINT32 Flags)) 4347c478bd9Sstevel@tonic-gate 435*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4367c478bd9Sstevel@tonic-gate ACPI_STATUS 4377c478bd9Sstevel@tonic-gate AcpiInitializeObjects ( 438*7b1019a6SJerry Jelinek UINT32 Flags)) 4397c478bd9Sstevel@tonic-gate 440*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4417c478bd9Sstevel@tonic-gate ACPI_STATUS 4427c478bd9Sstevel@tonic-gate AcpiTerminate ( 443*7b1019a6SJerry Jelinek void)) 4447c478bd9Sstevel@tonic-gate 4457c478bd9Sstevel@tonic-gate 44626f3cdf0SGordon Ross /* 44726f3cdf0SGordon Ross * Miscellaneous global interfaces 44826f3cdf0SGordon Ross */ 449*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 4507c478bd9Sstevel@tonic-gate ACPI_STATUS 4517c478bd9Sstevel@tonic-gate AcpiEnable ( 452*7b1019a6SJerry Jelinek void)) 4537c478bd9Sstevel@tonic-gate 454*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 4557c478bd9Sstevel@tonic-gate ACPI_STATUS 4567c478bd9Sstevel@tonic-gate AcpiDisable ( 457*7b1019a6SJerry Jelinek void)) 4587c478bd9Sstevel@tonic-gate 459*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 46026f3cdf0SGordon Ross ACPI_STATUS 46126f3cdf0SGordon Ross AcpiSubsystemStatus ( 462*7b1019a6SJerry Jelinek void)) 46326f3cdf0SGordon Ross 464*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4657c478bd9Sstevel@tonic-gate ACPI_STATUS 4667c478bd9Sstevel@tonic-gate AcpiGetSystemInfo ( 467*7b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer)) 4687c478bd9Sstevel@tonic-gate 469*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 470db2bae30SDana Myers ACPI_STATUS 471db2bae30SDana Myers AcpiGetStatistics ( 472*7b1019a6SJerry Jelinek ACPI_STATISTICS *Stats)) 473db2bae30SDana Myers 474*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_PTR ( 4757c478bd9Sstevel@tonic-gate const char * 4767c478bd9Sstevel@tonic-gate AcpiFormatException ( 477*7b1019a6SJerry Jelinek ACPI_STATUS Exception)) 4787c478bd9Sstevel@tonic-gate 479*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4807c478bd9Sstevel@tonic-gate ACPI_STATUS 4817c478bd9Sstevel@tonic-gate AcpiPurgeCachedObjects ( 482*7b1019a6SJerry Jelinek void)) 4837c478bd9Sstevel@tonic-gate 484*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 48526f3cdf0SGordon Ross ACPI_STATUS 48626f3cdf0SGordon Ross AcpiInstallInterface ( 487*7b1019a6SJerry Jelinek ACPI_STRING InterfaceName)) 48826f3cdf0SGordon Ross 489*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 49026f3cdf0SGordon Ross ACPI_STATUS 49126f3cdf0SGordon Ross AcpiRemoveInterface ( 492*7b1019a6SJerry Jelinek ACPI_STRING InterfaceName)) 493*7b1019a6SJerry Jelinek 494*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 495*7b1019a6SJerry Jelinek ACPI_STATUS 496*7b1019a6SJerry Jelinek AcpiUpdateInterfaces ( 497*7b1019a6SJerry Jelinek UINT8 Action)) 498*7b1019a6SJerry Jelinek 499*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_UINT32 ( 500*7b1019a6SJerry Jelinek UINT32 501*7b1019a6SJerry Jelinek AcpiCheckAddressRange ( 502*7b1019a6SJerry Jelinek ACPI_ADR_SPACE_TYPE SpaceId, 503*7b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS Address, 504*7b1019a6SJerry Jelinek ACPI_SIZE Length, 505*7b1019a6SJerry Jelinek BOOLEAN Warn)) 506*7b1019a6SJerry Jelinek 507*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 508*7b1019a6SJerry Jelinek ACPI_STATUS 509*7b1019a6SJerry Jelinek AcpiDecodePldBuffer ( 510*7b1019a6SJerry Jelinek UINT8 *InBuffer, 511*7b1019a6SJerry Jelinek ACPI_SIZE Length, 512*7b1019a6SJerry Jelinek ACPI_PLD_INFO **ReturnBuffer)) 51326f3cdf0SGordon Ross 5147c478bd9Sstevel@tonic-gate 5157c478bd9Sstevel@tonic-gate /* 516*7b1019a6SJerry Jelinek * ACPI table load/unload interfaces 5177c478bd9Sstevel@tonic-gate */ 518*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 519*7b1019a6SJerry Jelinek ACPI_STATUS 520*7b1019a6SJerry Jelinek AcpiInstallTable ( 521*7b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS Address, 522*7b1019a6SJerry Jelinek BOOLEAN Physical)) 5237c478bd9Sstevel@tonic-gate 524*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 525*7b1019a6SJerry Jelinek ACPI_STATUS 526*7b1019a6SJerry Jelinek AcpiLoadTable ( 527*7b1019a6SJerry Jelinek ACPI_TABLE_HEADER *Table)) 5287c478bd9Sstevel@tonic-gate 529*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 530*7b1019a6SJerry Jelinek ACPI_STATUS 531*7b1019a6SJerry Jelinek AcpiUnloadParentTable ( 532*7b1019a6SJerry Jelinek ACPI_HANDLE Object)) 533*7b1019a6SJerry Jelinek 534*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 535*7b1019a6SJerry Jelinek ACPI_STATUS 536*7b1019a6SJerry Jelinek AcpiLoadTables ( 537*7b1019a6SJerry Jelinek void)) 5387c478bd9Sstevel@tonic-gate 5397c478bd9Sstevel@tonic-gate 5407c478bd9Sstevel@tonic-gate /* 5417c478bd9Sstevel@tonic-gate * ACPI table manipulation interfaces 5427c478bd9Sstevel@tonic-gate */ 543*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5447c478bd9Sstevel@tonic-gate ACPI_STATUS 545db2bae30SDana Myers AcpiReallocateRootTable ( 546*7b1019a6SJerry Jelinek void)) 5477c478bd9Sstevel@tonic-gate 548*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5497c478bd9Sstevel@tonic-gate ACPI_STATUS 550db2bae30SDana Myers AcpiFindRootPointer ( 551*7b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS *RsdpAddress)) 5527c478bd9Sstevel@tonic-gate 553*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5547c478bd9Sstevel@tonic-gate ACPI_STATUS 5557c478bd9Sstevel@tonic-gate AcpiGetTableHeader ( 556db2bae30SDana Myers ACPI_STRING Signature, 5577c478bd9Sstevel@tonic-gate UINT32 Instance, 558*7b1019a6SJerry Jelinek ACPI_TABLE_HEADER *OutTableHeader)) 5597c478bd9Sstevel@tonic-gate 560*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5617c478bd9Sstevel@tonic-gate ACPI_STATUS 5627c478bd9Sstevel@tonic-gate AcpiGetTable ( 563db2bae30SDana Myers ACPI_STRING Signature, 5647c478bd9Sstevel@tonic-gate UINT32 Instance, 565*7b1019a6SJerry Jelinek ACPI_TABLE_HEADER **OutTable)) 5667c478bd9Sstevel@tonic-gate 567*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5687c478bd9Sstevel@tonic-gate ACPI_STATUS 569db2bae30SDana Myers AcpiGetTableByIndex ( 570db2bae30SDana Myers UINT32 TableIndex, 571*7b1019a6SJerry Jelinek ACPI_TABLE_HEADER **OutTable)) 572db2bae30SDana Myers 573*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 574db2bae30SDana Myers ACPI_STATUS 575db2bae30SDana Myers AcpiInstallTableHandler ( 576db2bae30SDana Myers ACPI_TABLE_HANDLER Handler, 577*7b1019a6SJerry Jelinek void *Context)) 578db2bae30SDana Myers 579*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 580db2bae30SDana Myers ACPI_STATUS 581db2bae30SDana Myers AcpiRemoveTableHandler ( 582*7b1019a6SJerry Jelinek ACPI_TABLE_HANDLER Handler)) 5837c478bd9Sstevel@tonic-gate 5847c478bd9Sstevel@tonic-gate 5857c478bd9Sstevel@tonic-gate /* 5867c478bd9Sstevel@tonic-gate * Namespace and name interfaces 5877c478bd9Sstevel@tonic-gate */ 588*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5897c478bd9Sstevel@tonic-gate ACPI_STATUS 5907c478bd9Sstevel@tonic-gate AcpiWalkNamespace ( 5917c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type, 5927c478bd9Sstevel@tonic-gate ACPI_HANDLE StartObject, 5937c478bd9Sstevel@tonic-gate UINT32 MaxDepth, 594*7b1019a6SJerry Jelinek ACPI_WALK_CALLBACK DescendingCallback, 595*7b1019a6SJerry Jelinek ACPI_WALK_CALLBACK AscendingCallback, 5967c478bd9Sstevel@tonic-gate void *Context, 597*7b1019a6SJerry Jelinek void **ReturnValue)) 5987c478bd9Sstevel@tonic-gate 599*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6007c478bd9Sstevel@tonic-gate ACPI_STATUS 6017c478bd9Sstevel@tonic-gate AcpiGetDevices ( 6027c478bd9Sstevel@tonic-gate char *HID, 6037c478bd9Sstevel@tonic-gate ACPI_WALK_CALLBACK UserFunction, 6047c478bd9Sstevel@tonic-gate void *Context, 605*7b1019a6SJerry Jelinek void **ReturnValue)) 6067c478bd9Sstevel@tonic-gate 607*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6087c478bd9Sstevel@tonic-gate ACPI_STATUS 6097c478bd9Sstevel@tonic-gate AcpiGetName ( 61026f3cdf0SGordon Ross ACPI_HANDLE Object, 6117c478bd9Sstevel@tonic-gate UINT32 NameType, 612*7b1019a6SJerry Jelinek ACPI_BUFFER *RetPathPtr)) 6137c478bd9Sstevel@tonic-gate 614*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6157c478bd9Sstevel@tonic-gate ACPI_STATUS 6167c478bd9Sstevel@tonic-gate AcpiGetHandle ( 6177c478bd9Sstevel@tonic-gate ACPI_HANDLE Parent, 6187c478bd9Sstevel@tonic-gate ACPI_STRING Pathname, 619*7b1019a6SJerry Jelinek ACPI_HANDLE *RetHandle)) 6207c478bd9Sstevel@tonic-gate 621*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6227c478bd9Sstevel@tonic-gate ACPI_STATUS 6237c478bd9Sstevel@tonic-gate AcpiAttachData ( 62426f3cdf0SGordon Ross ACPI_HANDLE Object, 6257c478bd9Sstevel@tonic-gate ACPI_OBJECT_HANDLER Handler, 626*7b1019a6SJerry Jelinek void *Data)) 6277c478bd9Sstevel@tonic-gate 628*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6297c478bd9Sstevel@tonic-gate ACPI_STATUS 6307c478bd9Sstevel@tonic-gate AcpiDetachData ( 63126f3cdf0SGordon Ross ACPI_HANDLE Object, 632*7b1019a6SJerry Jelinek ACPI_OBJECT_HANDLER Handler)) 6337c478bd9Sstevel@tonic-gate 634*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6357c478bd9Sstevel@tonic-gate ACPI_STATUS 6367c478bd9Sstevel@tonic-gate AcpiGetData ( 63726f3cdf0SGordon Ross ACPI_HANDLE Object, 6387c478bd9Sstevel@tonic-gate ACPI_OBJECT_HANDLER Handler, 639*7b1019a6SJerry Jelinek void **Data)) 6407c478bd9Sstevel@tonic-gate 641*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 642186507a7Smyers ACPI_STATUS 643186507a7Smyers AcpiDebugTrace ( 644*7b1019a6SJerry Jelinek const char *Name, 645186507a7Smyers UINT32 DebugLevel, 646186507a7Smyers UINT32 DebugLayer, 647*7b1019a6SJerry Jelinek UINT32 Flags)) 648186507a7Smyers 6497c478bd9Sstevel@tonic-gate 6507c478bd9Sstevel@tonic-gate /* 6517c478bd9Sstevel@tonic-gate * Object manipulation and enumeration 6527c478bd9Sstevel@tonic-gate */ 653*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6547c478bd9Sstevel@tonic-gate ACPI_STATUS 6557c478bd9Sstevel@tonic-gate AcpiEvaluateObject ( 6567c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 6577c478bd9Sstevel@tonic-gate ACPI_STRING Pathname, 6587c478bd9Sstevel@tonic-gate ACPI_OBJECT_LIST *ParameterObjects, 659*7b1019a6SJerry Jelinek ACPI_BUFFER *ReturnObjectBuffer)) 6607c478bd9Sstevel@tonic-gate 661*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6627c478bd9Sstevel@tonic-gate ACPI_STATUS 6637c478bd9Sstevel@tonic-gate AcpiEvaluateObjectTyped ( 6647c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 6657c478bd9Sstevel@tonic-gate ACPI_STRING Pathname, 6667c478bd9Sstevel@tonic-gate ACPI_OBJECT_LIST *ExternalParams, 6677c478bd9Sstevel@tonic-gate ACPI_BUFFER *ReturnBuffer, 668*7b1019a6SJerry Jelinek ACPI_OBJECT_TYPE ReturnType)) 6697c478bd9Sstevel@tonic-gate 670*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6717c478bd9Sstevel@tonic-gate ACPI_STATUS 6727c478bd9Sstevel@tonic-gate AcpiGetObjectInfo ( 67326f3cdf0SGordon Ross ACPI_HANDLE Object, 674*7b1019a6SJerry Jelinek ACPI_DEVICE_INFO **ReturnBuffer)) 6757c478bd9Sstevel@tonic-gate 676*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 677aa2aa9a6SDana Myers ACPI_STATUS 678aa2aa9a6SDana Myers AcpiInstallMethod ( 679*7b1019a6SJerry Jelinek UINT8 *Buffer)) 680aa2aa9a6SDana Myers 681*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6827c478bd9Sstevel@tonic-gate ACPI_STATUS 6837c478bd9Sstevel@tonic-gate AcpiGetNextObject ( 6847c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type, 6857c478bd9Sstevel@tonic-gate ACPI_HANDLE Parent, 6867c478bd9Sstevel@tonic-gate ACPI_HANDLE Child, 687*7b1019a6SJerry Jelinek ACPI_HANDLE *OutHandle)) 6887c478bd9Sstevel@tonic-gate 689*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6907c478bd9Sstevel@tonic-gate ACPI_STATUS 6917c478bd9Sstevel@tonic-gate AcpiGetType ( 6927c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 693*7b1019a6SJerry Jelinek ACPI_OBJECT_TYPE *OutType)) 6947c478bd9Sstevel@tonic-gate 695*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6967c478bd9Sstevel@tonic-gate ACPI_STATUS 6977c478bd9Sstevel@tonic-gate AcpiGetParent ( 6987c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 699*7b1019a6SJerry Jelinek ACPI_HANDLE *OutHandle)) 7007c478bd9Sstevel@tonic-gate 7017c478bd9Sstevel@tonic-gate 7027c478bd9Sstevel@tonic-gate /* 703aa2aa9a6SDana Myers * Handler interfaces 7047c478bd9Sstevel@tonic-gate */ 705*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7067c478bd9Sstevel@tonic-gate ACPI_STATUS 707aa2aa9a6SDana Myers AcpiInstallInitializationHandler ( 708aa2aa9a6SDana Myers ACPI_INIT_HANDLER Handler, 709*7b1019a6SJerry Jelinek UINT32 Function)) 710*7b1019a6SJerry Jelinek 711*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 712*7b1019a6SJerry Jelinek ACPI_STATUS 713*7b1019a6SJerry Jelinek AcpiInstallSciHandler ( 714*7b1019a6SJerry Jelinek ACPI_SCI_HANDLER Address, 715*7b1019a6SJerry Jelinek void *Context)) 716aa2aa9a6SDana Myers 717*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 718*7b1019a6SJerry Jelinek ACPI_STATUS 719*7b1019a6SJerry Jelinek AcpiRemoveSciHandler ( 720*7b1019a6SJerry Jelinek ACPI_SCI_HANDLER Address)) 721*7b1019a6SJerry Jelinek 722*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 72326f3cdf0SGordon Ross ACPI_STATUS 72426f3cdf0SGordon Ross AcpiInstallGlobalEventHandler ( 72526f3cdf0SGordon Ross ACPI_GBL_EVENT_HANDLER Handler, 726*7b1019a6SJerry Jelinek void *Context)) 72726f3cdf0SGordon Ross 728*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 729aa2aa9a6SDana Myers ACPI_STATUS 7307c478bd9Sstevel@tonic-gate AcpiInstallFixedEventHandler ( 7317c478bd9Sstevel@tonic-gate UINT32 AcpiEvent, 7327c478bd9Sstevel@tonic-gate ACPI_EVENT_HANDLER Handler, 733*7b1019a6SJerry Jelinek void *Context)) 7347c478bd9Sstevel@tonic-gate 735*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 7367c478bd9Sstevel@tonic-gate ACPI_STATUS 7377c478bd9Sstevel@tonic-gate AcpiRemoveFixedEventHandler ( 7387c478bd9Sstevel@tonic-gate UINT32 AcpiEvent, 739*7b1019a6SJerry Jelinek ACPI_EVENT_HANDLER Handler)) 7407c478bd9Sstevel@tonic-gate 741*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 74226f3cdf0SGordon Ross ACPI_STATUS 74326f3cdf0SGordon Ross AcpiInstallGpeHandler ( 74426f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 74526f3cdf0SGordon Ross UINT32 GpeNumber, 74626f3cdf0SGordon Ross UINT32 Type, 74726f3cdf0SGordon Ross ACPI_GPE_HANDLER Address, 748*7b1019a6SJerry Jelinek void *Context)) 74926f3cdf0SGordon Ross 750*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 751*7b1019a6SJerry Jelinek ACPI_STATUS 752*7b1019a6SJerry Jelinek AcpiInstallGpeRawHandler ( 753*7b1019a6SJerry Jelinek ACPI_HANDLE GpeDevice, 754*7b1019a6SJerry Jelinek UINT32 GpeNumber, 755*7b1019a6SJerry Jelinek UINT32 Type, 756*7b1019a6SJerry Jelinek ACPI_GPE_HANDLER Address, 757*7b1019a6SJerry Jelinek void *Context)) 758*7b1019a6SJerry Jelinek 759*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 76026f3cdf0SGordon Ross ACPI_STATUS 76126f3cdf0SGordon Ross AcpiRemoveGpeHandler ( 76226f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 76326f3cdf0SGordon Ross UINT32 GpeNumber, 764*7b1019a6SJerry Jelinek ACPI_GPE_HANDLER Address)) 76526f3cdf0SGordon Ross 766*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7677c478bd9Sstevel@tonic-gate ACPI_STATUS 7687c478bd9Sstevel@tonic-gate AcpiInstallNotifyHandler ( 7697c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 7707c478bd9Sstevel@tonic-gate UINT32 HandlerType, 7717c478bd9Sstevel@tonic-gate ACPI_NOTIFY_HANDLER Handler, 772*7b1019a6SJerry Jelinek void *Context)) 7737c478bd9Sstevel@tonic-gate 774*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7757c478bd9Sstevel@tonic-gate ACPI_STATUS 7767c478bd9Sstevel@tonic-gate AcpiRemoveNotifyHandler ( 7777c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 7787c478bd9Sstevel@tonic-gate UINT32 HandlerType, 779*7b1019a6SJerry Jelinek ACPI_NOTIFY_HANDLER Handler)) 7807c478bd9Sstevel@tonic-gate 781*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7827c478bd9Sstevel@tonic-gate ACPI_STATUS 7837c478bd9Sstevel@tonic-gate AcpiInstallAddressSpaceHandler ( 7847c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 7857c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_TYPE SpaceId, 7867c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_HANDLER Handler, 7877c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_SETUP Setup, 788*7b1019a6SJerry Jelinek void *Context)) 7897c478bd9Sstevel@tonic-gate 790*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7917c478bd9Sstevel@tonic-gate ACPI_STATUS 7927c478bd9Sstevel@tonic-gate AcpiRemoveAddressSpaceHandler ( 7937c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 7947c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_TYPE SpaceId, 795*7b1019a6SJerry Jelinek ACPI_ADR_SPACE_HANDLER Handler)) 7967c478bd9Sstevel@tonic-gate 797*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7987c478bd9Sstevel@tonic-gate ACPI_STATUS 7997c478bd9Sstevel@tonic-gate AcpiInstallExceptionHandler ( 800*7b1019a6SJerry Jelinek ACPI_EXCEPTION_HANDLER Handler)) 8017c478bd9Sstevel@tonic-gate 802*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 80326f3cdf0SGordon Ross ACPI_STATUS 80426f3cdf0SGordon Ross AcpiInstallInterfaceHandler ( 805*7b1019a6SJerry Jelinek ACPI_INTERFACE_HANDLER Handler)) 80626f3cdf0SGordon Ross 8077c478bd9Sstevel@tonic-gate 8087c478bd9Sstevel@tonic-gate /* 80926f3cdf0SGordon Ross * Global Lock interfaces 8107c478bd9Sstevel@tonic-gate */ 811*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8127c478bd9Sstevel@tonic-gate ACPI_STATUS 8137c478bd9Sstevel@tonic-gate AcpiAcquireGlobalLock ( 8147c478bd9Sstevel@tonic-gate UINT16 Timeout, 815*7b1019a6SJerry Jelinek UINT32 *Handle)) 8167c478bd9Sstevel@tonic-gate 817*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8187c478bd9Sstevel@tonic-gate ACPI_STATUS 8197c478bd9Sstevel@tonic-gate AcpiReleaseGlobalLock ( 820*7b1019a6SJerry Jelinek UINT32 Handle)) 821*7b1019a6SJerry Jelinek 822*7b1019a6SJerry Jelinek 823*7b1019a6SJerry Jelinek /* 824*7b1019a6SJerry Jelinek * Interfaces to AML mutex objects 825*7b1019a6SJerry Jelinek */ 826*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 827*7b1019a6SJerry Jelinek ACPI_STATUS 828*7b1019a6SJerry Jelinek AcpiAcquireMutex ( 829*7b1019a6SJerry Jelinek ACPI_HANDLE Handle, 830*7b1019a6SJerry Jelinek ACPI_STRING Pathname, 831*7b1019a6SJerry Jelinek UINT16 Timeout)) 832*7b1019a6SJerry Jelinek 833*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 834*7b1019a6SJerry Jelinek ACPI_STATUS 835*7b1019a6SJerry Jelinek AcpiReleaseMutex ( 836*7b1019a6SJerry Jelinek ACPI_HANDLE Handle, 837*7b1019a6SJerry Jelinek ACPI_STRING Pathname)) 8387c478bd9Sstevel@tonic-gate 83926f3cdf0SGordon Ross 84026f3cdf0SGordon Ross /* 84126f3cdf0SGordon Ross * Fixed Event interfaces 84226f3cdf0SGordon Ross */ 843*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8447c478bd9Sstevel@tonic-gate ACPI_STATUS 8457c478bd9Sstevel@tonic-gate AcpiEnableEvent ( 8467c478bd9Sstevel@tonic-gate UINT32 Event, 847*7b1019a6SJerry Jelinek UINT32 Flags)) 8487c478bd9Sstevel@tonic-gate 849*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8507c478bd9Sstevel@tonic-gate ACPI_STATUS 8517c478bd9Sstevel@tonic-gate AcpiDisableEvent ( 8527c478bd9Sstevel@tonic-gate UINT32 Event, 853*7b1019a6SJerry Jelinek UINT32 Flags)) 8547c478bd9Sstevel@tonic-gate 855*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8567c478bd9Sstevel@tonic-gate ACPI_STATUS 8577c478bd9Sstevel@tonic-gate AcpiClearEvent ( 858*7b1019a6SJerry Jelinek UINT32 Event)) 8597c478bd9Sstevel@tonic-gate 860*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8617c478bd9Sstevel@tonic-gate ACPI_STATUS 8627c478bd9Sstevel@tonic-gate AcpiGetEventStatus ( 8637c478bd9Sstevel@tonic-gate UINT32 Event, 864*7b1019a6SJerry Jelinek ACPI_EVENT_STATUS *EventStatus)) 8657c478bd9Sstevel@tonic-gate 866aa2aa9a6SDana Myers 867aa2aa9a6SDana Myers /* 86826f3cdf0SGordon Ross * General Purpose Event (GPE) Interfaces 869aa2aa9a6SDana Myers */ 870*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8717c478bd9Sstevel@tonic-gate ACPI_STATUS 87226f3cdf0SGordon Ross AcpiUpdateAllGpes ( 873*7b1019a6SJerry Jelinek void)) 8747c478bd9Sstevel@tonic-gate 875*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8767c478bd9Sstevel@tonic-gate ACPI_STATUS 8777c478bd9Sstevel@tonic-gate AcpiEnableGpe ( 8787c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 879*7b1019a6SJerry Jelinek UINT32 GpeNumber)) 8807c478bd9Sstevel@tonic-gate 881*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8827c478bd9Sstevel@tonic-gate ACPI_STATUS 8837c478bd9Sstevel@tonic-gate AcpiDisableGpe ( 8847c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 885*7b1019a6SJerry Jelinek UINT32 GpeNumber)) 8867c478bd9Sstevel@tonic-gate 887*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8887c478bd9Sstevel@tonic-gate ACPI_STATUS 8897c478bd9Sstevel@tonic-gate AcpiClearGpe ( 89026f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 891*7b1019a6SJerry Jelinek UINT32 GpeNumber)) 89226f3cdf0SGordon Ross 893*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 89426f3cdf0SGordon Ross ACPI_STATUS 89526f3cdf0SGordon Ross AcpiSetGpe ( 8967c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 8977c478bd9Sstevel@tonic-gate UINT32 GpeNumber, 898*7b1019a6SJerry Jelinek UINT8 Action)) 89926f3cdf0SGordon Ross 900*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 90126f3cdf0SGordon Ross ACPI_STATUS 90226f3cdf0SGordon Ross AcpiFinishGpe ( 90326f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 904*7b1019a6SJerry Jelinek UINT32 GpeNumber)) 90526f3cdf0SGordon Ross 906*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 907*7b1019a6SJerry Jelinek ACPI_STATUS 908*7b1019a6SJerry Jelinek AcpiMarkGpeForWake ( 909*7b1019a6SJerry Jelinek ACPI_HANDLE GpeDevice, 910*7b1019a6SJerry Jelinek UINT32 GpeNumber)) 911*7b1019a6SJerry Jelinek 912*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 91326f3cdf0SGordon Ross ACPI_STATUS 91426f3cdf0SGordon Ross AcpiSetupGpeForWake ( 91526f3cdf0SGordon Ross ACPI_HANDLE ParentDevice, 91626f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 917*7b1019a6SJerry Jelinek UINT32 GpeNumber)) 91826f3cdf0SGordon Ross 919*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 92026f3cdf0SGordon Ross ACPI_STATUS 92126f3cdf0SGordon Ross AcpiSetGpeWakeMask ( 92226f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 92326f3cdf0SGordon Ross UINT32 GpeNumber, 924*7b1019a6SJerry Jelinek UINT8 Action)) 9257c478bd9Sstevel@tonic-gate 926*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 9277c478bd9Sstevel@tonic-gate ACPI_STATUS 9287c478bd9Sstevel@tonic-gate AcpiGetGpeStatus ( 9297c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 9307c478bd9Sstevel@tonic-gate UINT32 GpeNumber, 931*7b1019a6SJerry Jelinek ACPI_EVENT_STATUS *EventStatus)) 9327c478bd9Sstevel@tonic-gate 933*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 934aa2aa9a6SDana Myers ACPI_STATUS 935aa2aa9a6SDana Myers AcpiDisableAllGpes ( 936*7b1019a6SJerry Jelinek void)) 937aa2aa9a6SDana Myers 938*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 939aa2aa9a6SDana Myers ACPI_STATUS 940aa2aa9a6SDana Myers AcpiEnableAllRuntimeGpes ( 941*7b1019a6SJerry Jelinek void)) 942aa2aa9a6SDana Myers 943*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 944*7b1019a6SJerry Jelinek ACPI_STATUS 945*7b1019a6SJerry Jelinek AcpiEnableAllWakeupGpes ( 946*7b1019a6SJerry Jelinek void)) 947*7b1019a6SJerry Jelinek 948*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 949aa2aa9a6SDana Myers ACPI_STATUS 950aa2aa9a6SDana Myers AcpiGetGpeDevice ( 951aa2aa9a6SDana Myers UINT32 GpeIndex, 952*7b1019a6SJerry Jelinek ACPI_HANDLE *GpeDevice)) 953aa2aa9a6SDana Myers 954*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 9557c478bd9Sstevel@tonic-gate ACPI_STATUS 9567c478bd9Sstevel@tonic-gate AcpiInstallGpeBlock ( 9577c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 9587c478bd9Sstevel@tonic-gate ACPI_GENERIC_ADDRESS *GpeBlockAddress, 9597c478bd9Sstevel@tonic-gate UINT32 RegisterCount, 960*7b1019a6SJerry Jelinek UINT32 InterruptNumber)) 9617c478bd9Sstevel@tonic-gate 962*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 9637c478bd9Sstevel@tonic-gate ACPI_STATUS 9647c478bd9Sstevel@tonic-gate AcpiRemoveGpeBlock ( 965*7b1019a6SJerry Jelinek ACPI_HANDLE GpeDevice)) 9667c478bd9Sstevel@tonic-gate 9677c478bd9Sstevel@tonic-gate 9687c478bd9Sstevel@tonic-gate /* 9697c478bd9Sstevel@tonic-gate * Resource interfaces 9707c478bd9Sstevel@tonic-gate */ 9717c478bd9Sstevel@tonic-gate typedef 9727c478bd9Sstevel@tonic-gate ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) ( 9737c478bd9Sstevel@tonic-gate ACPI_RESOURCE *Resource, 9747c478bd9Sstevel@tonic-gate void *Context); 9757c478bd9Sstevel@tonic-gate 976*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 97730082d0cSmyers ACPI_STATUS 97830082d0cSmyers AcpiGetVendorResource ( 97926f3cdf0SGordon Ross ACPI_HANDLE Device, 98030082d0cSmyers char *Name, 98130082d0cSmyers ACPI_VENDOR_UUID *Uuid, 982*7b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer)) 9837c478bd9Sstevel@tonic-gate 984*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 9857c478bd9Sstevel@tonic-gate ACPI_STATUS 98626f3cdf0SGordon Ross AcpiGetCurrentResources ( 98726f3cdf0SGordon Ross ACPI_HANDLE Device, 988*7b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer)) 9897c478bd9Sstevel@tonic-gate 990*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 9917c478bd9Sstevel@tonic-gate ACPI_STATUS 99226f3cdf0SGordon Ross AcpiGetPossibleResources ( 99326f3cdf0SGordon Ross ACPI_HANDLE Device, 994*7b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer)) 995*7b1019a6SJerry Jelinek 996*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 997*7b1019a6SJerry Jelinek ACPI_STATUS 998*7b1019a6SJerry Jelinek AcpiGetEventResources ( 999*7b1019a6SJerry Jelinek ACPI_HANDLE DeviceHandle, 1000*7b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer)) 1001*7b1019a6SJerry Jelinek 1002*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1003*7b1019a6SJerry Jelinek ACPI_STATUS 1004*7b1019a6SJerry Jelinek AcpiWalkResourceBuffer ( 1005*7b1019a6SJerry Jelinek ACPI_BUFFER *Buffer, 1006*7b1019a6SJerry Jelinek ACPI_WALK_RESOURCE_CALLBACK UserFunction, 1007*7b1019a6SJerry Jelinek void *Context)) 10087c478bd9Sstevel@tonic-gate 1009*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10107c478bd9Sstevel@tonic-gate ACPI_STATUS 10117c478bd9Sstevel@tonic-gate AcpiWalkResources ( 101226f3cdf0SGordon Ross ACPI_HANDLE Device, 101330082d0cSmyers char *Name, 101430082d0cSmyers ACPI_WALK_RESOURCE_CALLBACK UserFunction, 1015*7b1019a6SJerry Jelinek void *Context)) 10167c478bd9Sstevel@tonic-gate 1017*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10187c478bd9Sstevel@tonic-gate ACPI_STATUS 10197c478bd9Sstevel@tonic-gate AcpiSetCurrentResources ( 102026f3cdf0SGordon Ross ACPI_HANDLE Device, 1021*7b1019a6SJerry Jelinek ACPI_BUFFER *InBuffer)) 10227c478bd9Sstevel@tonic-gate 1023*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10247c478bd9Sstevel@tonic-gate ACPI_STATUS 102526f3cdf0SGordon Ross AcpiGetIrqRoutingTable ( 102626f3cdf0SGordon Ross ACPI_HANDLE Device, 1027*7b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer)) 10287c478bd9Sstevel@tonic-gate 1029*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10307c478bd9Sstevel@tonic-gate ACPI_STATUS 10317c478bd9Sstevel@tonic-gate AcpiResourceToAddress64 ( 10327c478bd9Sstevel@tonic-gate ACPI_RESOURCE *Resource, 1033*7b1019a6SJerry Jelinek ACPI_RESOURCE_ADDRESS64 *Out)) 1034*7b1019a6SJerry Jelinek 1035*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1036*7b1019a6SJerry Jelinek ACPI_STATUS 1037*7b1019a6SJerry Jelinek AcpiBufferToResource ( 1038*7b1019a6SJerry Jelinek UINT8 *AmlBuffer, 1039*7b1019a6SJerry Jelinek UINT16 AmlBufferLength, 1040*7b1019a6SJerry Jelinek ACPI_RESOURCE **ResourcePtr)) 10417c478bd9Sstevel@tonic-gate 1042aa2aa9a6SDana Myers 10437c478bd9Sstevel@tonic-gate /* 10447c478bd9Sstevel@tonic-gate * Hardware (ACPI device) interfaces 10457c478bd9Sstevel@tonic-gate */ 1046*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10477c478bd9Sstevel@tonic-gate ACPI_STATUS 1048aa2aa9a6SDana Myers AcpiReset ( 1049*7b1019a6SJerry Jelinek void)) 1050db2bae30SDana Myers 1051*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1052db2bae30SDana Myers ACPI_STATUS 1053aa2aa9a6SDana Myers AcpiRead ( 105457190917SDana Myers UINT64 *Value, 1055*7b1019a6SJerry Jelinek ACPI_GENERIC_ADDRESS *Reg)) 10567c478bd9Sstevel@tonic-gate 1057*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10587c478bd9Sstevel@tonic-gate ACPI_STATUS 1059aa2aa9a6SDana Myers AcpiWrite ( 106057190917SDana Myers UINT64 Value, 1061*7b1019a6SJerry Jelinek ACPI_GENERIC_ADDRESS *Reg)) 10627c478bd9Sstevel@tonic-gate 1063*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 10647c478bd9Sstevel@tonic-gate ACPI_STATUS 1065aa2aa9a6SDana Myers AcpiReadBitRegister ( 1066aa2aa9a6SDana Myers UINT32 RegisterId, 1067*7b1019a6SJerry Jelinek UINT32 *ReturnValue)) 10687c478bd9Sstevel@tonic-gate 1069*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 10707c478bd9Sstevel@tonic-gate ACPI_STATUS 1071aa2aa9a6SDana Myers AcpiWriteBitRegister ( 1072aa2aa9a6SDana Myers UINT32 RegisterId, 1073*7b1019a6SJerry Jelinek UINT32 Value)) 1074*7b1019a6SJerry Jelinek 10757c478bd9Sstevel@tonic-gate 1076*7b1019a6SJerry Jelinek /* 1077*7b1019a6SJerry Jelinek * Sleep/Wake interfaces 1078*7b1019a6SJerry Jelinek */ 1079*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10807c478bd9Sstevel@tonic-gate ACPI_STATUS 10817c478bd9Sstevel@tonic-gate AcpiGetSleepTypeData ( 10827c478bd9Sstevel@tonic-gate UINT8 SleepState, 10837c478bd9Sstevel@tonic-gate UINT8 *Slp_TypA, 1084*7b1019a6SJerry Jelinek UINT8 *Slp_TypB)) 10857c478bd9Sstevel@tonic-gate 1086*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10877c478bd9Sstevel@tonic-gate ACPI_STATUS 10887c478bd9Sstevel@tonic-gate AcpiEnterSleepStatePrep ( 1089*7b1019a6SJerry Jelinek UINT8 SleepState)) 10907c478bd9Sstevel@tonic-gate 1091*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10927c478bd9Sstevel@tonic-gate ACPI_STATUS 10937c478bd9Sstevel@tonic-gate AcpiEnterSleepState ( 1094*7b1019a6SJerry Jelinek UINT8 SleepState)) 10957c478bd9Sstevel@tonic-gate 1096*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 10977c478bd9Sstevel@tonic-gate ACPI_STATUS 10987c478bd9Sstevel@tonic-gate AcpiEnterSleepStateS4bios ( 1099*7b1019a6SJerry Jelinek void)) 11007c478bd9Sstevel@tonic-gate 1101*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1102*7b1019a6SJerry Jelinek ACPI_STATUS 1103*7b1019a6SJerry Jelinek AcpiLeaveSleepStatePrep ( 1104*7b1019a6SJerry Jelinek UINT8 SleepState)) 1105*7b1019a6SJerry Jelinek 1106*7b1019a6SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 11077c478bd9Sstevel@tonic-gate ACPI_STATUS 11087c478bd9Sstevel@tonic-gate AcpiLeaveSleepState ( 1109*7b1019a6SJerry Jelinek UINT8 SleepState)) 1110*7b1019a6SJerry Jelinek 1111*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1112aa2aa9a6SDana Myers ACPI_STATUS 1113aa2aa9a6SDana Myers AcpiSetFirmwareWakingVector ( 1114*7b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS PhysicalAddress, 1115*7b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS PhysicalAddress64)) 1116*7b1019a6SJerry Jelinek 1117aa2aa9a6SDana Myers 1118*7b1019a6SJerry Jelinek /* 1119*7b1019a6SJerry Jelinek * ACPI Timer interfaces 1120*7b1019a6SJerry Jelinek */ 1121*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1122aa2aa9a6SDana Myers ACPI_STATUS 1123*7b1019a6SJerry Jelinek AcpiGetTimerResolution ( 1124*7b1019a6SJerry Jelinek UINT32 *Resolution)) 1125*7b1019a6SJerry Jelinek 1126*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1127*7b1019a6SJerry Jelinek ACPI_STATUS 1128*7b1019a6SJerry Jelinek AcpiGetTimer ( 1129*7b1019a6SJerry Jelinek UINT32 *Ticks)) 1130*7b1019a6SJerry Jelinek 1131*7b1019a6SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1132*7b1019a6SJerry Jelinek ACPI_STATUS 1133*7b1019a6SJerry Jelinek AcpiGetTimerDuration ( 1134*7b1019a6SJerry Jelinek UINT32 StartTicks, 1135*7b1019a6SJerry Jelinek UINT32 EndTicks, 1136*7b1019a6SJerry Jelinek UINT32 *TimeElapsed)) 1137aa2aa9a6SDana Myers 1138aa2aa9a6SDana Myers 1139aa2aa9a6SDana Myers /* 1140aa2aa9a6SDana Myers * Error/Warning output 1141aa2aa9a6SDana Myers */ 1142*7b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1143*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3) 1144aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1145aa2aa9a6SDana Myers AcpiError ( 1146aa2aa9a6SDana Myers const char *ModuleName, 1147aa2aa9a6SDana Myers UINT32 LineNumber, 1148aa2aa9a6SDana Myers const char *Format, 1149*7b1019a6SJerry Jelinek ...)) 1150aa2aa9a6SDana Myers 1151*7b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1152*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(4) 1153aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1154aa2aa9a6SDana Myers AcpiException ( 1155aa2aa9a6SDana Myers const char *ModuleName, 1156aa2aa9a6SDana Myers UINT32 LineNumber, 1157aa2aa9a6SDana Myers ACPI_STATUS Status, 1158aa2aa9a6SDana Myers const char *Format, 1159*7b1019a6SJerry Jelinek ...)) 1160aa2aa9a6SDana Myers 1161*7b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1162*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3) 1163aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1164aa2aa9a6SDana Myers AcpiWarning ( 1165aa2aa9a6SDana Myers const char *ModuleName, 1166aa2aa9a6SDana Myers UINT32 LineNumber, 1167aa2aa9a6SDana Myers const char *Format, 1168*7b1019a6SJerry Jelinek ...)) 1169aa2aa9a6SDana Myers 1170*7b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1171*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(1) 1172aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1173aa2aa9a6SDana Myers AcpiInfo ( 1174*7b1019a6SJerry Jelinek const char *Format, 1175*7b1019a6SJerry Jelinek ...)) 1176*7b1019a6SJerry Jelinek 1177*7b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1178*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3) 1179*7b1019a6SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE 1180*7b1019a6SJerry Jelinek AcpiBiosError ( 1181*7b1019a6SJerry Jelinek const char *ModuleName, 1182*7b1019a6SJerry Jelinek UINT32 LineNumber, 1183*7b1019a6SJerry Jelinek const char *Format, 1184*7b1019a6SJerry Jelinek ...)) 1185*7b1019a6SJerry Jelinek 1186*7b1019a6SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1187*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(3) 1188*7b1019a6SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE 1189*7b1019a6SJerry Jelinek AcpiBiosWarning ( 1190aa2aa9a6SDana Myers const char *ModuleName, 1191aa2aa9a6SDana Myers UINT32 LineNumber, 1192aa2aa9a6SDana Myers const char *Format, 1193*7b1019a6SJerry Jelinek ...)) 1194aa2aa9a6SDana Myers 11957c478bd9Sstevel@tonic-gate 1196aa2aa9a6SDana Myers /* 1197aa2aa9a6SDana Myers * Debug output 1198aa2aa9a6SDana Myers */ 1199*7b1019a6SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1200*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(6) 1201aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1202aa2aa9a6SDana Myers AcpiDebugPrint ( 1203aa2aa9a6SDana Myers UINT32 RequestedDebugLevel, 1204aa2aa9a6SDana Myers UINT32 LineNumber, 1205aa2aa9a6SDana Myers const char *FunctionName, 1206aa2aa9a6SDana Myers const char *ModuleName, 1207aa2aa9a6SDana Myers UINT32 ComponentId, 1208aa2aa9a6SDana Myers const char *Format, 1209*7b1019a6SJerry Jelinek ...)) 1210aa2aa9a6SDana Myers 1211*7b1019a6SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1212*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(6) 1213aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1214aa2aa9a6SDana Myers AcpiDebugPrintRaw ( 1215aa2aa9a6SDana Myers UINT32 RequestedDebugLevel, 1216aa2aa9a6SDana Myers UINT32 LineNumber, 1217aa2aa9a6SDana Myers const char *FunctionName, 1218aa2aa9a6SDana Myers const char *ModuleName, 1219aa2aa9a6SDana Myers UINT32 ComponentId, 1220aa2aa9a6SDana Myers const char *Format, 1221*7b1019a6SJerry Jelinek ...)) 1222*7b1019a6SJerry Jelinek 1223*7b1019a6SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1224*7b1019a6SJerry Jelinek void 1225*7b1019a6SJerry Jelinek AcpiTracePoint ( 1226*7b1019a6SJerry Jelinek ACPI_TRACE_EVENT_TYPE Type, 1227*7b1019a6SJerry Jelinek BOOLEAN Begin, 1228*7b1019a6SJerry Jelinek UINT8 *Aml, 1229*7b1019a6SJerry Jelinek char *Pathname)) 1230*7b1019a6SJerry Jelinek 1231*7b1019a6SJerry Jelinek ACPI_APP_DEPENDENT_RETURN_VOID ( 1232*7b1019a6SJerry Jelinek ACPI_PRINTF_LIKE(1) 1233*7b1019a6SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE 1234*7b1019a6SJerry Jelinek AcpiLogError ( 1235*7b1019a6SJerry Jelinek const char *Format, 1236*7b1019a6SJerry Jelinek ...)) 1237*7b1019a6SJerry Jelinek 1238*7b1019a6SJerry Jelinek ACPI_STATUS 1239*7b1019a6SJerry Jelinek AcpiInitializeDebugger ( 1240*7b1019a6SJerry Jelinek void); 1241*7b1019a6SJerry Jelinek 1242*7b1019a6SJerry Jelinek void 1243*7b1019a6SJerry Jelinek AcpiTerminateDebugger ( 1244*7b1019a6SJerry Jelinek void); 1245*7b1019a6SJerry Jelinek 1246*7b1019a6SJerry Jelinek void 1247*7b1019a6SJerry Jelinek AcpiSetDebuggerThreadId ( 1248*7b1019a6SJerry Jelinek ACPI_THREAD_ID ThreadId); 12497c478bd9Sstevel@tonic-gate 12507c478bd9Sstevel@tonic-gate #endif /* __ACXFACE_H__ */ 1251