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*cb565728SJerry 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*cb565728SJerry Jelinek #define ACPI_CA_VERSION 0x20160527 50aa2aa9a6SDana Myers 51*cb565728SJerry Jelinek #include "acconfig.h" 527c478bd9Sstevel@tonic-gate #include "actypes.h" 537c478bd9Sstevel@tonic-gate #include "actbl.h" 54*cb565728SJerry Jelinek #include "acbuffer.h" 55*cb565728SJerry Jelinek 56*cb565728SJerry Jelinek 57*cb565728SJerry Jelinek /***************************************************************************** 58*cb565728SJerry Jelinek * 59*cb565728SJerry Jelinek * Macros used for ACPICA globals and configuration 60*cb565728SJerry Jelinek * 61*cb565728SJerry Jelinek ****************************************************************************/ 627c478bd9Sstevel@tonic-gate 63aa2aa9a6SDana Myers /* 64*cb565728SJerry Jelinek * Ensure that global variables are defined and initialized only once. 65*cb565728SJerry Jelinek * 66*cb565728SJerry Jelinek * The use of these macros allows for a single list of globals (here) 67*cb565728SJerry Jelinek * in order to simplify maintenance of the code. 68aa2aa9a6SDana Myers */ 69*cb565728SJerry Jelinek #ifdef DEFINE_ACPI_GLOBALS 70*cb565728SJerry Jelinek #define ACPI_GLOBAL(type,name) \ 71*cb565728SJerry Jelinek extern type name; \ 72*cb565728SJerry Jelinek type name 73aa2aa9a6SDana Myers 74*cb565728SJerry Jelinek #define ACPI_INIT_GLOBAL(type,name,value) \ 75*cb565728SJerry Jelinek type name=value 76aa2aa9a6SDana Myers 77*cb565728SJerry Jelinek #else 78*cb565728SJerry Jelinek #ifndef ACPI_GLOBAL 79*cb565728SJerry Jelinek #define ACPI_GLOBAL(type,name) \ 80*cb565728SJerry Jelinek extern type name 81*cb565728SJerry Jelinek #endif 8257190917SDana Myers 83*cb565728SJerry Jelinek #ifndef ACPI_INIT_GLOBAL 84*cb565728SJerry Jelinek #define ACPI_INIT_GLOBAL(type,name,value) \ 85*cb565728SJerry Jelinek extern type name 86*cb565728SJerry Jelinek #endif 87*cb565728SJerry Jelinek #endif 8857190917SDana Myers 89*cb565728SJerry Jelinek /* 90*cb565728SJerry Jelinek * These macros configure the various ACPICA interfaces. They are 91*cb565728SJerry Jelinek * useful for generating stub inline functions for features that are 92*cb565728SJerry Jelinek * configured out of the current kernel or ACPICA application. 93*cb565728SJerry Jelinek */ 94*cb565728SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_STATUS 95*cb565728SJerry Jelinek #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \ 96*cb565728SJerry Jelinek Prototype; 97*cb565728SJerry Jelinek #endif 98aa2aa9a6SDana Myers 99*cb565728SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_OK 100*cb565728SJerry Jelinek #define ACPI_EXTERNAL_RETURN_OK(Prototype) \ 101*cb565728SJerry Jelinek Prototype; 102*cb565728SJerry Jelinek #endif 103*cb565728SJerry Jelinek 104*cb565728SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_VOID 105*cb565728SJerry Jelinek #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \ 106*cb565728SJerry Jelinek Prototype; 107*cb565728SJerry Jelinek #endif 108*cb565728SJerry Jelinek 109*cb565728SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_UINT32 110*cb565728SJerry Jelinek #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \ 111*cb565728SJerry Jelinek Prototype; 112*cb565728SJerry Jelinek #endif 113*cb565728SJerry Jelinek 114*cb565728SJerry Jelinek #ifndef ACPI_EXTERNAL_RETURN_PTR 115*cb565728SJerry Jelinek #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \ 116*cb565728SJerry Jelinek Prototype; 117*cb565728SJerry Jelinek #endif 118*cb565728SJerry Jelinek 119*cb565728SJerry Jelinek 120*cb565728SJerry Jelinek /***************************************************************************** 121*cb565728SJerry Jelinek * 122*cb565728SJerry Jelinek * Public globals and runtime configuration options 123*cb565728SJerry Jelinek * 124*cb565728SJerry Jelinek ****************************************************************************/ 125*cb565728SJerry Jelinek 126*cb565728SJerry Jelinek /* 127*cb565728SJerry Jelinek * Enable "slack mode" of the AML interpreter? Default is FALSE, and the 128*cb565728SJerry Jelinek * interpreter strictly follows the ACPI specification. Setting to TRUE 129*cb565728SJerry Jelinek * allows the interpreter to ignore certain errors and/or bad AML constructs. 130*cb565728SJerry Jelinek * 131*cb565728SJerry Jelinek * Currently, these features are enabled by this flag: 132*cb565728SJerry Jelinek * 133*cb565728SJerry Jelinek * 1) Allow "implicit return" of last value in a control method 134*cb565728SJerry Jelinek * 2) Allow access beyond the end of an operation region 135*cb565728SJerry Jelinek * 3) Allow access to uninitialized locals/args (auto-init to integer 0) 136*cb565728SJerry Jelinek * 4) Allow ANY object type to be a source operand for the Store() operator 137*cb565728SJerry Jelinek * 5) Allow unresolved references (invalid target name) in package objects 138*cb565728SJerry Jelinek * 6) Enable warning messages for behavior that is not ACPI spec compliant 139*cb565728SJerry Jelinek */ 140*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, FALSE); 141*cb565728SJerry Jelinek 142*cb565728SJerry Jelinek /* 143*cb565728SJerry Jelinek * Automatically serialize all methods that create named objects? Default 144*cb565728SJerry Jelinek * is TRUE, meaning that all NonSerialized methods are scanned once at 145*cb565728SJerry Jelinek * table load time to determine those that create named objects. Methods 146*cb565728SJerry Jelinek * that create named objects are marked Serialized in order to prevent 147*cb565728SJerry Jelinek * possible run-time problems if they are entered by more than one thread. 148*cb565728SJerry Jelinek */ 149*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_AutoSerializeMethods, TRUE); 150*cb565728SJerry Jelinek 151*cb565728SJerry Jelinek /* 152*cb565728SJerry Jelinek * Create the predefined _OSI method in the namespace? Default is TRUE 153*cb565728SJerry Jelinek * because ACPICA is fully compatible with other ACPI implementations. 154*cb565728SJerry Jelinek * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior. 155*cb565728SJerry Jelinek */ 156*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CreateOsiMethod, TRUE); 157*cb565728SJerry Jelinek 158*cb565728SJerry Jelinek /* 159*cb565728SJerry Jelinek * Optionally use default values for the ACPI register widths. Set this to 160*cb565728SJerry Jelinek * TRUE to use the defaults, if an FADT contains incorrect widths/lengths. 161*cb565728SJerry Jelinek */ 162*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_UseDefaultRegisterWidths, TRUE); 163*cb565728SJerry Jelinek 164*cb565728SJerry Jelinek /* 165*cb565728SJerry Jelinek * Whether or not to verify the table checksum before installation. Set 166*cb565728SJerry Jelinek * this to TRUE to verify the table checksum before install it to the table 167*cb565728SJerry Jelinek * manager. Note that enabling this option causes errors to happen in some 168*cb565728SJerry Jelinek * OSPMs during early initialization stages. Default behavior is to do such 169*cb565728SJerry Jelinek * verification. 170*cb565728SJerry Jelinek */ 171*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_VerifyTableChecksum, TRUE); 172*cb565728SJerry Jelinek 173*cb565728SJerry Jelinek /* 174*cb565728SJerry Jelinek * Optionally enable output from the AML Debug Object. 175*cb565728SJerry Jelinek */ 176*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableAmlDebugObject, FALSE); 177*cb565728SJerry Jelinek 178*cb565728SJerry Jelinek /* 179*cb565728SJerry Jelinek * Optionally copy the entire DSDT to local memory (instead of simply 180*cb565728SJerry Jelinek * mapping it.) There are some BIOSs that corrupt or replace the original 181*cb565728SJerry Jelinek * DSDT, creating the need for this option. Default is FALSE, do not copy 182*cb565728SJerry Jelinek * the DSDT. 183*cb565728SJerry Jelinek */ 184*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CopyDsdtLocally, FALSE); 185*cb565728SJerry Jelinek 186*cb565728SJerry Jelinek /* 187*cb565728SJerry Jelinek * Optionally ignore an XSDT if present and use the RSDT instead. 188*cb565728SJerry Jelinek * Although the ACPI specification requires that an XSDT be used instead 189*cb565728SJerry Jelinek * of the RSDT, the XSDT has been found to be corrupt or ill-formed on 190*cb565728SJerry Jelinek * some machines. Default behavior is to use the XSDT if present. 191*cb565728SJerry Jelinek */ 192*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE); 193*cb565728SJerry Jelinek 194*cb565728SJerry Jelinek /* 195*cb565728SJerry Jelinek * Optionally support group module level code. 196*cb565728SJerry Jelinek */ 197*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_GroupModuleLevelCode, FALSE); 198*cb565728SJerry Jelinek 199*cb565728SJerry Jelinek /* 200*cb565728SJerry Jelinek * Optionally use 32-bit FADT addresses if and when there is a conflict 201*cb565728SJerry Jelinek * (address mismatch) between the 32-bit and 64-bit versions of the 202*cb565728SJerry Jelinek * address. Although ACPICA adheres to the ACPI specification which 203*cb565728SJerry Jelinek * requires the use of the corresponding 64-bit address if it is non-zero, 204*cb565728SJerry Jelinek * some machines have been found to have a corrupted non-zero 64-bit 205*cb565728SJerry Jelinek * address. Default is FALSE, do not favor the 32-bit addresses. 206*cb565728SJerry Jelinek */ 207*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFadtAddresses, FALSE); 208*cb565728SJerry Jelinek 209*cb565728SJerry Jelinek /* 210*cb565728SJerry Jelinek * Optionally use 32-bit FACS table addresses. 211*cb565728SJerry Jelinek * It is reported that some platforms fail to resume from system suspending 212*cb565728SJerry Jelinek * if 64-bit FACS table address is selected: 213*cb565728SJerry Jelinek * https://bugzilla.kernel.org/show_bug.cgi?id=74021 214*cb565728SJerry Jelinek * Default is TRUE, favor the 32-bit addresses. 215*cb565728SJerry Jelinek */ 216*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFacsAddresses, TRUE); 217*cb565728SJerry Jelinek 218*cb565728SJerry Jelinek /* 219*cb565728SJerry Jelinek * Optionally truncate I/O addresses to 16 bits. Provides compatibility 220*cb565728SJerry Jelinek * with other ACPI implementations. NOTE: During ACPICA initialization, 221*cb565728SJerry Jelinek * this value is set to TRUE if any Windows OSI strings have been 222*cb565728SJerry Jelinek * requested by the BIOS. 223*cb565728SJerry Jelinek */ 224*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_TruncateIoAddresses, FALSE); 225*cb565728SJerry Jelinek 226*cb565728SJerry Jelinek /* 227*cb565728SJerry Jelinek * Disable runtime checking and repair of values returned by control methods. 228*cb565728SJerry Jelinek * Use only if the repair is causing a problem on a particular machine. 229*cb565728SJerry Jelinek */ 230*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableAutoRepair, FALSE); 231*cb565728SJerry Jelinek 232*cb565728SJerry Jelinek /* 233*cb565728SJerry Jelinek * Optionally do not install any SSDTs from the RSDT/XSDT during initialization. 234*cb565728SJerry Jelinek * This can be useful for debugging ACPI problems on some machines. 235*cb565728SJerry Jelinek */ 236*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableSsdtTableInstall, FALSE); 237*cb565728SJerry Jelinek 238*cb565728SJerry Jelinek /* 239*cb565728SJerry Jelinek * Optionally enable runtime namespace override. 240*cb565728SJerry Jelinek */ 241*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_RuntimeNamespaceOverride, TRUE); 242*cb565728SJerry Jelinek 243*cb565728SJerry Jelinek /* 244*cb565728SJerry Jelinek * We keep track of the latest version of Windows that has been requested by 245*cb565728SJerry Jelinek * the BIOS. ACPI 5.0. 246*cb565728SJerry Jelinek */ 247*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_OsiData, 0); 248*cb565728SJerry Jelinek 249*cb565728SJerry Jelinek /* 250*cb565728SJerry Jelinek * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning 251*cb565728SJerry Jelinek * that the ACPI hardware is no longer required. A flag in the FADT indicates 252*cb565728SJerry Jelinek * a reduced HW machine, and that flag is duplicated here for convenience. 253*cb565728SJerry Jelinek */ 254*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ReducedHardware, FALSE); 255*cb565728SJerry Jelinek 256*cb565728SJerry Jelinek /* 257*cb565728SJerry Jelinek * This mechanism is used to trace a specified AML method. The method is 258*cb565728SJerry Jelinek * traced each time it is executed. 259*cb565728SJerry Jelinek */ 260*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceFlags, 0); 261*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (const char *, AcpiGbl_TraceMethodName, NULL); 262*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT); 263*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT); 264*cb565728SJerry Jelinek 265*cb565728SJerry Jelinek /* 266*cb565728SJerry Jelinek * Runtime configuration of debug output control masks. We want the debug 267*cb565728SJerry Jelinek * switches statically initialized so they are already set when the debugger 268*cb565728SJerry Jelinek * is entered. 269*cb565728SJerry Jelinek */ 270*cb565728SJerry Jelinek #ifdef ACPI_DEBUG_OUTPUT 271*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_DEBUG_DEFAULT); 272*cb565728SJerry Jelinek #else 273*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_NORMAL_DEFAULT); 274*cb565728SJerry Jelinek #endif 275*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT32, AcpiDbgLayer, ACPI_COMPONENT_DEFAULT); 276*cb565728SJerry Jelinek 277*cb565728SJerry Jelinek /* Optionally enable timer output with Debug Object output */ 278*cb565728SJerry Jelinek 279*cb565728SJerry Jelinek ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisplayDebugTimer, FALSE); 280*cb565728SJerry Jelinek 281*cb565728SJerry Jelinek /* 282*cb565728SJerry Jelinek * Other miscellaneous globals 283*cb565728SJerry Jelinek */ 284*cb565728SJerry Jelinek ACPI_GLOBAL (ACPI_TABLE_FADT, AcpiGbl_FADT); 285*cb565728SJerry Jelinek ACPI_GLOBAL (UINT32, AcpiCurrentGpeCount); 286*cb565728SJerry Jelinek ACPI_GLOBAL (BOOLEAN, AcpiGbl_SystemAwakeAndRunning); 287*cb565728SJerry Jelinek 288*cb565728SJerry Jelinek 289*cb565728SJerry Jelinek /***************************************************************************** 290*cb565728SJerry Jelinek * 291*cb565728SJerry Jelinek * ACPICA public interface configuration. 292*cb565728SJerry Jelinek * 293*cb565728SJerry Jelinek * Interfaces that are configured out of the ACPICA build are replaced 294*cb565728SJerry Jelinek * by inlined stubs by default. 295*cb565728SJerry Jelinek * 296*cb565728SJerry Jelinek ****************************************************************************/ 297*cb565728SJerry Jelinek 298*cb565728SJerry Jelinek /* 299*cb565728SJerry Jelinek * Hardware-reduced prototypes (default: Not hardware reduced). 300*cb565728SJerry Jelinek * 301*cb565728SJerry Jelinek * All ACPICA hardware-related interfaces that use these macros will be 302*cb565728SJerry Jelinek * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag 303*cb565728SJerry Jelinek * is set to TRUE. 304*cb565728SJerry Jelinek * 305*cb565728SJerry Jelinek * Note: This static build option for reduced hardware is intended to 306*cb565728SJerry Jelinek * reduce ACPICA code size if desired or necessary. However, even if this 307*cb565728SJerry Jelinek * option is not specified, the runtime behavior of ACPICA is dependent 308*cb565728SJerry Jelinek * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set, 309*cb565728SJerry Jelinek * the flag will enable similar behavior -- ACPICA will not attempt 310*cb565728SJerry Jelinek * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.) 311*cb565728SJerry Jelinek */ 312*cb565728SJerry Jelinek #if (!ACPI_REDUCED_HARDWARE) 313*cb565728SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 314*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS(Prototype) 315*cb565728SJerry Jelinek 316*cb565728SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 317*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_OK(Prototype) 318*cb565728SJerry Jelinek 319*cb565728SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 320*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_VOID(Prototype) 321*cb565728SJerry Jelinek 322*cb565728SJerry Jelinek #else 323*cb565728SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 324*cb565728SJerry Jelinek static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);} 325*cb565728SJerry Jelinek 326*cb565728SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 327*cb565728SJerry Jelinek static ACPI_INLINE Prototype {return(AE_OK);} 328*cb565728SJerry Jelinek 329*cb565728SJerry Jelinek #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 330*cb565728SJerry Jelinek static ACPI_INLINE Prototype {return;} 331*cb565728SJerry Jelinek 332*cb565728SJerry Jelinek #endif /* !ACPI_REDUCED_HARDWARE */ 333*cb565728SJerry Jelinek 334*cb565728SJerry Jelinek 335*cb565728SJerry Jelinek /* 336*cb565728SJerry Jelinek * Error message prototypes (default: error messages enabled). 337*cb565728SJerry Jelinek * 338*cb565728SJerry Jelinek * All interfaces related to error and warning messages 339*cb565728SJerry Jelinek * will be configured out of the ACPICA build if the 340*cb565728SJerry Jelinek * ACPI_NO_ERROR_MESSAGE flag is defined. 341*cb565728SJerry Jelinek */ 342*cb565728SJerry Jelinek #ifndef ACPI_NO_ERROR_MESSAGES 343*cb565728SJerry Jelinek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ 344*cb565728SJerry Jelinek Prototype; 345*cb565728SJerry Jelinek 346*cb565728SJerry Jelinek #else 347*cb565728SJerry Jelinek #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ 348*cb565728SJerry Jelinek static ACPI_INLINE Prototype {return;} 349*cb565728SJerry Jelinek 350*cb565728SJerry Jelinek #endif /* ACPI_NO_ERROR_MESSAGES */ 351*cb565728SJerry Jelinek 352*cb565728SJerry Jelinek 353*cb565728SJerry Jelinek /* 354*cb565728SJerry Jelinek * Debugging output prototypes (default: no debug output). 355*cb565728SJerry Jelinek * 356*cb565728SJerry Jelinek * All interfaces related to debug output messages 357*cb565728SJerry Jelinek * will be configured out of the ACPICA build unless the 358*cb565728SJerry Jelinek * ACPI_DEBUG_OUTPUT flag is defined. 359*cb565728SJerry Jelinek */ 360*cb565728SJerry Jelinek #ifdef ACPI_DEBUG_OUTPUT 361*cb565728SJerry Jelinek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \ 362*cb565728SJerry Jelinek Prototype; 363*cb565728SJerry Jelinek 364*cb565728SJerry Jelinek #else 365*cb565728SJerry Jelinek #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) 366*cb565728SJerry Jelinek #endif /* ACPI_DEBUG_OUTPUT */ 367*cb565728SJerry Jelinek 368*cb565728SJerry Jelinek 369*cb565728SJerry Jelinek /* 370*cb565728SJerry Jelinek * Application prototypes 371*cb565728SJerry Jelinek * 372*cb565728SJerry Jelinek * All interfaces used by application will be configured 373*cb565728SJerry Jelinek * out of the ACPICA build unless the ACPI_APPLICATION 374*cb565728SJerry Jelinek * flag is defined. 375*cb565728SJerry Jelinek */ 376*cb565728SJerry Jelinek #ifdef ACPI_APPLICATION 377*cb565728SJerry Jelinek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \ 378*cb565728SJerry Jelinek Prototype; 379*cb565728SJerry Jelinek 380*cb565728SJerry Jelinek #else 381*cb565728SJerry Jelinek #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) 382*cb565728SJerry Jelinek #endif /* ACPI_APPLICATION */ 383*cb565728SJerry Jelinek 384*cb565728SJerry Jelinek 385*cb565728SJerry Jelinek /* 386*cb565728SJerry Jelinek * Debugger prototypes 387*cb565728SJerry Jelinek * 388*cb565728SJerry Jelinek * All interfaces used by debugger will be configured 389*cb565728SJerry Jelinek * out of the ACPICA build unless the ACPI_DEBUGGER 390*cb565728SJerry Jelinek * flag is defined. 391*cb565728SJerry Jelinek */ 392*cb565728SJerry Jelinek #ifdef ACPI_DEBUGGER 393*cb565728SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \ 394*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_OK(Prototype) 395*cb565728SJerry Jelinek 396*cb565728SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \ 397*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_VOID(Prototype) 398*cb565728SJerry Jelinek 399*cb565728SJerry Jelinek #else 400*cb565728SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \ 401*cb565728SJerry Jelinek static ACPI_INLINE Prototype {return(AE_OK);} 402*cb565728SJerry Jelinek 403*cb565728SJerry Jelinek #define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \ 404*cb565728SJerry Jelinek static ACPI_INLINE Prototype {return;} 405*cb565728SJerry Jelinek 406*cb565728SJerry Jelinek #endif /* ACPI_DEBUGGER */ 407*cb565728SJerry Jelinek 408*cb565728SJerry Jelinek 409*cb565728SJerry Jelinek /***************************************************************************** 410*cb565728SJerry Jelinek * 411*cb565728SJerry Jelinek * ACPICA public interface prototypes 412*cb565728SJerry Jelinek * 413*cb565728SJerry Jelinek ****************************************************************************/ 4147c478bd9Sstevel@tonic-gate 4157c478bd9Sstevel@tonic-gate /* 41626f3cdf0SGordon Ross * Initialization 4177c478bd9Sstevel@tonic-gate */ 418*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4197c478bd9Sstevel@tonic-gate ACPI_STATUS 420db2bae30SDana Myers AcpiInitializeTables ( 421db2bae30SDana Myers ACPI_TABLE_DESC *InitialStorage, 422db2bae30SDana Myers UINT32 InitialTableCount, 423*cb565728SJerry Jelinek BOOLEAN AllowResize)) 424db2bae30SDana Myers 425*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 426db2bae30SDana Myers ACPI_STATUS 4277c478bd9Sstevel@tonic-gate AcpiInitializeSubsystem ( 428*cb565728SJerry Jelinek void)) 4297c478bd9Sstevel@tonic-gate 430*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4317c478bd9Sstevel@tonic-gate ACPI_STATUS 4327c478bd9Sstevel@tonic-gate AcpiEnableSubsystem ( 433*cb565728SJerry Jelinek UINT32 Flags)) 4347c478bd9Sstevel@tonic-gate 435*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4367c478bd9Sstevel@tonic-gate ACPI_STATUS 4377c478bd9Sstevel@tonic-gate AcpiInitializeObjects ( 438*cb565728SJerry Jelinek UINT32 Flags)) 4397c478bd9Sstevel@tonic-gate 440*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4417c478bd9Sstevel@tonic-gate ACPI_STATUS 4427c478bd9Sstevel@tonic-gate AcpiTerminate ( 443*cb565728SJerry Jelinek void)) 4447c478bd9Sstevel@tonic-gate 4457c478bd9Sstevel@tonic-gate 44626f3cdf0SGordon Ross /* 44726f3cdf0SGordon Ross * Miscellaneous global interfaces 44826f3cdf0SGordon Ross */ 449*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 4507c478bd9Sstevel@tonic-gate ACPI_STATUS 4517c478bd9Sstevel@tonic-gate AcpiEnable ( 452*cb565728SJerry Jelinek void)) 4537c478bd9Sstevel@tonic-gate 454*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 4557c478bd9Sstevel@tonic-gate ACPI_STATUS 4567c478bd9Sstevel@tonic-gate AcpiDisable ( 457*cb565728SJerry Jelinek void)) 4587c478bd9Sstevel@tonic-gate 459*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4607c478bd9Sstevel@tonic-gate ACPI_STATUS 46126f3cdf0SGordon Ross AcpiSubsystemStatus ( 462*cb565728SJerry Jelinek void)) 46326f3cdf0SGordon Ross 464*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 46526f3cdf0SGordon Ross ACPI_STATUS 4667c478bd9Sstevel@tonic-gate AcpiGetSystemInfo ( 467*cb565728SJerry Jelinek ACPI_BUFFER *RetBuffer)) 4687c478bd9Sstevel@tonic-gate 469*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 470db2bae30SDana Myers ACPI_STATUS 471db2bae30SDana Myers AcpiGetStatistics ( 472*cb565728SJerry Jelinek ACPI_STATISTICS *Stats)) 473db2bae30SDana Myers 474*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_PTR ( 4757c478bd9Sstevel@tonic-gate const char * 4767c478bd9Sstevel@tonic-gate AcpiFormatException ( 477*cb565728SJerry Jelinek ACPI_STATUS Exception)) 4787c478bd9Sstevel@tonic-gate 479*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 4807c478bd9Sstevel@tonic-gate ACPI_STATUS 4817c478bd9Sstevel@tonic-gate AcpiPurgeCachedObjects ( 482*cb565728SJerry Jelinek void)) 4837c478bd9Sstevel@tonic-gate 484*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 48526f3cdf0SGordon Ross ACPI_STATUS 48626f3cdf0SGordon Ross AcpiInstallInterface ( 487*cb565728SJerry Jelinek ACPI_STRING InterfaceName)) 48826f3cdf0SGordon Ross 489*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 49026f3cdf0SGordon Ross ACPI_STATUS 49126f3cdf0SGordon Ross AcpiRemoveInterface ( 492*cb565728SJerry Jelinek ACPI_STRING InterfaceName)) 493*cb565728SJerry Jelinek 494*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 495*cb565728SJerry Jelinek ACPI_STATUS 496*cb565728SJerry Jelinek AcpiUpdateInterfaces ( 497*cb565728SJerry Jelinek UINT8 Action)) 498*cb565728SJerry Jelinek 499*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_UINT32 ( 500*cb565728SJerry Jelinek UINT32 501*cb565728SJerry Jelinek AcpiCheckAddressRange ( 502*cb565728SJerry Jelinek ACPI_ADR_SPACE_TYPE SpaceId, 503*cb565728SJerry Jelinek ACPI_PHYSICAL_ADDRESS Address, 504*cb565728SJerry Jelinek ACPI_SIZE Length, 505*cb565728SJerry Jelinek BOOLEAN Warn)) 506*cb565728SJerry Jelinek 507*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 508*cb565728SJerry Jelinek ACPI_STATUS 509*cb565728SJerry Jelinek AcpiDecodePldBuffer ( 510*cb565728SJerry Jelinek UINT8 *InBuffer, 511*cb565728SJerry Jelinek ACPI_SIZE Length, 512*cb565728SJerry Jelinek ACPI_PLD_INFO **ReturnBuffer)) 51326f3cdf0SGordon Ross 5147c478bd9Sstevel@tonic-gate 5157c478bd9Sstevel@tonic-gate /* 516*cb565728SJerry Jelinek * ACPI table load/unload interfaces 5177c478bd9Sstevel@tonic-gate */ 518*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 519*cb565728SJerry Jelinek ACPI_STATUS 520*cb565728SJerry Jelinek AcpiInstallTable ( 521*cb565728SJerry Jelinek ACPI_PHYSICAL_ADDRESS Address, 522*cb565728SJerry Jelinek BOOLEAN Physical)) 5237c478bd9Sstevel@tonic-gate 524*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 525*cb565728SJerry Jelinek ACPI_STATUS 526*cb565728SJerry Jelinek AcpiLoadTable ( 527*cb565728SJerry Jelinek ACPI_TABLE_HEADER *Table)) 5287c478bd9Sstevel@tonic-gate 529*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 530*cb565728SJerry Jelinek ACPI_STATUS 531*cb565728SJerry Jelinek AcpiUnloadParentTable ( 532*cb565728SJerry Jelinek ACPI_HANDLE Object)) 533*cb565728SJerry Jelinek 534*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 535*cb565728SJerry Jelinek ACPI_STATUS 536*cb565728SJerry Jelinek AcpiLoadTables ( 537*cb565728SJerry Jelinek void)) 5387c478bd9Sstevel@tonic-gate 5397c478bd9Sstevel@tonic-gate 5407c478bd9Sstevel@tonic-gate /* 5417c478bd9Sstevel@tonic-gate * ACPI table manipulation interfaces 5427c478bd9Sstevel@tonic-gate */ 543*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5447c478bd9Sstevel@tonic-gate ACPI_STATUS 545db2bae30SDana Myers AcpiReallocateRootTable ( 546*cb565728SJerry Jelinek void)) 547db2bae30SDana Myers 548*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 549db2bae30SDana Myers ACPI_STATUS 5507c478bd9Sstevel@tonic-gate AcpiFindRootPointer ( 551*cb565728SJerry Jelinek ACPI_PHYSICAL_ADDRESS *RsdpAddress)) 5527c478bd9Sstevel@tonic-gate 553*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_TABLE_HEADER *OutTableHeader)) 5597c478bd9Sstevel@tonic-gate 560*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 5617c478bd9Sstevel@tonic-gate ACPI_STATUS 5627c478bd9Sstevel@tonic-gate AcpiGetTable ( 5637c478bd9Sstevel@tonic-gate ACPI_STRING Signature, 5647c478bd9Sstevel@tonic-gate UINT32 Instance, 565*cb565728SJerry Jelinek ACPI_TABLE_HEADER **OutTable)) 566db2bae30SDana Myers 567*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 568db2bae30SDana Myers ACPI_STATUS 569db2bae30SDana Myers AcpiGetTableByIndex ( 570db2bae30SDana Myers UINT32 TableIndex, 571*cb565728SJerry Jelinek ACPI_TABLE_HEADER **OutTable)) 572db2bae30SDana Myers 573*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 574db2bae30SDana Myers ACPI_STATUS 575db2bae30SDana Myers AcpiInstallTableHandler ( 576db2bae30SDana Myers ACPI_TABLE_HANDLER Handler, 577*cb565728SJerry Jelinek void *Context)) 578db2bae30SDana Myers 579*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 580db2bae30SDana Myers ACPI_STATUS 581db2bae30SDana Myers AcpiRemoveTableHandler ( 582*cb565728SJerry 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*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_WALK_CALLBACK DescendingCallback, 595*cb565728SJerry Jelinek ACPI_WALK_CALLBACK AscendingCallback, 5967c478bd9Sstevel@tonic-gate void *Context, 597*cb565728SJerry Jelinek void **ReturnValue)) 5987c478bd9Sstevel@tonic-gate 599*cb565728SJerry 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*cb565728SJerry Jelinek void **ReturnValue)) 6067c478bd9Sstevel@tonic-gate 607*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_BUFFER *RetPathPtr)) 6137c478bd9Sstevel@tonic-gate 614*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_HANDLE *RetHandle)) 6207c478bd9Sstevel@tonic-gate 621*cb565728SJerry 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*cb565728SJerry Jelinek void *Data)) 6277c478bd9Sstevel@tonic-gate 628*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6297c478bd9Sstevel@tonic-gate ACPI_STATUS 6307c478bd9Sstevel@tonic-gate AcpiDetachData ( 63126f3cdf0SGordon Ross ACPI_HANDLE Object, 632*cb565728SJerry Jelinek ACPI_OBJECT_HANDLER Handler)) 6337c478bd9Sstevel@tonic-gate 634*cb565728SJerry 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*cb565728SJerry Jelinek void **Data)) 6407c478bd9Sstevel@tonic-gate 641*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 642186507a7Smyers ACPI_STATUS 643186507a7Smyers AcpiDebugTrace ( 644*cb565728SJerry Jelinek const char *Name, 645186507a7Smyers UINT32 DebugLevel, 646186507a7Smyers UINT32 DebugLayer, 647*cb565728SJerry Jelinek UINT32 Flags)) 648186507a7Smyers 6497c478bd9Sstevel@tonic-gate 6507c478bd9Sstevel@tonic-gate /* 6517c478bd9Sstevel@tonic-gate * Object manipulation and enumeration 6527c478bd9Sstevel@tonic-gate */ 653*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_BUFFER *ReturnObjectBuffer)) 6607c478bd9Sstevel@tonic-gate 661*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_OBJECT_TYPE ReturnType)) 6697c478bd9Sstevel@tonic-gate 670*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6717c478bd9Sstevel@tonic-gate ACPI_STATUS 6727c478bd9Sstevel@tonic-gate AcpiGetObjectInfo ( 67326f3cdf0SGordon Ross ACPI_HANDLE Object, 674*cb565728SJerry Jelinek ACPI_DEVICE_INFO **ReturnBuffer)) 6757c478bd9Sstevel@tonic-gate 676*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6777c478bd9Sstevel@tonic-gate ACPI_STATUS 678aa2aa9a6SDana Myers AcpiInstallMethod ( 679*cb565728SJerry Jelinek UINT8 *Buffer)) 680aa2aa9a6SDana Myers 681*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 682aa2aa9a6SDana Myers 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*cb565728SJerry Jelinek ACPI_HANDLE *OutHandle)) 6887c478bd9Sstevel@tonic-gate 689*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6907c478bd9Sstevel@tonic-gate ACPI_STATUS 6917c478bd9Sstevel@tonic-gate AcpiGetType ( 6927c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 693*cb565728SJerry Jelinek ACPI_OBJECT_TYPE *OutType)) 6947c478bd9Sstevel@tonic-gate 695*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 6967c478bd9Sstevel@tonic-gate ACPI_STATUS 6977c478bd9Sstevel@tonic-gate AcpiGetParent ( 6987c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 699*cb565728SJerry Jelinek ACPI_HANDLE *OutHandle)) 7007c478bd9Sstevel@tonic-gate 7017c478bd9Sstevel@tonic-gate 7027c478bd9Sstevel@tonic-gate /* 703aa2aa9a6SDana Myers * Handler interfaces 7047c478bd9Sstevel@tonic-gate */ 705*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7067c478bd9Sstevel@tonic-gate ACPI_STATUS 707aa2aa9a6SDana Myers AcpiInstallInitializationHandler ( 708aa2aa9a6SDana Myers ACPI_INIT_HANDLER Handler, 709*cb565728SJerry Jelinek UINT32 Function)) 710aa2aa9a6SDana Myers 711*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 712*cb565728SJerry Jelinek ACPI_STATUS 713*cb565728SJerry Jelinek AcpiInstallSciHandler ( 714*cb565728SJerry Jelinek ACPI_SCI_HANDLER Address, 715*cb565728SJerry Jelinek void *Context)) 716*cb565728SJerry Jelinek 717*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 718*cb565728SJerry Jelinek ACPI_STATUS 719*cb565728SJerry Jelinek AcpiRemoveSciHandler ( 720*cb565728SJerry Jelinek ACPI_SCI_HANDLER Address)) 721*cb565728SJerry Jelinek 722*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 723aa2aa9a6SDana Myers ACPI_STATUS 72426f3cdf0SGordon Ross AcpiInstallGlobalEventHandler ( 72526f3cdf0SGordon Ross ACPI_GBL_EVENT_HANDLER Handler, 726*cb565728SJerry Jelinek void *Context)) 72726f3cdf0SGordon Ross 728*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 72926f3cdf0SGordon Ross ACPI_STATUS 7307c478bd9Sstevel@tonic-gate AcpiInstallFixedEventHandler ( 7317c478bd9Sstevel@tonic-gate UINT32 AcpiEvent, 7327c478bd9Sstevel@tonic-gate ACPI_EVENT_HANDLER Handler, 733*cb565728SJerry Jelinek void *Context)) 7347c478bd9Sstevel@tonic-gate 735*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 7367c478bd9Sstevel@tonic-gate ACPI_STATUS 7377c478bd9Sstevel@tonic-gate AcpiRemoveFixedEventHandler ( 7387c478bd9Sstevel@tonic-gate UINT32 AcpiEvent, 739*cb565728SJerry Jelinek ACPI_EVENT_HANDLER Handler)) 7407c478bd9Sstevel@tonic-gate 741*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 7427c478bd9Sstevel@tonic-gate 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*cb565728SJerry Jelinek void *Context)) 74926f3cdf0SGordon Ross 750*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 751*cb565728SJerry Jelinek ACPI_STATUS 752*cb565728SJerry Jelinek AcpiInstallGpeRawHandler ( 753*cb565728SJerry Jelinek ACPI_HANDLE GpeDevice, 754*cb565728SJerry Jelinek UINT32 GpeNumber, 755*cb565728SJerry Jelinek UINT32 Type, 756*cb565728SJerry Jelinek ACPI_GPE_HANDLER Address, 757*cb565728SJerry Jelinek void *Context)) 758*cb565728SJerry Jelinek 759*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 76026f3cdf0SGordon Ross ACPI_STATUS 76126f3cdf0SGordon Ross AcpiRemoveGpeHandler ( 76226f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 76326f3cdf0SGordon Ross UINT32 GpeNumber, 764*cb565728SJerry Jelinek ACPI_GPE_HANDLER Address)) 76526f3cdf0SGordon Ross 766*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 76726f3cdf0SGordon Ross 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*cb565728SJerry Jelinek void *Context)) 7737c478bd9Sstevel@tonic-gate 774*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_NOTIFY_HANDLER Handler)) 7807c478bd9Sstevel@tonic-gate 781*cb565728SJerry 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*cb565728SJerry Jelinek void *Context)) 7897c478bd9Sstevel@tonic-gate 790*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_ADR_SPACE_HANDLER Handler)) 7967c478bd9Sstevel@tonic-gate 797*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 7987c478bd9Sstevel@tonic-gate ACPI_STATUS 7997c478bd9Sstevel@tonic-gate AcpiInstallExceptionHandler ( 800*cb565728SJerry Jelinek ACPI_EXCEPTION_HANDLER Handler)) 8017c478bd9Sstevel@tonic-gate 802*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 80326f3cdf0SGordon Ross ACPI_STATUS 80426f3cdf0SGordon Ross AcpiInstallInterfaceHandler ( 805*cb565728SJerry Jelinek ACPI_INTERFACE_HANDLER Handler)) 80626f3cdf0SGordon Ross 8077c478bd9Sstevel@tonic-gate 8087c478bd9Sstevel@tonic-gate /* 80926f3cdf0SGordon Ross * Global Lock interfaces 8107c478bd9Sstevel@tonic-gate */ 811*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8127c478bd9Sstevel@tonic-gate ACPI_STATUS 8137c478bd9Sstevel@tonic-gate AcpiAcquireGlobalLock ( 8147c478bd9Sstevel@tonic-gate UINT16 Timeout, 815*cb565728SJerry Jelinek UINT32 *Handle)) 8167c478bd9Sstevel@tonic-gate 817*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8187c478bd9Sstevel@tonic-gate ACPI_STATUS 8197c478bd9Sstevel@tonic-gate AcpiReleaseGlobalLock ( 820*cb565728SJerry Jelinek UINT32 Handle)) 821*cb565728SJerry Jelinek 822*cb565728SJerry Jelinek 823*cb565728SJerry Jelinek /* 824*cb565728SJerry Jelinek * Interfaces to AML mutex objects 825*cb565728SJerry Jelinek */ 826*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 827*cb565728SJerry Jelinek ACPI_STATUS 828*cb565728SJerry Jelinek AcpiAcquireMutex ( 829*cb565728SJerry Jelinek ACPI_HANDLE Handle, 830*cb565728SJerry Jelinek ACPI_STRING Pathname, 831*cb565728SJerry Jelinek UINT16 Timeout)) 832*cb565728SJerry Jelinek 833*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 834*cb565728SJerry Jelinek ACPI_STATUS 835*cb565728SJerry Jelinek AcpiReleaseMutex ( 836*cb565728SJerry Jelinek ACPI_HANDLE Handle, 837*cb565728SJerry Jelinek ACPI_STRING Pathname)) 8387c478bd9Sstevel@tonic-gate 83926f3cdf0SGordon Ross 84026f3cdf0SGordon Ross /* 84126f3cdf0SGordon Ross * Fixed Event interfaces 84226f3cdf0SGordon Ross */ 843*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8447c478bd9Sstevel@tonic-gate ACPI_STATUS 8457c478bd9Sstevel@tonic-gate AcpiEnableEvent ( 8467c478bd9Sstevel@tonic-gate UINT32 Event, 847*cb565728SJerry Jelinek UINT32 Flags)) 8487c478bd9Sstevel@tonic-gate 849*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8507c478bd9Sstevel@tonic-gate ACPI_STATUS 8517c478bd9Sstevel@tonic-gate AcpiDisableEvent ( 8527c478bd9Sstevel@tonic-gate UINT32 Event, 853*cb565728SJerry Jelinek UINT32 Flags)) 8547c478bd9Sstevel@tonic-gate 855*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8567c478bd9Sstevel@tonic-gate ACPI_STATUS 8577c478bd9Sstevel@tonic-gate AcpiClearEvent ( 858*cb565728SJerry Jelinek UINT32 Event)) 8597c478bd9Sstevel@tonic-gate 860*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8617c478bd9Sstevel@tonic-gate ACPI_STATUS 8627c478bd9Sstevel@tonic-gate AcpiGetEventStatus ( 8637c478bd9Sstevel@tonic-gate UINT32 Event, 864*cb565728SJerry Jelinek ACPI_EVENT_STATUS *EventStatus)) 8657c478bd9Sstevel@tonic-gate 866aa2aa9a6SDana Myers 867aa2aa9a6SDana Myers /* 86826f3cdf0SGordon Ross * General Purpose Event (GPE) Interfaces 869aa2aa9a6SDana Myers */ 870*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8717c478bd9Sstevel@tonic-gate ACPI_STATUS 87226f3cdf0SGordon Ross AcpiUpdateAllGpes ( 873*cb565728SJerry Jelinek void)) 8747c478bd9Sstevel@tonic-gate 875*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8767c478bd9Sstevel@tonic-gate ACPI_STATUS 8777c478bd9Sstevel@tonic-gate AcpiEnableGpe ( 8787c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 879*cb565728SJerry Jelinek UINT32 GpeNumber)) 8807c478bd9Sstevel@tonic-gate 881*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8827c478bd9Sstevel@tonic-gate ACPI_STATUS 8837c478bd9Sstevel@tonic-gate AcpiDisableGpe ( 8847c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 885*cb565728SJerry Jelinek UINT32 GpeNumber)) 8867c478bd9Sstevel@tonic-gate 887*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 8887c478bd9Sstevel@tonic-gate ACPI_STATUS 8897c478bd9Sstevel@tonic-gate AcpiClearGpe ( 8907c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 891*cb565728SJerry Jelinek UINT32 GpeNumber)) 89226f3cdf0SGordon Ross 893*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 89426f3cdf0SGordon Ross ACPI_STATUS 89526f3cdf0SGordon Ross AcpiSetGpe ( 89626f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 8977c478bd9Sstevel@tonic-gate UINT32 GpeNumber, 898*cb565728SJerry Jelinek UINT8 Action)) 89926f3cdf0SGordon Ross 900*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 90126f3cdf0SGordon Ross ACPI_STATUS 90226f3cdf0SGordon Ross AcpiFinishGpe ( 90326f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 904*cb565728SJerry Jelinek UINT32 GpeNumber)) 90526f3cdf0SGordon Ross 906*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 907*cb565728SJerry Jelinek ACPI_STATUS 908*cb565728SJerry Jelinek AcpiMarkGpeForWake ( 909*cb565728SJerry Jelinek ACPI_HANDLE GpeDevice, 910*cb565728SJerry Jelinek UINT32 GpeNumber)) 911*cb565728SJerry Jelinek 912*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 91326f3cdf0SGordon Ross ACPI_STATUS 91426f3cdf0SGordon Ross AcpiSetupGpeForWake ( 91526f3cdf0SGordon Ross ACPI_HANDLE ParentDevice, 91626f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 917*cb565728SJerry Jelinek UINT32 GpeNumber)) 91826f3cdf0SGordon Ross 919*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 92026f3cdf0SGordon Ross ACPI_STATUS 92126f3cdf0SGordon Ross AcpiSetGpeWakeMask ( 92226f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 92326f3cdf0SGordon Ross UINT32 GpeNumber, 924*cb565728SJerry Jelinek UINT8 Action)) 9257c478bd9Sstevel@tonic-gate 926*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_EVENT_STATUS *EventStatus)) 9327c478bd9Sstevel@tonic-gate 933*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 9347c478bd9Sstevel@tonic-gate ACPI_STATUS 935aa2aa9a6SDana Myers AcpiDisableAllGpes ( 936*cb565728SJerry Jelinek void)) 937aa2aa9a6SDana Myers 938*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 939aa2aa9a6SDana Myers ACPI_STATUS 940aa2aa9a6SDana Myers AcpiEnableAllRuntimeGpes ( 941*cb565728SJerry Jelinek void)) 942aa2aa9a6SDana Myers 943*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 944*cb565728SJerry Jelinek ACPI_STATUS 945*cb565728SJerry Jelinek AcpiEnableAllWakeupGpes ( 946*cb565728SJerry Jelinek void)) 947*cb565728SJerry Jelinek 948*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 949aa2aa9a6SDana Myers ACPI_STATUS 950aa2aa9a6SDana Myers AcpiGetGpeDevice ( 951aa2aa9a6SDana Myers UINT32 GpeIndex, 952*cb565728SJerry Jelinek ACPI_HANDLE *GpeDevice)) 953aa2aa9a6SDana Myers 954*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 955aa2aa9a6SDana Myers 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*cb565728SJerry Jelinek UINT32 InterruptNumber)) 9617c478bd9Sstevel@tonic-gate 962*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 9637c478bd9Sstevel@tonic-gate ACPI_STATUS 9647c478bd9Sstevel@tonic-gate AcpiRemoveGpeBlock ( 965*cb565728SJerry 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*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 97730082d0cSmyers ACPI_STATUS 97830082d0cSmyers AcpiGetVendorResource ( 97926f3cdf0SGordon Ross ACPI_HANDLE Device, 98030082d0cSmyers char *Name, 98130082d0cSmyers ACPI_VENDOR_UUID *Uuid, 982*cb565728SJerry Jelinek ACPI_BUFFER *RetBuffer)) 9837c478bd9Sstevel@tonic-gate 984*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 9857c478bd9Sstevel@tonic-gate ACPI_STATUS 9867c478bd9Sstevel@tonic-gate AcpiGetCurrentResources ( 98726f3cdf0SGordon Ross ACPI_HANDLE Device, 988*cb565728SJerry Jelinek ACPI_BUFFER *RetBuffer)) 9897c478bd9Sstevel@tonic-gate 990*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 9917c478bd9Sstevel@tonic-gate ACPI_STATUS 9927c478bd9Sstevel@tonic-gate AcpiGetPossibleResources ( 99326f3cdf0SGordon Ross ACPI_HANDLE Device, 994*cb565728SJerry Jelinek ACPI_BUFFER *RetBuffer)) 9957c478bd9Sstevel@tonic-gate 996*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 997*cb565728SJerry Jelinek ACPI_STATUS 998*cb565728SJerry Jelinek AcpiGetEventResources ( 999*cb565728SJerry Jelinek ACPI_HANDLE DeviceHandle, 1000*cb565728SJerry Jelinek ACPI_BUFFER *RetBuffer)) 1001*cb565728SJerry Jelinek 1002*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1003*cb565728SJerry Jelinek ACPI_STATUS 1004*cb565728SJerry Jelinek AcpiWalkResourceBuffer ( 1005*cb565728SJerry Jelinek ACPI_BUFFER *Buffer, 1006*cb565728SJerry Jelinek ACPI_WALK_RESOURCE_CALLBACK UserFunction, 1007*cb565728SJerry Jelinek void *Context)) 1008*cb565728SJerry Jelinek 1009*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10107c478bd9Sstevel@tonic-gate ACPI_STATUS 10117c478bd9Sstevel@tonic-gate AcpiWalkResources ( 101226f3cdf0SGordon Ross ACPI_HANDLE Device, 101330082d0cSmyers char *Name, 10147c478bd9Sstevel@tonic-gate ACPI_WALK_RESOURCE_CALLBACK UserFunction, 1015*cb565728SJerry Jelinek void *Context)) 10167c478bd9Sstevel@tonic-gate 1017*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10187c478bd9Sstevel@tonic-gate ACPI_STATUS 10197c478bd9Sstevel@tonic-gate AcpiSetCurrentResources ( 102026f3cdf0SGordon Ross ACPI_HANDLE Device, 1021*cb565728SJerry Jelinek ACPI_BUFFER *InBuffer)) 10227c478bd9Sstevel@tonic-gate 1023*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10247c478bd9Sstevel@tonic-gate ACPI_STATUS 10257c478bd9Sstevel@tonic-gate AcpiGetIrqRoutingTable ( 102626f3cdf0SGordon Ross ACPI_HANDLE Device, 1027*cb565728SJerry Jelinek ACPI_BUFFER *RetBuffer)) 10287c478bd9Sstevel@tonic-gate 1029*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10307c478bd9Sstevel@tonic-gate ACPI_STATUS 10317c478bd9Sstevel@tonic-gate AcpiResourceToAddress64 ( 10327c478bd9Sstevel@tonic-gate ACPI_RESOURCE *Resource, 1033*cb565728SJerry Jelinek ACPI_RESOURCE_ADDRESS64 *Out)) 1034*cb565728SJerry Jelinek 1035*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1036*cb565728SJerry Jelinek ACPI_STATUS 1037*cb565728SJerry Jelinek AcpiBufferToResource ( 1038*cb565728SJerry Jelinek UINT8 *AmlBuffer, 1039*cb565728SJerry Jelinek UINT16 AmlBufferLength, 1040*cb565728SJerry Jelinek ACPI_RESOURCE **ResourcePtr)) 10417c478bd9Sstevel@tonic-gate 1042aa2aa9a6SDana Myers 10437c478bd9Sstevel@tonic-gate /* 10447c478bd9Sstevel@tonic-gate * Hardware (ACPI device) interfaces 10457c478bd9Sstevel@tonic-gate */ 1046*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10477c478bd9Sstevel@tonic-gate ACPI_STATUS 1048aa2aa9a6SDana Myers AcpiReset ( 1049*cb565728SJerry Jelinek void)) 1050aa2aa9a6SDana Myers 1051*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1052aa2aa9a6SDana Myers ACPI_STATUS 1053aa2aa9a6SDana Myers AcpiRead ( 105457190917SDana Myers UINT64 *Value, 1055*cb565728SJerry Jelinek ACPI_GENERIC_ADDRESS *Reg)) 1056aa2aa9a6SDana Myers 1057*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1058aa2aa9a6SDana Myers ACPI_STATUS 1059aa2aa9a6SDana Myers AcpiWrite ( 106057190917SDana Myers UINT64 Value, 1061*cb565728SJerry Jelinek ACPI_GENERIC_ADDRESS *Reg)) 1062aa2aa9a6SDana Myers 1063*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1064aa2aa9a6SDana Myers ACPI_STATUS 1065aa2aa9a6SDana Myers AcpiReadBitRegister ( 10667c478bd9Sstevel@tonic-gate UINT32 RegisterId, 1067*cb565728SJerry Jelinek UINT32 *ReturnValue)) 1068db2bae30SDana Myers 1069*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1070db2bae30SDana Myers ACPI_STATUS 1071aa2aa9a6SDana Myers AcpiWriteBitRegister ( 10727c478bd9Sstevel@tonic-gate UINT32 RegisterId, 1073*cb565728SJerry Jelinek UINT32 Value)) 10747c478bd9Sstevel@tonic-gate 1075*cb565728SJerry Jelinek 1076*cb565728SJerry Jelinek /* 1077*cb565728SJerry Jelinek * Sleep/Wake interfaces 1078*cb565728SJerry Jelinek */ 1079*cb565728SJerry 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*cb565728SJerry Jelinek UINT8 *Slp_TypB)) 10857c478bd9Sstevel@tonic-gate 1086*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10877c478bd9Sstevel@tonic-gate ACPI_STATUS 10887c478bd9Sstevel@tonic-gate AcpiEnterSleepStatePrep ( 1089*cb565728SJerry Jelinek UINT8 SleepState)) 10907c478bd9Sstevel@tonic-gate 1091*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 10927c478bd9Sstevel@tonic-gate ACPI_STATUS 10937c478bd9Sstevel@tonic-gate AcpiEnterSleepState ( 1094*cb565728SJerry Jelinek UINT8 SleepState)) 10957c478bd9Sstevel@tonic-gate 1096*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 10977c478bd9Sstevel@tonic-gate ACPI_STATUS 10987c478bd9Sstevel@tonic-gate AcpiEnterSleepStateS4bios ( 1099*cb565728SJerry Jelinek void)) 11007c478bd9Sstevel@tonic-gate 1101*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 1102*cb565728SJerry Jelinek ACPI_STATUS 1103*cb565728SJerry Jelinek AcpiLeaveSleepStatePrep ( 1104*cb565728SJerry Jelinek UINT8 SleepState)) 1105*cb565728SJerry Jelinek 1106*cb565728SJerry Jelinek ACPI_EXTERNAL_RETURN_STATUS ( 11077c478bd9Sstevel@tonic-gate ACPI_STATUS 11087c478bd9Sstevel@tonic-gate AcpiLeaveSleepState ( 1109*cb565728SJerry Jelinek UINT8 SleepState)) 1110*cb565728SJerry Jelinek 1111*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1112aa2aa9a6SDana Myers ACPI_STATUS 1113aa2aa9a6SDana Myers AcpiSetFirmwareWakingVector ( 1114*cb565728SJerry Jelinek ACPI_PHYSICAL_ADDRESS PhysicalAddress, 1115*cb565728SJerry Jelinek ACPI_PHYSICAL_ADDRESS PhysicalAddress64)) 11167c478bd9Sstevel@tonic-gate 1117*cb565728SJerry Jelinek 1118*cb565728SJerry Jelinek /* 1119*cb565728SJerry Jelinek * ACPI Timer interfaces 1120*cb565728SJerry Jelinek */ 1121*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1122aa2aa9a6SDana Myers ACPI_STATUS 1123*cb565728SJerry Jelinek AcpiGetTimerResolution ( 1124*cb565728SJerry Jelinek UINT32 *Resolution)) 1125*cb565728SJerry Jelinek 1126*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1127*cb565728SJerry Jelinek ACPI_STATUS 1128*cb565728SJerry Jelinek AcpiGetTimer ( 1129*cb565728SJerry Jelinek UINT32 *Ticks)) 1130*cb565728SJerry Jelinek 1131*cb565728SJerry Jelinek ACPI_HW_DEPENDENT_RETURN_STATUS ( 1132*cb565728SJerry Jelinek ACPI_STATUS 1133*cb565728SJerry Jelinek AcpiGetTimerDuration ( 1134*cb565728SJerry Jelinek UINT32 StartTicks, 1135*cb565728SJerry Jelinek UINT32 EndTicks, 1136*cb565728SJerry Jelinek UINT32 *TimeElapsed)) 1137aa2aa9a6SDana Myers 1138aa2aa9a6SDana Myers 1139aa2aa9a6SDana Myers /* 1140aa2aa9a6SDana Myers * Error/Warning output 1141aa2aa9a6SDana Myers */ 1142*cb565728SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1143*cb565728SJerry 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*cb565728SJerry Jelinek ...)) 1150aa2aa9a6SDana Myers 1151*cb565728SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1152*cb565728SJerry 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*cb565728SJerry Jelinek ...)) 1160aa2aa9a6SDana Myers 1161*cb565728SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1162*cb565728SJerry 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*cb565728SJerry Jelinek ...)) 1169aa2aa9a6SDana Myers 1170*cb565728SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1171*cb565728SJerry Jelinek ACPI_PRINTF_LIKE(1) 1172aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 1173aa2aa9a6SDana Myers AcpiInfo ( 1174*cb565728SJerry Jelinek const char *Format, 1175*cb565728SJerry Jelinek ...)) 1176*cb565728SJerry Jelinek 1177*cb565728SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1178*cb565728SJerry Jelinek ACPI_PRINTF_LIKE(3) 1179*cb565728SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE 1180*cb565728SJerry Jelinek AcpiBiosError ( 1181aa2aa9a6SDana Myers const char *ModuleName, 1182aa2aa9a6SDana Myers UINT32 LineNumber, 1183aa2aa9a6SDana Myers const char *Format, 1184*cb565728SJerry Jelinek ...)) 1185*cb565728SJerry Jelinek 1186*cb565728SJerry Jelinek ACPI_MSG_DEPENDENT_RETURN_VOID ( 1187*cb565728SJerry Jelinek ACPI_PRINTF_LIKE(3) 1188*cb565728SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE 1189*cb565728SJerry Jelinek AcpiBiosWarning ( 1190*cb565728SJerry Jelinek const char *ModuleName, 1191*cb565728SJerry Jelinek UINT32 LineNumber, 1192*cb565728SJerry Jelinek const char *Format, 1193*cb565728SJerry Jelinek ...)) 1194aa2aa9a6SDana Myers 1195aa2aa9a6SDana Myers 1196aa2aa9a6SDana Myers /* 1197aa2aa9a6SDana Myers * Debug output 1198aa2aa9a6SDana Myers */ 1199*cb565728SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1200*cb565728SJerry 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*cb565728SJerry Jelinek ...)) 1210aa2aa9a6SDana Myers 1211*cb565728SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1212*cb565728SJerry 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*cb565728SJerry Jelinek ...)) 1222*cb565728SJerry Jelinek 1223*cb565728SJerry Jelinek ACPI_DBG_DEPENDENT_RETURN_VOID ( 1224*cb565728SJerry Jelinek void 1225*cb565728SJerry Jelinek AcpiTracePoint ( 1226*cb565728SJerry Jelinek ACPI_TRACE_EVENT_TYPE Type, 1227*cb565728SJerry Jelinek BOOLEAN Begin, 1228*cb565728SJerry Jelinek UINT8 *Aml, 1229*cb565728SJerry Jelinek char *Pathname)) 1230*cb565728SJerry Jelinek 1231*cb565728SJerry Jelinek ACPI_APP_DEPENDENT_RETURN_VOID ( 1232*cb565728SJerry Jelinek ACPI_PRINTF_LIKE(1) 1233*cb565728SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE 1234*cb565728SJerry Jelinek AcpiLogError ( 1235*cb565728SJerry Jelinek const char *Format, 1236*cb565728SJerry Jelinek ...)) 1237*cb565728SJerry Jelinek 1238*cb565728SJerry Jelinek ACPI_STATUS 1239*cb565728SJerry Jelinek AcpiInitializeDebugger ( 1240*cb565728SJerry Jelinek void); 1241*cb565728SJerry Jelinek 1242*cb565728SJerry Jelinek void 1243*cb565728SJerry Jelinek AcpiTerminateDebugger ( 1244*cb565728SJerry Jelinek void); 1245*cb565728SJerry Jelinek 1246*cb565728SJerry Jelinek void 1247*cb565728SJerry Jelinek AcpiSetDebuggerThreadId ( 1248*cb565728SJerry Jelinek ACPI_THREAD_ID ThreadId); 12497c478bd9Sstevel@tonic-gate 12507c478bd9Sstevel@tonic-gate #endif /* __ACXFACE_H__ */ 1251