1 /******************************************************************************
3 * Name: acpixf.h - External interfaces to the ACPI subsystem
5 *****************************************************************************/
7 /******************************************************************************
11 * Some or all of this work - Copyright (c) 1999 - 2014, Intel Corp.
12 * All rights reserved.
16 * 2.1. This is your license from Intel Corp. under its intellectual property
17 * rights. You may have additional license terms from the party that provided
18 * you this software, covering your right to use that party's intellectual
21 * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
22 * copy of the source code appearing in this file ("Covered Code") an
23 * irrevocable, perpetual, worldwide license under Intel's copyrights in the
24 * base code distributed originally by Intel ("Original Intel Code") to copy,
25 * make derivatives, distribute, use and display any portion of the Covered
26 * Code in any form, with the right to sublicense such rights; and
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
29 * license (with the right to sublicense), under only those claims of Intel
30 * patents that are infringed by the Original Intel Code, to make, use, sell,
31 * offer to sell, and import the Covered Code and derivative works thereof
32 * solely to the minimum extent necessary to exercise the above copyright
33 * license, and in no event shall the patent license extend to any additions
34 * to or modifications of the Original Intel Code. No other license or right
35 * is granted directly or by implication, estoppel or otherwise;
37 * The above copyright and patent license is granted only if the following
42 * 3.1. Redistribution of Source with Rights to Further Distribute Source.
43 * Redistribution of source code of any substantial portion of the Covered
44 * Code or modification with rights to further distribute source must include
45 * the above Copyright Notice, the above License, this list of Conditions,
46 * and the following Disclaimer and Export Compliance provision. In addition,
47 * Licensee must cause all Covered Code to which Licensee contributes to
48 * contain a file documenting the changes Licensee made to create that Covered
49 * Code and the date of any change. Licensee must include in that file the
50 * documentation of any changes made by any predecessor Licensee. Licensee
51 * must include a prominent statement that the modification is derived,
52 * directly or indirectly, from Original Intel Code.
54 * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
55 * Redistribution of source code of any substantial portion of the Covered
56 * Code or modification without rights to further distribute source must
57 * include the following Disclaimer and Export Compliance provision in the
58 * documentation and/or other materials provided with distribution. In
59 * addition, Licensee may not authorize further sublicense of source of any
60 * portion of the Covered Code, and must include terms to the effect that the
61 * license from Licensee to its licensee is limited to the intellectual
62 * property embodied in the software Licensee provides to its licensee, and
63 * not to intellectual property embodied in modifications its licensee may
66 * 3.3. Redistribution of Executable. Redistribution in executable form of any
67 * substantial portion of the Covered Code or modification must reproduce the
68 * above Copyright Notice, and the following Disclaimer and Export Compliance
69 * provision in the documentation and/or other materials provided with the
72 * 3.4. Intel retains all right, title, and interest in and to the Original
75 * 3.5. Neither the name Intel nor any other trademark owned or controlled by
76 * Intel shall be used in advertising or otherwise to promote the sale, use or
77 * other dealings in products derived from or relating to the Covered Code
78 * without prior written authorization from Intel.
80 * 4. Disclaimer and Export Compliance
82 * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
83 * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
84 * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
85 * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
86 * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
87 * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
90 * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
91 * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
92 * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
93 * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
94 * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
95 * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
96 * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
99 * 4.3. Licensee shall not export, either directly or indirectly, any of this
100 * software or system incorporating such software without first obtaining any
101 * required license or other approval from the U. S. Department of Commerce or
102 * any other agency or department of the United States Government. In the
103 * event Licensee exports any such software from the United States or
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
106 * compliance with all laws, regulations, orders, or other restrictions of the
107 * U.S. Export Administration Regulations. Licensee agrees that neither it nor
108 * any of its subsidiaries will export/re-export any technical data, process,
109 * software, or service, directly or indirectly, to any country for which the
110 * United States government or any agency thereof requires an export license,
111 * other governmental approval, or letter of assurance, without first obtaining
112 * such license, approval or letter.
114 *****************************************************************************/
116 #ifndef __ACXFACE_H__
117 #define __ACXFACE_H__
119 /* Current ACPICA subsystem version in YYYYMMDD format */
121 #define ACPI_CA_VERSION 0x20140724
123 #include "acconfig.h"
126 #include "acbuffer.h"
129 /*****************************************************************************
131 * Macros used for ACPICA globals and configuration
133 ****************************************************************************/
136 * Ensure that global variables are defined and initialized only once.
138 * The use of these macros allows for a single list of globals (here)
139 * in order to simplify maintenance of the code.
141 #ifdef DEFINE_ACPI_GLOBALS
142 #define ACPI_GLOBAL(type,name) \
146 #define ACPI_INIT_GLOBAL(type,name,value) \
151 #define ACPI_GLOBAL(type,name) \
155 #ifndef ACPI_INIT_GLOBAL
156 #define ACPI_INIT_GLOBAL(type,name,value) \
162 * These macros configure the various ACPICA interfaces. They are
163 * useful for generating stub inline functions for features that are
164 * configured out of the current kernel or ACPICA application.
166 #ifndef ACPI_EXTERNAL_RETURN_STATUS
167 #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
171 #ifndef ACPI_EXTERNAL_RETURN_OK
172 #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
176 #ifndef ACPI_EXTERNAL_RETURN_VOID
177 #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
181 #ifndef ACPI_EXTERNAL_RETURN_UINT32
182 #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
186 #ifndef ACPI_EXTERNAL_RETURN_PTR
187 #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
192 /*****************************************************************************
194 * Public globals and runtime configuration options
196 ****************************************************************************/
199 * Enable "slack mode" of the AML interpreter? Default is FALSE, and the
200 * interpreter strictly follows the ACPI specification. Setting to TRUE
201 * allows the interpreter to ignore certain errors and/or bad AML constructs.
203 * Currently, these features are enabled by this flag:
205 * 1) Allow "implicit return" of last value in a control method
206 * 2) Allow access beyond the end of an operation region
207 * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
208 * 4) Allow ANY object type to be a source operand for the Store() operator
209 * 5) Allow unresolved references (invalid target name) in package objects
210 * 6) Enable warning messages for behavior that is not ACPI spec compliant
212 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_EnableInterpreterSlack
, FALSE
);
215 * Automatically serialize all methods that create named objects? Default
216 * is TRUE, meaning that all NonSerialized methods are scanned once at
217 * table load time to determine those that create named objects. Methods
218 * that create named objects are marked Serialized in order to prevent
219 * possible run-time problems if they are entered by more than one thread.
221 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_AutoSerializeMethods
, TRUE
);
224 * Create the predefined _OSI method in the namespace? Default is TRUE
225 * because ACPICA is fully compatible with other ACPI implementations.
226 * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
228 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_CreateOsiMethod
, TRUE
);
231 * Optionally use default values for the ACPI register widths. Set this to
232 * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
234 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_UseDefaultRegisterWidths
, TRUE
);
237 * Whether or not to verify the table checksum before installation. Set
238 * this to TRUE to verify the table checksum before install it to the table
239 * manager. Note that enabling this option causes errors to happen in some
240 * OSPMs during early initialization stages. Default behavior is to do such
243 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_VerifyTableChecksum
, TRUE
);
246 * Optionally enable output from the AML Debug Object.
248 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_EnableAmlDebugObject
, FALSE
);
251 * Optionally copy the entire DSDT to local memory (instead of simply
252 * mapping it.) There are some BIOSs that corrupt or replace the original
253 * DSDT, creating the need for this option. Default is FALSE, do not copy
256 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_CopyDsdtLocally
, FALSE
);
259 * Optionally ignore an XSDT if present and use the RSDT instead.
260 * Although the ACPI specification requires that an XSDT be used instead
261 * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
262 * some machines. Default behavior is to use the XSDT if present.
264 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_DoNotUseXsdt
, FALSE
);
267 * Optionally use 32-bit FADT addresses if and when there is a conflict
268 * (address mismatch) between the 32-bit and 64-bit versions of the
269 * address. Although ACPICA adheres to the ACPI specification which
270 * requires the use of the corresponding 64-bit address if it is non-zero,
271 * some machines have been found to have a corrupted non-zero 64-bit
272 * address. Default is FALSE, do not favor the 32-bit addresses.
274 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_Use32BitFadtAddresses
, FALSE
);
277 * Optionally truncate I/O addresses to 16 bits. Provides compatibility
278 * with other ACPI implementations. NOTE: During ACPICA initialization,
279 * this value is set to TRUE if any Windows OSI strings have been
280 * requested by the BIOS.
282 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_TruncateIoAddresses
, FALSE
);
285 * Disable runtime checking and repair of values returned by control methods.
286 * Use only if the repair is causing a problem on a particular machine.
288 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_DisableAutoRepair
, FALSE
);
291 * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
292 * This can be useful for debugging ACPI problems on some machines.
294 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_DisableSsdtTableInstall
, FALSE
);
297 * We keep track of the latest version of Windows that has been requested by
298 * the BIOS. ACPI 5.0.
300 ACPI_INIT_GLOBAL (UINT8
, AcpiGbl_OsiData
, 0);
303 * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
304 * that the ACPI hardware is no longer required. A flag in the FADT indicates
305 * a reduced HW machine, and that flag is duplicated here for convenience.
307 ACPI_INIT_GLOBAL (BOOLEAN
, AcpiGbl_ReducedHardware
, FALSE
);
310 * This mechanism is used to trace a specified AML method. The method is
311 * traced each time it is executed.
313 ACPI_INIT_GLOBAL (UINT32
, AcpiGbl_TraceFlags
, 0);
314 ACPI_INIT_GLOBAL (ACPI_NAME
, AcpiGbl_TraceMethodName
, 0);
317 * Runtime configuration of debug output control masks. We want the debug
318 * switches statically initialized so they are already set when the debugger
321 #ifdef ACPI_DEBUG_OUTPUT
322 ACPI_INIT_GLOBAL (UINT32
, AcpiDbgLevel
, ACPI_DEBUG_DEFAULT
);
324 ACPI_INIT_GLOBAL (UINT32
, AcpiDbgLevel
, ACPI_NORMAL_DEFAULT
);
326 ACPI_INIT_GLOBAL (UINT32
, AcpiDbgLayer
, ACPI_COMPONENT_DEFAULT
);
329 * Other miscellaneous globals
331 ACPI_GLOBAL (ACPI_TABLE_FADT
, AcpiGbl_FADT
);
332 ACPI_GLOBAL (UINT32
, AcpiCurrentGpeCount
);
333 ACPI_GLOBAL (BOOLEAN
, AcpiGbl_SystemAwakeAndRunning
);
336 /*****************************************************************************
338 * ACPICA public interface configuration.
340 * Interfaces that are configured out of the ACPICA build are replaced
341 * by inlined stubs by default.
343 ****************************************************************************/
346 * Hardware-reduced prototypes (default: Not hardware reduced).
348 * All ACPICA hardware-related interfaces that use these macros will be
349 * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
352 * Note: This static build option for reduced hardware is intended to
353 * reduce ACPICA code size if desired or necessary. However, even if this
354 * option is not specified, the runtime behavior of ACPICA is dependent
355 * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
356 * the flag will enable similar behavior -- ACPICA will not attempt
357 * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
359 #if (!ACPI_REDUCED_HARDWARE)
360 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
361 ACPI_EXTERNAL_RETURN_STATUS(Prototype)
363 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
364 ACPI_EXTERNAL_RETURN_OK(Prototype)
366 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
367 ACPI_EXTERNAL_RETURN_VOID(Prototype)
370 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
371 static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
373 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
374 static ACPI_INLINE Prototype {return(AE_OK);}
376 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
377 static ACPI_INLINE Prototype {return;}
379 #endif /* !ACPI_REDUCED_HARDWARE */
383 * Error message prototypes (default: error messages enabled).
385 * All interfaces related to error and warning messages
386 * will be configured out of the ACPICA build if the
387 * ACPI_NO_ERROR_MESSAGE flag is defined.
389 #ifndef ACPI_NO_ERROR_MESSAGES
390 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
394 #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
395 static ACPI_INLINE Prototype {return;}
397 #endif /* ACPI_NO_ERROR_MESSAGES */
401 * Debugging output prototypes (default: no debug output).
403 * All interfaces related to debug output messages
404 * will be configured out of the ACPICA build unless the
405 * ACPI_DEBUG_OUTPUT flag is defined.
407 #ifdef ACPI_DEBUG_OUTPUT
408 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
412 #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
413 static ACPI_INLINE Prototype {return;}
415 #endif /* ACPI_DEBUG_OUTPUT */
419 * Application prototypes
421 * All interfaces used by application will be configured
422 * out of the ACPICA build unless the ACPI_APPLICATION
425 #ifdef ACPI_APPLICATION
426 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
430 #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
431 static ACPI_INLINE Prototype {return;}
433 #endif /* ACPI_APPLICATION */
436 /*****************************************************************************
438 * ACPICA public interface prototypes
440 ****************************************************************************/
445 ACPI_EXTERNAL_RETURN_STATUS (
447 AcpiInitializeTables (
448 ACPI_TABLE_DESC
*InitialStorage
,
449 UINT32 InitialTableCount
,
450 BOOLEAN AllowResize
))
452 ACPI_EXTERNAL_RETURN_STATUS (
454 AcpiInitializeSubsystem (
457 ACPI_EXTERNAL_RETURN_STATUS (
459 AcpiEnableSubsystem (
462 ACPI_EXTERNAL_RETURN_STATUS (
464 AcpiInitializeObjects (
467 ACPI_EXTERNAL_RETURN_STATUS (
474 * Miscellaneous global interfaces
476 ACPI_HW_DEPENDENT_RETURN_STATUS (
481 ACPI_HW_DEPENDENT_RETURN_STATUS (
486 ACPI_EXTERNAL_RETURN_STATUS (
488 AcpiSubsystemStatus (
491 ACPI_EXTERNAL_RETURN_STATUS (
494 ACPI_BUFFER
*RetBuffer
))
496 ACPI_EXTERNAL_RETURN_STATUS (
499 ACPI_STATISTICS
*Stats
))
501 ACPI_EXTERNAL_RETURN_PTR (
503 AcpiFormatException (
504 ACPI_STATUS Exception
))
506 ACPI_EXTERNAL_RETURN_STATUS (
508 AcpiPurgeCachedObjects (
511 ACPI_EXTERNAL_RETURN_STATUS (
513 AcpiInstallInterface (
514 ACPI_STRING InterfaceName
))
516 ACPI_EXTERNAL_RETURN_STATUS (
518 AcpiRemoveInterface (
519 ACPI_STRING InterfaceName
))
521 ACPI_EXTERNAL_RETURN_STATUS (
523 AcpiUpdateInterfaces (
526 ACPI_EXTERNAL_RETURN_UINT32 (
528 AcpiCheckAddressRange (
529 ACPI_ADR_SPACE_TYPE SpaceId
,
530 ACPI_PHYSICAL_ADDRESS Address
,
534 ACPI_EXTERNAL_RETURN_STATUS (
536 AcpiDecodePldBuffer (
539 ACPI_PLD_INFO
**ReturnBuffer
))
543 * ACPI table load/unload interfaces
545 ACPI_EXTERNAL_RETURN_STATUS (
548 ACPI_PHYSICAL_ADDRESS Address
,
551 ACPI_EXTERNAL_RETURN_STATUS (
554 ACPI_TABLE_HEADER
*Table
))
556 ACPI_EXTERNAL_RETURN_STATUS (
558 AcpiUnloadParentTable (
561 ACPI_EXTERNAL_RETURN_STATUS (
568 * ACPI table manipulation interfaces
570 ACPI_EXTERNAL_RETURN_STATUS (
572 AcpiReallocateRootTable (
575 ACPI_EXTERNAL_RETURN_STATUS (
577 AcpiFindRootPointer (
578 ACPI_SIZE
*RsdpAddress
))
580 ACPI_EXTERNAL_RETURN_STATUS (
583 ACPI_STRING Signature
,
585 ACPI_TABLE_HEADER
*OutTableHeader
))
587 ACPI_EXTERNAL_RETURN_STATUS (
590 ACPI_STRING Signature
,
592 ACPI_TABLE_HEADER
**OutTable
))
594 ACPI_EXTERNAL_RETURN_STATUS (
596 AcpiGetTableByIndex (
598 ACPI_TABLE_HEADER
**OutTable
))
600 ACPI_EXTERNAL_RETURN_STATUS (
602 AcpiInstallTableHandler (
603 ACPI_TABLE_HANDLER Handler
,
606 ACPI_EXTERNAL_RETURN_STATUS (
608 AcpiRemoveTableHandler (
609 ACPI_TABLE_HANDLER Handler
))
613 * Namespace and name interfaces
615 ACPI_EXTERNAL_RETURN_STATUS (
618 ACPI_OBJECT_TYPE Type
,
619 ACPI_HANDLE StartObject
,
621 ACPI_WALK_CALLBACK DescendingCallback
,
622 ACPI_WALK_CALLBACK AscendingCallback
,
626 ACPI_EXTERNAL_RETURN_STATUS (
630 ACPI_WALK_CALLBACK UserFunction
,
634 ACPI_EXTERNAL_RETURN_STATUS (
639 ACPI_BUFFER
*RetPathPtr
))
641 ACPI_EXTERNAL_RETURN_STATUS (
645 ACPI_STRING Pathname
,
646 ACPI_HANDLE
*RetHandle
))
648 ACPI_EXTERNAL_RETURN_STATUS (
652 ACPI_OBJECT_HANDLER Handler
,
655 ACPI_EXTERNAL_RETURN_STATUS (
659 ACPI_OBJECT_HANDLER Handler
))
661 ACPI_EXTERNAL_RETURN_STATUS (
665 ACPI_OBJECT_HANDLER Handler
,
668 ACPI_EXTERNAL_RETURN_STATUS (
678 * Object manipulation and enumeration
680 ACPI_EXTERNAL_RETURN_STATUS (
684 ACPI_STRING Pathname
,
685 ACPI_OBJECT_LIST
*ParameterObjects
,
686 ACPI_BUFFER
*ReturnObjectBuffer
))
688 ACPI_EXTERNAL_RETURN_STATUS (
690 AcpiEvaluateObjectTyped (
692 ACPI_STRING Pathname
,
693 ACPI_OBJECT_LIST
*ExternalParams
,
694 ACPI_BUFFER
*ReturnBuffer
,
695 ACPI_OBJECT_TYPE ReturnType
))
697 ACPI_EXTERNAL_RETURN_STATUS (
701 ACPI_DEVICE_INFO
**ReturnBuffer
))
703 ACPI_EXTERNAL_RETURN_STATUS (
708 ACPI_EXTERNAL_RETURN_STATUS (
711 ACPI_OBJECT_TYPE Type
,
714 ACPI_HANDLE
*OutHandle
))
716 ACPI_EXTERNAL_RETURN_STATUS (
720 ACPI_OBJECT_TYPE
*OutType
))
722 ACPI_EXTERNAL_RETURN_STATUS (
726 ACPI_HANDLE
*OutHandle
))
732 ACPI_EXTERNAL_RETURN_STATUS (
734 AcpiInstallInitializationHandler (
735 ACPI_INIT_HANDLER Handler
,
738 ACPI_HW_DEPENDENT_RETURN_STATUS (
740 AcpiInstallSciHandler (
741 ACPI_SCI_HANDLER Address
,
744 ACPI_HW_DEPENDENT_RETURN_STATUS (
746 AcpiRemoveSciHandler (
747 ACPI_SCI_HANDLER Address
))
749 ACPI_HW_DEPENDENT_RETURN_STATUS (
751 AcpiInstallGlobalEventHandler (
752 ACPI_GBL_EVENT_HANDLER Handler
,
755 ACPI_HW_DEPENDENT_RETURN_STATUS (
757 AcpiInstallFixedEventHandler (
759 ACPI_EVENT_HANDLER Handler
,
762 ACPI_HW_DEPENDENT_RETURN_STATUS (
764 AcpiRemoveFixedEventHandler (
766 ACPI_EVENT_HANDLER Handler
))
768 ACPI_HW_DEPENDENT_RETURN_STATUS (
770 AcpiInstallGpeHandler (
771 ACPI_HANDLE GpeDevice
,
774 ACPI_GPE_HANDLER Address
,
777 ACPI_HW_DEPENDENT_RETURN_STATUS (
779 AcpiRemoveGpeHandler (
780 ACPI_HANDLE GpeDevice
,
782 ACPI_GPE_HANDLER Address
))
784 ACPI_EXTERNAL_RETURN_STATUS (
786 AcpiInstallNotifyHandler (
789 ACPI_NOTIFY_HANDLER Handler
,
792 ACPI_EXTERNAL_RETURN_STATUS (
794 AcpiRemoveNotifyHandler (
797 ACPI_NOTIFY_HANDLER Handler
))
799 ACPI_EXTERNAL_RETURN_STATUS (
801 AcpiInstallAddressSpaceHandler (
803 ACPI_ADR_SPACE_TYPE SpaceId
,
804 ACPI_ADR_SPACE_HANDLER Handler
,
805 ACPI_ADR_SPACE_SETUP Setup
,
808 ACPI_EXTERNAL_RETURN_STATUS (
810 AcpiRemoveAddressSpaceHandler (
812 ACPI_ADR_SPACE_TYPE SpaceId
,
813 ACPI_ADR_SPACE_HANDLER Handler
))
815 ACPI_EXTERNAL_RETURN_STATUS (
817 AcpiInstallExceptionHandler (
818 ACPI_EXCEPTION_HANDLER Handler
))
820 ACPI_EXTERNAL_RETURN_STATUS (
822 AcpiInstallInterfaceHandler (
823 ACPI_INTERFACE_HANDLER Handler
))
827 * Global Lock interfaces
829 ACPI_HW_DEPENDENT_RETURN_STATUS (
831 AcpiAcquireGlobalLock (
835 ACPI_HW_DEPENDENT_RETURN_STATUS (
837 AcpiReleaseGlobalLock (
842 * Interfaces to AML mutex objects
844 ACPI_EXTERNAL_RETURN_STATUS (
848 ACPI_STRING Pathname
,
851 ACPI_EXTERNAL_RETURN_STATUS (
855 ACPI_STRING Pathname
))
859 * Fixed Event interfaces
861 ACPI_HW_DEPENDENT_RETURN_STATUS (
867 ACPI_HW_DEPENDENT_RETURN_STATUS (
873 ACPI_HW_DEPENDENT_RETURN_STATUS (
878 ACPI_HW_DEPENDENT_RETURN_STATUS (
882 ACPI_EVENT_STATUS
*EventStatus
))
886 * General Purpose Event (GPE) Interfaces
888 ACPI_HW_DEPENDENT_RETURN_STATUS (
893 ACPI_HW_DEPENDENT_RETURN_STATUS (
896 ACPI_HANDLE GpeDevice
,
899 ACPI_HW_DEPENDENT_RETURN_STATUS (
902 ACPI_HANDLE GpeDevice
,
905 ACPI_HW_DEPENDENT_RETURN_STATUS (
908 ACPI_HANDLE GpeDevice
,
911 ACPI_HW_DEPENDENT_RETURN_STATUS (
914 ACPI_HANDLE GpeDevice
,
918 ACPI_HW_DEPENDENT_RETURN_STATUS (
921 ACPI_HANDLE GpeDevice
,
924 ACPI_HW_DEPENDENT_RETURN_STATUS (
927 ACPI_HANDLE GpeDevice
,
930 ACPI_HW_DEPENDENT_RETURN_STATUS (
932 AcpiSetupGpeForWake (
933 ACPI_HANDLE ParentDevice
,
934 ACPI_HANDLE GpeDevice
,
937 ACPI_HW_DEPENDENT_RETURN_STATUS (
940 ACPI_HANDLE GpeDevice
,
944 ACPI_HW_DEPENDENT_RETURN_STATUS (
947 ACPI_HANDLE GpeDevice
,
949 ACPI_EVENT_STATUS
*EventStatus
))
951 ACPI_HW_DEPENDENT_RETURN_STATUS (
956 ACPI_HW_DEPENDENT_RETURN_STATUS (
958 AcpiEnableAllRuntimeGpes (
961 ACPI_HW_DEPENDENT_RETURN_STATUS (
965 ACPI_HANDLE
*GpeDevice
))
967 ACPI_HW_DEPENDENT_RETURN_STATUS (
969 AcpiInstallGpeBlock (
970 ACPI_HANDLE GpeDevice
,
971 ACPI_GENERIC_ADDRESS
*GpeBlockAddress
,
972 UINT32 RegisterCount
,
973 UINT32 InterruptNumber
))
975 ACPI_HW_DEPENDENT_RETURN_STATUS (
978 ACPI_HANDLE GpeDevice
))
982 * Resource interfaces
985 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK
) (
986 ACPI_RESOURCE
*Resource
,
989 ACPI_EXTERNAL_RETURN_STATUS (
991 AcpiGetVendorResource (
994 ACPI_VENDOR_UUID
*Uuid
,
995 ACPI_BUFFER
*RetBuffer
))
997 ACPI_EXTERNAL_RETURN_STATUS (
999 AcpiGetCurrentResources (
1001 ACPI_BUFFER
*RetBuffer
))
1003 ACPI_EXTERNAL_RETURN_STATUS (
1005 AcpiGetPossibleResources (
1007 ACPI_BUFFER
*RetBuffer
))
1009 ACPI_EXTERNAL_RETURN_STATUS (
1011 AcpiGetEventResources (
1012 ACPI_HANDLE DeviceHandle
,
1013 ACPI_BUFFER
*RetBuffer
))
1015 ACPI_EXTERNAL_RETURN_STATUS (
1017 AcpiWalkResourceBuffer (
1018 ACPI_BUFFER
*Buffer
,
1019 ACPI_WALK_RESOURCE_CALLBACK UserFunction
,
1022 ACPI_EXTERNAL_RETURN_STATUS (
1027 ACPI_WALK_RESOURCE_CALLBACK UserFunction
,
1030 ACPI_EXTERNAL_RETURN_STATUS (
1032 AcpiSetCurrentResources (
1034 ACPI_BUFFER
*InBuffer
))
1036 ACPI_EXTERNAL_RETURN_STATUS (
1038 AcpiGetIrqRoutingTable (
1040 ACPI_BUFFER
*RetBuffer
))
1042 ACPI_EXTERNAL_RETURN_STATUS (
1044 AcpiResourceToAddress64 (
1045 ACPI_RESOURCE
*Resource
,
1046 ACPI_RESOURCE_ADDRESS64
*Out
))
1048 ACPI_EXTERNAL_RETURN_STATUS (
1050 AcpiBufferToResource (
1052 UINT16 AmlBufferLength
,
1053 ACPI_RESOURCE
**ResourcePtr
))
1057 * Hardware (ACPI device) interfaces
1059 ACPI_EXTERNAL_RETURN_STATUS (
1064 ACPI_EXTERNAL_RETURN_STATUS (
1068 ACPI_GENERIC_ADDRESS
*Reg
))
1070 ACPI_EXTERNAL_RETURN_STATUS (
1074 ACPI_GENERIC_ADDRESS
*Reg
))
1076 ACPI_HW_DEPENDENT_RETURN_STATUS (
1078 AcpiReadBitRegister (
1080 UINT32
*ReturnValue
))
1082 ACPI_HW_DEPENDENT_RETURN_STATUS (
1084 AcpiWriteBitRegister (
1090 * Sleep/Wake interfaces
1092 ACPI_EXTERNAL_RETURN_STATUS (
1094 AcpiGetSleepTypeData (
1099 ACPI_EXTERNAL_RETURN_STATUS (
1101 AcpiEnterSleepStatePrep (
1104 ACPI_EXTERNAL_RETURN_STATUS (
1106 AcpiEnterSleepState (
1109 ACPI_HW_DEPENDENT_RETURN_STATUS (
1111 AcpiEnterSleepStateS4bios (
1114 ACPI_EXTERNAL_RETURN_STATUS (
1116 AcpiLeaveSleepStatePrep (
1119 ACPI_EXTERNAL_RETURN_STATUS (
1121 AcpiLeaveSleepState (
1124 ACPI_HW_DEPENDENT_RETURN_STATUS (
1126 AcpiSetFirmwareWakingVector (
1127 UINT32 PhysicalAddress
))
1129 #if ACPI_MACHINE_WIDTH == 64
1130 ACPI_HW_DEPENDENT_RETURN_STATUS (
1132 AcpiSetFirmwareWakingVector64 (
1133 UINT64 PhysicalAddress
))
1138 * ACPI Timer interfaces
1140 ACPI_HW_DEPENDENT_RETURN_STATUS (
1142 AcpiGetTimerResolution (
1143 UINT32
*Resolution
))
1145 ACPI_HW_DEPENDENT_RETURN_STATUS (
1150 ACPI_HW_DEPENDENT_RETURN_STATUS (
1152 AcpiGetTimerDuration (
1155 UINT32
*TimeElapsed
))
1159 * Error/Warning output
1161 ACPI_MSG_DEPENDENT_RETURN_VOID (
1163 void ACPI_INTERNAL_VAR_XFACE
1165 const char *ModuleName
,
1170 ACPI_MSG_DEPENDENT_RETURN_VOID (
1172 void ACPI_INTERNAL_VAR_XFACE
1174 const char *ModuleName
,
1180 ACPI_MSG_DEPENDENT_RETURN_VOID (
1182 void ACPI_INTERNAL_VAR_XFACE
1184 const char *ModuleName
,
1189 ACPI_MSG_DEPENDENT_RETURN_VOID (
1191 void ACPI_INTERNAL_VAR_XFACE
1193 const char *ModuleName
,
1198 ACPI_MSG_DEPENDENT_RETURN_VOID (
1200 void ACPI_INTERNAL_VAR_XFACE
1202 const char *ModuleName
,
1207 ACPI_MSG_DEPENDENT_RETURN_VOID (
1209 void ACPI_INTERNAL_VAR_XFACE
1211 const char *ModuleName
,
1220 ACPI_DBG_DEPENDENT_RETURN_VOID (
1222 void ACPI_INTERNAL_VAR_XFACE
1224 UINT32 RequestedDebugLevel
,
1226 const char *FunctionName
,
1227 const char *ModuleName
,
1232 ACPI_DBG_DEPENDENT_RETURN_VOID (
1234 void ACPI_INTERNAL_VAR_XFACE
1236 UINT32 RequestedDebugLevel
,
1238 const char *FunctionName
,
1239 const char *ModuleName
,
1244 ACPI_APP_DEPENDENT_RETURN_VOID (
1246 void ACPI_INTERNAL_VAR_XFACE
1251 #endif /* __ACXFACE_H__ */