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