1 /******************************************************************************
3 * Name: acpixf.h - External interfaces to the ACPI subsystem
5 *****************************************************************************/
8 * Copyright (C) 2000 - 2015, Intel Corp.
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
47 /* Current ACPICA subsystem version in YYYYMMDD format */
49 #define ACPI_CA_VERSION 0x20150717
57 /*****************************************************************************
59 * Macros used for ACPICA globals and configuration
61 ****************************************************************************/
64 * Ensure that global variables are defined and initialized only once.
66 * The use of these macros allows for a single list of globals (here)
67 * in order to simplify maintenance of the code.
69 #ifdef DEFINE_ACPI_GLOBALS
70 #define ACPI_GLOBAL(type,name) \
74 #define ACPI_INIT_GLOBAL(type,name,value) \
79 #define ACPI_GLOBAL(type,name) \
83 #ifndef ACPI_INIT_GLOBAL
84 #define ACPI_INIT_GLOBAL(type,name,value) \
90 * These macros configure the various ACPICA interfaces. They are
91 * useful for generating stub inline functions for features that are
92 * configured out of the current kernel or ACPICA application.
94 #ifndef ACPI_EXTERNAL_RETURN_STATUS
95 #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
99 #ifndef ACPI_EXTERNAL_RETURN_OK
100 #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
104 #ifndef ACPI_EXTERNAL_RETURN_VOID
105 #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
109 #ifndef ACPI_EXTERNAL_RETURN_UINT32
110 #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
114 #ifndef ACPI_EXTERNAL_RETURN_PTR
115 #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
120 /*****************************************************************************
122 * Public globals and runtime configuration options
124 ****************************************************************************/
127 * Enable "slack mode" of the AML interpreter? Default is FALSE, and the
128 * interpreter strictly follows the ACPI specification. Setting to TRUE
129 * allows the interpreter to ignore certain errors and/or bad AML constructs.
131 * Currently, these features are enabled by this flag:
133 * 1) Allow "implicit return" of last value in a control method
134 * 2) Allow access beyond the end of an operation region
135 * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
136 * 4) Allow ANY object type to be a source operand for the Store() operator
137 * 5) Allow unresolved references (invalid target name) in package objects
138 * 6) Enable warning messages for behavior that is not ACPI spec compliant
140 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_EnableInterpreterSlack
, FALSE
);
143 * Automatically serialize all methods that create named objects? Default
144 * is TRUE, meaning that all NonSerialized methods are scanned once at
145 * table load time to determine those that create named objects. Methods
146 * that create named objects are marked Serialized in order to prevent
147 * possible run-time problems if they are entered by more than one thread.
149 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_AutoSerializeMethods
, TRUE
);
152 * Create the predefined _OSI method in the namespace? Default is TRUE
153 * because ACPICA is fully compatible with other ACPI implementations.
154 * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
156 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_CreateOsiMethod
, TRUE
);
159 * Optionally use default values for the ACPI register widths. Set this to
160 * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
162 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_UseDefaultRegisterWidths
, TRUE
);
165 * Whether or not to verify the table checksum before installation. Set
166 * this to TRUE to verify the table checksum before install it to the table
167 * manager. Note that enabling this option causes errors to happen in some
168 * OSPMs during early initialization stages. Default behavior is to do such
171 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_VerifyTableChecksum
, TRUE
);
174 * Optionally enable output from the AML Debug Object.
176 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_EnableAmlDebugObject
, FALSE
);
179 * Optionally copy the entire DSDT to local memory (instead of simply
180 * mapping it.) There are some BIOSs that corrupt or replace the original
181 * DSDT, creating the need for this option. Default is FALSE, do not copy
184 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_CopyDsdtLocally
, FALSE
);
187 * Optionally ignore an XSDT if present and use the RSDT instead.
188 * Although the ACPI specification requires that an XSDT be used instead
189 * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
190 * some machines. Default behavior is to use the XSDT if present.
192 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_DoNotUseXsdt
, FALSE
);
195 * Optionally use 32-bit FADT addresses if and when there is a conflict
196 * (address mismatch) between the 32-bit and 64-bit versions of the
197 * address. Although ACPICA adheres to the ACPI specification which
198 * requires the use of the corresponding 64-bit address if it is non-zero,
199 * some machines have been found to have a corrupted non-zero 64-bit
200 * address. Default is FALSE, do not favor the 32-bit addresses.
202 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_Use32BitFadtAddresses
, FALSE
);
205 * Optionally use 32-bit FACS table addresses.
206 * It is reported that some platforms fail to resume from system suspending
207 * if 64-bit FACS table address is selected:
208 * https://bugzilla.kernel.org/show_bug.cgi?id=74021
209 * Default is TRUE, favor the 32-bit addresses.
211 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_Use32BitFacsAddresses
, TRUE
);
214 * Optionally truncate I/O addresses to 16 bits. Provides compatibility
215 * with other ACPI implementations. NOTE: During ACPICA initialization,
216 * this value is set to TRUE if any Windows OSI strings have been
217 * requested by the BIOS.
219 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_TruncateIoAddresses
, FALSE
);
222 * Disable runtime checking and repair of values returned by control methods.
223 * Use only if the repair is causing a problem on a particular machine.
225 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_DisableAutoRepair
, FALSE
);
228 * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
229 * This can be useful for debugging ACPI problems on some machines.
231 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_DisableSsdtTableInstall
, FALSE
);
234 * Optionally enable runtime namespace override.
236 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_RuntimeNamespaceOverride
, TRUE
);
239 * We keep track of the latest version of Windows that has been requested by
240 * the BIOS. ACPI 5.0.
242 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_OsiData
, 0);
245 * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
246 * that the ACPI hardware is no longer required. A flag in the FADT indicates
247 * a reduced HW machine, and that flag is duplicated here for convenience.
249 ACPI_INIT_GLOBAL (BOOLEAN
, AcpiGbl_ReducedHardware
, FALSE
);
252 * This mechanism is used to trace a specified AML method. The method is
253 * traced each time it is executed.
255 ACPI_INIT_GLOBAL (UINT32
, AcpiGbl_TraceFlags
, 0);
256 ACPI_INIT_GLOBAL (const char *, AcpiGbl_TraceMethodName
, NULL
);
257 ACPI_INIT_GLOBAL (UINT32
, AcpiGbl_TraceDbgLevel
, ACPI_TRACE_LEVEL_DEFAULT
);
258 ACPI_INIT_GLOBAL (UINT32
, AcpiGbl_TraceDbgLayer
, ACPI_TRACE_LAYER_DEFAULT
);
261 * Runtime configuration of debug output control masks. We want the debug
262 * switches statically initialized so they are already set when the debugger
265 #ifdef ACPI_DEBUG_OUTPUT
266 ACPI_INIT_GLOBAL (UINT32
, AcpiDbgLevel
, ACPI_DEBUG_DEFAULT
);
268 ACPI_INIT_GLOBAL (UINT32
, AcpiDbgLevel
, ACPI_NORMAL_DEFAULT
);
270 ACPI_INIT_GLOBAL (UINT32
, AcpiDbgLayer
, ACPI_COMPONENT_DEFAULT
);
273 * Other miscellaneous globals
275 ACPI_GLOBAL (ACPI_TABLE_FADT
, AcpiGbl_FADT
);
276 ACPI_GLOBAL (UINT32
, AcpiCurrentGpeCount
);
277 ACPI_GLOBAL (BOOLEAN
, AcpiGbl_SystemAwakeAndRunning
);
280 /*****************************************************************************
282 * ACPICA public interface configuration.
284 * Interfaces that are configured out of the ACPICA build are replaced
285 * by inlined stubs by default.
287 ****************************************************************************/
290 * Hardware-reduced prototypes (default: Not hardware reduced).
292 * All ACPICA hardware-related interfaces that use these macros will be
293 * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
296 * Note: This static build option for reduced hardware is intended to
297 * reduce ACPICA code size if desired or necessary. However, even if this
298 * option is not specified, the runtime behavior of ACPICA is dependent
299 * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
300 * the flag will enable similar behavior -- ACPICA will not attempt
301 * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
303 #if (!ACPI_REDUCED_HARDWARE)
304 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
305 ACPI_EXTERNAL_RETURN_STATUS(Prototype)
307 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
308 ACPI_EXTERNAL_RETURN_OK(Prototype)
310 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
311 ACPI_EXTERNAL_RETURN_VOID(Prototype)
314 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
315 static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
317 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
318 static ACPI_INLINE Prototype {return(AE_OK);}
320 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
321 static ACPI_INLINE Prototype {return;}
323 #endif /* !ACPI_REDUCED_HARDWARE */
327 * Error message prototypes (default: error messages enabled).
329 * All interfaces related to error and warning messages
330 * will be configured out of the ACPICA build if the
331 * ACPI_NO_ERROR_MESSAGE flag is defined.
333 #ifndef ACPI_NO_ERROR_MESSAGES
334 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
338 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
339 static ACPI_INLINE Prototype {return;}
341 #endif /* ACPI_NO_ERROR_MESSAGES */
345 * Debugging output prototypes (default: no debug output).
347 * All interfaces related to debug output messages
348 * will be configured out of the ACPICA build unless the
349 * ACPI_DEBUG_OUTPUT flag is defined.
351 #ifdef ACPI_DEBUG_OUTPUT
352 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
356 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
357 static ACPI_INLINE Prototype {return;}
359 #endif /* ACPI_DEBUG_OUTPUT */
363 * Application prototypes
365 * All interfaces used by application will be configured
366 * out of the ACPICA build unless the ACPI_APPLICATION
369 #ifdef ACPI_APPLICATION
370 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
374 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
375 static ACPI_INLINE Prototype {return;}
377 #endif /* ACPI_APPLICATION */
380 /*****************************************************************************
382 * ACPICA public interface prototypes
384 ****************************************************************************/
389 ACPI_EXTERNAL_RETURN_STATUS (
391 AcpiInitializeTables (
392 ACPI_TABLE_DESC
*InitialStorage
,
393 UINT32 InitialTableCount
,
394 BOOLEAN AllowResize
))
396 ACPI_EXTERNAL_RETURN_STATUS (
398 AcpiInitializeSubsystem (
401 ACPI_EXTERNAL_RETURN_STATUS (
403 AcpiEnableSubsystem (
406 ACPI_EXTERNAL_RETURN_STATUS (
408 AcpiInitializeObjects (
411 ACPI_EXTERNAL_RETURN_STATUS (
418 * Miscellaneous global interfaces
420 ACPI_HW_DEPENDENT_RETURN_STATUS (
425 ACPI_HW_DEPENDENT_RETURN_STATUS (
430 ACPI_EXTERNAL_RETURN_STATUS (
432 AcpiSubsystemStatus (
435 ACPI_EXTERNAL_RETURN_STATUS (
438 ACPI_BUFFER
*RetBuffer
))
440 ACPI_EXTERNAL_RETURN_STATUS (
443 ACPI_STATISTICS
*Stats
))
445 ACPI_EXTERNAL_RETURN_PTR (
447 AcpiFormatException (
448 ACPI_STATUS Exception
))
450 ACPI_EXTERNAL_RETURN_STATUS (
452 AcpiPurgeCachedObjects (
455 ACPI_EXTERNAL_RETURN_STATUS (
457 AcpiInstallInterface (
458 ACPI_STRING InterfaceName
))
460 ACPI_EXTERNAL_RETURN_STATUS (
462 AcpiRemoveInterface (
463 ACPI_STRING InterfaceName
))
465 ACPI_EXTERNAL_RETURN_STATUS (
467 AcpiUpdateInterfaces (
470 ACPI_EXTERNAL_RETURN_UINT32 (
472 AcpiCheckAddressRange (
473 ACPI_ADR_SPACE_TYPE SpaceId
,
474 ACPI_PHYSICAL_ADDRESS Address
,
478 ACPI_EXTERNAL_RETURN_STATUS (
480 AcpiDecodePldBuffer (
483 ACPI_PLD_INFO
**ReturnBuffer
))
487 * ACPI table load/unload interfaces
489 ACPI_EXTERNAL_RETURN_STATUS (
492 ACPI_PHYSICAL_ADDRESS Address
,
495 ACPI_EXTERNAL_RETURN_STATUS (
498 ACPI_TABLE_HEADER
*Table
))
500 ACPI_EXTERNAL_RETURN_STATUS (
502 AcpiUnloadParentTable (
505 ACPI_EXTERNAL_RETURN_STATUS (
512 * ACPI table manipulation interfaces
514 ACPI_EXTERNAL_RETURN_STATUS (
516 AcpiReallocateRootTable (
519 ACPI_EXTERNAL_RETURN_STATUS (
521 AcpiFindRootPointer (
522 ACPI_PHYSICAL_ADDRESS
*RsdpAddress
))
524 ACPI_EXTERNAL_RETURN_STATUS (
527 ACPI_STRING Signature
,
529 ACPI_TABLE_HEADER
*OutTableHeader
))
531 ACPI_EXTERNAL_RETURN_STATUS (
534 ACPI_STRING Signature
,
536 ACPI_TABLE_HEADER
**OutTable
))
538 ACPI_EXTERNAL_RETURN_STATUS (
540 AcpiGetTableByIndex (
542 ACPI_TABLE_HEADER
**OutTable
))
544 ACPI_EXTERNAL_RETURN_STATUS (
546 AcpiInstallTableHandler (
547 ACPI_TABLE_HANDLER Handler
,
550 ACPI_EXTERNAL_RETURN_STATUS (
552 AcpiRemoveTableHandler (
553 ACPI_TABLE_HANDLER Handler
))
557 * Namespace and name interfaces
559 ACPI_EXTERNAL_RETURN_STATUS (
562 ACPI_OBJECT_TYPE Type
,
563 ACPI_HANDLE StartObject
,
565 ACPI_WALK_CALLBACK DescendingCallback
,
566 ACPI_WALK_CALLBACK AscendingCallback
,
570 ACPI_EXTERNAL_RETURN_STATUS (
574 ACPI_WALK_CALLBACK UserFunction
,
578 ACPI_EXTERNAL_RETURN_STATUS (
583 ACPI_BUFFER
*RetPathPtr
))
585 ACPI_EXTERNAL_RETURN_STATUS (
589 ACPI_STRING Pathname
,
590 ACPI_HANDLE
*RetHandle
))
592 ACPI_EXTERNAL_RETURN_STATUS (
596 ACPI_OBJECT_HANDLER Handler
,
599 ACPI_EXTERNAL_RETURN_STATUS (
603 ACPI_OBJECT_HANDLER Handler
))
605 ACPI_EXTERNAL_RETURN_STATUS (
609 ACPI_OBJECT_HANDLER Handler
,
612 ACPI_EXTERNAL_RETURN_STATUS (
622 * Object manipulation and enumeration
624 ACPI_EXTERNAL_RETURN_STATUS (
628 ACPI_STRING Pathname
,
629 ACPI_OBJECT_LIST
*ParameterObjects
,
630 ACPI_BUFFER
*ReturnObjectBuffer
))
632 ACPI_EXTERNAL_RETURN_STATUS (
634 AcpiEvaluateObjectTyped (
636 ACPI_STRING Pathname
,
637 ACPI_OBJECT_LIST
*ExternalParams
,
638 ACPI_BUFFER
*ReturnBuffer
,
639 ACPI_OBJECT_TYPE ReturnType
))
641 ACPI_EXTERNAL_RETURN_STATUS (
645 ACPI_DEVICE_INFO
**ReturnBuffer
))
647 ACPI_EXTERNAL_RETURN_STATUS (
652 ACPI_EXTERNAL_RETURN_STATUS (
655 ACPI_OBJECT_TYPE Type
,
658 ACPI_HANDLE
*OutHandle
))
660 ACPI_EXTERNAL_RETURN_STATUS (
664 ACPI_OBJECT_TYPE
*OutType
))
666 ACPI_EXTERNAL_RETURN_STATUS (
670 ACPI_HANDLE
*OutHandle
))
676 ACPI_EXTERNAL_RETURN_STATUS (
678 AcpiInstallInitializationHandler (
679 ACPI_INIT_HANDLER Handler
,
682 ACPI_HW_DEPENDENT_RETURN_STATUS (
684 AcpiInstallSciHandler (
685 ACPI_SCI_HANDLER Address
,
688 ACPI_HW_DEPENDENT_RETURN_STATUS (
690 AcpiRemoveSciHandler (
691 ACPI_SCI_HANDLER Address
))
693 ACPI_HW_DEPENDENT_RETURN_STATUS (
695 AcpiInstallGlobalEventHandler (
696 ACPI_GBL_EVENT_HANDLER Handler
,
699 ACPI_HW_DEPENDENT_RETURN_STATUS (
701 AcpiInstallFixedEventHandler (
703 ACPI_EVENT_HANDLER Handler
,
706 ACPI_HW_DEPENDENT_RETURN_STATUS (
708 AcpiRemoveFixedEventHandler (
710 ACPI_EVENT_HANDLER Handler
))
712 ACPI_HW_DEPENDENT_RETURN_STATUS (
714 AcpiInstallGpeHandler (
715 ACPI_HANDLE GpeDevice
,
718 ACPI_GPE_HANDLER Address
,
721 ACPI_HW_DEPENDENT_RETURN_STATUS (
723 AcpiInstallGpeRawHandler (
724 ACPI_HANDLE GpeDevice
,
727 ACPI_GPE_HANDLER Address
,
730 ACPI_HW_DEPENDENT_RETURN_STATUS (
732 AcpiRemoveGpeHandler (
733 ACPI_HANDLE GpeDevice
,
735 ACPI_GPE_HANDLER Address
))
737 ACPI_EXTERNAL_RETURN_STATUS (
739 AcpiInstallNotifyHandler (
742 ACPI_NOTIFY_HANDLER Handler
,
745 ACPI_EXTERNAL_RETURN_STATUS (
747 AcpiRemoveNotifyHandler (
750 ACPI_NOTIFY_HANDLER Handler
))
752 ACPI_EXTERNAL_RETURN_STATUS (
754 AcpiInstallAddressSpaceHandler (
756 ACPI_ADR_SPACE_TYPE SpaceId
,
757 ACPI_ADR_SPACE_HANDLER Handler
,
758 ACPI_ADR_SPACE_SETUP Setup
,
761 ACPI_EXTERNAL_RETURN_STATUS (
763 AcpiRemoveAddressSpaceHandler (
765 ACPI_ADR_SPACE_TYPE SpaceId
,
766 ACPI_ADR_SPACE_HANDLER Handler
))
768 ACPI_EXTERNAL_RETURN_STATUS (
770 AcpiInstallExceptionHandler (
771 ACPI_EXCEPTION_HANDLER Handler
))
773 ACPI_EXTERNAL_RETURN_STATUS (
775 AcpiInstallInterfaceHandler (
776 ACPI_INTERFACE_HANDLER Handler
))
780 * Global Lock interfaces
782 ACPI_HW_DEPENDENT_RETURN_STATUS (
784 AcpiAcquireGlobalLock (
788 ACPI_HW_DEPENDENT_RETURN_STATUS (
790 AcpiReleaseGlobalLock (
795 * Interfaces to AML mutex objects
797 ACPI_EXTERNAL_RETURN_STATUS (
801 ACPI_STRING Pathname
,
804 ACPI_EXTERNAL_RETURN_STATUS (
808 ACPI_STRING Pathname
))
812 * Fixed Event interfaces
814 ACPI_HW_DEPENDENT_RETURN_STATUS (
820 ACPI_HW_DEPENDENT_RETURN_STATUS (
826 ACPI_HW_DEPENDENT_RETURN_STATUS (
831 ACPI_HW_DEPENDENT_RETURN_STATUS (
835 ACPI_EVENT_STATUS
*EventStatus
))
839 * General Purpose Event (GPE) Interfaces
841 ACPI_HW_DEPENDENT_RETURN_STATUS (
846 ACPI_HW_DEPENDENT_RETURN_STATUS (
849 ACPI_HANDLE GpeDevice
,
852 ACPI_HW_DEPENDENT_RETURN_STATUS (
855 ACPI_HANDLE GpeDevice
,
858 ACPI_HW_DEPENDENT_RETURN_STATUS (
861 ACPI_HANDLE GpeDevice
,
864 ACPI_HW_DEPENDENT_RETURN_STATUS (
867 ACPI_HANDLE GpeDevice
,
871 ACPI_HW_DEPENDENT_RETURN_STATUS (
874 ACPI_HANDLE GpeDevice
,
877 ACPI_HW_DEPENDENT_RETURN_STATUS (
880 ACPI_HANDLE GpeDevice
,
883 ACPI_HW_DEPENDENT_RETURN_STATUS (
885 AcpiSetupGpeForWake (
886 ACPI_HANDLE ParentDevice
,
887 ACPI_HANDLE GpeDevice
,
890 ACPI_HW_DEPENDENT_RETURN_STATUS (
893 ACPI_HANDLE GpeDevice
,
897 ACPI_HW_DEPENDENT_RETURN_STATUS (
900 ACPI_HANDLE GpeDevice
,
902 ACPI_EVENT_STATUS
*EventStatus
))
904 ACPI_HW_DEPENDENT_RETURN_STATUS (
909 ACPI_HW_DEPENDENT_RETURN_STATUS (
911 AcpiEnableAllRuntimeGpes (
914 ACPI_HW_DEPENDENT_RETURN_STATUS (
916 AcpiEnableAllWakeupGpes (
919 ACPI_HW_DEPENDENT_RETURN_STATUS (
923 ACPI_HANDLE
*GpeDevice
))
925 ACPI_HW_DEPENDENT_RETURN_STATUS (
927 AcpiInstallGpeBlock (
928 ACPI_HANDLE GpeDevice
,
929 ACPI_GENERIC_ADDRESS
*GpeBlockAddress
,
930 UINT32 RegisterCount
,
931 UINT32 InterruptNumber
))
933 ACPI_HW_DEPENDENT_RETURN_STATUS (
936 ACPI_HANDLE GpeDevice
))
940 * Resource interfaces
943 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK
) (
944 ACPI_RESOURCE
*Resource
,
947 ACPI_EXTERNAL_RETURN_STATUS (
949 AcpiGetVendorResource (
952 ACPI_VENDOR_UUID
*Uuid
,
953 ACPI_BUFFER
*RetBuffer
))
955 ACPI_EXTERNAL_RETURN_STATUS (
957 AcpiGetCurrentResources (
959 ACPI_BUFFER
*RetBuffer
))
961 ACPI_EXTERNAL_RETURN_STATUS (
963 AcpiGetPossibleResources (
965 ACPI_BUFFER
*RetBuffer
))
967 ACPI_EXTERNAL_RETURN_STATUS (
969 AcpiGetEventResources (
970 ACPI_HANDLE DeviceHandle
,
971 ACPI_BUFFER
*RetBuffer
))
973 ACPI_EXTERNAL_RETURN_STATUS (
975 AcpiWalkResourceBuffer (
977 ACPI_WALK_RESOURCE_CALLBACK UserFunction
,
980 ACPI_EXTERNAL_RETURN_STATUS (
985 ACPI_WALK_RESOURCE_CALLBACK UserFunction
,
988 ACPI_EXTERNAL_RETURN_STATUS (
990 AcpiSetCurrentResources (
992 ACPI_BUFFER
*InBuffer
))
994 ACPI_EXTERNAL_RETURN_STATUS (
996 AcpiGetIrqRoutingTable (
998 ACPI_BUFFER
*RetBuffer
))
1000 ACPI_EXTERNAL_RETURN_STATUS (
1002 AcpiResourceToAddress64 (
1003 ACPI_RESOURCE
*Resource
,
1004 ACPI_RESOURCE_ADDRESS64
*Out
))
1006 ACPI_EXTERNAL_RETURN_STATUS (
1008 AcpiBufferToResource (
1010 UINT16 AmlBufferLength
,
1011 ACPI_RESOURCE
**ResourcePtr
))
1015 * Hardware (ACPI device) interfaces
1017 ACPI_EXTERNAL_RETURN_STATUS (
1022 ACPI_EXTERNAL_RETURN_STATUS (
1026 ACPI_GENERIC_ADDRESS
*Reg
))
1028 ACPI_EXTERNAL_RETURN_STATUS (
1032 ACPI_GENERIC_ADDRESS
*Reg
))
1034 ACPI_HW_DEPENDENT_RETURN_STATUS (
1036 AcpiReadBitRegister (
1038 UINT32
*ReturnValue
))
1040 ACPI_HW_DEPENDENT_RETURN_STATUS (
1042 AcpiWriteBitRegister (
1048 * Sleep/Wake interfaces
1050 ACPI_EXTERNAL_RETURN_STATUS (
1052 AcpiGetSleepTypeData (
1057 ACPI_EXTERNAL_RETURN_STATUS (
1059 AcpiEnterSleepStatePrep (
1062 ACPI_EXTERNAL_RETURN_STATUS (
1064 AcpiEnterSleepState (
1067 ACPI_HW_DEPENDENT_RETURN_STATUS (
1069 AcpiEnterSleepStateS4bios (
1072 ACPI_EXTERNAL_RETURN_STATUS (
1074 AcpiLeaveSleepStatePrep (
1077 ACPI_EXTERNAL_RETURN_STATUS (
1079 AcpiLeaveSleepState (
1082 ACPI_HW_DEPENDENT_RETURN_STATUS (
1084 AcpiSetFirmwareWakingVector (
1085 ACPI_PHYSICAL_ADDRESS PhysicalAddress
,
1086 ACPI_PHYSICAL_ADDRESS PhysicalAddress64
))
1090 * ACPI Timer interfaces
1092 ACPI_HW_DEPENDENT_RETURN_STATUS (
1094 AcpiGetTimerResolution (
1095 UINT32
*Resolution
))
1097 ACPI_HW_DEPENDENT_RETURN_STATUS (
1102 ACPI_HW_DEPENDENT_RETURN_STATUS (
1104 AcpiGetTimerDuration (
1107 UINT32
*TimeElapsed
))
1111 * Error/Warning output
1113 ACPI_MSG_DEPENDENT_RETURN_VOID (
1115 void ACPI_INTERNAL_VAR_XFACE
1117 const char *ModuleName
,
1122 ACPI_MSG_DEPENDENT_RETURN_VOID (
1124 void ACPI_INTERNAL_VAR_XFACE
1126 const char *ModuleName
,
1132 ACPI_MSG_DEPENDENT_RETURN_VOID (
1134 void ACPI_INTERNAL_VAR_XFACE
1136 const char *ModuleName
,
1141 ACPI_MSG_DEPENDENT_RETURN_VOID (
1143 void ACPI_INTERNAL_VAR_XFACE
1145 const char *ModuleName
,
1150 ACPI_MSG_DEPENDENT_RETURN_VOID (
1152 void ACPI_INTERNAL_VAR_XFACE
1154 const char *ModuleName
,
1159 ACPI_MSG_DEPENDENT_RETURN_VOID (
1161 void ACPI_INTERNAL_VAR_XFACE
1163 const char *ModuleName
,
1172 ACPI_DBG_DEPENDENT_RETURN_VOID (
1174 void ACPI_INTERNAL_VAR_XFACE
1176 UINT32 RequestedDebugLevel
,
1178 const char *FunctionName
,
1179 const char *ModuleName
,
1184 ACPI_DBG_DEPENDENT_RETURN_VOID (
1186 void ACPI_INTERNAL_VAR_XFACE
1188 UINT32 RequestedDebugLevel
,
1190 const char *FunctionName
,
1191 const char *ModuleName
,
1196 ACPI_DBG_DEPENDENT_RETURN_VOID (
1199 ACPI_TRACE_EVENT_TYPE Type
,
1204 ACPI_APP_DEPENDENT_RETURN_VOID (
1206 void ACPI_INTERNAL_VAR_XFACE
1211 #endif /* __ACXFACE_H__ */