acpixf.h (26f3cdf0) acpixf.h (7b1019a6)
1
2/******************************************************************************
3 *
4 * Name: acpixf.h - External interfaces to the ACPI subsystem
5 *
6 *****************************************************************************/
7
8/*
1/******************************************************************************
2 *
3 * Name: acpixf.h - External interfaces to the ACPI subsystem
4 *
5 *****************************************************************************/
6
7/*
9 * Copyright (C) 2000 - 2011, Intel Corp.
8 * Copyright (C) 2000 - 2016, Intel Corp.
10 * All rights reserved.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions, and the following disclaimer,
17 * without modification.

--- 19 unchanged lines hidden (view full) ---

37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 * POSSIBILITY OF SUCH DAMAGES.
43 */
44
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.

--- 19 unchanged lines hidden (view full) ---

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.
42 */
43
45
46#ifndef __ACXFACE_H__
47#define __ACXFACE_H__
48
49/* Current ACPICA subsystem version in YYYYMMDD format */
50
44#ifndef __ACXFACE_H__
45#define __ACXFACE_H__
46
47/* Current ACPICA subsystem version in YYYYMMDD format */
48
51#define ACPI_CA_VERSION 0x20110527
49#define ACPI_CA_VERSION 0x20160527
52
50
51#include "acconfig.h"
53#include "actypes.h"
54#include "actbl.h"
52#include "actypes.h"
53#include "actbl.h"
54#include "acbuffer.h"
55
55
56
57/*****************************************************************************
58 *
59 * Macros used for ACPICA globals and configuration
60 *
61 ****************************************************************************/
62
56/*
63/*
57 * Globals that are publically available
64 * Ensure that global variables are defined and initialized only once.
65 *
66 * The use of these macros allows for a single list of globals (here)
67 * in order to simplify maintenance of the code.
58 */
68 */
59extern UINT32 AcpiCurrentGpeCount;
60extern ACPI_TABLE_FADT AcpiGbl_FADT;
61extern BOOLEAN AcpiGbl_SystemAwakeAndRunning;
69#ifdef DEFINE_ACPI_GLOBALS
70#define ACPI_GLOBAL(type,name) \
71 extern type name; \
72 type name
62
73
63/* Runtime configuration of debug print levels */
74#define ACPI_INIT_GLOBAL(type,name,value) \
75 type name=value
64
76
65extern UINT32 AcpiDbgLevel;
66extern UINT32 AcpiDbgLayer;
77#else
78#ifndef ACPI_GLOBAL
79#define ACPI_GLOBAL(type,name) \
80 extern type name
81#endif
67
82
68/* ACPICA runtime options */
83#ifndef ACPI_INIT_GLOBAL
84#define ACPI_INIT_GLOBAL(type,name,value) \
85 extern type name
86#endif
87#endif
69
88
70extern UINT8 AcpiGbl_EnableInterpreterSlack;
71extern UINT8 AcpiGbl_AllMethodsSerialized;
72extern UINT8 AcpiGbl_CreateOsiMethod;
73extern UINT8 AcpiGbl_UseDefaultRegisterWidths;
74extern ACPI_NAME AcpiGbl_TraceMethodName;
75extern UINT32 AcpiGbl_TraceFlags;
76extern UINT8 AcpiGbl_EnableAmlDebugObject;
77extern UINT8 AcpiGbl_CopyDsdtLocally;
78extern UINT8 AcpiGbl_TruncateIoAddresses;
89/*
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.
93 */
94#ifndef ACPI_EXTERNAL_RETURN_STATUS
95#define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
96 Prototype;
97#endif
79
98
99#ifndef ACPI_EXTERNAL_RETURN_OK
100#define ACPI_EXTERNAL_RETURN_OK(Prototype) \
101 Prototype;
102#endif
80
103
104#ifndef ACPI_EXTERNAL_RETURN_VOID
105#define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
106 Prototype;
107#endif
108
109#ifndef ACPI_EXTERNAL_RETURN_UINT32
110#define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
111 Prototype;
112#endif
113
114#ifndef ACPI_EXTERNAL_RETURN_PTR
115#define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
116 Prototype;
117#endif
118
119
120/*****************************************************************************
121 *
122 * Public globals and runtime configuration options
123 *
124 ****************************************************************************/
125
81/*
126/*
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.
130 *
131 * Currently, these features are enabled by this flag:
132 *
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
139 */
140ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, FALSE);
141
142/*
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.
148 */
149ACPI_INIT_GLOBAL (UINT8, AcpiGbl_AutoSerializeMethods, TRUE);
150
151/*
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.
155 */
156ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CreateOsiMethod, TRUE);
157
158/*
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.
161 */
162ACPI_INIT_GLOBAL (UINT8, AcpiGbl_UseDefaultRegisterWidths, TRUE);
163
164/*
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
169 * verification.
170 */
171ACPI_INIT_GLOBAL (UINT8, AcpiGbl_VerifyTableChecksum, TRUE);
172
173/*
174 * Optionally enable output from the AML Debug Object.
175 */
176ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableAmlDebugObject, FALSE);
177
178/*
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
182 * the DSDT.
183 */
184ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CopyDsdtLocally, FALSE);
185
186/*
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.
191 */
192ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE);
193
194/*
195 * Optionally support group module level code.
196 */
197ACPI_INIT_GLOBAL (UINT8, AcpiGbl_GroupModuleLevelCode, FALSE);
198
199/*
200 * Optionally use 32-bit FADT addresses if and when there is a conflict
201 * (address mismatch) between the 32-bit and 64-bit versions of the
202 * address. Although ACPICA adheres to the ACPI specification which
203 * requires the use of the corresponding 64-bit address if it is non-zero,
204 * some machines have been found to have a corrupted non-zero 64-bit
205 * address. Default is FALSE, do not favor the 32-bit addresses.
206 */
207ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFadtAddresses, FALSE);
208
209/*
210 * Optionally use 32-bit FACS table addresses.
211 * It is reported that some platforms fail to resume from system suspending
212 * if 64-bit FACS table address is selected:
213 * https://bugzilla.kernel.org/show_bug.cgi?id=74021
214 * Default is TRUE, favor the 32-bit addresses.
215 */
216ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFacsAddresses, TRUE);
217
218/*
219 * Optionally truncate I/O addresses to 16 bits. Provides compatibility
220 * with other ACPI implementations. NOTE: During ACPICA initialization,
221 * this value is set to TRUE if any Windows OSI strings have been
222 * requested by the BIOS.
223 */
224ACPI_INIT_GLOBAL (UINT8, AcpiGbl_TruncateIoAddresses, FALSE);
225
226/*
227 * Disable runtime checking and repair of values returned by control methods.
228 * Use only if the repair is causing a problem on a particular machine.
229 */
230ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableAutoRepair, FALSE);
231
232/*
233 * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
234 * This can be useful for debugging ACPI problems on some machines.
235 */
236ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableSsdtTableInstall, FALSE);
237
238/*
239 * Optionally enable runtime namespace override.
240 */
241ACPI_INIT_GLOBAL (UINT8, AcpiGbl_RuntimeNamespaceOverride, TRUE);
242
243/*
244 * We keep track of the latest version of Windows that has been requested by
245 * the BIOS. ACPI 5.0.
246 */
247ACPI_INIT_GLOBAL (UINT8, AcpiGbl_OsiData, 0);
248
249/*
250 * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
251 * that the ACPI hardware is no longer required. A flag in the FADT indicates
252 * a reduced HW machine, and that flag is duplicated here for convenience.
253 */
254ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ReducedHardware, FALSE);
255
256/*
257 * This mechanism is used to trace a specified AML method. The method is
258 * traced each time it is executed.
259 */
260ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceFlags, 0);
261ACPI_INIT_GLOBAL (const char *, AcpiGbl_TraceMethodName, NULL);
262ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT);
263ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT);
264
265/*
266 * Runtime configuration of debug output control masks. We want the debug
267 * switches statically initialized so they are already set when the debugger
268 * is entered.
269 */
270#ifdef ACPI_DEBUG_OUTPUT
271ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
272#else
273ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
274#endif
275ACPI_INIT_GLOBAL (UINT32, AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
276
277/* Optionally enable timer output with Debug Object output */
278
279ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisplayDebugTimer, FALSE);
280
281/*
282 * Other miscellaneous globals
283 */
284ACPI_GLOBAL (ACPI_TABLE_FADT, AcpiGbl_FADT);
285ACPI_GLOBAL (UINT32, AcpiCurrentGpeCount);
286ACPI_GLOBAL (BOOLEAN, AcpiGbl_SystemAwakeAndRunning);
287
288
289/*****************************************************************************
290 *
291 * ACPICA public interface configuration.
292 *
293 * Interfaces that are configured out of the ACPICA build are replaced
294 * by inlined stubs by default.
295 *
296 ****************************************************************************/
297
298/*
299 * Hardware-reduced prototypes (default: Not hardware reduced).
300 *
301 * All ACPICA hardware-related interfaces that use these macros will be
302 * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
303 * is set to TRUE.
304 *
305 * Note: This static build option for reduced hardware is intended to
306 * reduce ACPICA code size if desired or necessary. However, even if this
307 * option is not specified, the runtime behavior of ACPICA is dependent
308 * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
309 * the flag will enable similar behavior -- ACPICA will not attempt
310 * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
311 */
312#if (!ACPI_REDUCED_HARDWARE)
313#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
314 ACPI_EXTERNAL_RETURN_STATUS(Prototype)
315
316#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
317 ACPI_EXTERNAL_RETURN_OK(Prototype)
318
319#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
320 ACPI_EXTERNAL_RETURN_VOID(Prototype)
321
322#else
323#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
324 static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
325
326#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
327 static ACPI_INLINE Prototype {return(AE_OK);}
328
329#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
330 static ACPI_INLINE Prototype {return;}
331
332#endif /* !ACPI_REDUCED_HARDWARE */
333
334
335/*
336 * Error message prototypes (default: error messages enabled).
337 *
338 * All interfaces related to error and warning messages
339 * will be configured out of the ACPICA build if the
340 * ACPI_NO_ERROR_MESSAGE flag is defined.
341 */
342#ifndef ACPI_NO_ERROR_MESSAGES
343#define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
344 Prototype;
345
346#else
347#define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
348 static ACPI_INLINE Prototype {return;}
349
350#endif /* ACPI_NO_ERROR_MESSAGES */
351
352
353/*
354 * Debugging output prototypes (default: no debug output).
355 *
356 * All interfaces related to debug output messages
357 * will be configured out of the ACPICA build unless the
358 * ACPI_DEBUG_OUTPUT flag is defined.
359 */
360#ifdef ACPI_DEBUG_OUTPUT
361#define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
362 Prototype;
363
364#else
365#define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype)
366#endif /* ACPI_DEBUG_OUTPUT */
367
368
369/*
370 * Application prototypes
371 *
372 * All interfaces used by application will be configured
373 * out of the ACPICA build unless the ACPI_APPLICATION
374 * flag is defined.
375 */
376#ifdef ACPI_APPLICATION
377#define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
378 Prototype;
379
380#else
381#define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype)
382#endif /* ACPI_APPLICATION */
383
384
385/*
386 * Debugger prototypes
387 *
388 * All interfaces used by debugger will be configured
389 * out of the ACPICA build unless the ACPI_DEBUGGER
390 * flag is defined.
391 */
392#ifdef ACPI_DEBUGGER
393#define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
394 ACPI_EXTERNAL_RETURN_OK(Prototype)
395
396#define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
397 ACPI_EXTERNAL_RETURN_VOID(Prototype)
398
399#else
400#define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \
401 static ACPI_INLINE Prototype {return(AE_OK);}
402
403#define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \
404 static ACPI_INLINE Prototype {return;}
405
406#endif /* ACPI_DEBUGGER */
407
408
409/*****************************************************************************
410 *
411 * ACPICA public interface prototypes
412 *
413 ****************************************************************************/
414
415/*
82 * Initialization
83 */
416 * Initialization
417 */
418ACPI_EXTERNAL_RETURN_STATUS (
84ACPI_STATUS
85AcpiInitializeTables (
86 ACPI_TABLE_DESC *InitialStorage,
87 UINT32 InitialTableCount,
419ACPI_STATUS
420AcpiInitializeTables (
421 ACPI_TABLE_DESC *InitialStorage,
422 UINT32 InitialTableCount,
88 BOOLEAN AllowResize);
423 BOOLEAN AllowResize))
89
424
425ACPI_EXTERNAL_RETURN_STATUS (
90ACPI_STATUS
91AcpiInitializeSubsystem (
426ACPI_STATUS
427AcpiInitializeSubsystem (
92 void);
428 void))
93
429
430ACPI_EXTERNAL_RETURN_STATUS (
94ACPI_STATUS
95AcpiEnableSubsystem (
431ACPI_STATUS
432AcpiEnableSubsystem (
96 UINT32 Flags);
433 UINT32 Flags))
97
434
435ACPI_EXTERNAL_RETURN_STATUS (
98ACPI_STATUS
99AcpiInitializeObjects (
436ACPI_STATUS
437AcpiInitializeObjects (
100 UINT32 Flags);
438 UINT32 Flags))
101
439
440ACPI_EXTERNAL_RETURN_STATUS (
102ACPI_STATUS
103AcpiTerminate (
441ACPI_STATUS
442AcpiTerminate (
104 void);
443 void))
105
106
107/*
108 * Miscellaneous global interfaces
109 */
444
445
446/*
447 * Miscellaneous global interfaces
448 */
449ACPI_HW_DEPENDENT_RETURN_STATUS (
110ACPI_STATUS
111AcpiEnable (
450ACPI_STATUS
451AcpiEnable (
112 void);
452 void))
113
453
454ACPI_HW_DEPENDENT_RETURN_STATUS (
114ACPI_STATUS
115AcpiDisable (
455ACPI_STATUS
456AcpiDisable (
116 void);
457 void))
117
458
459ACPI_EXTERNAL_RETURN_STATUS (
118ACPI_STATUS
119AcpiSubsystemStatus (
460ACPI_STATUS
461AcpiSubsystemStatus (
120 void);
462 void))
121
463
464ACPI_EXTERNAL_RETURN_STATUS (
122ACPI_STATUS
123AcpiGetSystemInfo (
465ACPI_STATUS
466AcpiGetSystemInfo (
124 ACPI_BUFFER *RetBuffer);
467 ACPI_BUFFER *RetBuffer))
125
468
469ACPI_EXTERNAL_RETURN_STATUS (
126ACPI_STATUS
127AcpiGetStatistics (
470ACPI_STATUS
471AcpiGetStatistics (
128 ACPI_STATISTICS *Stats);
472 ACPI_STATISTICS *Stats))
129
473
474ACPI_EXTERNAL_RETURN_PTR (
130const char *
131AcpiFormatException (
475const char *
476AcpiFormatException (
132 ACPI_STATUS Exception);
477 ACPI_STATUS Exception))
133
478
479ACPI_EXTERNAL_RETURN_STATUS (
134ACPI_STATUS
135AcpiPurgeCachedObjects (
480ACPI_STATUS
481AcpiPurgeCachedObjects (
136 void);
482 void))
137
483
484ACPI_EXTERNAL_RETURN_STATUS (
138ACPI_STATUS
139AcpiInstallInterface (
485ACPI_STATUS
486AcpiInstallInterface (
140 ACPI_STRING InterfaceName);
487 ACPI_STRING InterfaceName))
141
488
489ACPI_EXTERNAL_RETURN_STATUS (
142ACPI_STATUS
143AcpiRemoveInterface (
490ACPI_STATUS
491AcpiRemoveInterface (
144 ACPI_STRING InterfaceName);
492 ACPI_STRING InterfaceName))
145
493
494ACPI_EXTERNAL_RETURN_STATUS (
495ACPI_STATUS
496AcpiUpdateInterfaces (
497 UINT8 Action))
146
498
499ACPI_EXTERNAL_RETURN_UINT32 (
500UINT32
501AcpiCheckAddressRange (
502 ACPI_ADR_SPACE_TYPE SpaceId,
503 ACPI_PHYSICAL_ADDRESS Address,
504 ACPI_SIZE Length,
505 BOOLEAN Warn))
506
507ACPI_EXTERNAL_RETURN_STATUS (
508ACPI_STATUS
509AcpiDecodePldBuffer (
510 UINT8 *InBuffer,
511 ACPI_SIZE Length,
512 ACPI_PLD_INFO **ReturnBuffer))
513
514
147/*
515/*
148 * ACPI Memory management
516 * ACPI table load/unload interfaces
149 */
517 */
150void *
151AcpiAllocate (
152 UINT32 Size);
518ACPI_EXTERNAL_RETURN_STATUS (
519ACPI_STATUS
520AcpiInstallTable (
521 ACPI_PHYSICAL_ADDRESS Address,
522 BOOLEAN Physical))
153
523
154void *
155AcpiCallocate (
156 UINT32 Size);
524ACPI_EXTERNAL_RETURN_STATUS (
525ACPI_STATUS
526AcpiLoadTable (
527 ACPI_TABLE_HEADER *Table))
157
528
158void
159AcpiFree (
160 void *Address);
529ACPI_EXTERNAL_RETURN_STATUS (
530ACPI_STATUS
531AcpiUnloadParentTable (
532 ACPI_HANDLE Object))
161
533
534ACPI_EXTERNAL_RETURN_STATUS (
535ACPI_STATUS
536AcpiLoadTables (
537 void))
162
538
539
163/*
164 * ACPI table manipulation interfaces
165 */
540/*
541 * ACPI table manipulation interfaces
542 */
543ACPI_EXTERNAL_RETURN_STATUS (
166ACPI_STATUS
167AcpiReallocateRootTable (
544ACPI_STATUS
545AcpiReallocateRootTable (
168 void);
546 void))
169
547
548ACPI_EXTERNAL_RETURN_STATUS (
170ACPI_STATUS
171AcpiFindRootPointer (
549ACPI_STATUS
550AcpiFindRootPointer (
172 ACPI_SIZE *RsdpAddress);
551 ACPI_PHYSICAL_ADDRESS *RsdpAddress))
173
552
553ACPI_EXTERNAL_RETURN_STATUS (
174ACPI_STATUS
554ACPI_STATUS
175AcpiLoadTables (
176 void);
177
178ACPI_STATUS
179AcpiGetTableHeader (
180 ACPI_STRING Signature,
181 UINT32 Instance,
555AcpiGetTableHeader (
556 ACPI_STRING Signature,
557 UINT32 Instance,
182 ACPI_TABLE_HEADER *OutTableHeader);
558 ACPI_TABLE_HEADER *OutTableHeader))
183
559
560ACPI_EXTERNAL_RETURN_STATUS (
184ACPI_STATUS
185AcpiGetTable (
186 ACPI_STRING Signature,
187 UINT32 Instance,
561ACPI_STATUS
562AcpiGetTable (
563 ACPI_STRING Signature,
564 UINT32 Instance,
188 ACPI_TABLE_HEADER **OutTable);
565 ACPI_TABLE_HEADER **OutTable))
189
566
567ACPI_EXTERNAL_RETURN_STATUS (
190ACPI_STATUS
191AcpiGetTableByIndex (
192 UINT32 TableIndex,
568ACPI_STATUS
569AcpiGetTableByIndex (
570 UINT32 TableIndex,
193 ACPI_TABLE_HEADER **OutTable);
571 ACPI_TABLE_HEADER **OutTable))
194
572
573ACPI_EXTERNAL_RETURN_STATUS (
195ACPI_STATUS
196AcpiInstallTableHandler (
197 ACPI_TABLE_HANDLER Handler,
574ACPI_STATUS
575AcpiInstallTableHandler (
576 ACPI_TABLE_HANDLER Handler,
198 void *Context);
577 void *Context))
199
578
579ACPI_EXTERNAL_RETURN_STATUS (
200ACPI_STATUS
201AcpiRemoveTableHandler (
580ACPI_STATUS
581AcpiRemoveTableHandler (
202 ACPI_TABLE_HANDLER Handler);
582 ACPI_TABLE_HANDLER Handler))
203
204
205/*
206 * Namespace and name interfaces
207 */
583
584
585/*
586 * Namespace and name interfaces
587 */
588ACPI_EXTERNAL_RETURN_STATUS (
208ACPI_STATUS
209AcpiWalkNamespace (
210 ACPI_OBJECT_TYPE Type,
211 ACPI_HANDLE StartObject,
212 UINT32 MaxDepth,
589ACPI_STATUS
590AcpiWalkNamespace (
591 ACPI_OBJECT_TYPE Type,
592 ACPI_HANDLE StartObject,
593 UINT32 MaxDepth,
213 ACPI_WALK_CALLBACK PreOrderVisit,
214 ACPI_WALK_CALLBACK PostOrderVisit,
594 ACPI_WALK_CALLBACK DescendingCallback,
595 ACPI_WALK_CALLBACK AscendingCallback,
215 void *Context,
596 void *Context,
216 void **ReturnValue);
597 void **ReturnValue))
217
598
599ACPI_EXTERNAL_RETURN_STATUS (
218ACPI_STATUS
219AcpiGetDevices (
220 char *HID,
221 ACPI_WALK_CALLBACK UserFunction,
222 void *Context,
600ACPI_STATUS
601AcpiGetDevices (
602 char *HID,
603 ACPI_WALK_CALLBACK UserFunction,
604 void *Context,
223 void **ReturnValue);
605 void **ReturnValue))
224
606
607ACPI_EXTERNAL_RETURN_STATUS (
225ACPI_STATUS
226AcpiGetName (
227 ACPI_HANDLE Object,
228 UINT32 NameType,
608ACPI_STATUS
609AcpiGetName (
610 ACPI_HANDLE Object,
611 UINT32 NameType,
229 ACPI_BUFFER *RetPathPtr);
612 ACPI_BUFFER *RetPathPtr))
230
613
614ACPI_EXTERNAL_RETURN_STATUS (
231ACPI_STATUS
232AcpiGetHandle (
233 ACPI_HANDLE Parent,
234 ACPI_STRING Pathname,
615ACPI_STATUS
616AcpiGetHandle (
617 ACPI_HANDLE Parent,
618 ACPI_STRING Pathname,
235 ACPI_HANDLE *RetHandle);
619 ACPI_HANDLE *RetHandle))
236
620
621ACPI_EXTERNAL_RETURN_STATUS (
237ACPI_STATUS
238AcpiAttachData (
239 ACPI_HANDLE Object,
240 ACPI_OBJECT_HANDLER Handler,
622ACPI_STATUS
623AcpiAttachData (
624 ACPI_HANDLE Object,
625 ACPI_OBJECT_HANDLER Handler,
241 void *Data);
626 void *Data))
242
627
628ACPI_EXTERNAL_RETURN_STATUS (
243ACPI_STATUS
244AcpiDetachData (
245 ACPI_HANDLE Object,
629ACPI_STATUS
630AcpiDetachData (
631 ACPI_HANDLE Object,
246 ACPI_OBJECT_HANDLER Handler);
632 ACPI_OBJECT_HANDLER Handler))
247
633
634ACPI_EXTERNAL_RETURN_STATUS (
248ACPI_STATUS
249AcpiGetData (
250 ACPI_HANDLE Object,
251 ACPI_OBJECT_HANDLER Handler,
635ACPI_STATUS
636AcpiGetData (
637 ACPI_HANDLE Object,
638 ACPI_OBJECT_HANDLER Handler,
252 void **Data);
639 void **Data))
253
640
641ACPI_EXTERNAL_RETURN_STATUS (
254ACPI_STATUS
255AcpiDebugTrace (
642ACPI_STATUS
643AcpiDebugTrace (
256 char *Name,
644 const char *Name,
257 UINT32 DebugLevel,
258 UINT32 DebugLayer,
645 UINT32 DebugLevel,
646 UINT32 DebugLayer,
259 UINT32 Flags);
647 UINT32 Flags))
260
261
262/*
263 * Object manipulation and enumeration
264 */
648
649
650/*
651 * Object manipulation and enumeration
652 */
653ACPI_EXTERNAL_RETURN_STATUS (
265ACPI_STATUS
266AcpiEvaluateObject (
267 ACPI_HANDLE Object,
268 ACPI_STRING Pathname,
269 ACPI_OBJECT_LIST *ParameterObjects,
654ACPI_STATUS
655AcpiEvaluateObject (
656 ACPI_HANDLE Object,
657 ACPI_STRING Pathname,
658 ACPI_OBJECT_LIST *ParameterObjects,
270 ACPI_BUFFER *ReturnObjectBuffer);
659 ACPI_BUFFER *ReturnObjectBuffer))
271
660
661ACPI_EXTERNAL_RETURN_STATUS (
272ACPI_STATUS
273AcpiEvaluateObjectTyped (
274 ACPI_HANDLE Object,
275 ACPI_STRING Pathname,
276 ACPI_OBJECT_LIST *ExternalParams,
277 ACPI_BUFFER *ReturnBuffer,
662ACPI_STATUS
663AcpiEvaluateObjectTyped (
664 ACPI_HANDLE Object,
665 ACPI_STRING Pathname,
666 ACPI_OBJECT_LIST *ExternalParams,
667 ACPI_BUFFER *ReturnBuffer,
278 ACPI_OBJECT_TYPE ReturnType);
668 ACPI_OBJECT_TYPE ReturnType))
279
669
670ACPI_EXTERNAL_RETURN_STATUS (
280ACPI_STATUS
281AcpiGetObjectInfo (
282 ACPI_HANDLE Object,
671ACPI_STATUS
672AcpiGetObjectInfo (
673 ACPI_HANDLE Object,
283 ACPI_DEVICE_INFO **ReturnBuffer);
674 ACPI_DEVICE_INFO **ReturnBuffer))
284
675
676ACPI_EXTERNAL_RETURN_STATUS (
285ACPI_STATUS
286AcpiInstallMethod (
677ACPI_STATUS
678AcpiInstallMethod (
287 UINT8 *Buffer);
679 UINT8 *Buffer))
288
680
681ACPI_EXTERNAL_RETURN_STATUS (
289ACPI_STATUS
290AcpiGetNextObject (
291 ACPI_OBJECT_TYPE Type,
292 ACPI_HANDLE Parent,
293 ACPI_HANDLE Child,
682ACPI_STATUS
683AcpiGetNextObject (
684 ACPI_OBJECT_TYPE Type,
685 ACPI_HANDLE Parent,
686 ACPI_HANDLE Child,
294 ACPI_HANDLE *OutHandle);
687 ACPI_HANDLE *OutHandle))
295
688
689ACPI_EXTERNAL_RETURN_STATUS (
296ACPI_STATUS
297AcpiGetType (
298 ACPI_HANDLE Object,
690ACPI_STATUS
691AcpiGetType (
692 ACPI_HANDLE Object,
299 ACPI_OBJECT_TYPE *OutType);
693 ACPI_OBJECT_TYPE *OutType))
300
694
695ACPI_EXTERNAL_RETURN_STATUS (
301ACPI_STATUS
302AcpiGetParent (
303 ACPI_HANDLE Object,
696ACPI_STATUS
697AcpiGetParent (
698 ACPI_HANDLE Object,
304 ACPI_HANDLE *OutHandle);
699 ACPI_HANDLE *OutHandle))
305
306
307/*
308 * Handler interfaces
309 */
700
701
702/*
703 * Handler interfaces
704 */
705ACPI_EXTERNAL_RETURN_STATUS (
310ACPI_STATUS
311AcpiInstallInitializationHandler (
312 ACPI_INIT_HANDLER Handler,
706ACPI_STATUS
707AcpiInstallInitializationHandler (
708 ACPI_INIT_HANDLER Handler,
313 UINT32 Function);
709 UINT32 Function))
314
710
711ACPI_HW_DEPENDENT_RETURN_STATUS (
315ACPI_STATUS
712ACPI_STATUS
713AcpiInstallSciHandler (
714 ACPI_SCI_HANDLER Address,
715 void *Context))
716
717ACPI_HW_DEPENDENT_RETURN_STATUS (
718ACPI_STATUS
719AcpiRemoveSciHandler (
720 ACPI_SCI_HANDLER Address))
721
722ACPI_HW_DEPENDENT_RETURN_STATUS (
723ACPI_STATUS
316AcpiInstallGlobalEventHandler (
317 ACPI_GBL_EVENT_HANDLER Handler,
724AcpiInstallGlobalEventHandler (
725 ACPI_GBL_EVENT_HANDLER Handler,
318 void *Context);
726 void *Context))
319
727
728ACPI_HW_DEPENDENT_RETURN_STATUS (
320ACPI_STATUS
321AcpiInstallFixedEventHandler (
322 UINT32 AcpiEvent,
323 ACPI_EVENT_HANDLER Handler,
729ACPI_STATUS
730AcpiInstallFixedEventHandler (
731 UINT32 AcpiEvent,
732 ACPI_EVENT_HANDLER Handler,
324 void *Context);
733 void *Context))
325
734
735ACPI_HW_DEPENDENT_RETURN_STATUS (
326ACPI_STATUS
327AcpiRemoveFixedEventHandler (
328 UINT32 AcpiEvent,
736ACPI_STATUS
737AcpiRemoveFixedEventHandler (
738 UINT32 AcpiEvent,
329 ACPI_EVENT_HANDLER Handler);
739 ACPI_EVENT_HANDLER Handler))
330
740
741ACPI_HW_DEPENDENT_RETURN_STATUS (
331ACPI_STATUS
332AcpiInstallGpeHandler (
333 ACPI_HANDLE GpeDevice,
334 UINT32 GpeNumber,
335 UINT32 Type,
336 ACPI_GPE_HANDLER Address,
742ACPI_STATUS
743AcpiInstallGpeHandler (
744 ACPI_HANDLE GpeDevice,
745 UINT32 GpeNumber,
746 UINT32 Type,
747 ACPI_GPE_HANDLER Address,
337 void *Context);
748 void *Context))
338
749
750ACPI_HW_DEPENDENT_RETURN_STATUS (
339ACPI_STATUS
751ACPI_STATUS
752AcpiInstallGpeRawHandler (
753 ACPI_HANDLE GpeDevice,
754 UINT32 GpeNumber,
755 UINT32 Type,
756 ACPI_GPE_HANDLER Address,
757 void *Context))
758
759ACPI_HW_DEPENDENT_RETURN_STATUS (
760ACPI_STATUS
340AcpiRemoveGpeHandler (
341 ACPI_HANDLE GpeDevice,
342 UINT32 GpeNumber,
761AcpiRemoveGpeHandler (
762 ACPI_HANDLE GpeDevice,
763 UINT32 GpeNumber,
343 ACPI_GPE_HANDLER Address);
764 ACPI_GPE_HANDLER Address))
344
765
766ACPI_EXTERNAL_RETURN_STATUS (
345ACPI_STATUS
346AcpiInstallNotifyHandler (
347 ACPI_HANDLE Device,
348 UINT32 HandlerType,
349 ACPI_NOTIFY_HANDLER Handler,
767ACPI_STATUS
768AcpiInstallNotifyHandler (
769 ACPI_HANDLE Device,
770 UINT32 HandlerType,
771 ACPI_NOTIFY_HANDLER Handler,
350 void *Context);
772 void *Context))
351
773
774ACPI_EXTERNAL_RETURN_STATUS (
352ACPI_STATUS
353AcpiRemoveNotifyHandler (
354 ACPI_HANDLE Device,
355 UINT32 HandlerType,
775ACPI_STATUS
776AcpiRemoveNotifyHandler (
777 ACPI_HANDLE Device,
778 UINT32 HandlerType,
356 ACPI_NOTIFY_HANDLER Handler);
779 ACPI_NOTIFY_HANDLER Handler))
357
780
781ACPI_EXTERNAL_RETURN_STATUS (
358ACPI_STATUS
359AcpiInstallAddressSpaceHandler (
360 ACPI_HANDLE Device,
361 ACPI_ADR_SPACE_TYPE SpaceId,
362 ACPI_ADR_SPACE_HANDLER Handler,
363 ACPI_ADR_SPACE_SETUP Setup,
782ACPI_STATUS
783AcpiInstallAddressSpaceHandler (
784 ACPI_HANDLE Device,
785 ACPI_ADR_SPACE_TYPE SpaceId,
786 ACPI_ADR_SPACE_HANDLER Handler,
787 ACPI_ADR_SPACE_SETUP Setup,
364 void *Context);
788 void *Context))
365
789
790ACPI_EXTERNAL_RETURN_STATUS (
366ACPI_STATUS
367AcpiRemoveAddressSpaceHandler (
368 ACPI_HANDLE Device,
369 ACPI_ADR_SPACE_TYPE SpaceId,
791ACPI_STATUS
792AcpiRemoveAddressSpaceHandler (
793 ACPI_HANDLE Device,
794 ACPI_ADR_SPACE_TYPE SpaceId,
370 ACPI_ADR_SPACE_HANDLER Handler);
795 ACPI_ADR_SPACE_HANDLER Handler))
371
796
797ACPI_EXTERNAL_RETURN_STATUS (
372ACPI_STATUS
373AcpiInstallExceptionHandler (
798ACPI_STATUS
799AcpiInstallExceptionHandler (
374 ACPI_EXCEPTION_HANDLER Handler);
800 ACPI_EXCEPTION_HANDLER Handler))
375
801
802ACPI_EXTERNAL_RETURN_STATUS (
376ACPI_STATUS
377AcpiInstallInterfaceHandler (
803ACPI_STATUS
804AcpiInstallInterfaceHandler (
378 ACPI_INTERFACE_HANDLER Handler);
805 ACPI_INTERFACE_HANDLER Handler))
379
380
381/*
382 * Global Lock interfaces
383 */
806
807
808/*
809 * Global Lock interfaces
810 */
811ACPI_HW_DEPENDENT_RETURN_STATUS (
384ACPI_STATUS
385AcpiAcquireGlobalLock (
386 UINT16 Timeout,
812ACPI_STATUS
813AcpiAcquireGlobalLock (
814 UINT16 Timeout,
387 UINT32 *Handle);
815 UINT32 *Handle))
388
816
817ACPI_HW_DEPENDENT_RETURN_STATUS (
389ACPI_STATUS
390AcpiReleaseGlobalLock (
818ACPI_STATUS
819AcpiReleaseGlobalLock (
391 UINT32 Handle);
820 UINT32 Handle))
392
393
394/*
821
822
823/*
824 * Interfaces to AML mutex objects
825 */
826ACPI_EXTERNAL_RETURN_STATUS (
827ACPI_STATUS
828AcpiAcquireMutex (
829 ACPI_HANDLE Handle,
830 ACPI_STRING Pathname,
831 UINT16 Timeout))
832
833ACPI_EXTERNAL_RETURN_STATUS (
834ACPI_STATUS
835AcpiReleaseMutex (
836 ACPI_HANDLE Handle,
837 ACPI_STRING Pathname))
838
839
840/*
395 * Fixed Event interfaces
396 */
841 * Fixed Event interfaces
842 */
843ACPI_HW_DEPENDENT_RETURN_STATUS (
397ACPI_STATUS
398AcpiEnableEvent (
399 UINT32 Event,
844ACPI_STATUS
845AcpiEnableEvent (
846 UINT32 Event,
400 UINT32 Flags);
847 UINT32 Flags))
401
848
849ACPI_HW_DEPENDENT_RETURN_STATUS (
402ACPI_STATUS
403AcpiDisableEvent (
404 UINT32 Event,
850ACPI_STATUS
851AcpiDisableEvent (
852 UINT32 Event,
405 UINT32 Flags);
853 UINT32 Flags))
406
854
855ACPI_HW_DEPENDENT_RETURN_STATUS (
407ACPI_STATUS
408AcpiClearEvent (
856ACPI_STATUS
857AcpiClearEvent (
409 UINT32 Event);
858 UINT32 Event))
410
859
860ACPI_HW_DEPENDENT_RETURN_STATUS (
411ACPI_STATUS
412AcpiGetEventStatus (
413 UINT32 Event,
861ACPI_STATUS
862AcpiGetEventStatus (
863 UINT32 Event,
414 ACPI_EVENT_STATUS *EventStatus);
864 ACPI_EVENT_STATUS *EventStatus))
415
416
417/*
418 * General Purpose Event (GPE) Interfaces
419 */
865
866
867/*
868 * General Purpose Event (GPE) Interfaces
869 */
870ACPI_HW_DEPENDENT_RETURN_STATUS (
420ACPI_STATUS
421AcpiUpdateAllGpes (
871ACPI_STATUS
872AcpiUpdateAllGpes (
422 void);
873 void))
423
874
875ACPI_HW_DEPENDENT_RETURN_STATUS (
424ACPI_STATUS
425AcpiEnableGpe (
426 ACPI_HANDLE GpeDevice,
876ACPI_STATUS
877AcpiEnableGpe (
878 ACPI_HANDLE GpeDevice,
427 UINT32 GpeNumber);
879 UINT32 GpeNumber))
428
880
881ACPI_HW_DEPENDENT_RETURN_STATUS (
429ACPI_STATUS
430AcpiDisableGpe (
431 ACPI_HANDLE GpeDevice,
882ACPI_STATUS
883AcpiDisableGpe (
884 ACPI_HANDLE GpeDevice,
432 UINT32 GpeNumber);
885 UINT32 GpeNumber))
433
886
887ACPI_HW_DEPENDENT_RETURN_STATUS (
434ACPI_STATUS
435AcpiClearGpe (
436 ACPI_HANDLE GpeDevice,
888ACPI_STATUS
889AcpiClearGpe (
890 ACPI_HANDLE GpeDevice,
437 UINT32 GpeNumber);
891 UINT32 GpeNumber))
438
892
893ACPI_HW_DEPENDENT_RETURN_STATUS (
439ACPI_STATUS
440AcpiSetGpe (
441 ACPI_HANDLE GpeDevice,
442 UINT32 GpeNumber,
894ACPI_STATUS
895AcpiSetGpe (
896 ACPI_HANDLE GpeDevice,
897 UINT32 GpeNumber,
443 UINT8 Action);
898 UINT8 Action))
444
899
900ACPI_HW_DEPENDENT_RETURN_STATUS (
445ACPI_STATUS
446AcpiFinishGpe (
447 ACPI_HANDLE GpeDevice,
901ACPI_STATUS
902AcpiFinishGpe (
903 ACPI_HANDLE GpeDevice,
448 UINT32 GpeNumber);
904 UINT32 GpeNumber))
449
905
906ACPI_HW_DEPENDENT_RETURN_STATUS (
450ACPI_STATUS
907ACPI_STATUS
908AcpiMarkGpeForWake (
909 ACPI_HANDLE GpeDevice,
910 UINT32 GpeNumber))
911
912ACPI_HW_DEPENDENT_RETURN_STATUS (
913ACPI_STATUS
451AcpiSetupGpeForWake (
452 ACPI_HANDLE ParentDevice,
453 ACPI_HANDLE GpeDevice,
914AcpiSetupGpeForWake (
915 ACPI_HANDLE ParentDevice,
916 ACPI_HANDLE GpeDevice,
454 UINT32 GpeNumber);
917 UINT32 GpeNumber))
455
918
919ACPI_HW_DEPENDENT_RETURN_STATUS (
456ACPI_STATUS
457AcpiSetGpeWakeMask (
458 ACPI_HANDLE GpeDevice,
459 UINT32 GpeNumber,
920ACPI_STATUS
921AcpiSetGpeWakeMask (
922 ACPI_HANDLE GpeDevice,
923 UINT32 GpeNumber,
460 UINT8 Action);
924 UINT8 Action))
461
925
926ACPI_HW_DEPENDENT_RETURN_STATUS (
462ACPI_STATUS
463AcpiGetGpeStatus (
464 ACPI_HANDLE GpeDevice,
465 UINT32 GpeNumber,
927ACPI_STATUS
928AcpiGetGpeStatus (
929 ACPI_HANDLE GpeDevice,
930 UINT32 GpeNumber,
466 ACPI_EVENT_STATUS *EventStatus);
931 ACPI_EVENT_STATUS *EventStatus))
467
932
933ACPI_HW_DEPENDENT_RETURN_STATUS (
468ACPI_STATUS
469AcpiDisableAllGpes (
934ACPI_STATUS
935AcpiDisableAllGpes (
470 void);
936 void))
471
937
938ACPI_HW_DEPENDENT_RETURN_STATUS (
472ACPI_STATUS
473AcpiEnableAllRuntimeGpes (
939ACPI_STATUS
940AcpiEnableAllRuntimeGpes (
474 void);
941 void))
475
942
943ACPI_HW_DEPENDENT_RETURN_STATUS (
476ACPI_STATUS
944ACPI_STATUS
945AcpiEnableAllWakeupGpes (
946 void))
947
948ACPI_HW_DEPENDENT_RETURN_STATUS (
949ACPI_STATUS
477AcpiGetGpeDevice (
478 UINT32 GpeIndex,
950AcpiGetGpeDevice (
951 UINT32 GpeIndex,
479 ACPI_HANDLE *GpeDevice);
952 ACPI_HANDLE *GpeDevice))
480
953
954ACPI_HW_DEPENDENT_RETURN_STATUS (
481ACPI_STATUS
482AcpiInstallGpeBlock (
483 ACPI_HANDLE GpeDevice,
484 ACPI_GENERIC_ADDRESS *GpeBlockAddress,
485 UINT32 RegisterCount,
955ACPI_STATUS
956AcpiInstallGpeBlock (
957 ACPI_HANDLE GpeDevice,
958 ACPI_GENERIC_ADDRESS *GpeBlockAddress,
959 UINT32 RegisterCount,
486 UINT32 InterruptNumber);
960 UINT32 InterruptNumber))
487
961
962ACPI_HW_DEPENDENT_RETURN_STATUS (
488ACPI_STATUS
489AcpiRemoveGpeBlock (
963ACPI_STATUS
964AcpiRemoveGpeBlock (
490 ACPI_HANDLE GpeDevice);
965 ACPI_HANDLE GpeDevice))
491
492
493/*
494 * Resource interfaces
495 */
496typedef
497ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
498 ACPI_RESOURCE *Resource,
499 void *Context);
500
966
967
968/*
969 * Resource interfaces
970 */
971typedef
972ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
973 ACPI_RESOURCE *Resource,
974 void *Context);
975
976ACPI_EXTERNAL_RETURN_STATUS (
501ACPI_STATUS
502AcpiGetVendorResource (
503 ACPI_HANDLE Device,
504 char *Name,
505 ACPI_VENDOR_UUID *Uuid,
977ACPI_STATUS
978AcpiGetVendorResource (
979 ACPI_HANDLE Device,
980 char *Name,
981 ACPI_VENDOR_UUID *Uuid,
506 ACPI_BUFFER *RetBuffer);
982 ACPI_BUFFER *RetBuffer))
507
983
984ACPI_EXTERNAL_RETURN_STATUS (
508ACPI_STATUS
509AcpiGetCurrentResources (
510 ACPI_HANDLE Device,
985ACPI_STATUS
986AcpiGetCurrentResources (
987 ACPI_HANDLE Device,
511 ACPI_BUFFER *RetBuffer);
988 ACPI_BUFFER *RetBuffer))
512
989
990ACPI_EXTERNAL_RETURN_STATUS (
513ACPI_STATUS
514AcpiGetPossibleResources (
515 ACPI_HANDLE Device,
991ACPI_STATUS
992AcpiGetPossibleResources (
993 ACPI_HANDLE Device,
516 ACPI_BUFFER *RetBuffer);
994 ACPI_BUFFER *RetBuffer))
517
995
996ACPI_EXTERNAL_RETURN_STATUS (
518ACPI_STATUS
997ACPI_STATUS
998AcpiGetEventResources (
999 ACPI_HANDLE DeviceHandle,
1000 ACPI_BUFFER *RetBuffer))
1001
1002ACPI_EXTERNAL_RETURN_STATUS (
1003ACPI_STATUS
1004AcpiWalkResourceBuffer (
1005 ACPI_BUFFER *Buffer,
1006 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1007 void *Context))
1008
1009ACPI_EXTERNAL_RETURN_STATUS (
1010ACPI_STATUS
519AcpiWalkResources (
520 ACPI_HANDLE Device,
521 char *Name,
522 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
1011AcpiWalkResources (
1012 ACPI_HANDLE Device,
1013 char *Name,
1014 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
523 void *Context);
1015 void *Context))
524
1016
1017ACPI_EXTERNAL_RETURN_STATUS (
525ACPI_STATUS
526AcpiSetCurrentResources (
527 ACPI_HANDLE Device,
1018ACPI_STATUS
1019AcpiSetCurrentResources (
1020 ACPI_HANDLE Device,
528 ACPI_BUFFER *InBuffer);
1021 ACPI_BUFFER *InBuffer))
529
1022
1023ACPI_EXTERNAL_RETURN_STATUS (
530ACPI_STATUS
531AcpiGetIrqRoutingTable (
532 ACPI_HANDLE Device,
1024ACPI_STATUS
1025AcpiGetIrqRoutingTable (
1026 ACPI_HANDLE Device,
533 ACPI_BUFFER *RetBuffer);
1027 ACPI_BUFFER *RetBuffer))
534
1028
1029ACPI_EXTERNAL_RETURN_STATUS (
535ACPI_STATUS
536AcpiResourceToAddress64 (
537 ACPI_RESOURCE *Resource,
1030ACPI_STATUS
1031AcpiResourceToAddress64 (
1032 ACPI_RESOURCE *Resource,
538 ACPI_RESOURCE_ADDRESS64 *Out);
1033 ACPI_RESOURCE_ADDRESS64 *Out))
539
1034
1035ACPI_EXTERNAL_RETURN_STATUS (
1036ACPI_STATUS
1037AcpiBufferToResource (
1038 UINT8 *AmlBuffer,
1039 UINT16 AmlBufferLength,
1040 ACPI_RESOURCE **ResourcePtr))
540
1041
1042
541/*
542 * Hardware (ACPI device) interfaces
543 */
1043/*
1044 * Hardware (ACPI device) interfaces
1045 */
1046ACPI_EXTERNAL_RETURN_STATUS (
544ACPI_STATUS
545AcpiReset (
1047ACPI_STATUS
1048AcpiReset (
546 void);
1049 void))
547
1050
1051ACPI_EXTERNAL_RETURN_STATUS (
548ACPI_STATUS
549AcpiRead (
550 UINT64 *Value,
1052ACPI_STATUS
1053AcpiRead (
1054 UINT64 *Value,
551 ACPI_GENERIC_ADDRESS *Reg);
1055 ACPI_GENERIC_ADDRESS *Reg))
552
1056
1057ACPI_EXTERNAL_RETURN_STATUS (
553ACPI_STATUS
554AcpiWrite (
555 UINT64 Value,
1058ACPI_STATUS
1059AcpiWrite (
1060 UINT64 Value,
556 ACPI_GENERIC_ADDRESS *Reg);
1061 ACPI_GENERIC_ADDRESS *Reg))
557
1062
1063ACPI_HW_DEPENDENT_RETURN_STATUS (
558ACPI_STATUS
559AcpiReadBitRegister (
560 UINT32 RegisterId,
1064ACPI_STATUS
1065AcpiReadBitRegister (
1066 UINT32 RegisterId,
561 UINT32 *ReturnValue);
1067 UINT32 *ReturnValue))
562
1068
1069ACPI_HW_DEPENDENT_RETURN_STATUS (
563ACPI_STATUS
564AcpiWriteBitRegister (
565 UINT32 RegisterId,
1070ACPI_STATUS
1071AcpiWriteBitRegister (
1072 UINT32 RegisterId,
566 UINT32 Value);
1073 UINT32 Value))
567
1074
1075
1076/*
1077 * Sleep/Wake interfaces
1078 */
1079ACPI_EXTERNAL_RETURN_STATUS (
568ACPI_STATUS
569AcpiGetSleepTypeData (
570 UINT8 SleepState,
571 UINT8 *Slp_TypA,
1080ACPI_STATUS
1081AcpiGetSleepTypeData (
1082 UINT8 SleepState,
1083 UINT8 *Slp_TypA,
572 UINT8 *Slp_TypB);
1084 UINT8 *Slp_TypB))
573
1085
1086ACPI_EXTERNAL_RETURN_STATUS (
574ACPI_STATUS
575AcpiEnterSleepStatePrep (
1087ACPI_STATUS
1088AcpiEnterSleepStatePrep (
576 UINT8 SleepState);
1089 UINT8 SleepState))
577
1090
1091ACPI_EXTERNAL_RETURN_STATUS (
578ACPI_STATUS
579AcpiEnterSleepState (
1092ACPI_STATUS
1093AcpiEnterSleepState (
580 UINT8 SleepState);
1094 UINT8 SleepState))
581
1095
1096ACPI_HW_DEPENDENT_RETURN_STATUS (
582ACPI_STATUS
583AcpiEnterSleepStateS4bios (
1097ACPI_STATUS
1098AcpiEnterSleepStateS4bios (
584 void);
1099 void))
585
1100
1101ACPI_EXTERNAL_RETURN_STATUS (
586ACPI_STATUS
1102ACPI_STATUS
1103AcpiLeaveSleepStatePrep (
1104 UINT8 SleepState))
1105
1106ACPI_EXTERNAL_RETURN_STATUS (
1107ACPI_STATUS
587AcpiLeaveSleepState (
1108AcpiLeaveSleepState (
588 UINT8 SleepState)
589 ;
1109 UINT8 SleepState))
1110
1111ACPI_HW_DEPENDENT_RETURN_STATUS (
590ACPI_STATUS
591AcpiSetFirmwareWakingVector (
1112ACPI_STATUS
1113AcpiSetFirmwareWakingVector (
592 UINT32 PhysicalAddress);
1114 ACPI_PHYSICAL_ADDRESS PhysicalAddress,
1115 ACPI_PHYSICAL_ADDRESS PhysicalAddress64))
593
1116
594#if ACPI_MACHINE_WIDTH == 64
1117
1118/*
1119 * ACPI Timer interfaces
1120 */
1121ACPI_HW_DEPENDENT_RETURN_STATUS (
595ACPI_STATUS
1122ACPI_STATUS
596AcpiSetFirmwareWakingVector64 (
597 UINT64 PhysicalAddress);
598#endif
1123AcpiGetTimerResolution (
1124 UINT32 *Resolution))
599
1125
1126ACPI_HW_DEPENDENT_RETURN_STATUS (
1127ACPI_STATUS
1128AcpiGetTimer (
1129 UINT32 *Ticks))
600
1130
1131ACPI_HW_DEPENDENT_RETURN_STATUS (
1132ACPI_STATUS
1133AcpiGetTimerDuration (
1134 UINT32 StartTicks,
1135 UINT32 EndTicks,
1136 UINT32 *TimeElapsed))
1137
1138
601/*
602 * Error/Warning output
603 */
1139/*
1140 * Error/Warning output
1141 */
1142ACPI_MSG_DEPENDENT_RETURN_VOID (
1143ACPI_PRINTF_LIKE(3)
604void ACPI_INTERNAL_VAR_XFACE
605AcpiError (
606 const char *ModuleName,
607 UINT32 LineNumber,
608 const char *Format,
1144void ACPI_INTERNAL_VAR_XFACE
1145AcpiError (
1146 const char *ModuleName,
1147 UINT32 LineNumber,
1148 const char *Format,
609 ...) ACPI_PRINTF_LIKE(3);
1149 ...))
610
1150
1151ACPI_MSG_DEPENDENT_RETURN_VOID (
1152ACPI_PRINTF_LIKE(4)
611void ACPI_INTERNAL_VAR_XFACE
612AcpiException (
613 const char *ModuleName,
614 UINT32 LineNumber,
615 ACPI_STATUS Status,
616 const char *Format,
1153void ACPI_INTERNAL_VAR_XFACE
1154AcpiException (
1155 const char *ModuleName,
1156 UINT32 LineNumber,
1157 ACPI_STATUS Status,
1158 const char *Format,
617 ...) ACPI_PRINTF_LIKE(4);
1159 ...))
618
1160
1161ACPI_MSG_DEPENDENT_RETURN_VOID (
1162ACPI_PRINTF_LIKE(3)
619void ACPI_INTERNAL_VAR_XFACE
620AcpiWarning (
621 const char *ModuleName,
622 UINT32 LineNumber,
623 const char *Format,
1163void ACPI_INTERNAL_VAR_XFACE
1164AcpiWarning (
1165 const char *ModuleName,
1166 UINT32 LineNumber,
1167 const char *Format,
624 ...) ACPI_PRINTF_LIKE(3);
1168 ...))
625
1169
1170ACPI_MSG_DEPENDENT_RETURN_VOID (
1171ACPI_PRINTF_LIKE(1)
626void ACPI_INTERNAL_VAR_XFACE
627AcpiInfo (
1172void ACPI_INTERNAL_VAR_XFACE
1173AcpiInfo (
1174 const char *Format,
1175 ...))
1176
1177ACPI_MSG_DEPENDENT_RETURN_VOID (
1178ACPI_PRINTF_LIKE(3)
1179void ACPI_INTERNAL_VAR_XFACE
1180AcpiBiosError (
628 const char *ModuleName,
629 UINT32 LineNumber,
630 const char *Format,
1181 const char *ModuleName,
1182 UINT32 LineNumber,
1183 const char *Format,
631 ...) ACPI_PRINTF_LIKE(3);
1184 ...))
632
1185
1186ACPI_MSG_DEPENDENT_RETURN_VOID (
1187ACPI_PRINTF_LIKE(3)
1188void ACPI_INTERNAL_VAR_XFACE
1189AcpiBiosWarning (
1190 const char *ModuleName,
1191 UINT32 LineNumber,
1192 const char *Format,
1193 ...))
633
1194
1195
634/*
635 * Debug output
636 */
1196/*
1197 * Debug output
1198 */
637#ifdef ACPI_DEBUG_OUTPUT
638
1199ACPI_DBG_DEPENDENT_RETURN_VOID (
1200ACPI_PRINTF_LIKE(6)
639void ACPI_INTERNAL_VAR_XFACE
640AcpiDebugPrint (
641 UINT32 RequestedDebugLevel,
642 UINT32 LineNumber,
643 const char *FunctionName,
644 const char *ModuleName,
645 UINT32 ComponentId,
646 const char *Format,
1201void ACPI_INTERNAL_VAR_XFACE
1202AcpiDebugPrint (
1203 UINT32 RequestedDebugLevel,
1204 UINT32 LineNumber,
1205 const char *FunctionName,
1206 const char *ModuleName,
1207 UINT32 ComponentId,
1208 const char *Format,
647 ...) ACPI_PRINTF_LIKE(6);
1209 ...))
648
1210
1211ACPI_DBG_DEPENDENT_RETURN_VOID (
1212ACPI_PRINTF_LIKE(6)
649void ACPI_INTERNAL_VAR_XFACE
650AcpiDebugPrintRaw (
651 UINT32 RequestedDebugLevel,
652 UINT32 LineNumber,
653 const char *FunctionName,
654 const char *ModuleName,
655 UINT32 ComponentId,
656 const char *Format,
1213void ACPI_INTERNAL_VAR_XFACE
1214AcpiDebugPrintRaw (
1215 UINT32 RequestedDebugLevel,
1216 UINT32 LineNumber,
1217 const char *FunctionName,
1218 const char *ModuleName,
1219 UINT32 ComponentId,
1220 const char *Format,
657 ...) ACPI_PRINTF_LIKE(6);
658#endif
1221 ...))
659
1222
1223ACPI_DBG_DEPENDENT_RETURN_VOID (
1224void
1225AcpiTracePoint (
1226 ACPI_TRACE_EVENT_TYPE Type,
1227 BOOLEAN Begin,
1228 UINT8 *Aml,
1229 char *Pathname))
1230
1231ACPI_APP_DEPENDENT_RETURN_VOID (
1232ACPI_PRINTF_LIKE(1)
1233void ACPI_INTERNAL_VAR_XFACE
1234AcpiLogError (
1235 const char *Format,
1236 ...))
1237
1238ACPI_STATUS
1239AcpiInitializeDebugger (
1240 void);
1241
1242void
1243AcpiTerminateDebugger (
1244 void);
1245
1246void
1247AcpiSetDebuggerThreadId (
1248 ACPI_THREAD_ID ThreadId);
1249
660#endif /* __ACXFACE_H__ */
1250#endif /* __ACXFACE_H__ */