17c478bd9Sstevel@tonic-gate 27c478bd9Sstevel@tonic-gate /****************************************************************************** 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * Name: acpixf.h - External interfaces to the ACPI subsystem 57c478bd9Sstevel@tonic-gate * 67c478bd9Sstevel@tonic-gate *****************************************************************************/ 77c478bd9Sstevel@tonic-gate 8*26f3cdf0SGordon Ross /* 9*26f3cdf0SGordon Ross * Copyright (C) 2000 - 2011, Intel Corp. 107c478bd9Sstevel@tonic-gate * All rights reserved. 117c478bd9Sstevel@tonic-gate * 12*26f3cdf0SGordon Ross * Redistribution and use in source and binary forms, with or without 13*26f3cdf0SGordon Ross * modification, are permitted provided that the following conditions 14*26f3cdf0SGordon Ross * are met: 15*26f3cdf0SGordon Ross * 1. Redistributions of source code must retain the above copyright 16*26f3cdf0SGordon Ross * notice, this list of conditions, and the following disclaimer, 17*26f3cdf0SGordon Ross * without modification. 18*26f3cdf0SGordon Ross * 2. Redistributions in binary form must reproduce at minimum a disclaimer 19*26f3cdf0SGordon Ross * substantially similar to the "NO WARRANTY" disclaimer below 20*26f3cdf0SGordon Ross * ("Disclaimer") and any redistribution must be conditioned upon 21*26f3cdf0SGordon Ross * including a substantially similar Disclaimer requirement for further 22*26f3cdf0SGordon Ross * binary redistribution. 23*26f3cdf0SGordon Ross * 3. Neither the names of the above-listed copyright holders nor the names 24*26f3cdf0SGordon Ross * of any contributors may be used to endorse or promote products derived 25*26f3cdf0SGordon Ross * from this software without specific prior written permission. 267c478bd9Sstevel@tonic-gate * 27*26f3cdf0SGordon Ross * Alternatively, this software may be distributed under the terms of the 28*26f3cdf0SGordon Ross * GNU General Public License ("GPL") version 2 as published by the Free 29*26f3cdf0SGordon Ross * Software Foundation. 307c478bd9Sstevel@tonic-gate * 31*26f3cdf0SGordon Ross * NO WARRANTY 32*26f3cdf0SGordon Ross * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33*26f3cdf0SGordon Ross * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34*26f3cdf0SGordon Ross * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 35*26f3cdf0SGordon Ross * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 36*26f3cdf0SGordon Ross * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37*26f3cdf0SGordon Ross * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38*26f3cdf0SGordon Ross * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39*26f3cdf0SGordon Ross * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 40*26f3cdf0SGordon Ross * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 41*26f3cdf0SGordon Ross * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42*26f3cdf0SGordon Ross * POSSIBILITY OF SUCH DAMAGES. 43*26f3cdf0SGordon Ross */ 447c478bd9Sstevel@tonic-gate 457c478bd9Sstevel@tonic-gate 467c478bd9Sstevel@tonic-gate #ifndef __ACXFACE_H__ 477c478bd9Sstevel@tonic-gate #define __ACXFACE_H__ 487c478bd9Sstevel@tonic-gate 49aa2aa9a6SDana Myers /* Current ACPICA subsystem version in YYYYMMDD format */ 50aa2aa9a6SDana Myers 51*26f3cdf0SGordon Ross #define ACPI_CA_VERSION 0x20110527 52aa2aa9a6SDana Myers 537c478bd9Sstevel@tonic-gate #include "actypes.h" 547c478bd9Sstevel@tonic-gate #include "actbl.h" 557c478bd9Sstevel@tonic-gate 56aa2aa9a6SDana Myers /* 57aa2aa9a6SDana Myers * Globals that are publically available 58aa2aa9a6SDana Myers */ 59aa2aa9a6SDana Myers extern UINT32 AcpiCurrentGpeCount; 60aa2aa9a6SDana Myers extern ACPI_TABLE_FADT AcpiGbl_FADT; 61*26f3cdf0SGordon Ross extern BOOLEAN AcpiGbl_SystemAwakeAndRunning; 62aa2aa9a6SDana Myers 6357190917SDana Myers /* Runtime configuration of debug print levels */ 64aa2aa9a6SDana Myers 65aa2aa9a6SDana Myers extern UINT32 AcpiDbgLevel; 66aa2aa9a6SDana Myers extern UINT32 AcpiDbgLayer; 6757190917SDana Myers 6857190917SDana Myers /* ACPICA runtime options */ 6957190917SDana Myers 70aa2aa9a6SDana Myers extern UINT8 AcpiGbl_EnableInterpreterSlack; 71aa2aa9a6SDana Myers extern UINT8 AcpiGbl_AllMethodsSerialized; 72aa2aa9a6SDana Myers extern UINT8 AcpiGbl_CreateOsiMethod; 7357190917SDana Myers extern UINT8 AcpiGbl_UseDefaultRegisterWidths; 74aa2aa9a6SDana Myers extern ACPI_NAME AcpiGbl_TraceMethodName; 75aa2aa9a6SDana Myers extern UINT32 AcpiGbl_TraceFlags; 76*26f3cdf0SGordon Ross extern UINT8 AcpiGbl_EnableAmlDebugObject; 77*26f3cdf0SGordon Ross extern UINT8 AcpiGbl_CopyDsdtLocally; 78*26f3cdf0SGordon Ross extern UINT8 AcpiGbl_TruncateIoAddresses; 79aa2aa9a6SDana Myers 807c478bd9Sstevel@tonic-gate 817c478bd9Sstevel@tonic-gate /* 82*26f3cdf0SGordon Ross * Initialization 837c478bd9Sstevel@tonic-gate */ 847c478bd9Sstevel@tonic-gate ACPI_STATUS 85db2bae30SDana Myers AcpiInitializeTables ( 86db2bae30SDana Myers ACPI_TABLE_DESC *InitialStorage, 87db2bae30SDana Myers UINT32 InitialTableCount, 88db2bae30SDana Myers BOOLEAN AllowResize); 89db2bae30SDana Myers 90db2bae30SDana Myers ACPI_STATUS 917c478bd9Sstevel@tonic-gate AcpiInitializeSubsystem ( 927c478bd9Sstevel@tonic-gate void); 937c478bd9Sstevel@tonic-gate 947c478bd9Sstevel@tonic-gate ACPI_STATUS 957c478bd9Sstevel@tonic-gate AcpiEnableSubsystem ( 967c478bd9Sstevel@tonic-gate UINT32 Flags); 977c478bd9Sstevel@tonic-gate 987c478bd9Sstevel@tonic-gate ACPI_STATUS 997c478bd9Sstevel@tonic-gate AcpiInitializeObjects ( 1007c478bd9Sstevel@tonic-gate UINT32 Flags); 1017c478bd9Sstevel@tonic-gate 1027c478bd9Sstevel@tonic-gate ACPI_STATUS 1037c478bd9Sstevel@tonic-gate AcpiTerminate ( 1047c478bd9Sstevel@tonic-gate void); 1057c478bd9Sstevel@tonic-gate 1067c478bd9Sstevel@tonic-gate 107*26f3cdf0SGordon Ross /* 108*26f3cdf0SGordon Ross * Miscellaneous global interfaces 109*26f3cdf0SGordon Ross */ 1107c478bd9Sstevel@tonic-gate ACPI_STATUS 1117c478bd9Sstevel@tonic-gate AcpiEnable ( 1127c478bd9Sstevel@tonic-gate void); 1137c478bd9Sstevel@tonic-gate 1147c478bd9Sstevel@tonic-gate ACPI_STATUS 1157c478bd9Sstevel@tonic-gate AcpiDisable ( 1167c478bd9Sstevel@tonic-gate void); 1177c478bd9Sstevel@tonic-gate 118*26f3cdf0SGordon Ross ACPI_STATUS 119*26f3cdf0SGordon Ross AcpiSubsystemStatus ( 120*26f3cdf0SGordon Ross void); 121*26f3cdf0SGordon Ross 1227c478bd9Sstevel@tonic-gate ACPI_STATUS 1237c478bd9Sstevel@tonic-gate AcpiGetSystemInfo ( 1247c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 1257c478bd9Sstevel@tonic-gate 126db2bae30SDana Myers ACPI_STATUS 127db2bae30SDana Myers AcpiGetStatistics ( 128db2bae30SDana Myers ACPI_STATISTICS *Stats); 129db2bae30SDana Myers 1307c478bd9Sstevel@tonic-gate const char * 1317c478bd9Sstevel@tonic-gate AcpiFormatException ( 1327c478bd9Sstevel@tonic-gate ACPI_STATUS Exception); 1337c478bd9Sstevel@tonic-gate 1347c478bd9Sstevel@tonic-gate ACPI_STATUS 1357c478bd9Sstevel@tonic-gate AcpiPurgeCachedObjects ( 1367c478bd9Sstevel@tonic-gate void); 1377c478bd9Sstevel@tonic-gate 138*26f3cdf0SGordon Ross ACPI_STATUS 139*26f3cdf0SGordon Ross AcpiInstallInterface ( 140*26f3cdf0SGordon Ross ACPI_STRING InterfaceName); 141*26f3cdf0SGordon Ross 142*26f3cdf0SGordon Ross ACPI_STATUS 143*26f3cdf0SGordon Ross AcpiRemoveInterface ( 144*26f3cdf0SGordon Ross ACPI_STRING InterfaceName); 145*26f3cdf0SGordon Ross 1467c478bd9Sstevel@tonic-gate 1477c478bd9Sstevel@tonic-gate /* 148*26f3cdf0SGordon Ross * ACPI Memory management 1497c478bd9Sstevel@tonic-gate */ 1507c478bd9Sstevel@tonic-gate void * 1517c478bd9Sstevel@tonic-gate AcpiAllocate ( 1527c478bd9Sstevel@tonic-gate UINT32 Size); 1537c478bd9Sstevel@tonic-gate 1547c478bd9Sstevel@tonic-gate void * 1557c478bd9Sstevel@tonic-gate AcpiCallocate ( 1567c478bd9Sstevel@tonic-gate UINT32 Size); 1577c478bd9Sstevel@tonic-gate 1587c478bd9Sstevel@tonic-gate void 1597c478bd9Sstevel@tonic-gate AcpiFree ( 1607c478bd9Sstevel@tonic-gate void *Address); 1617c478bd9Sstevel@tonic-gate 1627c478bd9Sstevel@tonic-gate 1637c478bd9Sstevel@tonic-gate /* 1647c478bd9Sstevel@tonic-gate * ACPI table manipulation interfaces 1657c478bd9Sstevel@tonic-gate */ 1667c478bd9Sstevel@tonic-gate ACPI_STATUS 167db2bae30SDana Myers AcpiReallocateRootTable ( 1687c478bd9Sstevel@tonic-gate void); 1697c478bd9Sstevel@tonic-gate 1707c478bd9Sstevel@tonic-gate ACPI_STATUS 171db2bae30SDana Myers AcpiFindRootPointer ( 172db2bae30SDana Myers ACPI_SIZE *RsdpAddress); 1737c478bd9Sstevel@tonic-gate 1747c478bd9Sstevel@tonic-gate ACPI_STATUS 175db2bae30SDana Myers AcpiLoadTables ( 176db2bae30SDana Myers void); 1777c478bd9Sstevel@tonic-gate 1787c478bd9Sstevel@tonic-gate ACPI_STATUS 1797c478bd9Sstevel@tonic-gate AcpiGetTableHeader ( 180db2bae30SDana Myers ACPI_STRING Signature, 1817c478bd9Sstevel@tonic-gate UINT32 Instance, 1827c478bd9Sstevel@tonic-gate ACPI_TABLE_HEADER *OutTableHeader); 1837c478bd9Sstevel@tonic-gate 1847c478bd9Sstevel@tonic-gate ACPI_STATUS 1857c478bd9Sstevel@tonic-gate AcpiGetTable ( 186db2bae30SDana Myers ACPI_STRING Signature, 1877c478bd9Sstevel@tonic-gate UINT32 Instance, 188db2bae30SDana Myers ACPI_TABLE_HEADER **OutTable); 1897c478bd9Sstevel@tonic-gate 1907c478bd9Sstevel@tonic-gate ACPI_STATUS 191db2bae30SDana Myers AcpiGetTableByIndex ( 192db2bae30SDana Myers UINT32 TableIndex, 193db2bae30SDana Myers ACPI_TABLE_HEADER **OutTable); 194db2bae30SDana Myers 195db2bae30SDana Myers ACPI_STATUS 196db2bae30SDana Myers AcpiInstallTableHandler ( 197db2bae30SDana Myers ACPI_TABLE_HANDLER Handler, 198db2bae30SDana Myers void *Context); 199db2bae30SDana Myers 200db2bae30SDana Myers ACPI_STATUS 201db2bae30SDana Myers AcpiRemoveTableHandler ( 202db2bae30SDana Myers ACPI_TABLE_HANDLER Handler); 2037c478bd9Sstevel@tonic-gate 2047c478bd9Sstevel@tonic-gate 2057c478bd9Sstevel@tonic-gate /* 2067c478bd9Sstevel@tonic-gate * Namespace and name interfaces 2077c478bd9Sstevel@tonic-gate */ 2087c478bd9Sstevel@tonic-gate ACPI_STATUS 2097c478bd9Sstevel@tonic-gate AcpiWalkNamespace ( 2107c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type, 2117c478bd9Sstevel@tonic-gate ACPI_HANDLE StartObject, 2127c478bd9Sstevel@tonic-gate UINT32 MaxDepth, 21357190917SDana Myers ACPI_WALK_CALLBACK PreOrderVisit, 21457190917SDana Myers ACPI_WALK_CALLBACK PostOrderVisit, 2157c478bd9Sstevel@tonic-gate void *Context, 2167c478bd9Sstevel@tonic-gate void **ReturnValue); 2177c478bd9Sstevel@tonic-gate 2187c478bd9Sstevel@tonic-gate ACPI_STATUS 2197c478bd9Sstevel@tonic-gate AcpiGetDevices ( 2207c478bd9Sstevel@tonic-gate char *HID, 2217c478bd9Sstevel@tonic-gate ACPI_WALK_CALLBACK UserFunction, 2227c478bd9Sstevel@tonic-gate void *Context, 2237c478bd9Sstevel@tonic-gate void **ReturnValue); 2247c478bd9Sstevel@tonic-gate 2257c478bd9Sstevel@tonic-gate ACPI_STATUS 2267c478bd9Sstevel@tonic-gate AcpiGetName ( 227*26f3cdf0SGordon Ross ACPI_HANDLE Object, 2287c478bd9Sstevel@tonic-gate UINT32 NameType, 2297c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetPathPtr); 2307c478bd9Sstevel@tonic-gate 2317c478bd9Sstevel@tonic-gate ACPI_STATUS 2327c478bd9Sstevel@tonic-gate AcpiGetHandle ( 2337c478bd9Sstevel@tonic-gate ACPI_HANDLE Parent, 2347c478bd9Sstevel@tonic-gate ACPI_STRING Pathname, 2357c478bd9Sstevel@tonic-gate ACPI_HANDLE *RetHandle); 2367c478bd9Sstevel@tonic-gate 2377c478bd9Sstevel@tonic-gate ACPI_STATUS 2387c478bd9Sstevel@tonic-gate AcpiAttachData ( 239*26f3cdf0SGordon Ross ACPI_HANDLE Object, 2407c478bd9Sstevel@tonic-gate ACPI_OBJECT_HANDLER Handler, 2417c478bd9Sstevel@tonic-gate void *Data); 2427c478bd9Sstevel@tonic-gate 2437c478bd9Sstevel@tonic-gate ACPI_STATUS 2447c478bd9Sstevel@tonic-gate AcpiDetachData ( 245*26f3cdf0SGordon Ross ACPI_HANDLE Object, 2467c478bd9Sstevel@tonic-gate ACPI_OBJECT_HANDLER Handler); 2477c478bd9Sstevel@tonic-gate 2487c478bd9Sstevel@tonic-gate ACPI_STATUS 2497c478bd9Sstevel@tonic-gate AcpiGetData ( 250*26f3cdf0SGordon Ross ACPI_HANDLE Object, 2517c478bd9Sstevel@tonic-gate ACPI_OBJECT_HANDLER Handler, 2527c478bd9Sstevel@tonic-gate void **Data); 2537c478bd9Sstevel@tonic-gate 254186507a7Smyers ACPI_STATUS 255186507a7Smyers AcpiDebugTrace ( 256186507a7Smyers char *Name, 257186507a7Smyers UINT32 DebugLevel, 258186507a7Smyers UINT32 DebugLayer, 259186507a7Smyers UINT32 Flags); 260186507a7Smyers 2617c478bd9Sstevel@tonic-gate 2627c478bd9Sstevel@tonic-gate /* 2637c478bd9Sstevel@tonic-gate * Object manipulation and enumeration 2647c478bd9Sstevel@tonic-gate */ 2657c478bd9Sstevel@tonic-gate ACPI_STATUS 2667c478bd9Sstevel@tonic-gate AcpiEvaluateObject ( 2677c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 2687c478bd9Sstevel@tonic-gate ACPI_STRING Pathname, 2697c478bd9Sstevel@tonic-gate ACPI_OBJECT_LIST *ParameterObjects, 2707c478bd9Sstevel@tonic-gate ACPI_BUFFER *ReturnObjectBuffer); 2717c478bd9Sstevel@tonic-gate 2727c478bd9Sstevel@tonic-gate ACPI_STATUS 2737c478bd9Sstevel@tonic-gate AcpiEvaluateObjectTyped ( 2747c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 2757c478bd9Sstevel@tonic-gate ACPI_STRING Pathname, 2767c478bd9Sstevel@tonic-gate ACPI_OBJECT_LIST *ExternalParams, 2777c478bd9Sstevel@tonic-gate ACPI_BUFFER *ReturnBuffer, 2787c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE ReturnType); 2797c478bd9Sstevel@tonic-gate 2807c478bd9Sstevel@tonic-gate ACPI_STATUS 2817c478bd9Sstevel@tonic-gate AcpiGetObjectInfo ( 282*26f3cdf0SGordon Ross ACPI_HANDLE Object, 28357190917SDana Myers ACPI_DEVICE_INFO **ReturnBuffer); 2847c478bd9Sstevel@tonic-gate 285aa2aa9a6SDana Myers ACPI_STATUS 286aa2aa9a6SDana Myers AcpiInstallMethod ( 287aa2aa9a6SDana Myers UINT8 *Buffer); 288aa2aa9a6SDana Myers 2897c478bd9Sstevel@tonic-gate ACPI_STATUS 2907c478bd9Sstevel@tonic-gate AcpiGetNextObject ( 2917c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type, 2927c478bd9Sstevel@tonic-gate ACPI_HANDLE Parent, 2937c478bd9Sstevel@tonic-gate ACPI_HANDLE Child, 2947c478bd9Sstevel@tonic-gate ACPI_HANDLE *OutHandle); 2957c478bd9Sstevel@tonic-gate 2967c478bd9Sstevel@tonic-gate ACPI_STATUS 2977c478bd9Sstevel@tonic-gate AcpiGetType ( 2987c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 2997c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE *OutType); 3007c478bd9Sstevel@tonic-gate 3017c478bd9Sstevel@tonic-gate ACPI_STATUS 3027c478bd9Sstevel@tonic-gate AcpiGetParent ( 3037c478bd9Sstevel@tonic-gate ACPI_HANDLE Object, 3047c478bd9Sstevel@tonic-gate ACPI_HANDLE *OutHandle); 3057c478bd9Sstevel@tonic-gate 3067c478bd9Sstevel@tonic-gate 3077c478bd9Sstevel@tonic-gate /* 308aa2aa9a6SDana Myers * Handler interfaces 3097c478bd9Sstevel@tonic-gate */ 3107c478bd9Sstevel@tonic-gate ACPI_STATUS 311aa2aa9a6SDana Myers AcpiInstallInitializationHandler ( 312aa2aa9a6SDana Myers ACPI_INIT_HANDLER Handler, 313aa2aa9a6SDana Myers UINT32 Function); 314aa2aa9a6SDana Myers 315*26f3cdf0SGordon Ross ACPI_STATUS 316*26f3cdf0SGordon Ross AcpiInstallGlobalEventHandler ( 317*26f3cdf0SGordon Ross ACPI_GBL_EVENT_HANDLER Handler, 318*26f3cdf0SGordon Ross void *Context); 319*26f3cdf0SGordon Ross 320aa2aa9a6SDana Myers ACPI_STATUS 3217c478bd9Sstevel@tonic-gate AcpiInstallFixedEventHandler ( 3227c478bd9Sstevel@tonic-gate UINT32 AcpiEvent, 3237c478bd9Sstevel@tonic-gate ACPI_EVENT_HANDLER Handler, 3247c478bd9Sstevel@tonic-gate void *Context); 3257c478bd9Sstevel@tonic-gate 3267c478bd9Sstevel@tonic-gate ACPI_STATUS 3277c478bd9Sstevel@tonic-gate AcpiRemoveFixedEventHandler ( 3287c478bd9Sstevel@tonic-gate UINT32 AcpiEvent, 3297c478bd9Sstevel@tonic-gate ACPI_EVENT_HANDLER Handler); 3307c478bd9Sstevel@tonic-gate 331*26f3cdf0SGordon Ross ACPI_STATUS 332*26f3cdf0SGordon Ross AcpiInstallGpeHandler ( 333*26f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 334*26f3cdf0SGordon Ross UINT32 GpeNumber, 335*26f3cdf0SGordon Ross UINT32 Type, 336*26f3cdf0SGordon Ross ACPI_GPE_HANDLER Address, 337*26f3cdf0SGordon Ross void *Context); 338*26f3cdf0SGordon Ross 339*26f3cdf0SGordon Ross ACPI_STATUS 340*26f3cdf0SGordon Ross AcpiRemoveGpeHandler ( 341*26f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 342*26f3cdf0SGordon Ross UINT32 GpeNumber, 343*26f3cdf0SGordon Ross ACPI_GPE_HANDLER Address); 344*26f3cdf0SGordon Ross 3457c478bd9Sstevel@tonic-gate ACPI_STATUS 3467c478bd9Sstevel@tonic-gate AcpiInstallNotifyHandler ( 3477c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 3487c478bd9Sstevel@tonic-gate UINT32 HandlerType, 3497c478bd9Sstevel@tonic-gate ACPI_NOTIFY_HANDLER Handler, 3507c478bd9Sstevel@tonic-gate void *Context); 3517c478bd9Sstevel@tonic-gate 3527c478bd9Sstevel@tonic-gate ACPI_STATUS 3537c478bd9Sstevel@tonic-gate AcpiRemoveNotifyHandler ( 3547c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 3557c478bd9Sstevel@tonic-gate UINT32 HandlerType, 3567c478bd9Sstevel@tonic-gate ACPI_NOTIFY_HANDLER Handler); 3577c478bd9Sstevel@tonic-gate 3587c478bd9Sstevel@tonic-gate ACPI_STATUS 3597c478bd9Sstevel@tonic-gate AcpiInstallAddressSpaceHandler ( 3607c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 3617c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_TYPE SpaceId, 3627c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_HANDLER Handler, 3637c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_SETUP Setup, 3647c478bd9Sstevel@tonic-gate void *Context); 3657c478bd9Sstevel@tonic-gate 3667c478bd9Sstevel@tonic-gate ACPI_STATUS 3677c478bd9Sstevel@tonic-gate AcpiRemoveAddressSpaceHandler ( 3687c478bd9Sstevel@tonic-gate ACPI_HANDLE Device, 3697c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_TYPE SpaceId, 3707c478bd9Sstevel@tonic-gate ACPI_ADR_SPACE_HANDLER Handler); 3717c478bd9Sstevel@tonic-gate 3727c478bd9Sstevel@tonic-gate ACPI_STATUS 3737c478bd9Sstevel@tonic-gate AcpiInstallExceptionHandler ( 3747c478bd9Sstevel@tonic-gate ACPI_EXCEPTION_HANDLER Handler); 3757c478bd9Sstevel@tonic-gate 376*26f3cdf0SGordon Ross ACPI_STATUS 377*26f3cdf0SGordon Ross AcpiInstallInterfaceHandler ( 378*26f3cdf0SGordon Ross ACPI_INTERFACE_HANDLER Handler); 379*26f3cdf0SGordon Ross 3807c478bd9Sstevel@tonic-gate 3817c478bd9Sstevel@tonic-gate /* 382*26f3cdf0SGordon Ross * Global Lock interfaces 3837c478bd9Sstevel@tonic-gate */ 3847c478bd9Sstevel@tonic-gate ACPI_STATUS 3857c478bd9Sstevel@tonic-gate AcpiAcquireGlobalLock ( 3867c478bd9Sstevel@tonic-gate UINT16 Timeout, 3877c478bd9Sstevel@tonic-gate UINT32 *Handle); 3887c478bd9Sstevel@tonic-gate 3897c478bd9Sstevel@tonic-gate ACPI_STATUS 3907c478bd9Sstevel@tonic-gate AcpiReleaseGlobalLock ( 3917c478bd9Sstevel@tonic-gate UINT32 Handle); 3927c478bd9Sstevel@tonic-gate 393*26f3cdf0SGordon Ross 394*26f3cdf0SGordon Ross /* 395*26f3cdf0SGordon Ross * Fixed Event interfaces 396*26f3cdf0SGordon Ross */ 3977c478bd9Sstevel@tonic-gate ACPI_STATUS 3987c478bd9Sstevel@tonic-gate AcpiEnableEvent ( 3997c478bd9Sstevel@tonic-gate UINT32 Event, 4007c478bd9Sstevel@tonic-gate UINT32 Flags); 4017c478bd9Sstevel@tonic-gate 4027c478bd9Sstevel@tonic-gate ACPI_STATUS 4037c478bd9Sstevel@tonic-gate AcpiDisableEvent ( 4047c478bd9Sstevel@tonic-gate UINT32 Event, 4057c478bd9Sstevel@tonic-gate UINT32 Flags); 4067c478bd9Sstevel@tonic-gate 4077c478bd9Sstevel@tonic-gate ACPI_STATUS 4087c478bd9Sstevel@tonic-gate AcpiClearEvent ( 4097c478bd9Sstevel@tonic-gate UINT32 Event); 4107c478bd9Sstevel@tonic-gate 4117c478bd9Sstevel@tonic-gate ACPI_STATUS 4127c478bd9Sstevel@tonic-gate AcpiGetEventStatus ( 4137c478bd9Sstevel@tonic-gate UINT32 Event, 4147c478bd9Sstevel@tonic-gate ACPI_EVENT_STATUS *EventStatus); 4157c478bd9Sstevel@tonic-gate 416aa2aa9a6SDana Myers 417aa2aa9a6SDana Myers /* 418*26f3cdf0SGordon Ross * General Purpose Event (GPE) Interfaces 419aa2aa9a6SDana Myers */ 4207c478bd9Sstevel@tonic-gate ACPI_STATUS 421*26f3cdf0SGordon Ross AcpiUpdateAllGpes ( 422*26f3cdf0SGordon Ross void); 4237c478bd9Sstevel@tonic-gate 4247c478bd9Sstevel@tonic-gate ACPI_STATUS 4257c478bd9Sstevel@tonic-gate AcpiEnableGpe ( 4267c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 427*26f3cdf0SGordon Ross UINT32 GpeNumber); 4287c478bd9Sstevel@tonic-gate 4297c478bd9Sstevel@tonic-gate ACPI_STATUS 4307c478bd9Sstevel@tonic-gate AcpiDisableGpe ( 4317c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 432*26f3cdf0SGordon Ross UINT32 GpeNumber); 4337c478bd9Sstevel@tonic-gate 4347c478bd9Sstevel@tonic-gate ACPI_STATUS 4357c478bd9Sstevel@tonic-gate AcpiClearGpe ( 436*26f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 437*26f3cdf0SGordon Ross UINT32 GpeNumber); 438*26f3cdf0SGordon Ross 439*26f3cdf0SGordon Ross ACPI_STATUS 440*26f3cdf0SGordon Ross AcpiSetGpe ( 4417c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 4427c478bd9Sstevel@tonic-gate UINT32 GpeNumber, 443*26f3cdf0SGordon Ross UINT8 Action); 444*26f3cdf0SGordon Ross 445*26f3cdf0SGordon Ross ACPI_STATUS 446*26f3cdf0SGordon Ross AcpiFinishGpe ( 447*26f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 448*26f3cdf0SGordon Ross UINT32 GpeNumber); 449*26f3cdf0SGordon Ross 450*26f3cdf0SGordon Ross ACPI_STATUS 451*26f3cdf0SGordon Ross AcpiSetupGpeForWake ( 452*26f3cdf0SGordon Ross ACPI_HANDLE ParentDevice, 453*26f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 454*26f3cdf0SGordon Ross UINT32 GpeNumber); 455*26f3cdf0SGordon Ross 456*26f3cdf0SGordon Ross ACPI_STATUS 457*26f3cdf0SGordon Ross AcpiSetGpeWakeMask ( 458*26f3cdf0SGordon Ross ACPI_HANDLE GpeDevice, 459*26f3cdf0SGordon Ross UINT32 GpeNumber, 460*26f3cdf0SGordon Ross UINT8 Action); 4617c478bd9Sstevel@tonic-gate 4627c478bd9Sstevel@tonic-gate ACPI_STATUS 4637c478bd9Sstevel@tonic-gate AcpiGetGpeStatus ( 4647c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 4657c478bd9Sstevel@tonic-gate UINT32 GpeNumber, 4667c478bd9Sstevel@tonic-gate ACPI_EVENT_STATUS *EventStatus); 4677c478bd9Sstevel@tonic-gate 468aa2aa9a6SDana Myers ACPI_STATUS 469aa2aa9a6SDana Myers AcpiDisableAllGpes ( 470aa2aa9a6SDana Myers void); 471aa2aa9a6SDana Myers 472aa2aa9a6SDana Myers ACPI_STATUS 473aa2aa9a6SDana Myers AcpiEnableAllRuntimeGpes ( 474aa2aa9a6SDana Myers void); 475aa2aa9a6SDana Myers 476aa2aa9a6SDana Myers ACPI_STATUS 477aa2aa9a6SDana Myers AcpiGetGpeDevice ( 478aa2aa9a6SDana Myers UINT32 GpeIndex, 479aa2aa9a6SDana Myers ACPI_HANDLE *GpeDevice); 480aa2aa9a6SDana Myers 4817c478bd9Sstevel@tonic-gate ACPI_STATUS 4827c478bd9Sstevel@tonic-gate AcpiInstallGpeBlock ( 4837c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice, 4847c478bd9Sstevel@tonic-gate ACPI_GENERIC_ADDRESS *GpeBlockAddress, 4857c478bd9Sstevel@tonic-gate UINT32 RegisterCount, 486450d6964Smyers UINT32 InterruptNumber); 4877c478bd9Sstevel@tonic-gate 4887c478bd9Sstevel@tonic-gate ACPI_STATUS 4897c478bd9Sstevel@tonic-gate AcpiRemoveGpeBlock ( 4907c478bd9Sstevel@tonic-gate ACPI_HANDLE GpeDevice); 4917c478bd9Sstevel@tonic-gate 4927c478bd9Sstevel@tonic-gate 4937c478bd9Sstevel@tonic-gate /* 4947c478bd9Sstevel@tonic-gate * Resource interfaces 4957c478bd9Sstevel@tonic-gate */ 4967c478bd9Sstevel@tonic-gate typedef 4977c478bd9Sstevel@tonic-gate ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) ( 4987c478bd9Sstevel@tonic-gate ACPI_RESOURCE *Resource, 4997c478bd9Sstevel@tonic-gate void *Context); 5007c478bd9Sstevel@tonic-gate 50130082d0cSmyers ACPI_STATUS 50230082d0cSmyers AcpiGetVendorResource ( 503*26f3cdf0SGordon Ross ACPI_HANDLE Device, 50430082d0cSmyers char *Name, 50530082d0cSmyers ACPI_VENDOR_UUID *Uuid, 50630082d0cSmyers ACPI_BUFFER *RetBuffer); 5077c478bd9Sstevel@tonic-gate 5087c478bd9Sstevel@tonic-gate ACPI_STATUS 509*26f3cdf0SGordon Ross AcpiGetCurrentResources ( 510*26f3cdf0SGordon Ross ACPI_HANDLE Device, 5117c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 5127c478bd9Sstevel@tonic-gate 5137c478bd9Sstevel@tonic-gate ACPI_STATUS 514*26f3cdf0SGordon Ross AcpiGetPossibleResources ( 515*26f3cdf0SGordon Ross ACPI_HANDLE Device, 5167c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 5177c478bd9Sstevel@tonic-gate 5187c478bd9Sstevel@tonic-gate ACPI_STATUS 5197c478bd9Sstevel@tonic-gate AcpiWalkResources ( 520*26f3cdf0SGordon Ross ACPI_HANDLE Device, 52130082d0cSmyers char *Name, 52230082d0cSmyers ACPI_WALK_RESOURCE_CALLBACK UserFunction, 52330082d0cSmyers void *Context); 5247c478bd9Sstevel@tonic-gate 5257c478bd9Sstevel@tonic-gate ACPI_STATUS 5267c478bd9Sstevel@tonic-gate AcpiSetCurrentResources ( 527*26f3cdf0SGordon Ross ACPI_HANDLE Device, 5287c478bd9Sstevel@tonic-gate ACPI_BUFFER *InBuffer); 5297c478bd9Sstevel@tonic-gate 5307c478bd9Sstevel@tonic-gate ACPI_STATUS 531*26f3cdf0SGordon Ross AcpiGetIrqRoutingTable ( 532*26f3cdf0SGordon Ross ACPI_HANDLE Device, 5337c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 5347c478bd9Sstevel@tonic-gate 5357c478bd9Sstevel@tonic-gate ACPI_STATUS 5367c478bd9Sstevel@tonic-gate AcpiResourceToAddress64 ( 5377c478bd9Sstevel@tonic-gate ACPI_RESOURCE *Resource, 5387c478bd9Sstevel@tonic-gate ACPI_RESOURCE_ADDRESS64 *Out); 5397c478bd9Sstevel@tonic-gate 540aa2aa9a6SDana Myers 5417c478bd9Sstevel@tonic-gate /* 5427c478bd9Sstevel@tonic-gate * Hardware (ACPI device) interfaces 5437c478bd9Sstevel@tonic-gate */ 5447c478bd9Sstevel@tonic-gate ACPI_STATUS 545aa2aa9a6SDana Myers AcpiReset ( 546aa2aa9a6SDana Myers void); 547db2bae30SDana Myers 548db2bae30SDana Myers ACPI_STATUS 549aa2aa9a6SDana Myers AcpiRead ( 55057190917SDana Myers UINT64 *Value, 551aa2aa9a6SDana Myers ACPI_GENERIC_ADDRESS *Reg); 5527c478bd9Sstevel@tonic-gate 5537c478bd9Sstevel@tonic-gate ACPI_STATUS 554aa2aa9a6SDana Myers AcpiWrite ( 55557190917SDana Myers UINT64 Value, 556aa2aa9a6SDana Myers ACPI_GENERIC_ADDRESS *Reg); 5577c478bd9Sstevel@tonic-gate 5587c478bd9Sstevel@tonic-gate ACPI_STATUS 559aa2aa9a6SDana Myers AcpiReadBitRegister ( 560aa2aa9a6SDana Myers UINT32 RegisterId, 561aa2aa9a6SDana Myers UINT32 *ReturnValue); 5627c478bd9Sstevel@tonic-gate 5637c478bd9Sstevel@tonic-gate ACPI_STATUS 564aa2aa9a6SDana Myers AcpiWriteBitRegister ( 565aa2aa9a6SDana Myers UINT32 RegisterId, 566aa2aa9a6SDana Myers UINT32 Value); 5677c478bd9Sstevel@tonic-gate 5687c478bd9Sstevel@tonic-gate ACPI_STATUS 5697c478bd9Sstevel@tonic-gate AcpiGetSleepTypeData ( 5707c478bd9Sstevel@tonic-gate UINT8 SleepState, 5717c478bd9Sstevel@tonic-gate UINT8 *Slp_TypA, 5727c478bd9Sstevel@tonic-gate UINT8 *Slp_TypB); 5737c478bd9Sstevel@tonic-gate 5747c478bd9Sstevel@tonic-gate ACPI_STATUS 5757c478bd9Sstevel@tonic-gate AcpiEnterSleepStatePrep ( 5767c478bd9Sstevel@tonic-gate UINT8 SleepState); 5777c478bd9Sstevel@tonic-gate 5787c478bd9Sstevel@tonic-gate ACPI_STATUS 5797c478bd9Sstevel@tonic-gate AcpiEnterSleepState ( 5807c478bd9Sstevel@tonic-gate UINT8 SleepState); 5817c478bd9Sstevel@tonic-gate 5827c478bd9Sstevel@tonic-gate ACPI_STATUS 5837c478bd9Sstevel@tonic-gate AcpiEnterSleepStateS4bios ( 5847c478bd9Sstevel@tonic-gate void); 5857c478bd9Sstevel@tonic-gate 5867c478bd9Sstevel@tonic-gate ACPI_STATUS 5877c478bd9Sstevel@tonic-gate AcpiLeaveSleepState ( 588aa2aa9a6SDana Myers UINT8 SleepState) 589aa2aa9a6SDana Myers ; 590aa2aa9a6SDana Myers ACPI_STATUS 591aa2aa9a6SDana Myers AcpiSetFirmwareWakingVector ( 592aa2aa9a6SDana Myers UINT32 PhysicalAddress); 593aa2aa9a6SDana Myers 594aa2aa9a6SDana Myers #if ACPI_MACHINE_WIDTH == 64 595aa2aa9a6SDana Myers ACPI_STATUS 596aa2aa9a6SDana Myers AcpiSetFirmwareWakingVector64 ( 597aa2aa9a6SDana Myers UINT64 PhysicalAddress); 598aa2aa9a6SDana Myers #endif 599aa2aa9a6SDana Myers 600aa2aa9a6SDana Myers 601aa2aa9a6SDana Myers /* 602aa2aa9a6SDana Myers * Error/Warning output 603aa2aa9a6SDana Myers */ 604aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 605aa2aa9a6SDana Myers AcpiError ( 606aa2aa9a6SDana Myers const char *ModuleName, 607aa2aa9a6SDana Myers UINT32 LineNumber, 608aa2aa9a6SDana Myers const char *Format, 609aa2aa9a6SDana Myers ...) ACPI_PRINTF_LIKE(3); 610aa2aa9a6SDana Myers 611aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 612aa2aa9a6SDana Myers AcpiException ( 613aa2aa9a6SDana Myers const char *ModuleName, 614aa2aa9a6SDana Myers UINT32 LineNumber, 615aa2aa9a6SDana Myers ACPI_STATUS Status, 616aa2aa9a6SDana Myers const char *Format, 617aa2aa9a6SDana Myers ...) ACPI_PRINTF_LIKE(4); 618aa2aa9a6SDana Myers 619aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 620aa2aa9a6SDana Myers AcpiWarning ( 621aa2aa9a6SDana Myers const char *ModuleName, 622aa2aa9a6SDana Myers UINT32 LineNumber, 623aa2aa9a6SDana Myers const char *Format, 624aa2aa9a6SDana Myers ...) ACPI_PRINTF_LIKE(3); 625aa2aa9a6SDana Myers 626aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 627aa2aa9a6SDana Myers AcpiInfo ( 628aa2aa9a6SDana Myers const char *ModuleName, 629aa2aa9a6SDana Myers UINT32 LineNumber, 630aa2aa9a6SDana Myers const char *Format, 631aa2aa9a6SDana Myers ...) ACPI_PRINTF_LIKE(3); 632aa2aa9a6SDana Myers 6337c478bd9Sstevel@tonic-gate 634aa2aa9a6SDana Myers /* 635aa2aa9a6SDana Myers * Debug output 636aa2aa9a6SDana Myers */ 637aa2aa9a6SDana Myers #ifdef ACPI_DEBUG_OUTPUT 638aa2aa9a6SDana Myers 639aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 640aa2aa9a6SDana Myers AcpiDebugPrint ( 641aa2aa9a6SDana Myers UINT32 RequestedDebugLevel, 642aa2aa9a6SDana Myers UINT32 LineNumber, 643aa2aa9a6SDana Myers const char *FunctionName, 644aa2aa9a6SDana Myers const char *ModuleName, 645aa2aa9a6SDana Myers UINT32 ComponentId, 646aa2aa9a6SDana Myers const char *Format, 647aa2aa9a6SDana Myers ...) ACPI_PRINTF_LIKE(6); 648aa2aa9a6SDana Myers 649aa2aa9a6SDana Myers void ACPI_INTERNAL_VAR_XFACE 650aa2aa9a6SDana Myers AcpiDebugPrintRaw ( 651aa2aa9a6SDana Myers UINT32 RequestedDebugLevel, 652aa2aa9a6SDana Myers UINT32 LineNumber, 653aa2aa9a6SDana Myers const char *FunctionName, 654aa2aa9a6SDana Myers const char *ModuleName, 655aa2aa9a6SDana Myers UINT32 ComponentId, 656aa2aa9a6SDana Myers const char *Format, 657aa2aa9a6SDana Myers ...) ACPI_PRINTF_LIKE(6); 658aa2aa9a6SDana Myers #endif 6597c478bd9Sstevel@tonic-gate 6607c478bd9Sstevel@tonic-gate #endif /* __ACXFACE_H__ */ 661