acinterp.h revision 241973
11638Srgrimes/****************************************************************************** 21638Srgrimes * 31638Srgrimes * Name: acinterp.h - Interpreter subcomponent prototypes and defines 41638Srgrimes * 51638Srgrimes *****************************************************************************/ 61638Srgrimes 71638Srgrimes/* 81638Srgrimes * Copyright (C) 2000 - 2012, Intel Corp. 91638Srgrimes * All rights reserved. 101638Srgrimes * 111638Srgrimes * Redistribution and use in source and binary forms, with or without 121638Srgrimes * modification, are permitted provided that the following conditions 131638Srgrimes * are met: 141638Srgrimes * 1. Redistributions of source code must retain the above copyright 151638Srgrimes * notice, this list of conditions, and the following disclaimer, 161638Srgrimes * without modification. 171638Srgrimes * 2. Redistributions in binary form must reproduce at minimum a disclaimer 181638Srgrimes * substantially similar to the "NO WARRANTY" disclaimer below 191638Srgrimes * ("Disclaimer") and any redistribution must be conditioned upon 201638Srgrimes * including a substantially similar Disclaimer requirement for further 211638Srgrimes * binary redistribution. 221638Srgrimes * 3. Neither the names of the above-listed copyright holders nor the names 231638Srgrimes * of any contributors may be used to endorse or promote products derived 241638Srgrimes * from this software without specific prior written permission. 251638Srgrimes * 261638Srgrimes * Alternatively, this software may be distributed under the terms of the 271638Srgrimes * GNU General Public License ("GPL") version 2 as published by the Free 281638Srgrimes * Software Foundation. 291638Srgrimes * 301638Srgrimes * NO WARRANTY 311638Srgrimes * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 321638Srgrimes * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3350476Speter * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 341638Srgrimes * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 351638Srgrimes * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 361638Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3779538Sru * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 381638Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 391638Srgrimes * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 401638Srgrimes * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 411638Srgrimes * POSSIBILITY OF SUCH DAMAGES. 421638Srgrimes */ 43131530Sru 44131530Sru#ifndef __ACINTERP_H__ 451638Srgrimes#define __ACINTERP_H__ 461638Srgrimes 471638Srgrimes 48131530Sru#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) 49131530Sru 501638Srgrimes/* Macros for tables used for debug output */ 511638Srgrimes 521638Srgrimes#define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f) 531638Srgrimes#define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f) 541638Srgrimes#define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO)) 551638Srgrimes 561638Srgrimes/* 571638Srgrimes * If possible, pack the following structures to byte alignment, since we 581638Srgrimes * don't care about performance for debug output. Two cases where we cannot 591638Srgrimes * pack the structures: 601638Srgrimes * 611638Srgrimes * 1) Hardware does not support misaligned memory transfers 62131530Sru * 2) Compiler does not support pointers within packed structures 63131530Sru */ 641638Srgrimes#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) 651638Srgrimes#pragma pack(1) 661638Srgrimes#endif 671638Srgrimes 681638Srgrimestypedef const struct acpi_exdump_info 691638Srgrimes{ 70131530Sru UINT8 Opcode; 71131530Sru UINT8 Offset; 721638Srgrimes char *Name; 731638Srgrimes 741638Srgrimes} ACPI_EXDUMP_INFO; 751638Srgrimes 761638Srgrimes/* Values for the Opcode field above */ 771638Srgrimes 781638Srgrimes#define ACPI_EXD_INIT 0 791638Srgrimes#define ACPI_EXD_TYPE 1 801638Srgrimes#define ACPI_EXD_UINT8 2 811638Srgrimes#define ACPI_EXD_UINT16 3 821638Srgrimes#define ACPI_EXD_UINT32 4 831638Srgrimes#define ACPI_EXD_UINT64 5 841638Srgrimes#define ACPI_EXD_LITERAL 6 851638Srgrimes#define ACPI_EXD_POINTER 7 861638Srgrimes#define ACPI_EXD_ADDRESS 8 871638Srgrimes#define ACPI_EXD_STRING 9 881638Srgrimes#define ACPI_EXD_BUFFER 10 891638Srgrimes#define ACPI_EXD_PACKAGE 11 901638Srgrimes#define ACPI_EXD_FIELD 12 911638Srgrimes#define ACPI_EXD_REFERENCE 13 921638Srgrimes 931638Srgrimes/* restore default alignment */ 941638Srgrimes 951638Srgrimes#pragma pack() 961638Srgrimes 971638Srgrimes 98131530Sru/* 99131530Sru * exconvrt - object conversion 1001638Srgrimes */ 1011638SrgrimesACPI_STATUS 1021638SrgrimesAcpiExConvertToInteger ( 1031638Srgrimes ACPI_OPERAND_OBJECT *ObjDesc, 104131530Sru ACPI_OPERAND_OBJECT **ResultDesc, 105131530Sru UINT32 Flags); 1061638Srgrimes 107131530SruACPI_STATUS 108131530SruAcpiExConvertToBuffer ( 1091638Srgrimes ACPI_OPERAND_OBJECT *ObjDesc, 1101638Srgrimes ACPI_OPERAND_OBJECT **ResultDesc); 1111638Srgrimes 1121638SrgrimesACPI_STATUS 1131638SrgrimesAcpiExConvertToString ( 114131530Sru ACPI_OPERAND_OBJECT *ObjDesc, 115131530Sru ACPI_OPERAND_OBJECT **ResultDesc, 1161638Srgrimes UINT32 Type); 1171638Srgrimes 1181638Srgrimes/* Types for ->String conversion */ 119131530Sru 120131530Sru#define ACPI_EXPLICIT_BYTE_COPY 0x00000000 1211638Srgrimes#define ACPI_EXPLICIT_CONVERT_HEX 0x00000001 1221638Srgrimes#define ACPI_IMPLICIT_CONVERT_HEX 0x00000002 1231638Srgrimes#define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003 1241638Srgrimes 1251638SrgrimesACPI_STATUS 1261638SrgrimesAcpiExConvertToTargetType ( 1271638Srgrimes ACPI_OBJECT_TYPE DestinationType, 1281638Srgrimes ACPI_OPERAND_OBJECT *SourceDesc, 1291638Srgrimes ACPI_OPERAND_OBJECT **ResultDesc, 1301638Srgrimes ACPI_WALK_STATE *WalkState); 1311638Srgrimes 1321638Srgrimes 1331638Srgrimes/* 1341638Srgrimes * exdebug - AML debug object 1351638Srgrimes */ 1361638Srgrimesvoid 1371638SrgrimesAcpiExDoDebugObject ( 1381638Srgrimes ACPI_OPERAND_OBJECT *SourceDesc, 1391638Srgrimes UINT32 Level, 140131530Sru UINT32 Index); 141131530Sru 1421638Srgrimes 1431638Srgrimes/* 1441638Srgrimes * exfield - ACPI AML (p-code) execution - field manipulation 14520920Swosch */ 14620920SwoschACPI_STATUS 14720920SwoschAcpiExCommonBufferSetup ( 14820920Swosch ACPI_OPERAND_OBJECT *ObjDesc, 14920920Swosch UINT32 BufferLength, 15020920Swosch UINT32 *DatumCount); 1511638Srgrimes 1521638SrgrimesACPI_STATUS 15320243SmppAcpiExWriteWithUpdateRule ( 15420243Smpp ACPI_OPERAND_OBJECT *ObjDesc, 1551638Srgrimes UINT64 Mask, 1561638Srgrimes UINT64 FieldValue, 1571638Srgrimes UINT32 FieldDatumByteOffset); 1581638Srgrimes 1591638Srgrimesvoid 1601638SrgrimesAcpiExGetBufferDatum( 1611638Srgrimes UINT64 *Datum, 1621638Srgrimes void *Buffer, 163 UINT32 BufferLength, 164 UINT32 ByteGranularity, 165 UINT32 BufferOffset); 166 167void 168AcpiExSetBufferDatum ( 169 UINT64 MergedDatum, 170 void *Buffer, 171 UINT32 BufferLength, 172 UINT32 ByteGranularity, 173 UINT32 BufferOffset); 174 175ACPI_STATUS 176AcpiExReadDataFromField ( 177 ACPI_WALK_STATE *WalkState, 178 ACPI_OPERAND_OBJECT *ObjDesc, 179 ACPI_OPERAND_OBJECT **RetBufferDesc); 180 181ACPI_STATUS 182AcpiExWriteDataToField ( 183 ACPI_OPERAND_OBJECT *SourceDesc, 184 ACPI_OPERAND_OBJECT *ObjDesc, 185 ACPI_OPERAND_OBJECT **ResultDesc); 186 187 188/* 189 * exfldio - low level field I/O 190 */ 191ACPI_STATUS 192AcpiExExtractFromField ( 193 ACPI_OPERAND_OBJECT *ObjDesc, 194 void *Buffer, 195 UINT32 BufferLength); 196 197ACPI_STATUS 198AcpiExInsertIntoField ( 199 ACPI_OPERAND_OBJECT *ObjDesc, 200 void *Buffer, 201 UINT32 BufferLength); 202 203ACPI_STATUS 204AcpiExAccessRegion ( 205 ACPI_OPERAND_OBJECT *ObjDesc, 206 UINT32 FieldDatumByteOffset, 207 UINT64 *Value, 208 UINT32 ReadWrite); 209 210 211/* 212 * exmisc - misc support routines 213 */ 214ACPI_STATUS 215AcpiExGetObjectReference ( 216 ACPI_OPERAND_OBJECT *ObjDesc, 217 ACPI_OPERAND_OBJECT **ReturnDesc, 218 ACPI_WALK_STATE *WalkState); 219 220ACPI_STATUS 221AcpiExConcatTemplate ( 222 ACPI_OPERAND_OBJECT *ObjDesc, 223 ACPI_OPERAND_OBJECT *ObjDesc2, 224 ACPI_OPERAND_OBJECT **ActualReturnDesc, 225 ACPI_WALK_STATE *WalkState); 226 227ACPI_STATUS 228AcpiExDoConcatenate ( 229 ACPI_OPERAND_OBJECT *ObjDesc, 230 ACPI_OPERAND_OBJECT *ObjDesc2, 231 ACPI_OPERAND_OBJECT **ActualReturnDesc, 232 ACPI_WALK_STATE *WalkState); 233 234ACPI_STATUS 235AcpiExDoLogicalNumericOp ( 236 UINT16 Opcode, 237 UINT64 Integer0, 238 UINT64 Integer1, 239 BOOLEAN *LogicalResult); 240 241ACPI_STATUS 242AcpiExDoLogicalOp ( 243 UINT16 Opcode, 244 ACPI_OPERAND_OBJECT *Operand0, 245 ACPI_OPERAND_OBJECT *Operand1, 246 BOOLEAN *LogicalResult); 247 248UINT64 249AcpiExDoMathOp ( 250 UINT16 Opcode, 251 UINT64 Operand0, 252 UINT64 Operand1); 253 254ACPI_STATUS 255AcpiExCreateMutex ( 256 ACPI_WALK_STATE *WalkState); 257 258ACPI_STATUS 259AcpiExCreateProcessor ( 260 ACPI_WALK_STATE *WalkState); 261 262ACPI_STATUS 263AcpiExCreatePowerResource ( 264 ACPI_WALK_STATE *WalkState); 265 266ACPI_STATUS 267AcpiExCreateRegion ( 268 UINT8 *AmlStart, 269 UINT32 AmlLength, 270 UINT8 RegionSpace, 271 ACPI_WALK_STATE *WalkState); 272 273ACPI_STATUS 274AcpiExCreateEvent ( 275 ACPI_WALK_STATE *WalkState); 276 277ACPI_STATUS 278AcpiExCreateAlias ( 279 ACPI_WALK_STATE *WalkState); 280 281ACPI_STATUS 282AcpiExCreateMethod ( 283 UINT8 *AmlStart, 284 UINT32 AmlLength, 285 ACPI_WALK_STATE *WalkState); 286 287 288/* 289 * exconfig - dynamic table load/unload 290 */ 291ACPI_STATUS 292AcpiExLoadOp ( 293 ACPI_OPERAND_OBJECT *ObjDesc, 294 ACPI_OPERAND_OBJECT *Target, 295 ACPI_WALK_STATE *WalkState); 296 297ACPI_STATUS 298AcpiExLoadTableOp ( 299 ACPI_WALK_STATE *WalkState, 300 ACPI_OPERAND_OBJECT **ReturnDesc); 301 302ACPI_STATUS 303AcpiExUnloadTable ( 304 ACPI_OPERAND_OBJECT *DdbHandle); 305 306 307/* 308 * exmutex - mutex support 309 */ 310ACPI_STATUS 311AcpiExAcquireMutex ( 312 ACPI_OPERAND_OBJECT *TimeDesc, 313 ACPI_OPERAND_OBJECT *ObjDesc, 314 ACPI_WALK_STATE *WalkState); 315 316ACPI_STATUS 317AcpiExAcquireMutexObject ( 318 UINT16 Timeout, 319 ACPI_OPERAND_OBJECT *ObjDesc, 320 ACPI_THREAD_ID ThreadId); 321 322ACPI_STATUS 323AcpiExReleaseMutex ( 324 ACPI_OPERAND_OBJECT *ObjDesc, 325 ACPI_WALK_STATE *WalkState); 326 327ACPI_STATUS 328AcpiExReleaseMutexObject ( 329 ACPI_OPERAND_OBJECT *ObjDesc); 330 331void 332AcpiExReleaseAllMutexes ( 333 ACPI_THREAD_STATE *Thread); 334 335void 336AcpiExUnlinkMutex ( 337 ACPI_OPERAND_OBJECT *ObjDesc); 338 339 340/* 341 * exprep - ACPI AML execution - prep utilities 342 */ 343ACPI_STATUS 344AcpiExPrepCommonFieldObject ( 345 ACPI_OPERAND_OBJECT *ObjDesc, 346 UINT8 FieldFlags, 347 UINT8 FieldAttribute, 348 UINT32 FieldBitPosition, 349 UINT32 FieldBitLength); 350 351ACPI_STATUS 352AcpiExPrepFieldValue ( 353 ACPI_CREATE_FIELD_INFO *Info); 354 355 356/* 357 * exsystem - Interface to OS services 358 */ 359ACPI_STATUS 360AcpiExSystemDoNotifyOp ( 361 ACPI_OPERAND_OBJECT *Value, 362 ACPI_OPERAND_OBJECT *ObjDesc); 363 364ACPI_STATUS 365AcpiExSystemDoSleep( 366 UINT64 Time); 367 368ACPI_STATUS 369AcpiExSystemDoStall ( 370 UINT32 Time); 371 372ACPI_STATUS 373AcpiExSystemSignalEvent( 374 ACPI_OPERAND_OBJECT *ObjDesc); 375 376ACPI_STATUS 377AcpiExSystemWaitEvent( 378 ACPI_OPERAND_OBJECT *Time, 379 ACPI_OPERAND_OBJECT *ObjDesc); 380 381ACPI_STATUS 382AcpiExSystemResetEvent( 383 ACPI_OPERAND_OBJECT *ObjDesc); 384 385ACPI_STATUS 386AcpiExSystemWaitSemaphore ( 387 ACPI_SEMAPHORE Semaphore, 388 UINT16 Timeout); 389 390ACPI_STATUS 391AcpiExSystemWaitMutex ( 392 ACPI_MUTEX Mutex, 393 UINT16 Timeout); 394 395/* 396 * exoparg1 - ACPI AML execution, 1 operand 397 */ 398ACPI_STATUS 399AcpiExOpcode_0A_0T_1R ( 400 ACPI_WALK_STATE *WalkState); 401 402ACPI_STATUS 403AcpiExOpcode_1A_0T_0R ( 404 ACPI_WALK_STATE *WalkState); 405 406ACPI_STATUS 407AcpiExOpcode_1A_0T_1R ( 408 ACPI_WALK_STATE *WalkState); 409 410ACPI_STATUS 411AcpiExOpcode_1A_1T_1R ( 412 ACPI_WALK_STATE *WalkState); 413 414ACPI_STATUS 415AcpiExOpcode_1A_1T_0R ( 416 ACPI_WALK_STATE *WalkState); 417 418/* 419 * exoparg2 - ACPI AML execution, 2 operands 420 */ 421ACPI_STATUS 422AcpiExOpcode_2A_0T_0R ( 423 ACPI_WALK_STATE *WalkState); 424 425ACPI_STATUS 426AcpiExOpcode_2A_0T_1R ( 427 ACPI_WALK_STATE *WalkState); 428 429ACPI_STATUS 430AcpiExOpcode_2A_1T_1R ( 431 ACPI_WALK_STATE *WalkState); 432 433ACPI_STATUS 434AcpiExOpcode_2A_2T_1R ( 435 ACPI_WALK_STATE *WalkState); 436 437 438/* 439 * exoparg3 - ACPI AML execution, 3 operands 440 */ 441ACPI_STATUS 442AcpiExOpcode_3A_0T_0R ( 443 ACPI_WALK_STATE *WalkState); 444 445ACPI_STATUS 446AcpiExOpcode_3A_1T_1R ( 447 ACPI_WALK_STATE *WalkState); 448 449 450/* 451 * exoparg6 - ACPI AML execution, 6 operands 452 */ 453ACPI_STATUS 454AcpiExOpcode_6A_0T_1R ( 455 ACPI_WALK_STATE *WalkState); 456 457 458/* 459 * exresolv - Object resolution and get value functions 460 */ 461ACPI_STATUS 462AcpiExResolveToValue ( 463 ACPI_OPERAND_OBJECT **StackPtr, 464 ACPI_WALK_STATE *WalkState); 465 466ACPI_STATUS 467AcpiExResolveMultiple ( 468 ACPI_WALK_STATE *WalkState, 469 ACPI_OPERAND_OBJECT *Operand, 470 ACPI_OBJECT_TYPE *ReturnType, 471 ACPI_OPERAND_OBJECT **ReturnDesc); 472 473 474/* 475 * exresnte - resolve namespace node 476 */ 477ACPI_STATUS 478AcpiExResolveNodeToValue ( 479 ACPI_NAMESPACE_NODE **StackPtr, 480 ACPI_WALK_STATE *WalkState); 481 482 483/* 484 * exresop - resolve operand to value 485 */ 486ACPI_STATUS 487AcpiExResolveOperands ( 488 UINT16 Opcode, 489 ACPI_OPERAND_OBJECT **StackPtr, 490 ACPI_WALK_STATE *WalkState); 491 492 493/* 494 * exdump - Interpreter debug output routines 495 */ 496void 497AcpiExDumpOperand ( 498 ACPI_OPERAND_OBJECT *ObjDesc, 499 UINT32 Depth); 500 501void 502AcpiExDumpOperands ( 503 ACPI_OPERAND_OBJECT **Operands, 504 const char *OpcodeName, 505 UINT32 NumOpcodes); 506 507void 508AcpiExDumpObjectDescriptor ( 509 ACPI_OPERAND_OBJECT *Object, 510 UINT32 Flags); 511 512void 513AcpiExDumpNamespaceNode ( 514 ACPI_NAMESPACE_NODE *Node, 515 UINT32 Flags); 516 517 518/* 519 * exnames - AML namestring support 520 */ 521ACPI_STATUS 522AcpiExGetNameString ( 523 ACPI_OBJECT_TYPE DataType, 524 UINT8 *InAmlAddress, 525 char **OutNameString, 526 UINT32 *OutNameLength); 527 528 529/* 530 * exstore - Object store support 531 */ 532ACPI_STATUS 533AcpiExStore ( 534 ACPI_OPERAND_OBJECT *ValDesc, 535 ACPI_OPERAND_OBJECT *DestDesc, 536 ACPI_WALK_STATE *WalkState); 537 538ACPI_STATUS 539AcpiExStoreObjectToNode ( 540 ACPI_OPERAND_OBJECT *SourceDesc, 541 ACPI_NAMESPACE_NODE *Node, 542 ACPI_WALK_STATE *WalkState, 543 UINT8 ImplicitConversion); 544 545#define ACPI_IMPLICIT_CONVERSION TRUE 546#define ACPI_NO_IMPLICIT_CONVERSION FALSE 547 548 549/* 550 * exstoren - resolve/store object 551 */ 552ACPI_STATUS 553AcpiExResolveObject ( 554 ACPI_OPERAND_OBJECT **SourceDescPtr, 555 ACPI_OBJECT_TYPE TargetType, 556 ACPI_WALK_STATE *WalkState); 557 558ACPI_STATUS 559AcpiExStoreObjectToObject ( 560 ACPI_OPERAND_OBJECT *SourceDesc, 561 ACPI_OPERAND_OBJECT *DestDesc, 562 ACPI_OPERAND_OBJECT **NewDesc, 563 ACPI_WALK_STATE *WalkState); 564 565 566/* 567 * exstorob - store object - buffer/string 568 */ 569ACPI_STATUS 570AcpiExStoreBufferToBuffer ( 571 ACPI_OPERAND_OBJECT *SourceDesc, 572 ACPI_OPERAND_OBJECT *TargetDesc); 573 574ACPI_STATUS 575AcpiExStoreStringToString ( 576 ACPI_OPERAND_OBJECT *SourceDesc, 577 ACPI_OPERAND_OBJECT *TargetDesc); 578 579 580/* 581 * excopy - object copy 582 */ 583ACPI_STATUS 584AcpiExCopyIntegerToIndexField ( 585 ACPI_OPERAND_OBJECT *SourceDesc, 586 ACPI_OPERAND_OBJECT *TargetDesc); 587 588ACPI_STATUS 589AcpiExCopyIntegerToBankField ( 590 ACPI_OPERAND_OBJECT *SourceDesc, 591 ACPI_OPERAND_OBJECT *TargetDesc); 592 593ACPI_STATUS 594AcpiExCopyDataToNamedField ( 595 ACPI_OPERAND_OBJECT *SourceDesc, 596 ACPI_NAMESPACE_NODE *Node); 597 598ACPI_STATUS 599AcpiExCopyIntegerToBufferField ( 600 ACPI_OPERAND_OBJECT *SourceDesc, 601 ACPI_OPERAND_OBJECT *TargetDesc); 602 603 604/* 605 * exutils - interpreter/scanner utilities 606 */ 607void 608AcpiExEnterInterpreter ( 609 void); 610 611void 612AcpiExExitInterpreter ( 613 void); 614 615void 616AcpiExReacquireInterpreter ( 617 void); 618 619void 620AcpiExRelinquishInterpreter ( 621 void); 622 623void 624AcpiExTruncateFor32bitTable ( 625 ACPI_OPERAND_OBJECT *ObjDesc); 626 627void 628AcpiExAcquireGlobalLock ( 629 UINT32 Rule); 630 631void 632AcpiExReleaseGlobalLock ( 633 UINT32 Rule); 634 635void 636AcpiExEisaIdToString ( 637 char *Dest, 638 UINT64 CompressedId); 639 640void 641AcpiExIntegerToString ( 642 char *Dest, 643 UINT64 Value); 644 645BOOLEAN 646AcpiIsValidSpaceId ( 647 UINT8 SpaceId); 648 649 650/* 651 * exregion - default OpRegion handlers 652 */ 653ACPI_STATUS 654AcpiExSystemMemorySpaceHandler ( 655 UINT32 Function, 656 ACPI_PHYSICAL_ADDRESS Address, 657 UINT32 BitWidth, 658 UINT64 *Value, 659 void *HandlerContext, 660 void *RegionContext); 661 662ACPI_STATUS 663AcpiExSystemIoSpaceHandler ( 664 UINT32 Function, 665 ACPI_PHYSICAL_ADDRESS Address, 666 UINT32 BitWidth, 667 UINT64 *Value, 668 void *HandlerContext, 669 void *RegionContext); 670 671ACPI_STATUS 672AcpiExPciConfigSpaceHandler ( 673 UINT32 Function, 674 ACPI_PHYSICAL_ADDRESS Address, 675 UINT32 BitWidth, 676 UINT64 *Value, 677 void *HandlerContext, 678 void *RegionContext); 679 680ACPI_STATUS 681AcpiExCmosSpaceHandler ( 682 UINT32 Function, 683 ACPI_PHYSICAL_ADDRESS Address, 684 UINT32 BitWidth, 685 UINT64 *Value, 686 void *HandlerContext, 687 void *RegionContext); 688 689ACPI_STATUS 690AcpiExPciBarSpaceHandler ( 691 UINT32 Function, 692 ACPI_PHYSICAL_ADDRESS Address, 693 UINT32 BitWidth, 694 UINT64 *Value, 695 void *HandlerContext, 696 void *RegionContext); 697 698ACPI_STATUS 699AcpiExEmbeddedControllerSpaceHandler ( 700 UINT32 Function, 701 ACPI_PHYSICAL_ADDRESS Address, 702 UINT32 BitWidth, 703 UINT64 *Value, 704 void *HandlerContext, 705 void *RegionContext); 706 707ACPI_STATUS 708AcpiExSmBusSpaceHandler ( 709 UINT32 Function, 710 ACPI_PHYSICAL_ADDRESS Address, 711 UINT32 BitWidth, 712 UINT64 *Value, 713 void *HandlerContext, 714 void *RegionContext); 715 716 717ACPI_STATUS 718AcpiExDataTableSpaceHandler ( 719 UINT32 Function, 720 ACPI_PHYSICAL_ADDRESS Address, 721 UINT32 BitWidth, 722 UINT64 *Value, 723 void *HandlerContext, 724 void *RegionContext); 725 726#endif /* __INTERP_H__ */ 727