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