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