1 /******************************************************************************
3 * Name: acpixf.h - External interfaces to the ACPI subsystem
5 *****************************************************************************/
8 * Copyright (C) 2000 - 2014, 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 0x20140424
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 * Optionally enable output from the AML Debug Object.
167 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableAmlDebugObject, FALSE);
170 * Optionally copy the entire DSDT to local memory (instead of simply
171 * mapping it.) There are some BIOSs that corrupt or replace the original
172 * DSDT, creating the need for this option. Default is FALSE, do not copy
175 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CopyDsdtLocally, FALSE);
178 * Optionally ignore an XSDT if present and use the RSDT instead.
179 * Although the ACPI specification requires that an XSDT be used instead
180 * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
181 * some machines. Default behavior is to use the XSDT if present.
183 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE);
186 * Optionally use 32-bit FADT addresses if and when there is a conflict
187 * (address mismatch) between the 32-bit and 64-bit versions of the
188 * address. Although ACPICA adheres to the ACPI specification which
189 * requires the use of the corresponding 64-bit address if it is non-zero,
190 * some machines have been found to have a corrupted non-zero 64-bit
191 * address. Default is FALSE, do not favor the 32-bit addresses.
193 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFadtAddresses, FALSE);
196 * Optionally truncate I/O addresses to 16 bits. Provides compatibility
197 * with other ACPI implementations. NOTE: During ACPICA initialization,
198 * this value is set to TRUE if any Windows OSI strings have been
199 * requested by the BIOS.
201 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_TruncateIoAddresses, FALSE);
204 * Disable runtime checking and repair of values returned by control methods.
205 * Use only if the repair is causing a problem on a particular machine.
207 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableAutoRepair, FALSE);
210 * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
211 * This can be useful for debugging ACPI problems on some machines.
213 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableSsdtTableInstall, FALSE);
216 * We keep track of the latest version of Windows that has been requested by
217 * the BIOS. ACPI 5.0.
219 ACPI_INIT_GLOBAL (UINT8, AcpiGbl_OsiData, 0);
222 * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
223 * that the ACPI hardware is no longer required. A flag in the FADT indicates
224 * a reduced HW machine, and that flag is duplicated here for convenience.
226 ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ReducedHardware, FALSE);
229 * This mechanism is used to trace a specified AML method. The method is
230 * traced each time it is executed.
232 ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceFlags, 0);
233 ACPI_INIT_GLOBAL (ACPI_NAME, AcpiGbl_TraceMethodName, 0);
236 * Runtime configuration of debug output control masks. We want the debug
237 * switches statically initialized so they are already set when the debugger
240 #ifdef ACPI_DEBUG_OUTPUT
241 ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
243 ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
245 ACPI_INIT_GLOBAL (UINT32, AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
248 * Other miscellaneous globals
250 ACPI_GLOBAL (ACPI_TABLE_FADT, AcpiGbl_FADT);
251 ACPI_GLOBAL (UINT32, AcpiCurrentGpeCount);
252 ACPI_GLOBAL (BOOLEAN, AcpiGbl_SystemAwakeAndRunning);
255 /*****************************************************************************
257 * ACPICA public interface configuration.
259 * Interfaces that are configured out of the ACPICA build are replaced
260 * by inlined stubs by default.
262 ****************************************************************************/
265 * Hardware-reduced prototypes (default: Not hardware reduced).
267 * All ACPICA hardware-related interfaces that use these macros will be
268 * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
271 * Note: This static build option for reduced hardware is intended to
272 * reduce ACPICA code size if desired or necessary. However, even if this
273 * option is not specified, the runtime behavior of ACPICA is dependent
274 * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
275 * the flag will enable similar behavior -- ACPICA will not attempt
276 * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
278 #if (!ACPI_REDUCED_HARDWARE)
279 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
280 ACPI_EXTERNAL_RETURN_STATUS(Prototype)
282 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
283 ACPI_EXTERNAL_RETURN_OK(Prototype)
285 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
286 ACPI_EXTERNAL_RETURN_VOID(Prototype)
289 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
290 static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
292 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
293 static ACPI_INLINE Prototype {return(AE_OK);}
295 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
296 static ACPI_INLINE Prototype {return;}
298 #endif /* !ACPI_REDUCED_HARDWARE */
302 * Error message prototypes (default: error messages enabled).
304 * All interfaces related to error and warning messages
305 * will be configured out of the ACPICA build if the
306 * ACPI_NO_ERROR_MESSAGE flag is defined.
308 #ifndef ACPI_NO_ERROR_MESSAGES
309 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
313 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
314 static ACPI_INLINE Prototype {return;}
316 #endif /* ACPI_NO_ERROR_MESSAGES */
320 * Debugging output prototypes (default: no debug output).
322 * All interfaces related to debug output messages
323 * will be configured out of the ACPICA build unless the
324 * ACPI_DEBUG_OUTPUT flag is defined.
326 #ifdef ACPI_DEBUG_OUTPUT
327 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
331 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
332 static ACPI_INLINE Prototype {return;}
334 #endif /* ACPI_DEBUG_OUTPUT */
337 /*****************************************************************************
339 * ACPICA public interface prototypes
341 ****************************************************************************/
346 ACPI_EXTERNAL_RETURN_STATUS (
348 AcpiInitializeTables (
349 ACPI_TABLE_DESC *InitialStorage,
350 UINT32 InitialTableCount,
351 BOOLEAN AllowResize))
353 ACPI_EXTERNAL_RETURN_STATUS (
355 AcpiInitializeSubsystem (
358 ACPI_EXTERNAL_RETURN_STATUS (
360 AcpiEnableSubsystem (
363 ACPI_EXTERNAL_RETURN_STATUS (
365 AcpiInitializeObjects (
368 ACPI_EXTERNAL_RETURN_STATUS (
375 * Miscellaneous global interfaces
377 ACPI_HW_DEPENDENT_RETURN_STATUS (
382 ACPI_HW_DEPENDENT_RETURN_STATUS (
387 ACPI_EXTERNAL_RETURN_STATUS (
389 AcpiSubsystemStatus (
392 ACPI_EXTERNAL_RETURN_STATUS (
395 ACPI_BUFFER *RetBuffer))
397 ACPI_EXTERNAL_RETURN_STATUS (
400 ACPI_STATISTICS *Stats))
402 ACPI_EXTERNAL_RETURN_PTR (
404 AcpiFormatException (
405 ACPI_STATUS Exception))
407 ACPI_EXTERNAL_RETURN_STATUS (
409 AcpiPurgeCachedObjects (
412 ACPI_EXTERNAL_RETURN_STATUS (
414 AcpiInstallInterface (
415 ACPI_STRING InterfaceName))
417 ACPI_EXTERNAL_RETURN_STATUS (
419 AcpiRemoveInterface (
420 ACPI_STRING InterfaceName))
422 ACPI_EXTERNAL_RETURN_STATUS (
424 AcpiUpdateInterfaces (
427 ACPI_EXTERNAL_RETURN_UINT32 (
429 AcpiCheckAddressRange (
430 ACPI_ADR_SPACE_TYPE SpaceId,
431 ACPI_PHYSICAL_ADDRESS Address,
435 ACPI_EXTERNAL_RETURN_STATUS (
437 AcpiDecodePldBuffer (
440 ACPI_PLD_INFO **ReturnBuffer))
444 * ACPI table load/unload interfaces
446 ACPI_EXTERNAL_RETURN_STATUS (
449 ACPI_PHYSICAL_ADDRESS Address,
452 ACPI_EXTERNAL_RETURN_STATUS (
455 ACPI_TABLE_HEADER *Table))
457 ACPI_EXTERNAL_RETURN_STATUS (
459 AcpiUnloadParentTable (
462 ACPI_EXTERNAL_RETURN_STATUS (
469 * ACPI table manipulation interfaces
471 ACPI_EXTERNAL_RETURN_STATUS (
473 AcpiReallocateRootTable (
476 ACPI_EXTERNAL_RETURN_STATUS (
478 AcpiFindRootPointer (
479 ACPI_SIZE *RsdpAddress))
481 ACPI_EXTERNAL_RETURN_STATUS (
484 ACPI_STRING Signature,
486 ACPI_TABLE_HEADER *OutTableHeader))
488 ACPI_EXTERNAL_RETURN_STATUS (
491 ACPI_STRING Signature,
493 ACPI_TABLE_HEADER **OutTable))
495 ACPI_EXTERNAL_RETURN_STATUS (
497 AcpiGetTableByIndex (
499 ACPI_TABLE_HEADER **OutTable))
501 ACPI_EXTERNAL_RETURN_STATUS (
503 AcpiInstallTableHandler (
504 ACPI_TABLE_HANDLER Handler,
507 ACPI_EXTERNAL_RETURN_STATUS (
509 AcpiRemoveTableHandler (
510 ACPI_TABLE_HANDLER Handler))
514 * Namespace and name interfaces
516 ACPI_EXTERNAL_RETURN_STATUS (
519 ACPI_OBJECT_TYPE Type,
520 ACPI_HANDLE StartObject,
522 ACPI_WALK_CALLBACK DescendingCallback,
523 ACPI_WALK_CALLBACK AscendingCallback,
527 ACPI_EXTERNAL_RETURN_STATUS (
531 ACPI_WALK_CALLBACK UserFunction,
535 ACPI_EXTERNAL_RETURN_STATUS (
540 ACPI_BUFFER *RetPathPtr))
542 ACPI_EXTERNAL_RETURN_STATUS (
546 ACPI_STRING Pathname,
547 ACPI_HANDLE *RetHandle))
549 ACPI_EXTERNAL_RETURN_STATUS (
553 ACPI_OBJECT_HANDLER Handler,
556 ACPI_EXTERNAL_RETURN_STATUS (
560 ACPI_OBJECT_HANDLER Handler))
562 ACPI_EXTERNAL_RETURN_STATUS (
566 ACPI_OBJECT_HANDLER Handler,
569 ACPI_EXTERNAL_RETURN_STATUS (
579 * Object manipulation and enumeration
581 ACPI_EXTERNAL_RETURN_STATUS (
585 ACPI_STRING Pathname,
586 ACPI_OBJECT_LIST *ParameterObjects,
587 ACPI_BUFFER *ReturnObjectBuffer))
589 ACPI_EXTERNAL_RETURN_STATUS (
591 AcpiEvaluateObjectTyped (
593 ACPI_STRING Pathname,
594 ACPI_OBJECT_LIST *ExternalParams,
595 ACPI_BUFFER *ReturnBuffer,
596 ACPI_OBJECT_TYPE ReturnType))
598 ACPI_EXTERNAL_RETURN_STATUS (
602 ACPI_DEVICE_INFO **ReturnBuffer))
604 ACPI_EXTERNAL_RETURN_STATUS (
609 ACPI_EXTERNAL_RETURN_STATUS (
612 ACPI_OBJECT_TYPE Type,
615 ACPI_HANDLE *OutHandle))
617 ACPI_EXTERNAL_RETURN_STATUS (
621 ACPI_OBJECT_TYPE *OutType))
623 ACPI_EXTERNAL_RETURN_STATUS (
627 ACPI_HANDLE *OutHandle))
633 ACPI_EXTERNAL_RETURN_STATUS (
635 AcpiInstallInitializationHandler (
636 ACPI_INIT_HANDLER Handler,
639 ACPI_HW_DEPENDENT_RETURN_STATUS (
641 AcpiInstallSciHandler (
642 ACPI_SCI_HANDLER Address,
645 ACPI_HW_DEPENDENT_RETURN_STATUS (
647 AcpiRemoveSciHandler (
648 ACPI_SCI_HANDLER Address))
650 ACPI_HW_DEPENDENT_RETURN_STATUS (
652 AcpiInstallGlobalEventHandler (
653 ACPI_GBL_EVENT_HANDLER Handler,
656 ACPI_HW_DEPENDENT_RETURN_STATUS (
658 AcpiInstallFixedEventHandler (
660 ACPI_EVENT_HANDLER Handler,
663 ACPI_HW_DEPENDENT_RETURN_STATUS (
665 AcpiRemoveFixedEventHandler (
667 ACPI_EVENT_HANDLER Handler))
669 ACPI_HW_DEPENDENT_RETURN_STATUS (
671 AcpiInstallGpeHandler (
672 ACPI_HANDLE GpeDevice,
675 ACPI_GPE_HANDLER Address,
678 ACPI_HW_DEPENDENT_RETURN_STATUS (
680 AcpiRemoveGpeHandler (
681 ACPI_HANDLE GpeDevice,
683 ACPI_GPE_HANDLER Address))
685 ACPI_EXTERNAL_RETURN_STATUS (
687 AcpiInstallNotifyHandler (
690 ACPI_NOTIFY_HANDLER Handler,
693 ACPI_EXTERNAL_RETURN_STATUS (
695 AcpiRemoveNotifyHandler (
698 ACPI_NOTIFY_HANDLER Handler))
700 ACPI_EXTERNAL_RETURN_STATUS (
702 AcpiInstallAddressSpaceHandler (
704 ACPI_ADR_SPACE_TYPE SpaceId,
705 ACPI_ADR_SPACE_HANDLER Handler,
706 ACPI_ADR_SPACE_SETUP Setup,
709 ACPI_EXTERNAL_RETURN_STATUS (
711 AcpiRemoveAddressSpaceHandler (
713 ACPI_ADR_SPACE_TYPE SpaceId,
714 ACPI_ADR_SPACE_HANDLER Handler))
716 ACPI_EXTERNAL_RETURN_STATUS (
718 AcpiInstallExceptionHandler (
719 ACPI_EXCEPTION_HANDLER Handler))
721 ACPI_EXTERNAL_RETURN_STATUS (
723 AcpiInstallInterfaceHandler (
724 ACPI_INTERFACE_HANDLER Handler))
728 * Global Lock interfaces
730 ACPI_HW_DEPENDENT_RETURN_STATUS (
732 AcpiAcquireGlobalLock (
736 ACPI_HW_DEPENDENT_RETURN_STATUS (
738 AcpiReleaseGlobalLock (
743 * Interfaces to AML mutex objects
745 ACPI_EXTERNAL_RETURN_STATUS (
749 ACPI_STRING Pathname,
752 ACPI_EXTERNAL_RETURN_STATUS (
756 ACPI_STRING Pathname))
760 * Fixed Event interfaces
762 ACPI_HW_DEPENDENT_RETURN_STATUS (
768 ACPI_HW_DEPENDENT_RETURN_STATUS (
774 ACPI_HW_DEPENDENT_RETURN_STATUS (
779 ACPI_HW_DEPENDENT_RETURN_STATUS (
783 ACPI_EVENT_STATUS *EventStatus))
787 * General Purpose Event (GPE) Interfaces
789 ACPI_HW_DEPENDENT_RETURN_STATUS (
794 ACPI_HW_DEPENDENT_RETURN_STATUS (
797 ACPI_HANDLE GpeDevice,
800 ACPI_HW_DEPENDENT_RETURN_STATUS (
803 ACPI_HANDLE GpeDevice,
806 ACPI_HW_DEPENDENT_RETURN_STATUS (
809 ACPI_HANDLE GpeDevice,
812 ACPI_HW_DEPENDENT_RETURN_STATUS (
815 ACPI_HANDLE GpeDevice,
819 ACPI_HW_DEPENDENT_RETURN_STATUS (
822 ACPI_HANDLE GpeDevice,
825 ACPI_HW_DEPENDENT_RETURN_STATUS (
827 AcpiSetupGpeForWake (
828 ACPI_HANDLE ParentDevice,
829 ACPI_HANDLE GpeDevice,
832 ACPI_HW_DEPENDENT_RETURN_STATUS (
835 ACPI_HANDLE GpeDevice,
839 ACPI_HW_DEPENDENT_RETURN_STATUS (
842 ACPI_HANDLE GpeDevice,
844 ACPI_EVENT_STATUS *EventStatus))
846 ACPI_HW_DEPENDENT_RETURN_STATUS (
851 ACPI_HW_DEPENDENT_RETURN_STATUS (
853 AcpiEnableAllRuntimeGpes (
856 ACPI_HW_DEPENDENT_RETURN_STATUS (
860 ACPI_HANDLE *GpeDevice))
862 ACPI_HW_DEPENDENT_RETURN_STATUS (
864 AcpiInstallGpeBlock (
865 ACPI_HANDLE GpeDevice,
866 ACPI_GENERIC_ADDRESS *GpeBlockAddress,
867 UINT32 RegisterCount,
868 UINT32 InterruptNumber))
870 ACPI_HW_DEPENDENT_RETURN_STATUS (
873 ACPI_HANDLE GpeDevice))
877 * Resource interfaces
880 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
881 ACPI_RESOURCE *Resource,
884 ACPI_EXTERNAL_RETURN_STATUS (
886 AcpiGetVendorResource (
889 ACPI_VENDOR_UUID *Uuid,
890 ACPI_BUFFER *RetBuffer))
892 ACPI_EXTERNAL_RETURN_STATUS (
894 AcpiGetCurrentResources (
896 ACPI_BUFFER *RetBuffer))
898 ACPI_EXTERNAL_RETURN_STATUS (
900 AcpiGetPossibleResources (
902 ACPI_BUFFER *RetBuffer))
904 ACPI_EXTERNAL_RETURN_STATUS (
906 AcpiGetEventResources (
907 ACPI_HANDLE DeviceHandle,
908 ACPI_BUFFER *RetBuffer))
910 ACPI_EXTERNAL_RETURN_STATUS (
912 AcpiWalkResourceBuffer (
914 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
917 ACPI_EXTERNAL_RETURN_STATUS (
922 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
925 ACPI_EXTERNAL_RETURN_STATUS (
927 AcpiSetCurrentResources (
929 ACPI_BUFFER *InBuffer))
931 ACPI_EXTERNAL_RETURN_STATUS (
933 AcpiGetIrqRoutingTable (
935 ACPI_BUFFER *RetBuffer))
937 ACPI_EXTERNAL_RETURN_STATUS (
939 AcpiResourceToAddress64 (
940 ACPI_RESOURCE *Resource,
941 ACPI_RESOURCE_ADDRESS64 *Out))
943 ACPI_EXTERNAL_RETURN_STATUS (
945 AcpiBufferToResource (
947 UINT16 AmlBufferLength,
948 ACPI_RESOURCE **ResourcePtr))
952 * Hardware (ACPI device) interfaces
954 ACPI_EXTERNAL_RETURN_STATUS (
959 ACPI_EXTERNAL_RETURN_STATUS (
963 ACPI_GENERIC_ADDRESS *Reg))
965 ACPI_EXTERNAL_RETURN_STATUS (
969 ACPI_GENERIC_ADDRESS *Reg))
971 ACPI_HW_DEPENDENT_RETURN_STATUS (
973 AcpiReadBitRegister (
975 UINT32 *ReturnValue))
977 ACPI_HW_DEPENDENT_RETURN_STATUS (
979 AcpiWriteBitRegister (
985 * Sleep/Wake interfaces
987 ACPI_EXTERNAL_RETURN_STATUS (
989 AcpiGetSleepTypeData (
994 ACPI_EXTERNAL_RETURN_STATUS (
996 AcpiEnterSleepStatePrep (
999 ACPI_EXTERNAL_RETURN_STATUS (
1001 AcpiEnterSleepState (
1004 ACPI_HW_DEPENDENT_RETURN_STATUS (
1006 AcpiEnterSleepStateS4bios (
1009 ACPI_EXTERNAL_RETURN_STATUS (
1011 AcpiLeaveSleepStatePrep (
1014 ACPI_EXTERNAL_RETURN_STATUS (
1016 AcpiLeaveSleepState (
1019 ACPI_HW_DEPENDENT_RETURN_STATUS (
1021 AcpiSetFirmwareWakingVector (
1022 UINT32 PhysicalAddress))
1024 #if ACPI_MACHINE_WIDTH == 64
1025 ACPI_HW_DEPENDENT_RETURN_STATUS (
1027 AcpiSetFirmwareWakingVector64 (
1028 UINT64 PhysicalAddress))
1033 * ACPI Timer interfaces
1035 ACPI_HW_DEPENDENT_RETURN_STATUS (
1037 AcpiGetTimerResolution (
1038 UINT32 *Resolution))
1040 ACPI_HW_DEPENDENT_RETURN_STATUS (
1045 ACPI_HW_DEPENDENT_RETURN_STATUS (
1047 AcpiGetTimerDuration (
1050 UINT32 *TimeElapsed))
1054 * Error/Warning output
1056 ACPI_MSG_DEPENDENT_RETURN_VOID (
1058 void ACPI_INTERNAL_VAR_XFACE
1060 const char *ModuleName,
1065 ACPI_MSG_DEPENDENT_RETURN_VOID (
1067 void ACPI_INTERNAL_VAR_XFACE
1069 const char *ModuleName,
1075 ACPI_MSG_DEPENDENT_RETURN_VOID (
1077 void ACPI_INTERNAL_VAR_XFACE
1079 const char *ModuleName,
1084 ACPI_MSG_DEPENDENT_RETURN_VOID (
1086 void ACPI_INTERNAL_VAR_XFACE
1088 const char *ModuleName,
1093 ACPI_MSG_DEPENDENT_RETURN_VOID (
1095 void ACPI_INTERNAL_VAR_XFACE
1097 const char *ModuleName,
1102 ACPI_MSG_DEPENDENT_RETURN_VOID (
1104 void ACPI_INTERNAL_VAR_XFACE
1106 const char *ModuleName,
1115 ACPI_DBG_DEPENDENT_RETURN_VOID (
1117 void ACPI_INTERNAL_VAR_XFACE
1119 UINT32 RequestedDebugLevel,
1121 const char *FunctionName,
1122 const char *ModuleName,
1127 ACPI_DBG_DEPENDENT_RETURN_VOID (
1129 void ACPI_INTERNAL_VAR_XFACE
1131 UINT32 RequestedDebugLevel,
1133 const char *FunctionName,
1134 const char *ModuleName,
1139 #endif /* __ACXFACE_H__ */