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