1 /****************************************************************************** 2 * 3 * Name: acinterp.h - Interpreter subcomponent prototypes and defines 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2015, 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 #ifndef __ACINTERP_H__ 45 #define __ACINTERP_H__ 46 47 48 #define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) 49 50 /* Macros for tables used for debug output */ 51 52 #define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f) 53 #define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f) 54 #define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO)) 55 56 /* 57 * If possible, pack the following structures to byte alignment, since we 58 * don't care about performance for debug output. Two cases where we cannot 59 * pack the structures: 60 * 61 * 1) Hardware does not support misaligned memory transfers 62 * 2) Compiler does not support pointers within packed structures 63 */ 64 #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) 65 #pragma pack(1) 66 #endif 67 68 typedef const struct acpi_exdump_info 69 { 70 UINT8 Opcode; 71 UINT8 Offset; 72 char *Name; 73 74 } ACPI_EXDUMP_INFO; 75 76 /* Values for the Opcode field above */ 77 78 #define ACPI_EXD_INIT 0 79 #define ACPI_EXD_TYPE 1 80 #define ACPI_EXD_UINT8 2 81 #define ACPI_EXD_UINT16 3 82 #define ACPI_EXD_UINT32 4 83 #define ACPI_EXD_UINT64 5 84 #define ACPI_EXD_LITERAL 6 85 #define ACPI_EXD_POINTER 7 86 #define ACPI_EXD_ADDRESS 8 87 #define ACPI_EXD_STRING 9 88 #define ACPI_EXD_BUFFER 10 89 #define ACPI_EXD_PACKAGE 11 90 #define ACPI_EXD_FIELD 12 91 #define ACPI_EXD_REFERENCE 13 92 #define ACPI_EXD_LIST 14 /* Operand object list */ 93 #define ACPI_EXD_HDLR_LIST 15 /* Address Handler list */ 94 #define ACPI_EXD_RGN_LIST 16 /* Region list */ 95 #define ACPI_EXD_NODE 17 /* Namespace Node */ 96 97 /* restore default alignment */ 98 99 #pragma pack() 100 101 102 /* 103 * exconvrt - object conversion 104 */ 105 ACPI_STATUS 106 AcpiExConvertToInteger ( 107 ACPI_OPERAND_OBJECT *ObjDesc, 108 ACPI_OPERAND_OBJECT **ResultDesc, 109 UINT32 Flags); 110 111 ACPI_STATUS 112 AcpiExConvertToBuffer ( 113 ACPI_OPERAND_OBJECT *ObjDesc, 114 ACPI_OPERAND_OBJECT **ResultDesc); 115 116 ACPI_STATUS 117 AcpiExConvertToString ( 118 ACPI_OPERAND_OBJECT *ObjDesc, 119 ACPI_OPERAND_OBJECT **ResultDesc, 120 UINT32 Type); 121 122 /* Types for ->String conversion */ 123 124 #define ACPI_EXPLICIT_BYTE_COPY 0x00000000 125 #define ACPI_EXPLICIT_CONVERT_HEX 0x00000001 126 #define ACPI_IMPLICIT_CONVERT_HEX 0x00000002 127 #define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003 128 129 ACPI_STATUS 130 AcpiExConvertToTargetType ( 131 ACPI_OBJECT_TYPE DestinationType, 132 ACPI_OPERAND_OBJECT *SourceDesc, 133 ACPI_OPERAND_OBJECT **ResultDesc, 134 ACPI_WALK_STATE *WalkState); 135 136 137 /* 138 * exdebug - AML debug object 139 */ 140 void 141 AcpiExDoDebugObject ( 142 ACPI_OPERAND_OBJECT *SourceDesc, 143 UINT32 Level, 144 UINT32 Index); 145 146 void 147 AcpiExStartTraceMethod ( 148 ACPI_NAMESPACE_NODE *MethodNode, 149 ACPI_OPERAND_OBJECT *ObjDesc, 150 ACPI_WALK_STATE *WalkState); 151 152 void 153 AcpiExStopTraceMethod ( 154 ACPI_NAMESPACE_NODE *MethodNode, 155 ACPI_OPERAND_OBJECT *ObjDesc, 156 ACPI_WALK_STATE *WalkState); 157 158 void 159 AcpiExStartTraceOpcode ( 160 ACPI_PARSE_OBJECT *Op, 161 ACPI_WALK_STATE *WalkState); 162 163 void 164 AcpiExStopTraceOpcode ( 165 ACPI_PARSE_OBJECT *Op, 166 ACPI_WALK_STATE *WalkState); 167 168 void 169 AcpiExTracePoint ( 170 ACPI_TRACE_EVENT_TYPE Type, 171 BOOLEAN Begin, 172 UINT8 *Aml, 173 char *Pathname); 174 175 176 /* 177 * exfield - ACPI AML (p-code) execution - field manipulation 178 */ 179 ACPI_STATUS 180 AcpiExCommonBufferSetup ( 181 ACPI_OPERAND_OBJECT *ObjDesc, 182 UINT32 BufferLength, 183 UINT32 *DatumCount); 184 185 ACPI_STATUS 186 AcpiExWriteWithUpdateRule ( 187 ACPI_OPERAND_OBJECT *ObjDesc, 188 UINT64 Mask, 189 UINT64 FieldValue, 190 UINT32 FieldDatumByteOffset); 191 192 void 193 AcpiExGetBufferDatum( 194 UINT64 *Datum, 195 void *Buffer, 196 UINT32 BufferLength, 197 UINT32 ByteGranularity, 198 UINT32 BufferOffset); 199 200 void 201 AcpiExSetBufferDatum ( 202 UINT64 MergedDatum, 203 void *Buffer, 204 UINT32 BufferLength, 205 UINT32 ByteGranularity, 206 UINT32 BufferOffset); 207 208 ACPI_STATUS 209 AcpiExReadDataFromField ( 210 ACPI_WALK_STATE *WalkState, 211 ACPI_OPERAND_OBJECT *ObjDesc, 212 ACPI_OPERAND_OBJECT **RetBufferDesc); 213 214 ACPI_STATUS 215 AcpiExWriteDataToField ( 216 ACPI_OPERAND_OBJECT *SourceDesc, 217 ACPI_OPERAND_OBJECT *ObjDesc, 218 ACPI_OPERAND_OBJECT **ResultDesc); 219 220 221 /* 222 * exfldio - low level field I/O 223 */ 224 ACPI_STATUS 225 AcpiExExtractFromField ( 226 ACPI_OPERAND_OBJECT *ObjDesc, 227 void *Buffer, 228 UINT32 BufferLength); 229 230 ACPI_STATUS 231 AcpiExInsertIntoField ( 232 ACPI_OPERAND_OBJECT *ObjDesc, 233 void *Buffer, 234 UINT32 BufferLength); 235 236 ACPI_STATUS 237 AcpiExAccessRegion ( 238 ACPI_OPERAND_OBJECT *ObjDesc, 239 UINT32 FieldDatumByteOffset, 240 UINT64 *Value, 241 UINT32 ReadWrite); 242 243 244 /* 245 * exmisc - misc support routines 246 */ 247 ACPI_STATUS 248 AcpiExGetObjectReference ( 249 ACPI_OPERAND_OBJECT *ObjDesc, 250 ACPI_OPERAND_OBJECT **ReturnDesc, 251 ACPI_WALK_STATE *WalkState); 252 253 ACPI_STATUS 254 AcpiExConcatTemplate ( 255 ACPI_OPERAND_OBJECT *ObjDesc, 256 ACPI_OPERAND_OBJECT *ObjDesc2, 257 ACPI_OPERAND_OBJECT **ActualReturnDesc, 258 ACPI_WALK_STATE *WalkState); 259 260 ACPI_STATUS 261 AcpiExDoConcatenate ( 262 ACPI_OPERAND_OBJECT *ObjDesc, 263 ACPI_OPERAND_OBJECT *ObjDesc2, 264 ACPI_OPERAND_OBJECT **ActualReturnDesc, 265 ACPI_WALK_STATE *WalkState); 266 267 ACPI_STATUS 268 AcpiExDoLogicalNumericOp ( 269 UINT16 Opcode, 270 UINT64 Integer0, 271 UINT64 Integer1, 272 BOOLEAN *LogicalResult); 273 274 ACPI_STATUS 275 AcpiExDoLogicalOp ( 276 UINT16 Opcode, 277 ACPI_OPERAND_OBJECT *Operand0, 278 ACPI_OPERAND_OBJECT *Operand1, 279 BOOLEAN *LogicalResult); 280 281 UINT64 282 AcpiExDoMathOp ( 283 UINT16 Opcode, 284 UINT64 Operand0, 285 UINT64 Operand1); 286 287 ACPI_STATUS 288 AcpiExCreateMutex ( 289 ACPI_WALK_STATE *WalkState); 290 291 ACPI_STATUS 292 AcpiExCreateProcessor ( 293 ACPI_WALK_STATE *WalkState); 294 295 ACPI_STATUS 296 AcpiExCreatePowerResource ( 297 ACPI_WALK_STATE *WalkState); 298 299 ACPI_STATUS 300 AcpiExCreateRegion ( 301 UINT8 *AmlStart, 302 UINT32 AmlLength, 303 UINT8 RegionSpace, 304 ACPI_WALK_STATE *WalkState); 305 306 ACPI_STATUS 307 AcpiExCreateEvent ( 308 ACPI_WALK_STATE *WalkState); 309 310 ACPI_STATUS 311 AcpiExCreateAlias ( 312 ACPI_WALK_STATE *WalkState); 313 314 ACPI_STATUS 315 AcpiExCreateMethod ( 316 UINT8 *AmlStart, 317 UINT32 AmlLength, 318 ACPI_WALK_STATE *WalkState); 319 320 321 /* 322 * exconfig - dynamic table load/unload 323 */ 324 ACPI_STATUS 325 AcpiExLoadOp ( 326 ACPI_OPERAND_OBJECT *ObjDesc, 327 ACPI_OPERAND_OBJECT *Target, 328 ACPI_WALK_STATE *WalkState); 329 330 ACPI_STATUS 331 AcpiExLoadTableOp ( 332 ACPI_WALK_STATE *WalkState, 333 ACPI_OPERAND_OBJECT **ReturnDesc); 334 335 ACPI_STATUS 336 AcpiExUnloadTable ( 337 ACPI_OPERAND_OBJECT *DdbHandle); 338 339 340 /* 341 * exmutex - mutex support 342 */ 343 ACPI_STATUS 344 AcpiExAcquireMutex ( 345 ACPI_OPERAND_OBJECT *TimeDesc, 346 ACPI_OPERAND_OBJECT *ObjDesc, 347 ACPI_WALK_STATE *WalkState); 348 349 ACPI_STATUS 350 AcpiExAcquireMutexObject ( 351 UINT16 Timeout, 352 ACPI_OPERAND_OBJECT *ObjDesc, 353 ACPI_THREAD_ID ThreadId); 354 355 ACPI_STATUS 356 AcpiExReleaseMutex ( 357 ACPI_OPERAND_OBJECT *ObjDesc, 358 ACPI_WALK_STATE *WalkState); 359 360 ACPI_STATUS 361 AcpiExReleaseMutexObject ( 362 ACPI_OPERAND_OBJECT *ObjDesc); 363 364 void 365 AcpiExReleaseAllMutexes ( 366 ACPI_THREAD_STATE *Thread); 367 368 void 369 AcpiExUnlinkMutex ( 370 ACPI_OPERAND_OBJECT *ObjDesc); 371 372 373 /* 374 * exprep - ACPI AML execution - prep utilities 375 */ 376 ACPI_STATUS 377 AcpiExPrepCommonFieldObject ( 378 ACPI_OPERAND_OBJECT *ObjDesc, 379 UINT8 FieldFlags, 380 UINT8 FieldAttribute, 381 UINT32 FieldBitPosition, 382 UINT32 FieldBitLength); 383 384 ACPI_STATUS 385 AcpiExPrepFieldValue ( 386 ACPI_CREATE_FIELD_INFO *Info); 387 388 389 /* 390 * exsystem - Interface to OS services 391 */ 392 ACPI_STATUS 393 AcpiExSystemDoNotifyOp ( 394 ACPI_OPERAND_OBJECT *Value, 395 ACPI_OPERAND_OBJECT *ObjDesc); 396 397 ACPI_STATUS 398 AcpiExSystemDoSleep( 399 UINT64 Time); 400 401 ACPI_STATUS 402 AcpiExSystemDoStall ( 403 UINT32 Time); 404 405 ACPI_STATUS 406 AcpiExSystemSignalEvent( 407 ACPI_OPERAND_OBJECT *ObjDesc); 408 409 ACPI_STATUS 410 AcpiExSystemWaitEvent( 411 ACPI_OPERAND_OBJECT *Time, 412 ACPI_OPERAND_OBJECT *ObjDesc); 413 414 ACPI_STATUS 415 AcpiExSystemResetEvent( 416 ACPI_OPERAND_OBJECT *ObjDesc); 417 418 ACPI_STATUS 419 AcpiExSystemWaitSemaphore ( 420 ACPI_SEMAPHORE Semaphore, 421 UINT16 Timeout); 422 423 ACPI_STATUS 424 AcpiExSystemWaitMutex ( 425 ACPI_MUTEX Mutex, 426 UINT16 Timeout); 427 428 /* 429 * exoparg1 - ACPI AML execution, 1 operand 430 */ 431 ACPI_STATUS 432 AcpiExOpcode_0A_0T_1R ( 433 ACPI_WALK_STATE *WalkState); 434 435 ACPI_STATUS 436 AcpiExOpcode_1A_0T_0R ( 437 ACPI_WALK_STATE *WalkState); 438 439 ACPI_STATUS 440 AcpiExOpcode_1A_0T_1R ( 441 ACPI_WALK_STATE *WalkState); 442 443 ACPI_STATUS 444 AcpiExOpcode_1A_1T_1R ( 445 ACPI_WALK_STATE *WalkState); 446 447 ACPI_STATUS 448 AcpiExOpcode_1A_1T_0R ( 449 ACPI_WALK_STATE *WalkState); 450 451 /* 452 * exoparg2 - ACPI AML execution, 2 operands 453 */ 454 ACPI_STATUS 455 AcpiExOpcode_2A_0T_0R ( 456 ACPI_WALK_STATE *WalkState); 457 458 ACPI_STATUS 459 AcpiExOpcode_2A_0T_1R ( 460 ACPI_WALK_STATE *WalkState); 461 462 ACPI_STATUS 463 AcpiExOpcode_2A_1T_1R ( 464 ACPI_WALK_STATE *WalkState); 465 466 ACPI_STATUS 467 AcpiExOpcode_2A_2T_1R ( 468 ACPI_WALK_STATE *WalkState); 469 470 471 /* 472 * exoparg3 - ACPI AML execution, 3 operands 473 */ 474 ACPI_STATUS 475 AcpiExOpcode_3A_0T_0R ( 476 ACPI_WALK_STATE *WalkState); 477 478 ACPI_STATUS 479 AcpiExOpcode_3A_1T_1R ( 480 ACPI_WALK_STATE *WalkState); 481 482 483 /* 484 * exoparg6 - ACPI AML execution, 6 operands 485 */ 486 ACPI_STATUS 487 AcpiExOpcode_6A_0T_1R ( 488 ACPI_WALK_STATE *WalkState); 489 490 491 /* 492 * exresolv - Object resolution and get value functions 493 */ 494 ACPI_STATUS 495 AcpiExResolveToValue ( 496 ACPI_OPERAND_OBJECT **StackPtr, 497 ACPI_WALK_STATE *WalkState); 498 499 ACPI_STATUS 500 AcpiExResolveMultiple ( 501 ACPI_WALK_STATE *WalkState, 502 ACPI_OPERAND_OBJECT *Operand, 503 ACPI_OBJECT_TYPE *ReturnType, 504 ACPI_OPERAND_OBJECT **ReturnDesc); 505 506 507 /* 508 * exresnte - resolve namespace node 509 */ 510 ACPI_STATUS 511 AcpiExResolveNodeToValue ( 512 ACPI_NAMESPACE_NODE **StackPtr, 513 ACPI_WALK_STATE *WalkState); 514 515 516 /* 517 * exresop - resolve operand to value 518 */ 519 ACPI_STATUS 520 AcpiExResolveOperands ( 521 UINT16 Opcode, 522 ACPI_OPERAND_OBJECT **StackPtr, 523 ACPI_WALK_STATE *WalkState); 524 525 526 /* 527 * exdump - Interpreter debug output routines 528 */ 529 void 530 AcpiExDumpOperand ( 531 ACPI_OPERAND_OBJECT *ObjDesc, 532 UINT32 Depth); 533 534 void 535 AcpiExDumpOperands ( 536 ACPI_OPERAND_OBJECT **Operands, 537 const char *OpcodeName, 538 UINT32 NumOpcodes); 539 540 void 541 AcpiExDumpObjectDescriptor ( 542 ACPI_OPERAND_OBJECT *Object, 543 UINT32 Flags); 544 545 void 546 AcpiExDumpNamespaceNode ( 547 ACPI_NAMESPACE_NODE *Node, 548 UINT32 Flags); 549 550 551 /* 552 * exnames - AML namestring support 553 */ 554 ACPI_STATUS 555 AcpiExGetNameString ( 556 ACPI_OBJECT_TYPE DataType, 557 UINT8 *InAmlAddress, 558 char **OutNameString, 559 UINT32 *OutNameLength); 560 561 562 /* 563 * exstore - Object store support 564 */ 565 ACPI_STATUS 566 AcpiExStore ( 567 ACPI_OPERAND_OBJECT *ValDesc, 568 ACPI_OPERAND_OBJECT *DestDesc, 569 ACPI_WALK_STATE *WalkState); 570 571 ACPI_STATUS 572 AcpiExStoreObjectToNode ( 573 ACPI_OPERAND_OBJECT *SourceDesc, 574 ACPI_NAMESPACE_NODE *Node, 575 ACPI_WALK_STATE *WalkState, 576 UINT8 ImplicitConversion); 577 578 #define ACPI_IMPLICIT_CONVERSION TRUE 579 #define ACPI_NO_IMPLICIT_CONVERSION FALSE 580 581 582 /* 583 * exstoren - resolve/store object 584 */ 585 ACPI_STATUS 586 AcpiExResolveObject ( 587 ACPI_OPERAND_OBJECT **SourceDescPtr, 588 ACPI_OBJECT_TYPE TargetType, 589 ACPI_WALK_STATE *WalkState); 590 591 ACPI_STATUS 592 AcpiExStoreObjectToObject ( 593 ACPI_OPERAND_OBJECT *SourceDesc, 594 ACPI_OPERAND_OBJECT *DestDesc, 595 ACPI_OPERAND_OBJECT **NewDesc, 596 ACPI_WALK_STATE *WalkState); 597 598 599 /* 600 * exstorob - store object - buffer/string 601 */ 602 ACPI_STATUS 603 AcpiExStoreBufferToBuffer ( 604 ACPI_OPERAND_OBJECT *SourceDesc, 605 ACPI_OPERAND_OBJECT *TargetDesc); 606 607 ACPI_STATUS 608 AcpiExStoreStringToString ( 609 ACPI_OPERAND_OBJECT *SourceDesc, 610 ACPI_OPERAND_OBJECT *TargetDesc); 611 612 613 /* 614 * excopy - object copy 615 */ 616 ACPI_STATUS 617 AcpiExCopyIntegerToIndexField ( 618 ACPI_OPERAND_OBJECT *SourceDesc, 619 ACPI_OPERAND_OBJECT *TargetDesc); 620 621 ACPI_STATUS 622 AcpiExCopyIntegerToBankField ( 623 ACPI_OPERAND_OBJECT *SourceDesc, 624 ACPI_OPERAND_OBJECT *TargetDesc); 625 626 ACPI_STATUS 627 AcpiExCopyDataToNamedField ( 628 ACPI_OPERAND_OBJECT *SourceDesc, 629 ACPI_NAMESPACE_NODE *Node); 630 631 ACPI_STATUS 632 AcpiExCopyIntegerToBufferField ( 633 ACPI_OPERAND_OBJECT *SourceDesc, 634 ACPI_OPERAND_OBJECT *TargetDesc); 635 636 637 /* 638 * exutils - interpreter/scanner utilities 639 */ 640 void 641 AcpiExEnterInterpreter ( 642 void); 643 644 void 645 AcpiExExitInterpreter ( 646 void); 647 648 BOOLEAN 649 AcpiExTruncateFor32bitTable ( 650 ACPI_OPERAND_OBJECT *ObjDesc); 651 652 void 653 AcpiExAcquireGlobalLock ( 654 UINT32 Rule); 655 656 void 657 AcpiExReleaseGlobalLock ( 658 UINT32 Rule); 659 660 void 661 AcpiExEisaIdToString ( 662 char *Dest, 663 UINT64 CompressedId); 664 665 void 666 AcpiExIntegerToString ( 667 char *Dest, 668 UINT64 Value); 669 670 void 671 AcpiExPciClsToString ( 672 char *Dest, 673 UINT8 ClassCode[3]); 674 675 BOOLEAN 676 AcpiIsValidSpaceId ( 677 UINT8 SpaceId); 678 679 680 /* 681 * exregion - default OpRegion handlers 682 */ 683 ACPI_STATUS 684 AcpiExSystemMemorySpaceHandler ( 685 UINT32 Function, 686 ACPI_PHYSICAL_ADDRESS Address, 687 UINT32 BitWidth, 688 UINT64 *Value, 689 void *HandlerContext, 690 void *RegionContext); 691 692 ACPI_STATUS 693 AcpiExSystemIoSpaceHandler ( 694 UINT32 Function, 695 ACPI_PHYSICAL_ADDRESS Address, 696 UINT32 BitWidth, 697 UINT64 *Value, 698 void *HandlerContext, 699 void *RegionContext); 700 701 ACPI_STATUS 702 AcpiExPciConfigSpaceHandler ( 703 UINT32 Function, 704 ACPI_PHYSICAL_ADDRESS Address, 705 UINT32 BitWidth, 706 UINT64 *Value, 707 void *HandlerContext, 708 void *RegionContext); 709 710 ACPI_STATUS 711 AcpiExCmosSpaceHandler ( 712 UINT32 Function, 713 ACPI_PHYSICAL_ADDRESS Address, 714 UINT32 BitWidth, 715 UINT64 *Value, 716 void *HandlerContext, 717 void *RegionContext); 718 719 ACPI_STATUS 720 AcpiExPciBarSpaceHandler ( 721 UINT32 Function, 722 ACPI_PHYSICAL_ADDRESS Address, 723 UINT32 BitWidth, 724 UINT64 *Value, 725 void *HandlerContext, 726 void *RegionContext); 727 728 ACPI_STATUS 729 AcpiExEmbeddedControllerSpaceHandler ( 730 UINT32 Function, 731 ACPI_PHYSICAL_ADDRESS Address, 732 UINT32 BitWidth, 733 UINT64 *Value, 734 void *HandlerContext, 735 void *RegionContext); 736 737 ACPI_STATUS 738 AcpiExSmBusSpaceHandler ( 739 UINT32 Function, 740 ACPI_PHYSICAL_ADDRESS Address, 741 UINT32 BitWidth, 742 UINT64 *Value, 743 void *HandlerContext, 744 void *RegionContext); 745 746 747 ACPI_STATUS 748 AcpiExDataTableSpaceHandler ( 749 UINT32 Function, 750 ACPI_PHYSICAL_ADDRESS Address, 751 UINT32 BitWidth, 752 UINT64 *Value, 753 void *HandlerContext, 754 void *RegionContext); 755 756 #endif /* __INTERP_H__ */ 757