1 /****************************************************************************** 2 * 3 * Name: acinterp.h - Interpreter subcomponent prototypes and defines 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2020, 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 const 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 ImplicitConversion); 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 AcpiExGetProtocolBufferLength ( 181 UINT32 ProtocolId, 182 UINT32 *ReturnLength); 183 184 ACPI_STATUS 185 AcpiExCommonBufferSetup ( 186 ACPI_OPERAND_OBJECT *ObjDesc, 187 UINT32 BufferLength, 188 UINT32 *DatumCount); 189 190 ACPI_STATUS 191 AcpiExWriteWithUpdateRule ( 192 ACPI_OPERAND_OBJECT *ObjDesc, 193 UINT64 Mask, 194 UINT64 FieldValue, 195 UINT32 FieldDatumByteOffset); 196 197 void 198 AcpiExGetBufferDatum( 199 UINT64 *Datum, 200 void *Buffer, 201 UINT32 BufferLength, 202 UINT32 ByteGranularity, 203 UINT32 BufferOffset); 204 205 void 206 AcpiExSetBufferDatum ( 207 UINT64 MergedDatum, 208 void *Buffer, 209 UINT32 BufferLength, 210 UINT32 ByteGranularity, 211 UINT32 BufferOffset); 212 213 ACPI_STATUS 214 AcpiExReadDataFromField ( 215 ACPI_WALK_STATE *WalkState, 216 ACPI_OPERAND_OBJECT *ObjDesc, 217 ACPI_OPERAND_OBJECT **RetBufferDesc); 218 219 ACPI_STATUS 220 AcpiExWriteDataToField ( 221 ACPI_OPERAND_OBJECT *SourceDesc, 222 ACPI_OPERAND_OBJECT *ObjDesc, 223 ACPI_OPERAND_OBJECT **ResultDesc); 224 225 226 /* 227 * exfldio - low level field I/O 228 */ 229 ACPI_STATUS 230 AcpiExExtractFromField ( 231 ACPI_OPERAND_OBJECT *ObjDesc, 232 void *Buffer, 233 UINT32 BufferLength); 234 235 ACPI_STATUS 236 AcpiExInsertIntoField ( 237 ACPI_OPERAND_OBJECT *ObjDesc, 238 void *Buffer, 239 UINT32 BufferLength); 240 241 ACPI_STATUS 242 AcpiExAccessRegion ( 243 ACPI_OPERAND_OBJECT *ObjDesc, 244 UINT32 FieldDatumByteOffset, 245 UINT64 *Value, 246 UINT32 ReadWrite); 247 248 249 /* 250 * exmisc - misc support routines 251 */ 252 ACPI_STATUS 253 AcpiExGetObjectReference ( 254 ACPI_OPERAND_OBJECT *ObjDesc, 255 ACPI_OPERAND_OBJECT **ReturnDesc, 256 ACPI_WALK_STATE *WalkState); 257 258 ACPI_STATUS 259 AcpiExConcatTemplate ( 260 ACPI_OPERAND_OBJECT *ObjDesc, 261 ACPI_OPERAND_OBJECT *ObjDesc2, 262 ACPI_OPERAND_OBJECT **ActualReturnDesc, 263 ACPI_WALK_STATE *WalkState); 264 265 ACPI_STATUS 266 AcpiExDoConcatenate ( 267 ACPI_OPERAND_OBJECT *ObjDesc, 268 ACPI_OPERAND_OBJECT *ObjDesc2, 269 ACPI_OPERAND_OBJECT **ActualReturnDesc, 270 ACPI_WALK_STATE *WalkState); 271 272 ACPI_STATUS 273 AcpiExDoLogicalNumericOp ( 274 UINT16 Opcode, 275 UINT64 Integer0, 276 UINT64 Integer1, 277 BOOLEAN *LogicalResult); 278 279 ACPI_STATUS 280 AcpiExDoLogicalOp ( 281 UINT16 Opcode, 282 ACPI_OPERAND_OBJECT *Operand0, 283 ACPI_OPERAND_OBJECT *Operand1, 284 BOOLEAN *LogicalResult); 285 286 UINT64 287 AcpiExDoMathOp ( 288 UINT16 Opcode, 289 UINT64 Operand0, 290 UINT64 Operand1); 291 292 ACPI_STATUS 293 AcpiExCreateMutex ( 294 ACPI_WALK_STATE *WalkState); 295 296 ACPI_STATUS 297 AcpiExCreateProcessor ( 298 ACPI_WALK_STATE *WalkState); 299 300 ACPI_STATUS 301 AcpiExCreatePowerResource ( 302 ACPI_WALK_STATE *WalkState); 303 304 ACPI_STATUS 305 AcpiExCreateRegion ( 306 UINT8 *AmlStart, 307 UINT32 AmlLength, 308 UINT8 RegionSpace, 309 ACPI_WALK_STATE *WalkState); 310 311 ACPI_STATUS 312 AcpiExCreateEvent ( 313 ACPI_WALK_STATE *WalkState); 314 315 ACPI_STATUS 316 AcpiExCreateAlias ( 317 ACPI_WALK_STATE *WalkState); 318 319 ACPI_STATUS 320 AcpiExCreateMethod ( 321 UINT8 *AmlStart, 322 UINT32 AmlLength, 323 ACPI_WALK_STATE *WalkState); 324 325 326 /* 327 * exconfig - dynamic table load/unload 328 */ 329 ACPI_STATUS 330 AcpiExLoadOp ( 331 ACPI_OPERAND_OBJECT *ObjDesc, 332 ACPI_OPERAND_OBJECT *Target, 333 ACPI_WALK_STATE *WalkState); 334 335 ACPI_STATUS 336 AcpiExLoadTableOp ( 337 ACPI_WALK_STATE *WalkState, 338 ACPI_OPERAND_OBJECT **ReturnDesc); 339 340 ACPI_STATUS 341 AcpiExUnloadTable ( 342 ACPI_OPERAND_OBJECT *DdbHandle); 343 344 345 /* 346 * exmutex - mutex support 347 */ 348 ACPI_STATUS 349 AcpiExAcquireMutex ( 350 ACPI_OPERAND_OBJECT *TimeDesc, 351 ACPI_OPERAND_OBJECT *ObjDesc, 352 ACPI_WALK_STATE *WalkState); 353 354 ACPI_STATUS 355 AcpiExAcquireMutexObject ( 356 UINT16 Timeout, 357 ACPI_OPERAND_OBJECT *ObjDesc, 358 ACPI_THREAD_ID ThreadId); 359 360 ACPI_STATUS 361 AcpiExReleaseMutex ( 362 ACPI_OPERAND_OBJECT *ObjDesc, 363 ACPI_WALK_STATE *WalkState); 364 365 ACPI_STATUS 366 AcpiExReleaseMutexObject ( 367 ACPI_OPERAND_OBJECT *ObjDesc); 368 369 void 370 AcpiExReleaseAllMutexes ( 371 ACPI_THREAD_STATE *Thread); 372 373 void 374 AcpiExUnlinkMutex ( 375 ACPI_OPERAND_OBJECT *ObjDesc); 376 377 378 /* 379 * exprep - ACPI AML execution - prep utilities 380 */ 381 ACPI_STATUS 382 AcpiExPrepCommonFieldObject ( 383 ACPI_OPERAND_OBJECT *ObjDesc, 384 UINT8 FieldFlags, 385 UINT8 FieldAttribute, 386 UINT32 FieldBitPosition, 387 UINT32 FieldBitLength); 388 389 ACPI_STATUS 390 AcpiExPrepFieldValue ( 391 ACPI_CREATE_FIELD_INFO *Info); 392 393 394 /* 395 * exserial - FieldUnit support for serial address spaces 396 */ 397 ACPI_STATUS 398 AcpiExReadSerialBus ( 399 ACPI_OPERAND_OBJECT *ObjDesc, 400 ACPI_OPERAND_OBJECT **ReturnBuffer); 401 402 ACPI_STATUS 403 AcpiExWriteSerialBus ( 404 ACPI_OPERAND_OBJECT *SourceDesc, 405 ACPI_OPERAND_OBJECT *ObjDesc, 406 ACPI_OPERAND_OBJECT **ReturnBuffer); 407 408 ACPI_STATUS 409 AcpiExReadGpio ( 410 ACPI_OPERAND_OBJECT *ObjDesc, 411 void *Buffer); 412 413 ACPI_STATUS 414 AcpiExWriteGpio ( 415 ACPI_OPERAND_OBJECT *SourceDesc, 416 ACPI_OPERAND_OBJECT *ObjDesc, 417 ACPI_OPERAND_OBJECT **ReturnBuffer); 418 419 420 /* 421 * exsystem - Interface to OS services 422 */ 423 ACPI_STATUS 424 AcpiExSystemDoNotifyOp ( 425 ACPI_OPERAND_OBJECT *Value, 426 ACPI_OPERAND_OBJECT *ObjDesc); 427 428 ACPI_STATUS 429 AcpiExSystemDoSleep( 430 UINT64 Time); 431 432 ACPI_STATUS 433 AcpiExSystemDoStall ( 434 UINT32 Time); 435 436 ACPI_STATUS 437 AcpiExSystemSignalEvent( 438 ACPI_OPERAND_OBJECT *ObjDesc); 439 440 ACPI_STATUS 441 AcpiExSystemWaitEvent( 442 ACPI_OPERAND_OBJECT *Time, 443 ACPI_OPERAND_OBJECT *ObjDesc); 444 445 ACPI_STATUS 446 AcpiExSystemResetEvent( 447 ACPI_OPERAND_OBJECT *ObjDesc); 448 449 ACPI_STATUS 450 AcpiExSystemWaitSemaphore ( 451 ACPI_SEMAPHORE Semaphore, 452 UINT16 Timeout); 453 454 ACPI_STATUS 455 AcpiExSystemWaitMutex ( 456 ACPI_MUTEX Mutex, 457 UINT16 Timeout); 458 459 /* 460 * exoparg1 - ACPI AML execution, 1 operand 461 */ 462 ACPI_STATUS 463 AcpiExOpcode_0A_0T_1R ( 464 ACPI_WALK_STATE *WalkState); 465 466 ACPI_STATUS 467 AcpiExOpcode_1A_0T_0R ( 468 ACPI_WALK_STATE *WalkState); 469 470 ACPI_STATUS 471 AcpiExOpcode_1A_0T_1R ( 472 ACPI_WALK_STATE *WalkState); 473 474 ACPI_STATUS 475 AcpiExOpcode_1A_1T_1R ( 476 ACPI_WALK_STATE *WalkState); 477 478 ACPI_STATUS 479 AcpiExOpcode_1A_1T_0R ( 480 ACPI_WALK_STATE *WalkState); 481 482 /* 483 * exoparg2 - ACPI AML execution, 2 operands 484 */ 485 ACPI_STATUS 486 AcpiExOpcode_2A_0T_0R ( 487 ACPI_WALK_STATE *WalkState); 488 489 ACPI_STATUS 490 AcpiExOpcode_2A_0T_1R ( 491 ACPI_WALK_STATE *WalkState); 492 493 ACPI_STATUS 494 AcpiExOpcode_2A_1T_1R ( 495 ACPI_WALK_STATE *WalkState); 496 497 ACPI_STATUS 498 AcpiExOpcode_2A_2T_1R ( 499 ACPI_WALK_STATE *WalkState); 500 501 502 /* 503 * exoparg3 - ACPI AML execution, 3 operands 504 */ 505 ACPI_STATUS 506 AcpiExOpcode_3A_0T_0R ( 507 ACPI_WALK_STATE *WalkState); 508 509 ACPI_STATUS 510 AcpiExOpcode_3A_1T_1R ( 511 ACPI_WALK_STATE *WalkState); 512 513 514 /* 515 * exoparg6 - ACPI AML execution, 6 operands 516 */ 517 ACPI_STATUS 518 AcpiExOpcode_6A_0T_1R ( 519 ACPI_WALK_STATE *WalkState); 520 521 522 /* 523 * exresolv - Object resolution and get value functions 524 */ 525 ACPI_STATUS 526 AcpiExResolveToValue ( 527 ACPI_OPERAND_OBJECT **StackPtr, 528 ACPI_WALK_STATE *WalkState); 529 530 ACPI_STATUS 531 AcpiExResolveMultiple ( 532 ACPI_WALK_STATE *WalkState, 533 ACPI_OPERAND_OBJECT *Operand, 534 ACPI_OBJECT_TYPE *ReturnType, 535 ACPI_OPERAND_OBJECT **ReturnDesc); 536 537 538 /* 539 * exresnte - resolve namespace node 540 */ 541 ACPI_STATUS 542 AcpiExResolveNodeToValue ( 543 ACPI_NAMESPACE_NODE **StackPtr, 544 ACPI_WALK_STATE *WalkState); 545 546 547 /* 548 * exresop - resolve operand to value 549 */ 550 ACPI_STATUS 551 AcpiExResolveOperands ( 552 UINT16 Opcode, 553 ACPI_OPERAND_OBJECT **StackPtr, 554 ACPI_WALK_STATE *WalkState); 555 556 557 /* 558 * exdump - Interpreter debug output routines 559 */ 560 void 561 AcpiExDumpOperand ( 562 ACPI_OPERAND_OBJECT *ObjDesc, 563 UINT32 Depth); 564 565 void 566 AcpiExDumpOperands ( 567 ACPI_OPERAND_OBJECT **Operands, 568 const char *OpcodeName, 569 UINT32 NumOpcodes); 570 571 void 572 AcpiExDumpObjectDescriptor ( 573 ACPI_OPERAND_OBJECT *Object, 574 UINT32 Flags); 575 576 void 577 AcpiExDumpNamespaceNode ( 578 ACPI_NAMESPACE_NODE *Node, 579 UINT32 Flags); 580 581 582 /* 583 * exnames - AML namestring support 584 */ 585 ACPI_STATUS 586 AcpiExGetNameString ( 587 ACPI_OBJECT_TYPE DataType, 588 UINT8 *InAmlAddress, 589 char **OutNameString, 590 UINT32 *OutNameLength); 591 592 593 /* 594 * exstore - Object store support 595 */ 596 ACPI_STATUS 597 AcpiExStore ( 598 ACPI_OPERAND_OBJECT *ValDesc, 599 ACPI_OPERAND_OBJECT *DestDesc, 600 ACPI_WALK_STATE *WalkState); 601 602 ACPI_STATUS 603 AcpiExStoreObjectToNode ( 604 ACPI_OPERAND_OBJECT *SourceDesc, 605 ACPI_NAMESPACE_NODE *Node, 606 ACPI_WALK_STATE *WalkState, 607 UINT8 ImplicitConversion); 608 609 610 /* 611 * exstoren - resolve/store object 612 */ 613 ACPI_STATUS 614 AcpiExResolveObject ( 615 ACPI_OPERAND_OBJECT **SourceDescPtr, 616 ACPI_OBJECT_TYPE TargetType, 617 ACPI_WALK_STATE *WalkState); 618 619 ACPI_STATUS 620 AcpiExStoreObjectToObject ( 621 ACPI_OPERAND_OBJECT *SourceDesc, 622 ACPI_OPERAND_OBJECT *DestDesc, 623 ACPI_OPERAND_OBJECT **NewDesc, 624 ACPI_WALK_STATE *WalkState); 625 626 627 /* 628 * exstorob - store object - buffer/string 629 */ 630 ACPI_STATUS 631 AcpiExStoreBufferToBuffer ( 632 ACPI_OPERAND_OBJECT *SourceDesc, 633 ACPI_OPERAND_OBJECT *TargetDesc); 634 635 ACPI_STATUS 636 AcpiExStoreStringToString ( 637 ACPI_OPERAND_OBJECT *SourceDesc, 638 ACPI_OPERAND_OBJECT *TargetDesc); 639 640 641 /* 642 * excopy - object copy 643 */ 644 ACPI_STATUS 645 AcpiExCopyIntegerToIndexField ( 646 ACPI_OPERAND_OBJECT *SourceDesc, 647 ACPI_OPERAND_OBJECT *TargetDesc); 648 649 ACPI_STATUS 650 AcpiExCopyIntegerToBankField ( 651 ACPI_OPERAND_OBJECT *SourceDesc, 652 ACPI_OPERAND_OBJECT *TargetDesc); 653 654 ACPI_STATUS 655 AcpiExCopyDataToNamedField ( 656 ACPI_OPERAND_OBJECT *SourceDesc, 657 ACPI_NAMESPACE_NODE *Node); 658 659 ACPI_STATUS 660 AcpiExCopyIntegerToBufferField ( 661 ACPI_OPERAND_OBJECT *SourceDesc, 662 ACPI_OPERAND_OBJECT *TargetDesc); 663 664 665 /* 666 * exutils - interpreter/scanner utilities 667 */ 668 void 669 AcpiExEnterInterpreter ( 670 void); 671 672 void 673 AcpiExExitInterpreter ( 674 void); 675 676 BOOLEAN 677 AcpiExTruncateFor32bitTable ( 678 ACPI_OPERAND_OBJECT *ObjDesc); 679 680 void 681 AcpiExAcquireGlobalLock ( 682 UINT32 Rule); 683 684 void 685 AcpiExReleaseGlobalLock ( 686 UINT32 Rule); 687 688 void 689 AcpiExEisaIdToString ( 690 char *Dest, 691 UINT64 CompressedId); 692 693 void 694 AcpiExIntegerToString ( 695 char *Dest, 696 UINT64 Value); 697 698 void 699 AcpiExPciClsToString ( 700 char *Dest, 701 UINT8 ClassCode[3]); 702 703 BOOLEAN 704 AcpiIsValidSpaceId ( 705 UINT8 SpaceId); 706 707 708 /* 709 * exregion - default OpRegion handlers 710 */ 711 ACPI_STATUS 712 AcpiExSystemMemorySpaceHandler ( 713 UINT32 Function, 714 ACPI_PHYSICAL_ADDRESS Address, 715 UINT32 BitWidth, 716 UINT64 *Value, 717 void *HandlerContext, 718 void *RegionContext); 719 720 ACPI_STATUS 721 AcpiExSystemIoSpaceHandler ( 722 UINT32 Function, 723 ACPI_PHYSICAL_ADDRESS Address, 724 UINT32 BitWidth, 725 UINT64 *Value, 726 void *HandlerContext, 727 void *RegionContext); 728 729 ACPI_STATUS 730 AcpiExPciConfigSpaceHandler ( 731 UINT32 Function, 732 ACPI_PHYSICAL_ADDRESS Address, 733 UINT32 BitWidth, 734 UINT64 *Value, 735 void *HandlerContext, 736 void *RegionContext); 737 738 ACPI_STATUS 739 AcpiExCmosSpaceHandler ( 740 UINT32 Function, 741 ACPI_PHYSICAL_ADDRESS Address, 742 UINT32 BitWidth, 743 UINT64 *Value, 744 void *HandlerContext, 745 void *RegionContext); 746 747 ACPI_STATUS 748 AcpiExPciBarSpaceHandler ( 749 UINT32 Function, 750 ACPI_PHYSICAL_ADDRESS Address, 751 UINT32 BitWidth, 752 UINT64 *Value, 753 void *HandlerContext, 754 void *RegionContext); 755 756 ACPI_STATUS 757 AcpiExEmbeddedControllerSpaceHandler ( 758 UINT32 Function, 759 ACPI_PHYSICAL_ADDRESS Address, 760 UINT32 BitWidth, 761 UINT64 *Value, 762 void *HandlerContext, 763 void *RegionContext); 764 765 ACPI_STATUS 766 AcpiExSmBusSpaceHandler ( 767 UINT32 Function, 768 ACPI_PHYSICAL_ADDRESS Address, 769 UINT32 BitWidth, 770 UINT64 *Value, 771 void *HandlerContext, 772 void *RegionContext); 773 774 775 ACPI_STATUS 776 AcpiExDataTableSpaceHandler ( 777 UINT32 Function, 778 ACPI_PHYSICAL_ADDRESS Address, 779 UINT32 BitWidth, 780 UINT64 *Value, 781 void *HandlerContext, 782 void *RegionContext); 783 784 #endif /* __INTERP_H__ */ 785