acpixf.h revision 1.6 1 /******************************************************************************
2 *
3 * Name: acpixf.h - External interfaces to the ACPI subsystem
4 *
5 *****************************************************************************/
6
7 /*
8 * Copyright (C) 2000 - 2013, Intel Corp.
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.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
29 *
30 * NO WARRANTY
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
42 */
43
44
45 #ifndef __ACXFACE_H__
46 #define __ACXFACE_H__
47
48 /* Current ACPICA subsystem version in YYYYMMDD format */
49
50 #define ACPI_CA_VERSION 0x20131218
51
52 #include "acconfig.h"
53 #include "actypes.h"
54 #include "actbl.h"
55 #include "acbuffer.h"
56
57 /*
58 * Globals that are publically available
59 */
60 extern UINT32 AcpiCurrentGpeCount;
61 extern ACPI_TABLE_FADT AcpiGbl_FADT;
62 extern BOOLEAN AcpiGbl_SystemAwakeAndRunning;
63 extern BOOLEAN AcpiGbl_ReducedHardware; /* ACPI 5.0 */
64 extern UINT8 AcpiGbl_OsiData;
65
66 /* Runtime configuration of debug print levels */
67
68 extern UINT32 AcpiDbgLevel;
69 extern UINT32 AcpiDbgLayer;
70
71 /* ACPICA runtime options */
72
73 extern UINT8 AcpiGbl_AllMethodsSerialized;
74 extern UINT8 AcpiGbl_CopyDsdtLocally;
75 extern UINT8 AcpiGbl_CreateOsiMethod;
76 extern UINT8 AcpiGbl_DisableAutoRepair;
77 extern UINT8 AcpiGbl_DisableSsdtTableLoad;
78 extern UINT8 AcpiGbl_DoNotUseXsdt;
79 extern _Bool AcpiGbl_EnableAmlDebugObject;
80 extern UINT8 AcpiGbl_EnableInterpreterSlack;
81 extern UINT32 AcpiGbl_TraceFlags;
82 extern ACPI_NAME AcpiGbl_TraceMethodName;
83 extern UINT8 AcpiGbl_TruncateIoAddresses;
84 extern UINT8 AcpiGbl_Use32BitFadtAddresses;
85 extern UINT8 AcpiGbl_UseDefaultRegisterWidths;
86
87
88 /*
89 * Hardware-reduced prototypes. All interfaces that use these macros will
90 * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
91 * is set to TRUE.
92 */
93 #if (!ACPI_REDUCED_HARDWARE)
94 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
95 Prototype;
96
97 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
98 Prototype;
99
100 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
101 Prototype;
102
103 #else
104 #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
105 static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
106
107 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
108 static ACPI_INLINE Prototype {return(AE_OK);}
109
110 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
111 static ACPI_INLINE Prototype {return;}
112
113 #endif /* !ACPI_REDUCED_HARDWARE */
114
115
116 /*
117 * Initialization
118 */
119 ACPI_STATUS
120 AcpiInitializeTables (
121 ACPI_TABLE_DESC *InitialStorage,
122 UINT32 InitialTableCount,
123 BOOLEAN AllowResize);
124
125 ACPI_STATUS
126 AcpiInitializeSubsystem (
127 void);
128
129 ACPI_STATUS
130 AcpiEnableSubsystem (
131 UINT32 Flags);
132
133 ACPI_STATUS
134 AcpiInitializeObjects (
135 UINT32 Flags);
136
137 ACPI_STATUS
138 AcpiTerminate (
139 void);
140
141
142 /*
143 * Miscellaneous global interfaces
144 */
145 ACPI_HW_DEPENDENT_RETURN_STATUS (
146 ACPI_STATUS
147 AcpiEnable (
148 void))
149
150 ACPI_HW_DEPENDENT_RETURN_STATUS (
151 ACPI_STATUS
152 AcpiDisable (
153 void))
154
155 ACPI_STATUS
156 AcpiSubsystemStatus (
157 void);
158
159 ACPI_STATUS
160 AcpiGetSystemInfo (
161 ACPI_BUFFER *RetBuffer);
162
163 ACPI_STATUS
164 AcpiGetStatistics (
165 ACPI_STATISTICS *Stats);
166
167 const char *
168 AcpiFormatException (
169 ACPI_STATUS Exception);
170
171 ACPI_STATUS
172 AcpiPurgeCachedObjects (
173 void);
174
175 ACPI_STATUS
176 AcpiInstallInterface (
177 ACPI_STRING InterfaceName);
178
179 ACPI_STATUS
180 AcpiRemoveInterface (
181 ACPI_STRING InterfaceName);
182
183 ACPI_STATUS
184 AcpiUpdateInterfaces (
185 UINT8 Action);
186
187 UINT32
188 AcpiCheckAddressRange (
189 ACPI_ADR_SPACE_TYPE SpaceId,
190 ACPI_PHYSICAL_ADDRESS Address,
191 ACPI_SIZE Length,
192 BOOLEAN Warn);
193
194 ACPI_STATUS
195 AcpiDecodePldBuffer (
196 UINT8 *InBuffer,
197 ACPI_SIZE Length,
198 ACPI_PLD_INFO **ReturnBuffer);
199
200
201 /*
202 * ACPI table load/unload interfaces
203 */
204 ACPI_STATUS
205 AcpiLoadTable (
206 ACPI_TABLE_HEADER *Table);
207
208 ACPI_STATUS
209 AcpiUnloadParentTable (
210 ACPI_HANDLE Object);
211
212 ACPI_STATUS
213 AcpiLoadTables (
214 void);
215
216
217 /*
218 * ACPI table manipulation interfaces
219 */
220 ACPI_STATUS
221 AcpiReallocateRootTable (
222 void);
223
224 ACPI_STATUS
225 AcpiFindRootPointer (
226 ACPI_SIZE *RsdpAddress);
227
228 ACPI_STATUS
229 AcpiGetTableHeader (
230 ACPI_CONST_STRING Signature,
231 UINT32 Instance,
232 ACPI_TABLE_HEADER *OutTableHeader);
233
234 ACPI_STATUS
235 AcpiGetTable (
236 ACPI_CONST_STRING Signature,
237 UINT32 Instance,
238 ACPI_TABLE_HEADER **OutTable);
239
240 ACPI_STATUS
241 AcpiGetTableByIndex (
242 UINT32 TableIndex,
243 ACPI_TABLE_HEADER **OutTable);
244
245 ACPI_STATUS
246 AcpiInstallTableHandler (
247 ACPI_TABLE_HANDLER Handler,
248 void *Context);
249
250 ACPI_STATUS
251 AcpiRemoveTableHandler (
252 ACPI_TABLE_HANDLER Handler);
253
254
255 /*
256 * Namespace and name interfaces
257 */
258 ACPI_STATUS
259 AcpiWalkNamespace (
260 ACPI_OBJECT_TYPE Type,
261 ACPI_HANDLE StartObject,
262 UINT32 MaxDepth,
263 ACPI_WALK_CALLBACK DescendingCallback,
264 ACPI_WALK_CALLBACK AscendingCallback,
265 void *Context,
266 void **ReturnValue);
267
268 ACPI_STATUS
269 AcpiGetDevices (
270 char *HID,
271 ACPI_WALK_CALLBACK UserFunction,
272 void *Context,
273 void **ReturnValue);
274
275 ACPI_STATUS
276 AcpiGetName (
277 ACPI_HANDLE Object,
278 UINT32 NameType,
279 ACPI_BUFFER *RetPathPtr);
280
281 ACPI_STATUS
282 AcpiGetHandle (
283 ACPI_HANDLE Parent,
284 ACPI_CONST_STRING Pathname,
285 ACPI_HANDLE *RetHandle);
286
287 ACPI_STATUS
288 AcpiAttachData (
289 ACPI_HANDLE Object,
290 ACPI_OBJECT_HANDLER Handler,
291 void *Data);
292
293 ACPI_STATUS
294 AcpiDetachData (
295 ACPI_HANDLE Object,
296 ACPI_OBJECT_HANDLER Handler);
297
298 ACPI_STATUS
299 AcpiGetData (
300 ACPI_HANDLE Object,
301 ACPI_OBJECT_HANDLER Handler,
302 void **Data);
303
304 ACPI_STATUS
305 AcpiDebugTrace (
306 char *Name,
307 UINT32 DebugLevel,
308 UINT32 DebugLayer,
309 UINT32 Flags);
310
311
312 /*
313 * Object manipulation and enumeration
314 */
315 ACPI_STATUS
316 AcpiEvaluateObject (
317 ACPI_HANDLE Object,
318 ACPI_CONST_STRING Pathname,
319 ACPI_OBJECT_LIST *ParameterObjects,
320 ACPI_BUFFER *ReturnObjectBuffer);
321
322 ACPI_STATUS
323 AcpiEvaluateObjectTyped (
324 ACPI_HANDLE Object,
325 ACPI_CONST_STRING Pathname,
326 ACPI_OBJECT_LIST *ExternalParams,
327 ACPI_BUFFER *ReturnBuffer,
328 ACPI_OBJECT_TYPE ReturnType);
329
330 ACPI_STATUS
331 AcpiGetObjectInfo (
332 ACPI_HANDLE Object,
333 ACPI_DEVICE_INFO **ReturnBuffer);
334
335 ACPI_STATUS
336 AcpiInstallMethod (
337 UINT8 *Buffer);
338
339 ACPI_STATUS
340 AcpiGetNextObject (
341 ACPI_OBJECT_TYPE Type,
342 ACPI_HANDLE Parent,
343 ACPI_HANDLE Child,
344 ACPI_HANDLE *OutHandle);
345
346 ACPI_STATUS
347 AcpiGetType (
348 ACPI_HANDLE Object,
349 ACPI_OBJECT_TYPE *OutType);
350
351 ACPI_STATUS
352 AcpiGetParent (
353 ACPI_HANDLE Object,
354 ACPI_HANDLE *OutHandle);
355
356
357 /*
358 * Handler interfaces
359 */
360 ACPI_STATUS
361 AcpiInstallInitializationHandler (
362 ACPI_INIT_HANDLER Handler,
363 UINT32 Function);
364
365 ACPI_HW_DEPENDENT_RETURN_STATUS (
366 ACPI_STATUS
367 AcpiInstallSciHandler (
368 ACPI_SCI_HANDLER Address,
369 void *Context))
370
371 ACPI_HW_DEPENDENT_RETURN_STATUS (
372 ACPI_STATUS
373 AcpiRemoveSciHandler (
374 ACPI_SCI_HANDLER Address))
375
376 ACPI_HW_DEPENDENT_RETURN_STATUS (
377 ACPI_STATUS
378 AcpiInstallGlobalEventHandler (
379 ACPI_GBL_EVENT_HANDLER Handler,
380 void *Context))
381
382 ACPI_HW_DEPENDENT_RETURN_STATUS (
383 ACPI_STATUS
384 AcpiInstallFixedEventHandler (
385 UINT32 AcpiEvent,
386 ACPI_EVENT_HANDLER Handler,
387 void *Context))
388
389 ACPI_HW_DEPENDENT_RETURN_STATUS (
390 ACPI_STATUS
391 AcpiRemoveFixedEventHandler (
392 UINT32 AcpiEvent,
393 ACPI_EVENT_HANDLER Handler))
394
395 ACPI_HW_DEPENDENT_RETURN_STATUS (
396 ACPI_STATUS
397 AcpiInstallGpeHandler (
398 ACPI_HANDLE GpeDevice,
399 UINT32 GpeNumber,
400 UINT32 Type,
401 ACPI_GPE_HANDLER Address,
402 void *Context))
403
404 ACPI_HW_DEPENDENT_RETURN_STATUS (
405 ACPI_STATUS
406 AcpiRemoveGpeHandler (
407 ACPI_HANDLE GpeDevice,
408 UINT32 GpeNumber,
409 ACPI_GPE_HANDLER Address))
410
411 ACPI_STATUS
412 AcpiInstallNotifyHandler (
413 ACPI_HANDLE Device,
414 UINT32 HandlerType,
415 ACPI_NOTIFY_HANDLER Handler,
416 void *Context);
417
418 ACPI_STATUS
419 AcpiRemoveNotifyHandler (
420 ACPI_HANDLE Device,
421 UINT32 HandlerType,
422 ACPI_NOTIFY_HANDLER Handler);
423
424 ACPI_STATUS
425 AcpiInstallAddressSpaceHandler (
426 ACPI_HANDLE Device,
427 ACPI_ADR_SPACE_TYPE SpaceId,
428 ACPI_ADR_SPACE_HANDLER Handler,
429 ACPI_ADR_SPACE_SETUP Setup,
430 void *Context);
431
432 ACPI_STATUS
433 AcpiRemoveAddressSpaceHandler (
434 ACPI_HANDLE Device,
435 ACPI_ADR_SPACE_TYPE SpaceId,
436 ACPI_ADR_SPACE_HANDLER Handler);
437
438 ACPI_STATUS
439 AcpiInstallExceptionHandler (
440 ACPI_EXCEPTION_HANDLER Handler);
441
442 ACPI_STATUS
443 AcpiInstallInterfaceHandler (
444 ACPI_INTERFACE_HANDLER Handler);
445
446
447 /*
448 * Global Lock interfaces
449 */
450 ACPI_HW_DEPENDENT_RETURN_STATUS (
451 ACPI_STATUS
452 AcpiAcquireGlobalLock (
453 UINT16 Timeout,
454 UINT32 *Handle))
455
456 ACPI_HW_DEPENDENT_RETURN_STATUS (
457 ACPI_STATUS
458 AcpiReleaseGlobalLock (
459 UINT32 Handle))
460
461
462 /*
463 * Interfaces to AML mutex objects
464 */
465 ACPI_STATUS
466 AcpiAcquireMutex (
467 ACPI_HANDLE Handle,
468 ACPI_STRING Pathname,
469 UINT16 Timeout);
470
471 ACPI_STATUS
472 AcpiReleaseMutex (
473 ACPI_HANDLE Handle,
474 ACPI_STRING Pathname);
475
476
477 /*
478 * Fixed Event interfaces
479 */
480 ACPI_HW_DEPENDENT_RETURN_STATUS (
481 ACPI_STATUS
482 AcpiEnableEvent (
483 UINT32 Event,
484 UINT32 Flags))
485
486 ACPI_HW_DEPENDENT_RETURN_STATUS (
487 ACPI_STATUS
488 AcpiDisableEvent (
489 UINT32 Event,
490 UINT32 Flags))
491
492 ACPI_HW_DEPENDENT_RETURN_STATUS (
493 ACPI_STATUS
494 AcpiClearEvent (
495 UINT32 Event))
496
497 ACPI_HW_DEPENDENT_RETURN_STATUS (
498 ACPI_STATUS
499 AcpiGetEventStatus (
500 UINT32 Event,
501 ACPI_EVENT_STATUS *EventStatus))
502
503
504 /*
505 * General Purpose Event (GPE) Interfaces
506 */
507 ACPI_HW_DEPENDENT_RETURN_STATUS (
508 ACPI_STATUS
509 AcpiUpdateAllGpes (
510 void))
511
512 ACPI_HW_DEPENDENT_RETURN_STATUS (
513 ACPI_STATUS
514 AcpiEnableGpe (
515 ACPI_HANDLE GpeDevice,
516 UINT32 GpeNumber))
517
518 ACPI_HW_DEPENDENT_RETURN_STATUS (
519 ACPI_STATUS
520 AcpiDisableGpe (
521 ACPI_HANDLE GpeDevice,
522 UINT32 GpeNumber))
523
524 ACPI_HW_DEPENDENT_RETURN_STATUS (
525 ACPI_STATUS
526 AcpiClearGpe (
527 ACPI_HANDLE GpeDevice,
528 UINT32 GpeNumber))
529
530 ACPI_HW_DEPENDENT_RETURN_STATUS (
531 ACPI_STATUS
532 AcpiSetGpe (
533 ACPI_HANDLE GpeDevice,
534 UINT32 GpeNumber,
535 UINT8 Action))
536
537 ACPI_HW_DEPENDENT_RETURN_STATUS (
538 ACPI_STATUS
539 AcpiFinishGpe (
540 ACPI_HANDLE GpeDevice,
541 UINT32 GpeNumber))
542
543 ACPI_HW_DEPENDENT_RETURN_STATUS (
544 ACPI_STATUS
545 AcpiSetupGpeForWake (
546 ACPI_HANDLE ParentDevice,
547 ACPI_HANDLE GpeDevice,
548 UINT32 GpeNumber))
549
550 ACPI_HW_DEPENDENT_RETURN_STATUS (
551 ACPI_STATUS
552 AcpiSetGpeWakeMask (
553 ACPI_HANDLE GpeDevice,
554 UINT32 GpeNumber,
555 UINT8 Action))
556
557 ACPI_HW_DEPENDENT_RETURN_STATUS (
558 ACPI_STATUS
559 AcpiGetGpeStatus (
560 ACPI_HANDLE GpeDevice,
561 UINT32 GpeNumber,
562 ACPI_EVENT_STATUS *EventStatus))
563
564 ACPI_HW_DEPENDENT_RETURN_STATUS (
565 ACPI_STATUS
566 AcpiDisableAllGpes (
567 void))
568
569 ACPI_HW_DEPENDENT_RETURN_STATUS (
570 ACPI_STATUS
571 AcpiEnableAllRuntimeGpes (
572 void))
573
574 ACPI_HW_DEPENDENT_RETURN_STATUS (
575 ACPI_STATUS
576 AcpiGetGpeDevice (
577 UINT32 GpeIndex,
578 ACPI_HANDLE *GpeDevice))
579
580 ACPI_HW_DEPENDENT_RETURN_STATUS (
581 ACPI_STATUS
582 AcpiInstallGpeBlock (
583 ACPI_HANDLE GpeDevice,
584 ACPI_GENERIC_ADDRESS *GpeBlockAddress,
585 UINT32 RegisterCount,
586 UINT32 InterruptNumber))
587
588 ACPI_HW_DEPENDENT_RETURN_STATUS (
589 ACPI_STATUS
590 AcpiRemoveGpeBlock (
591 ACPI_HANDLE GpeDevice))
592
593
594 /*
595 * Resource interfaces
596 */
597 typedef
598 ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
599 ACPI_RESOURCE *Resource,
600 void *Context);
601
602 ACPI_STATUS
603 AcpiGetVendorResource (
604 ACPI_HANDLE Device,
605 char *Name,
606 ACPI_VENDOR_UUID *Uuid,
607 ACPI_BUFFER *RetBuffer);
608
609 ACPI_STATUS
610 AcpiGetCurrentResources (
611 ACPI_HANDLE Device,
612 ACPI_BUFFER *RetBuffer);
613
614 ACPI_STATUS
615 AcpiGetPossibleResources (
616 ACPI_HANDLE Device,
617 ACPI_BUFFER *RetBuffer);
618
619 ACPI_STATUS
620 AcpiGetEventResources (
621 ACPI_HANDLE DeviceHandle,
622 ACPI_BUFFER *RetBuffer);
623
624 ACPI_STATUS
625 AcpiWalkResourceBuffer (
626 ACPI_BUFFER *Buffer,
627 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
628 void *Context);
629
630 ACPI_STATUS
631 AcpiWalkResources (
632 ACPI_HANDLE Device,
633 const char *Name,
634 ACPI_WALK_RESOURCE_CALLBACK UserFunction,
635 void *Context);
636
637 ACPI_STATUS
638 AcpiSetCurrentResources (
639 ACPI_HANDLE Device,
640 ACPI_BUFFER *InBuffer);
641
642 ACPI_STATUS
643 AcpiGetIrqRoutingTable (
644 ACPI_HANDLE Device,
645 ACPI_BUFFER *RetBuffer);
646
647 ACPI_STATUS
648 AcpiResourceToAddress64 (
649 ACPI_RESOURCE *Resource,
650 ACPI_RESOURCE_ADDRESS64 *Out);
651
652 ACPI_STATUS
653 AcpiBufferToResource (
654 UINT8 *AmlBuffer,
655 UINT16 AmlBufferLength,
656 ACPI_RESOURCE **ResourcePtr);
657
658
659 /*
660 * Hardware (ACPI device) interfaces
661 */
662 ACPI_STATUS
663 AcpiReset (
664 void);
665
666 ACPI_STATUS
667 AcpiRead (
668 UINT64 *Value,
669 ACPI_GENERIC_ADDRESS *Reg);
670
671 ACPI_STATUS
672 AcpiWrite (
673 UINT64 Value,
674 ACPI_GENERIC_ADDRESS *Reg);
675
676 ACPI_HW_DEPENDENT_RETURN_STATUS (
677 ACPI_STATUS
678 AcpiReadBitRegister (
679 UINT32 RegisterId,
680 UINT32 *ReturnValue))
681
682 ACPI_HW_DEPENDENT_RETURN_STATUS (
683 ACPI_STATUS
684 AcpiWriteBitRegister (
685 UINT32 RegisterId,
686 UINT32 Value))
687
688
689 /*
690 * Sleep/Wake interfaces
691 */
692 ACPI_STATUS
693 AcpiGetSleepTypeData (
694 UINT8 SleepState,
695 UINT8 *Slp_TypA,
696 UINT8 *Slp_TypB);
697
698 ACPI_STATUS
699 AcpiEnterSleepStatePrep (
700 UINT8 SleepState);
701
702 ACPI_STATUS
703 AcpiEnterSleepState (
704 UINT8 SleepState);
705
706 ACPI_HW_DEPENDENT_RETURN_STATUS (
707 ACPI_STATUS
708 AcpiEnterSleepStateS4bios (
709 void))
710
711 ACPI_STATUS
712 AcpiLeaveSleepStatePrep (
713 UINT8 SleepState);
714
715 ACPI_STATUS
716 AcpiLeaveSleepState (
717 UINT8 SleepState);
718
719 ACPI_HW_DEPENDENT_RETURN_STATUS (
720 ACPI_STATUS
721 AcpiSetFirmwareWakingVector (
722 UINT32 PhysicalAddress))
723
724 #if ACPI_MACHINE_WIDTH == 64
725 ACPI_HW_DEPENDENT_RETURN_STATUS (
726 ACPI_STATUS
727 AcpiSetFirmwareWakingVector64 (
728 UINT64 PhysicalAddress))
729 #endif
730
731
732 /*
733 * ACPI Timer interfaces
734 */
735 ACPI_HW_DEPENDENT_RETURN_STATUS (
736 ACPI_STATUS
737 AcpiGetTimerResolution (
738 UINT32 *Resolution))
739
740 ACPI_HW_DEPENDENT_RETURN_STATUS (
741 ACPI_STATUS
742 AcpiGetTimer (
743 UINT32 *Ticks))
744
745 ACPI_HW_DEPENDENT_RETURN_STATUS (
746 ACPI_STATUS
747 AcpiGetTimerDuration (
748 UINT32 StartTicks,
749 UINT32 EndTicks,
750 UINT32 *TimeElapsed))
751
752
753 /*
754 * Error/Warning output
755 */
756 ACPI_PRINTF_LIKE(3)
757 void ACPI_INTERNAL_VAR_XFACE
758 AcpiError (
759 const char *ModuleName,
760 UINT32 LineNumber,
761 const char *Format,
762 ...);
763
764 ACPI_PRINTF_LIKE(4)
765 void ACPI_INTERNAL_VAR_XFACE
766 AcpiException (
767 const char *ModuleName,
768 UINT32 LineNumber,
769 ACPI_STATUS Status,
770 const char *Format,
771 ...);
772
773 ACPI_PRINTF_LIKE(3)
774 void ACPI_INTERNAL_VAR_XFACE
775 AcpiWarning (
776 const char *ModuleName,
777 UINT32 LineNumber,
778 const char *Format,
779 ...);
780
781 ACPI_PRINTF_LIKE(3)
782 void ACPI_INTERNAL_VAR_XFACE
783 AcpiInfo (
784 const char *ModuleName,
785 UINT32 LineNumber,
786 const char *Format,
787 ...);
788
789 ACPI_PRINTF_LIKE(3)
790 void ACPI_INTERNAL_VAR_XFACE
791 AcpiBiosError (
792 const char *ModuleName,
793 UINT32 LineNumber,
794 const char *Format,
795 ...);
796
797 ACPI_PRINTF_LIKE(3)
798 void ACPI_INTERNAL_VAR_XFACE
799 AcpiBiosWarning (
800 const char *ModuleName,
801 UINT32 LineNumber,
802 const char *Format,
803 ...);
804
805
806 /*
807 * Debug output
808 */
809 #ifdef ACPI_DEBUG_OUTPUT
810
811 ACPI_PRINTF_LIKE(6)
812 void ACPI_INTERNAL_VAR_XFACE
813 AcpiDebugPrint (
814 UINT32 RequestedDebugLevel,
815 UINT32 LineNumber,
816 const char *FunctionName,
817 const char *ModuleName,
818 UINT32 ComponentId,
819 const char *Format,
820 ...);
821
822 ACPI_PRINTF_LIKE(6)
823 void ACPI_INTERNAL_VAR_XFACE
824 AcpiDebugPrintRaw (
825 UINT32 RequestedDebugLevel,
826 UINT32 LineNumber,
827 const char *FunctionName,
828 const char *ModuleName,
829 UINT32 ComponentId,
830 const char *Format,
831 ...);
832 #endif
833
834 #endif /* __ACXFACE_H__ */
835