acpixf.h revision 252279
1230557Sjimharris/****************************************************************************** 2230557Sjimharris * 3230557Sjimharris * Name: acpixf.h - External interfaces to the ACPI subsystem 4230557Sjimharris * 5230557Sjimharris *****************************************************************************/ 6230557Sjimharris 7230557Sjimharris/* 8230557Sjimharris * Copyright (C) 2000 - 2013, Intel Corp. 9230557Sjimharris * All rights reserved. 10230557Sjimharris * 11230557Sjimharris * Redistribution and use in source and binary forms, with or without 12230557Sjimharris * modification, are permitted provided that the following conditions 13230557Sjimharris * are met: 14230557Sjimharris * 1. Redistributions of source code must retain the above copyright 15230557Sjimharris * notice, this list of conditions, and the following disclaimer, 16230557Sjimharris * without modification. 17230557Sjimharris * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18230557Sjimharris * substantially similar to the "NO WARRANTY" disclaimer below 19230557Sjimharris * ("Disclaimer") and any redistribution must be conditioned upon 20230557Sjimharris * including a substantially similar Disclaimer requirement for further 21230557Sjimharris * binary redistribution. 22230557Sjimharris * 3. Neither the names of the above-listed copyright holders nor the names 23230557Sjimharris * of any contributors may be used to endorse or promote products derived 24230557Sjimharris * from this software without specific prior written permission. 25230557Sjimharris * 26230557Sjimharris * Alternatively, this software may be distributed under the terms of the 27230557Sjimharris * GNU General Public License ("GPL") version 2 as published by the Free 28230557Sjimharris * Software Foundation. 29230557Sjimharris * 30230557Sjimharris * NO WARRANTY 31230557Sjimharris * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32230557Sjimharris * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33230557Sjimharris * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34230557Sjimharris * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35230557Sjimharris * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36230557Sjimharris * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37230557Sjimharris * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38230557Sjimharris * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39230557Sjimharris * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40230557Sjimharris * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41230557Sjimharris * POSSIBILITY OF SUCH DAMAGES. 42230557Sjimharris */ 43230557Sjimharris 44230557Sjimharris 45230557Sjimharris#ifndef __ACXFACE_H__ 46230557Sjimharris#define __ACXFACE_H__ 47230557Sjimharris 48230557Sjimharris/* Current ACPICA subsystem version in YYYYMMDD format */ 49230557Sjimharris 50230557Sjimharris#define ACPI_CA_VERSION 0x20130626 51230557Sjimharris 52230557Sjimharris#include <contrib/dev/acpica/include/acconfig.h> 53230557Sjimharris#include <contrib/dev/acpica/include/actypes.h> 54230557Sjimharris#include <contrib/dev/acpica/include/actbl.h> 55230557Sjimharris#include <contrib/dev/acpica/include/acbuffer.h> 56230557Sjimharris 57263276Sjimharris/* 58263276Sjimharris * Globals that are publically available 59230557Sjimharris */ 60230557Sjimharrisextern UINT32 AcpiCurrentGpeCount; 61230557Sjimharrisextern ACPI_TABLE_FADT AcpiGbl_FADT; 62230557Sjimharrisextern BOOLEAN AcpiGbl_SystemAwakeAndRunning; 63230557Sjimharrisextern BOOLEAN AcpiGbl_ReducedHardware; /* ACPI 5.0 */ 64230557Sjimharris 65230557Sjimharris/* Runtime configuration of debug print levels */ 66230557Sjimharris 67230557Sjimharrisextern UINT32 AcpiDbgLevel; 68230557Sjimharrisextern UINT32 AcpiDbgLayer; 69230557Sjimharris 70230557Sjimharris/* ACPICA runtime options */ 71230557Sjimharris 72230557Sjimharrisextern UINT8 AcpiGbl_EnableInterpreterSlack; 73230557Sjimharrisextern UINT8 AcpiGbl_AllMethodsSerialized; 74230557Sjimharrisextern UINT8 AcpiGbl_CreateOsiMethod; 75230557Sjimharrisextern UINT8 AcpiGbl_UseDefaultRegisterWidths; 76230557Sjimharrisextern ACPI_NAME AcpiGbl_TraceMethodName; 77230557Sjimharrisextern UINT32 AcpiGbl_TraceFlags; 78230557Sjimharrisextern UINT8 AcpiGbl_EnableAmlDebugObject; 79230557Sjimharrisextern UINT8 AcpiGbl_CopyDsdtLocally; 80230557Sjimharrisextern UINT8 AcpiGbl_TruncateIoAddresses; 81230557Sjimharrisextern UINT8 AcpiGbl_DisableAutoRepair; 82230557Sjimharrisextern UINT8 AcpiGbl_DisableSsdtTableLoad; 83230557Sjimharris 84230557Sjimharris 85230557Sjimharris/* 86230557Sjimharris * Hardware-reduced prototypes. All interfaces that use these macros will 87230557Sjimharris * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag 88230557Sjimharris * is set to TRUE. 89230557Sjimharris */ 90230557Sjimharris#if (!ACPI_REDUCED_HARDWARE) 91230557Sjimharris#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 92230557Sjimharris Prototype; 93230557Sjimharris 94230557Sjimharris#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 95230557Sjimharris Prototype; 96230557Sjimharris 97230557Sjimharris#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 98230557Sjimharris Prototype; 99230557Sjimharris 100230557Sjimharris#else 101230557Sjimharris#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ 102230557Sjimharris static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);} 103230557Sjimharris 104230557Sjimharris#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ 105230557Sjimharris static ACPI_INLINE Prototype {return(AE_OK);} 106230557Sjimharris 107230557Sjimharris#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ 108230557Sjimharris static ACPI_INLINE Prototype {} 109230557Sjimharris 110230557Sjimharris#endif /* !ACPI_REDUCED_HARDWARE */ 111230557Sjimharris 112230557Sjimharris 113230557Sjimharris/* 114230557Sjimharris * Initialization 115230557Sjimharris */ 116230557SjimharrisACPI_STATUS 117230557SjimharrisAcpiInitializeTables ( 118230557Sjimharris ACPI_TABLE_DESC *InitialStorage, 119230557Sjimharris UINT32 InitialTableCount, 120230557Sjimharris BOOLEAN AllowResize); 121230557Sjimharris 122230557SjimharrisACPI_STATUS 123230557SjimharrisAcpiInitializeSubsystem ( 124230557Sjimharris void); 125230557Sjimharris 126230557SjimharrisACPI_STATUS 127230557SjimharrisAcpiEnableSubsystem ( 128230557Sjimharris UINT32 Flags); 129230557Sjimharris 130230557SjimharrisACPI_STATUS 131230557SjimharrisAcpiInitializeObjects ( 132230557Sjimharris UINT32 Flags); 133230557Sjimharris 134230557SjimharrisACPI_STATUS 135230557SjimharrisAcpiTerminate ( 136230557Sjimharris void); 137230557Sjimharris 138230557Sjimharris 139230557Sjimharris/* 140230557Sjimharris * Miscellaneous global interfaces 141230557Sjimharris */ 142230557SjimharrisACPI_HW_DEPENDENT_RETURN_STATUS ( 143230557SjimharrisACPI_STATUS 144230557SjimharrisAcpiEnable ( 145230557Sjimharris void)) 146230557Sjimharris 147230557SjimharrisACPI_HW_DEPENDENT_RETURN_STATUS ( 148230557SjimharrisACPI_STATUS 149230557SjimharrisAcpiDisable ( 150230557Sjimharris void)) 151230557Sjimharris 152230557SjimharrisACPI_STATUS 153263276SjimharrisAcpiSubsystemStatus ( 154263276Sjimharris void); 155263276Sjimharris 156263276SjimharrisACPI_STATUS 157230557SjimharrisAcpiGetSystemInfo ( 158263276Sjimharris ACPI_BUFFER *RetBuffer); 159263276Sjimharris 160230557SjimharrisACPI_STATUS 161230557SjimharrisAcpiGetStatistics ( 162230557Sjimharris ACPI_STATISTICS *Stats); 163230557Sjimharris 164230557Sjimharrisconst char * 165230557SjimharrisAcpiFormatException ( 166230557Sjimharris ACPI_STATUS Exception); 167230557Sjimharris 168230557SjimharrisACPI_STATUS 169230557SjimharrisAcpiPurgeCachedObjects ( 170230557Sjimharris void); 171230557Sjimharris 172230557SjimharrisACPI_STATUS 173230557SjimharrisAcpiInstallInterface ( 174230557Sjimharris ACPI_STRING InterfaceName); 175230557Sjimharris 176230557SjimharrisACPI_STATUS 177230557SjimharrisAcpiRemoveInterface ( 178230557Sjimharris ACPI_STRING InterfaceName); 179230557Sjimharris 180230557SjimharrisUINT32 181230557SjimharrisAcpiCheckAddressRange ( 182230557Sjimharris ACPI_ADR_SPACE_TYPE SpaceId, 183230557Sjimharris ACPI_PHYSICAL_ADDRESS Address, 184230557Sjimharris ACPI_SIZE Length, 185230557Sjimharris BOOLEAN Warn); 186230557Sjimharris 187230557SjimharrisACPI_STATUS 188230557SjimharrisAcpiDecodePldBuffer ( 189230557Sjimharris UINT8 *InBuffer, 190230557Sjimharris ACPI_SIZE Length, 191230557Sjimharris ACPI_PLD_INFO **ReturnBuffer); 192230557Sjimharris 193230557Sjimharris/* 194230557Sjimharris * ACPI Memory management 195230557Sjimharris */ 196230557Sjimharrisvoid * 197230557SjimharrisAcpiAllocate ( 198230557Sjimharris UINT32 Size); 199230557Sjimharris 200230557Sjimharrisvoid * 201230557SjimharrisAcpiCallocate ( 202230557Sjimharris UINT32 Size); 203230557Sjimharris 204230557Sjimharrisvoid 205230557SjimharrisAcpiFree ( 206230557Sjimharris void *Address); 207230557Sjimharris 208230557Sjimharris 209230557Sjimharris/* 210230557Sjimharris * ACPI table load/unload interfaces 211230557Sjimharris */ 212230557SjimharrisACPI_STATUS 213230557SjimharrisAcpiLoadTable ( 214230557Sjimharris ACPI_TABLE_HEADER *Table); 215230557Sjimharris 216230557SjimharrisACPI_STATUS 217230557SjimharrisAcpiUnloadParentTable ( 218230557Sjimharris ACPI_HANDLE Object); 219230557Sjimharris 220230557SjimharrisACPI_STATUS 221230557SjimharrisAcpiLoadTables ( 222230557Sjimharris void); 223230557Sjimharris 224230557Sjimharris 225/* 226 * ACPI table manipulation interfaces 227 */ 228ACPI_STATUS 229AcpiReallocateRootTable ( 230 void); 231 232ACPI_STATUS 233AcpiFindRootPointer ( 234 ACPI_SIZE *RsdpAddress); 235 236ACPI_STATUS 237AcpiGetTableHeader ( 238 ACPI_STRING Signature, 239 UINT32 Instance, 240 ACPI_TABLE_HEADER *OutTableHeader); 241 242ACPI_STATUS 243AcpiGetTable ( 244 ACPI_STRING Signature, 245 UINT32 Instance, 246 ACPI_TABLE_HEADER **OutTable); 247 248ACPI_STATUS 249AcpiGetTableByIndex ( 250 UINT32 TableIndex, 251 ACPI_TABLE_HEADER **OutTable); 252 253ACPI_STATUS 254AcpiInstallTableHandler ( 255 ACPI_TABLE_HANDLER Handler, 256 void *Context); 257 258ACPI_STATUS 259AcpiRemoveTableHandler ( 260 ACPI_TABLE_HANDLER Handler); 261 262 263/* 264 * Namespace and name interfaces 265 */ 266ACPI_STATUS 267AcpiWalkNamespace ( 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 276ACPI_STATUS 277AcpiGetDevices ( 278 char *HID, 279 ACPI_WALK_CALLBACK UserFunction, 280 void *Context, 281 void **ReturnValue); 282 283ACPI_STATUS 284AcpiGetName ( 285 ACPI_HANDLE Object, 286 UINT32 NameType, 287 ACPI_BUFFER *RetPathPtr); 288 289ACPI_STATUS 290AcpiGetHandle ( 291 ACPI_HANDLE Parent, 292 ACPI_STRING Pathname, 293 ACPI_HANDLE *RetHandle); 294 295ACPI_STATUS 296AcpiAttachData ( 297 ACPI_HANDLE Object, 298 ACPI_OBJECT_HANDLER Handler, 299 void *Data); 300 301ACPI_STATUS 302AcpiDetachData ( 303 ACPI_HANDLE Object, 304 ACPI_OBJECT_HANDLER Handler); 305 306ACPI_STATUS 307AcpiGetData ( 308 ACPI_HANDLE Object, 309 ACPI_OBJECT_HANDLER Handler, 310 void **Data); 311 312ACPI_STATUS 313AcpiDebugTrace ( 314 char *Name, 315 UINT32 DebugLevel, 316 UINT32 DebugLayer, 317 UINT32 Flags); 318 319 320/* 321 * Object manipulation and enumeration 322 */ 323ACPI_STATUS 324AcpiEvaluateObject ( 325 ACPI_HANDLE Object, 326 ACPI_STRING Pathname, 327 ACPI_OBJECT_LIST *ParameterObjects, 328 ACPI_BUFFER *ReturnObjectBuffer); 329 330ACPI_STATUS 331AcpiEvaluateObjectTyped ( 332 ACPI_HANDLE Object, 333 ACPI_STRING Pathname, 334 ACPI_OBJECT_LIST *ExternalParams, 335 ACPI_BUFFER *ReturnBuffer, 336 ACPI_OBJECT_TYPE ReturnType); 337 338ACPI_STATUS 339AcpiGetObjectInfo ( 340 ACPI_HANDLE Object, 341 ACPI_DEVICE_INFO **ReturnBuffer); 342 343ACPI_STATUS 344AcpiInstallMethod ( 345 UINT8 *Buffer); 346 347ACPI_STATUS 348AcpiGetNextObject ( 349 ACPI_OBJECT_TYPE Type, 350 ACPI_HANDLE Parent, 351 ACPI_HANDLE Child, 352 ACPI_HANDLE *OutHandle); 353 354ACPI_STATUS 355AcpiGetType ( 356 ACPI_HANDLE Object, 357 ACPI_OBJECT_TYPE *OutType); 358 359ACPI_STATUS 360AcpiGetParent ( 361 ACPI_HANDLE Object, 362 ACPI_HANDLE *OutHandle); 363 364 365/* 366 * Handler interfaces 367 */ 368ACPI_STATUS 369AcpiInstallInitializationHandler ( 370 ACPI_INIT_HANDLER Handler, 371 UINT32 Function); 372 373ACPI_HW_DEPENDENT_RETURN_STATUS ( 374ACPI_STATUS 375AcpiInstallGlobalEventHandler ( 376 ACPI_GBL_EVENT_HANDLER Handler, 377 void *Context)) 378 379ACPI_HW_DEPENDENT_RETURN_STATUS ( 380ACPI_STATUS 381AcpiInstallFixedEventHandler ( 382 UINT32 AcpiEvent, 383 ACPI_EVENT_HANDLER Handler, 384 void *Context)) 385 386ACPI_HW_DEPENDENT_RETURN_STATUS ( 387ACPI_STATUS 388AcpiRemoveFixedEventHandler ( 389 UINT32 AcpiEvent, 390 ACPI_EVENT_HANDLER Handler)) 391 392ACPI_HW_DEPENDENT_RETURN_STATUS ( 393ACPI_STATUS 394AcpiInstallGpeHandler ( 395 ACPI_HANDLE GpeDevice, 396 UINT32 GpeNumber, 397 UINT32 Type, 398 ACPI_GPE_HANDLER Address, 399 void *Context)) 400 401ACPI_HW_DEPENDENT_RETURN_STATUS ( 402ACPI_STATUS 403AcpiRemoveGpeHandler ( 404 ACPI_HANDLE GpeDevice, 405 UINT32 GpeNumber, 406 ACPI_GPE_HANDLER Address)) 407 408ACPI_STATUS 409AcpiInstallNotifyHandler ( 410 ACPI_HANDLE Device, 411 UINT32 HandlerType, 412 ACPI_NOTIFY_HANDLER Handler, 413 void *Context); 414 415ACPI_STATUS 416AcpiRemoveNotifyHandler ( 417 ACPI_HANDLE Device, 418 UINT32 HandlerType, 419 ACPI_NOTIFY_HANDLER Handler); 420 421ACPI_STATUS 422AcpiInstallAddressSpaceHandler ( 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 429ACPI_STATUS 430AcpiRemoveAddressSpaceHandler ( 431 ACPI_HANDLE Device, 432 ACPI_ADR_SPACE_TYPE SpaceId, 433 ACPI_ADR_SPACE_HANDLER Handler); 434 435ACPI_STATUS 436AcpiInstallExceptionHandler ( 437 ACPI_EXCEPTION_HANDLER Handler); 438 439ACPI_STATUS 440AcpiInstallInterfaceHandler ( 441 ACPI_INTERFACE_HANDLER Handler); 442 443 444/* 445 * Global Lock interfaces 446 */ 447ACPI_HW_DEPENDENT_RETURN_STATUS ( 448ACPI_STATUS 449AcpiAcquireGlobalLock ( 450 UINT16 Timeout, 451 UINT32 *Handle)) 452 453ACPI_HW_DEPENDENT_RETURN_STATUS ( 454ACPI_STATUS 455AcpiReleaseGlobalLock ( 456 UINT32 Handle)) 457 458 459/* 460 * Interfaces to AML mutex objects 461 */ 462ACPI_STATUS 463AcpiAcquireMutex ( 464 ACPI_HANDLE Handle, 465 ACPI_STRING Pathname, 466 UINT16 Timeout); 467 468ACPI_STATUS 469AcpiReleaseMutex ( 470 ACPI_HANDLE Handle, 471 ACPI_STRING Pathname); 472 473 474/* 475 * Fixed Event interfaces 476 */ 477ACPI_HW_DEPENDENT_RETURN_STATUS ( 478ACPI_STATUS 479AcpiEnableEvent ( 480 UINT32 Event, 481 UINT32 Flags)) 482 483ACPI_HW_DEPENDENT_RETURN_STATUS ( 484ACPI_STATUS 485AcpiDisableEvent ( 486 UINT32 Event, 487 UINT32 Flags)) 488 489ACPI_HW_DEPENDENT_RETURN_STATUS ( 490ACPI_STATUS 491AcpiClearEvent ( 492 UINT32 Event)) 493 494ACPI_HW_DEPENDENT_RETURN_STATUS ( 495ACPI_STATUS 496AcpiGetEventStatus ( 497 UINT32 Event, 498 ACPI_EVENT_STATUS *EventStatus)) 499 500 501/* 502 * General Purpose Event (GPE) Interfaces 503 */ 504ACPI_HW_DEPENDENT_RETURN_STATUS ( 505ACPI_STATUS 506AcpiUpdateAllGpes ( 507 void)) 508 509ACPI_HW_DEPENDENT_RETURN_STATUS ( 510ACPI_STATUS 511AcpiEnableGpe ( 512 ACPI_HANDLE GpeDevice, 513 UINT32 GpeNumber)) 514 515ACPI_HW_DEPENDENT_RETURN_STATUS ( 516ACPI_STATUS 517AcpiDisableGpe ( 518 ACPI_HANDLE GpeDevice, 519 UINT32 GpeNumber)) 520 521ACPI_HW_DEPENDENT_RETURN_STATUS ( 522ACPI_STATUS 523AcpiClearGpe ( 524 ACPI_HANDLE GpeDevice, 525 UINT32 GpeNumber)) 526 527ACPI_HW_DEPENDENT_RETURN_STATUS ( 528ACPI_STATUS 529AcpiSetGpe ( 530 ACPI_HANDLE GpeDevice, 531 UINT32 GpeNumber, 532 UINT8 Action)) 533 534ACPI_HW_DEPENDENT_RETURN_STATUS ( 535ACPI_STATUS 536AcpiFinishGpe ( 537 ACPI_HANDLE GpeDevice, 538 UINT32 GpeNumber)) 539 540ACPI_HW_DEPENDENT_RETURN_STATUS ( 541ACPI_STATUS 542AcpiSetupGpeForWake ( 543 ACPI_HANDLE ParentDevice, 544 ACPI_HANDLE GpeDevice, 545 UINT32 GpeNumber)) 546 547ACPI_HW_DEPENDENT_RETURN_STATUS ( 548ACPI_STATUS 549AcpiSetGpeWakeMask ( 550 ACPI_HANDLE GpeDevice, 551 UINT32 GpeNumber, 552 UINT8 Action)) 553 554ACPI_HW_DEPENDENT_RETURN_STATUS ( 555ACPI_STATUS 556AcpiGetGpeStatus ( 557 ACPI_HANDLE GpeDevice, 558 UINT32 GpeNumber, 559 ACPI_EVENT_STATUS *EventStatus)) 560 561ACPI_HW_DEPENDENT_RETURN_STATUS ( 562ACPI_STATUS 563AcpiDisableAllGpes ( 564 void)) 565 566ACPI_HW_DEPENDENT_RETURN_STATUS ( 567ACPI_STATUS 568AcpiEnableAllRuntimeGpes ( 569 void)) 570 571ACPI_HW_DEPENDENT_RETURN_STATUS ( 572ACPI_STATUS 573AcpiGetGpeDevice ( 574 UINT32 GpeIndex, 575 ACPI_HANDLE *GpeDevice)) 576 577ACPI_HW_DEPENDENT_RETURN_STATUS ( 578ACPI_STATUS 579AcpiInstallGpeBlock ( 580 ACPI_HANDLE GpeDevice, 581 ACPI_GENERIC_ADDRESS *GpeBlockAddress, 582 UINT32 RegisterCount, 583 UINT32 InterruptNumber)) 584 585ACPI_HW_DEPENDENT_RETURN_STATUS ( 586ACPI_STATUS 587AcpiRemoveGpeBlock ( 588 ACPI_HANDLE GpeDevice)) 589 590 591/* 592 * Resource interfaces 593 */ 594typedef 595ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) ( 596 ACPI_RESOURCE *Resource, 597 void *Context); 598 599ACPI_STATUS 600AcpiGetVendorResource ( 601 ACPI_HANDLE Device, 602 char *Name, 603 ACPI_VENDOR_UUID *Uuid, 604 ACPI_BUFFER *RetBuffer); 605 606ACPI_STATUS 607AcpiGetCurrentResources ( 608 ACPI_HANDLE Device, 609 ACPI_BUFFER *RetBuffer); 610 611ACPI_STATUS 612AcpiGetPossibleResources ( 613 ACPI_HANDLE Device, 614 ACPI_BUFFER *RetBuffer); 615 616ACPI_STATUS 617AcpiGetEventResources ( 618 ACPI_HANDLE DeviceHandle, 619 ACPI_BUFFER *RetBuffer); 620 621ACPI_STATUS 622AcpiWalkResourceBuffer ( 623 ACPI_BUFFER *Buffer, 624 ACPI_WALK_RESOURCE_CALLBACK UserFunction, 625 void *Context); 626 627ACPI_STATUS 628AcpiWalkResources ( 629 ACPI_HANDLE Device, 630 char *Name, 631 ACPI_WALK_RESOURCE_CALLBACK UserFunction, 632 void *Context); 633 634ACPI_STATUS 635AcpiSetCurrentResources ( 636 ACPI_HANDLE Device, 637 ACPI_BUFFER *InBuffer); 638 639ACPI_STATUS 640AcpiGetIrqRoutingTable ( 641 ACPI_HANDLE Device, 642 ACPI_BUFFER *RetBuffer); 643 644ACPI_STATUS 645AcpiResourceToAddress64 ( 646 ACPI_RESOURCE *Resource, 647 ACPI_RESOURCE_ADDRESS64 *Out); 648 649ACPI_STATUS 650AcpiBufferToResource ( 651 UINT8 *AmlBuffer, 652 UINT16 AmlBufferLength, 653 ACPI_RESOURCE **ResourcePtr); 654 655 656/* 657 * Hardware (ACPI device) interfaces 658 */ 659ACPI_STATUS 660AcpiReset ( 661 void); 662 663ACPI_STATUS 664AcpiRead ( 665 UINT64 *Value, 666 ACPI_GENERIC_ADDRESS *Reg); 667 668ACPI_STATUS 669AcpiWrite ( 670 UINT64 Value, 671 ACPI_GENERIC_ADDRESS *Reg); 672 673ACPI_HW_DEPENDENT_RETURN_STATUS ( 674ACPI_STATUS 675AcpiReadBitRegister ( 676 UINT32 RegisterId, 677 UINT32 *ReturnValue)) 678 679ACPI_HW_DEPENDENT_RETURN_STATUS ( 680ACPI_STATUS 681AcpiWriteBitRegister ( 682 UINT32 RegisterId, 683 UINT32 Value)) 684 685 686/* 687 * Sleep/Wake interfaces 688 */ 689ACPI_STATUS 690AcpiGetSleepTypeData ( 691 UINT8 SleepState, 692 UINT8 *Slp_TypA, 693 UINT8 *Slp_TypB); 694 695ACPI_STATUS 696AcpiEnterSleepStatePrep ( 697 UINT8 SleepState); 698 699ACPI_STATUS 700AcpiEnterSleepState ( 701 UINT8 SleepState); 702 703ACPI_HW_DEPENDENT_RETURN_STATUS ( 704ACPI_STATUS 705AcpiEnterSleepStateS4bios ( 706 void)) 707 708ACPI_STATUS 709AcpiLeaveSleepStatePrep ( 710 UINT8 SleepState); 711 712ACPI_STATUS 713AcpiLeaveSleepState ( 714 UINT8 SleepState); 715 716ACPI_HW_DEPENDENT_RETURN_STATUS ( 717ACPI_STATUS 718AcpiSetFirmwareWakingVector ( 719 UINT32 PhysicalAddress)) 720 721#if ACPI_MACHINE_WIDTH == 64 722ACPI_HW_DEPENDENT_RETURN_STATUS ( 723ACPI_STATUS 724AcpiSetFirmwareWakingVector64 ( 725 UINT64 PhysicalAddress)) 726#endif 727 728 729/* 730 * ACPI Timer interfaces 731 */ 732ACPI_HW_DEPENDENT_RETURN_STATUS ( 733ACPI_STATUS 734AcpiGetTimerResolution ( 735 UINT32 *Resolution)) 736 737ACPI_HW_DEPENDENT_RETURN_STATUS ( 738ACPI_STATUS 739AcpiGetTimer ( 740 UINT32 *Ticks)) 741 742ACPI_HW_DEPENDENT_RETURN_STATUS ( 743ACPI_STATUS 744AcpiGetTimerDuration ( 745 UINT32 StartTicks, 746 UINT32 EndTicks, 747 UINT32 *TimeElapsed)) 748 749 750/* 751 * Error/Warning output 752 */ 753void ACPI_INTERNAL_VAR_XFACE 754AcpiError ( 755 const char *ModuleName, 756 UINT32 LineNumber, 757 const char *Format, 758 ...) ACPI_PRINTF_LIKE(3); 759 760void ACPI_INTERNAL_VAR_XFACE 761AcpiException ( 762 const char *ModuleName, 763 UINT32 LineNumber, 764 ACPI_STATUS Status, 765 const char *Format, 766 ...) ACPI_PRINTF_LIKE(4); 767 768void ACPI_INTERNAL_VAR_XFACE 769AcpiWarning ( 770 const char *ModuleName, 771 UINT32 LineNumber, 772 const char *Format, 773 ...) ACPI_PRINTF_LIKE(3); 774 775void ACPI_INTERNAL_VAR_XFACE 776AcpiInfo ( 777 const char *ModuleName, 778 UINT32 LineNumber, 779 const char *Format, 780 ...) ACPI_PRINTF_LIKE(3); 781 782void ACPI_INTERNAL_VAR_XFACE 783AcpiBiosError ( 784 const char *ModuleName, 785 UINT32 LineNumber, 786 const char *Format, 787 ...) ACPI_PRINTF_LIKE(3); 788 789void ACPI_INTERNAL_VAR_XFACE 790AcpiBiosWarning ( 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 802void ACPI_INTERNAL_VAR_XFACE 803AcpiDebugPrint ( 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 812void ACPI_INTERNAL_VAR_XFACE 813AcpiDebugPrintRaw ( 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