aclocal.h (85756) | aclocal.h (87031) |
---|---|
1/****************************************************************************** 2 * 3 * Name: aclocal.h - Internal data types used across the ACPI subsystem | 1/****************************************************************************** 2 * 3 * Name: aclocal.h - Internal data types used across the ACPI subsystem |
4 * $Revision: 138 $ | 4 * $Revision: 145 $ |
5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp. --- 122 unchanged lines hidden (view full) --- 135#define ACPI_DESC_TYPE_STATE_UPDATE 0x21 136#define ACPI_DESC_TYPE_STATE_PACKAGE 0x22 137#define ACPI_DESC_TYPE_STATE_CONTROL 0x23 138#define ACPI_DESC_TYPE_STATE_RPSCOPE 0x24 139#define ACPI_DESC_TYPE_STATE_PSCOPE 0x25 140#define ACPI_DESC_TYPE_STATE_WSCOPE 0x26 141#define ACPI_DESC_TYPE_STATE_RESULT 0x27 142#define ACPI_DESC_TYPE_STATE_NOTIFY 0x28 | 5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp. --- 122 unchanged lines hidden (view full) --- 135#define ACPI_DESC_TYPE_STATE_UPDATE 0x21 136#define ACPI_DESC_TYPE_STATE_PACKAGE 0x22 137#define ACPI_DESC_TYPE_STATE_CONTROL 0x23 138#define ACPI_DESC_TYPE_STATE_RPSCOPE 0x24 139#define ACPI_DESC_TYPE_STATE_PSCOPE 0x25 140#define ACPI_DESC_TYPE_STATE_WSCOPE 0x26 141#define ACPI_DESC_TYPE_STATE_RESULT 0x27 142#define ACPI_DESC_TYPE_STATE_NOTIFY 0x28 |
143#define ACPI_DESC_TYPE_STATE_THREAD 0x29 |
|
143#define ACPI_DESC_TYPE_WALK 0x44 144#define ACPI_DESC_TYPE_PARSER 0x66 145#define ACPI_DESC_TYPE_INTERNAL 0x88 146#define ACPI_DESC_TYPE_NAMED 0xAA 147 148 149/***************************************************************************** 150 * --- 138 unchanged lines hidden (view full) --- 289} ACPI_NAMESPACE_NODE; 290 291 292#define ENTRY_NOT_FOUND NULL 293 294 295/* Node flags */ 296 | 144#define ACPI_DESC_TYPE_WALK 0x44 145#define ACPI_DESC_TYPE_PARSER 0x66 146#define ACPI_DESC_TYPE_INTERNAL 0x88 147#define ACPI_DESC_TYPE_NAMED 0xAA 148 149 150/***************************************************************************** 151 * --- 138 unchanged lines hidden (view full) --- 290} ACPI_NAMESPACE_NODE; 291 292 293#define ENTRY_NOT_FOUND NULL 294 295 296/* Node flags */ 297 |
297#define ANOBJ_AML_ATTACHMENT 0x01 | 298#define ANOBJ_RESERVED 0x01 |
298#define ANOBJ_END_OF_PEER_LIST 0x02 299#define ANOBJ_DATA_WIDTH_32 0x04 /* Parent table is 64-bits */ 300#define ANOBJ_METHOD_ARG 0x08 301#define ANOBJ_METHOD_LOCAL 0x10 302#define ANOBJ_METHOD_NO_RETVAL 0x20 303#define ANOBJ_METHOD_SOME_NO_RETVAL 0x40 304 305#define ANOBJ_IS_BIT_OFFSET 0x80 --- 77 unchanged lines hidden (view full) --- 383 ACPI_NAMESPACE_NODE *RegionNode; 384 ACPI_NAMESPACE_NODE *FieldNode; 385 ACPI_NAMESPACE_NODE *RegisterNode; 386 ACPI_NAMESPACE_NODE *DataRegisterNode; 387 UINT32 BankValue; 388 UINT32 FieldBitPosition; 389 UINT32 FieldBitLength; 390 UINT8 FieldFlags; | 299#define ANOBJ_END_OF_PEER_LIST 0x02 300#define ANOBJ_DATA_WIDTH_32 0x04 /* Parent table is 64-bits */ 301#define ANOBJ_METHOD_ARG 0x08 302#define ANOBJ_METHOD_LOCAL 0x10 303#define ANOBJ_METHOD_NO_RETVAL 0x20 304#define ANOBJ_METHOD_SOME_NO_RETVAL 0x40 305 306#define ANOBJ_IS_BIT_OFFSET 0x80 --- 77 unchanged lines hidden (view full) --- 384 ACPI_NAMESPACE_NODE *RegionNode; 385 ACPI_NAMESPACE_NODE *FieldNode; 386 ACPI_NAMESPACE_NODE *RegisterNode; 387 ACPI_NAMESPACE_NODE *DataRegisterNode; 388 UINT32 BankValue; 389 UINT32 FieldBitPosition; 390 UINT32 FieldBitLength; 391 UINT8 FieldFlags; |
392 UINT8 Attribute; |
|
391 UINT8 FieldType; 392 393} ACPI_CREATE_FIELD_INFO; 394 | 393 UINT8 FieldType; 394 395} ACPI_CREATE_FIELD_INFO; 396 |
395/* 396 * Field flags: Bits 00 - 03 : AccessType (AnyAcc, ByteAcc, etc.) 397 * 04 : LockRule (1 == Lock) 398 * 05 - 06 : UpdateRule 399 */ | |
400 | 397 |
401#define FIELD_ACCESS_TYPE_MASK 0x0F 402#define FIELD_LOCK_RULE_MASK 0x10 403#define FIELD_UPDATE_RULE_MASK 0x60 | |
404 | 398 |
405 | |
406/***************************************************************************** 407 * 408 * Event typedefs and structs 409 * 410 ****************************************************************************/ 411 412 413/* Status bits. */ --- 9 unchanged lines hidden (view full) --- 423 424#define ACPI_ENABLE_PMTIMER 0x0001 425#define ACPI_ENABLE_GLOBAL 0x0020 426#define ACPI_ENABLE_POWER_BUTTON 0x0100 427#define ACPI_ENABLE_SLEEP_BUTTON 0x0200 428#define ACPI_ENABLE_RTC_ALARM 0x0400 429 430 | 399/***************************************************************************** 400 * 401 * Event typedefs and structs 402 * 403 ****************************************************************************/ 404 405 406/* Status bits. */ --- 9 unchanged lines hidden (view full) --- 416 417#define ACPI_ENABLE_PMTIMER 0x0001 418#define ACPI_ENABLE_GLOBAL 0x0020 419#define ACPI_ENABLE_POWER_BUTTON 0x0100 420#define ACPI_ENABLE_SLEEP_BUTTON 0x0200 421#define ACPI_ENABLE_RTC_ALARM 0x0400 422 423 |
431/* 432 * Entry in the AddressSpace (AKA Operation Region) table 433 */ 434 435typedef struct 436{ 437 ACPI_ADR_SPACE_HANDLER Handler; 438 void *Context; 439 440} ACPI_ADR_SPACE_INFO; 441 442 | |
443/* Values and addresses of the GPE registers (both banks) */ 444 445typedef struct 446{ 447 UINT16 StatusAddr; /* Address of status reg */ 448 UINT16 EnableAddr; /* Address of enable reg */ 449 UINT8 Status; /* Current value of status reg */ 450 UINT8 Enable; /* Current value of enable reg */ --- 52 unchanged lines hidden (view full) --- 503#define CONTROL_CONDITIONAL_EXECUTING 0xC1 504#define CONTROL_PREDICATE_EXECUTING 0xC2 505#define CONTROL_PREDICATE_FALSE 0xC3 506#define CONTROL_PREDICATE_TRUE 0xC4 507 508 509/* Forward declarations */ 510struct acpi_walk_state; | 424/* Values and addresses of the GPE registers (both banks) */ 425 426typedef struct 427{ 428 UINT16 StatusAddr; /* Address of status reg */ 429 UINT16 EnableAddr; /* Address of enable reg */ 430 UINT8 Status; /* Current value of status reg */ 431 UINT8 Enable; /* Current value of enable reg */ --- 52 unchanged lines hidden (view full) --- 484#define CONTROL_CONDITIONAL_EXECUTING 0xC1 485#define CONTROL_PREDICATE_EXECUTING 0xC2 486#define CONTROL_PREDICATE_FALSE 0xC3 487#define CONTROL_PREDICATE_TRUE 0xC4 488 489 490/* Forward declarations */ 491struct acpi_walk_state; |
511struct acpi_walk_list; | |
512struct acpi_parse_obj; 513struct acpi_obj_mutex; 514 515 516#define ACPI_STATE_COMMON /* Two 32-bit fields and a pointer */\ 517 UINT8 DataType; /* To differentiate various internal objs */\ 518 UINT8 Flags; \ 519 UINT16 Value; \ --- 37 unchanged lines hidden (view full) --- 557/* 558 * Control state - one per if/else and while constructs. 559 * Allows nesting of these constructs 560 */ 561typedef struct acpi_control_state 562{ 563 ACPI_STATE_COMMON 564 struct acpi_parse_obj *PredicateOp; | 492struct acpi_parse_obj; 493struct acpi_obj_mutex; 494 495 496#define ACPI_STATE_COMMON /* Two 32-bit fields and a pointer */\ 497 UINT8 DataType; /* To differentiate various internal objs */\ 498 UINT8 Flags; \ 499 UINT16 Value; \ --- 37 unchanged lines hidden (view full) --- 537/* 538 * Control state - one per if/else and while constructs. 539 * Allows nesting of these constructs 540 */ 541typedef struct acpi_control_state 542{ 543 ACPI_STATE_COMMON 544 struct acpi_parse_obj *PredicateOp; |
565 UINT8 *AmlPredicateStart; /* Start of if/while predicate */ | 545 UINT8 *AmlPredicateStart; /* Start of if/while predicate */ |
566 567} ACPI_CONTROL_STATE; 568 569 570/* 571 * Scope state - current scope during namespace lookups 572 */ 573typedef struct acpi_scope_state 574{ 575 ACPI_STATE_COMMON 576 ACPI_NAMESPACE_NODE *Node; 577 578} ACPI_SCOPE_STATE; 579 580 581typedef struct acpi_pscope_state 582{ 583 ACPI_STATE_COMMON | 546 547} ACPI_CONTROL_STATE; 548 549 550/* 551 * Scope state - current scope during namespace lookups 552 */ 553typedef struct acpi_scope_state 554{ 555 ACPI_STATE_COMMON 556 ACPI_NAMESPACE_NODE *Node; 557 558} ACPI_SCOPE_STATE; 559 560 561typedef struct acpi_pscope_state 562{ 563 ACPI_STATE_COMMON |
584 struct acpi_parse_obj *Op; /* current op being parsed */ 585 UINT8 *ArgEnd; /* current argument end */ 586 UINT8 *PkgEnd; /* current package end */ 587 UINT32 ArgList; /* next argument to parse */ 588 UINT32 ArgCount; /* Number of fixed arguments */ | 564 struct acpi_parse_obj *Op; /* current op being parsed */ 565 UINT8 *ArgEnd; /* current argument end */ 566 UINT8 *PkgEnd; /* current package end */ 567 UINT32 ArgList; /* next argument to parse */ 568 UINT32 ArgCount; /* Number of fixed arguments */ |
589 590} ACPI_PSCOPE_STATE; 591 592 593/* | 569 570} ACPI_PSCOPE_STATE; 571 572 573/* |
574 * Thread state - one per thread across multiple walk states. Multiple walk 575 * states are created when there are nested control methods executing. 576 */ 577typedef struct acpi_thread_state 578{ 579 ACPI_STATE_COMMON 580 struct acpi_walk_state *WalkStateList; /* Head of list of WalkStates for this thread */ 581 union acpi_operand_obj *AcquiredMutexList; /* List of all currently acquired mutexes */ 582 UINT32 ThreadId; /* Running thread ID */ 583 UINT16 CurrentSyncLevel; /* Mutex Sync (nested acquire) level */ 584 585} ACPI_THREAD_STATE; 586 587 588/* |
|
594 * Result values - used to accumulate the results of nested 595 * AML arguments 596 */ 597typedef struct acpi_result_values 598{ 599 ACPI_STATE_COMMON 600 union acpi_operand_obj *ObjDesc [OBJ_NUM_OPERANDS]; 601 UINT8 NumResults; --- 30 unchanged lines hidden (view full) --- 632typedef union acpi_gen_state 633{ 634 ACPI_COMMON_STATE Common; 635 ACPI_CONTROL_STATE Control; 636 ACPI_UPDATE_STATE Update; 637 ACPI_SCOPE_STATE Scope; 638 ACPI_PSCOPE_STATE ParseScope; 639 ACPI_PKG_STATE Pkg; | 589 * Result values - used to accumulate the results of nested 590 * AML arguments 591 */ 592typedef struct acpi_result_values 593{ 594 ACPI_STATE_COMMON 595 union acpi_operand_obj *ObjDesc [OBJ_NUM_OPERANDS]; 596 UINT8 NumResults; --- 30 unchanged lines hidden (view full) --- 627typedef union acpi_gen_state 628{ 629 ACPI_COMMON_STATE Common; 630 ACPI_CONTROL_STATE Control; 631 ACPI_UPDATE_STATE Update; 632 ACPI_SCOPE_STATE Scope; 633 ACPI_PSCOPE_STATE ParseScope; 634 ACPI_PKG_STATE Pkg; |
635 ACPI_THREAD_STATE Thread; |
|
640 ACPI_RESULT_VALUES Results; 641 ACPI_NOTIFY_INFO Notify; 642 643} ACPI_GENERIC_STATE; 644 645 | 636 ACPI_RESULT_VALUES Results; 637 ACPI_NOTIFY_INFO Notify; 638 639} ACPI_GENERIC_STATE; 640 641 |
646 | |
647/***************************************************************************** 648 * 649 * Interpreter typedefs and structs 650 * 651 ****************************************************************************/ 652 653typedef 654ACPI_STATUS (*ACPI_EXECUTE_OP) ( --- 6 unchanged lines hidden (view full) --- 661 * 662 ****************************************************************************/ 663 664/* 665 * AML opcode, name, and argument layout 666 */ 667typedef struct acpi_opcode_info 668{ | 642/***************************************************************************** 643 * 644 * Interpreter typedefs and structs 645 * 646 ****************************************************************************/ 647 648typedef 649ACPI_STATUS (*ACPI_EXECUTE_OP) ( --- 6 unchanged lines hidden (view full) --- 656 * 657 ****************************************************************************/ 658 659/* 660 * AML opcode, name, and argument layout 661 */ 662typedef struct acpi_opcode_info 663{ |
664#ifdef _OPCODE_NAMES 665 NATIVE_CHAR *Name; /* Opcode name (debug only) */ 666#endif |
|
669 UINT32 ParseArgs; /* Grammar/Parse time arguments */ 670 UINT32 RuntimeArgs; /* Interpret time arguments */ | 667 UINT32 ParseArgs; /* Grammar/Parse time arguments */ 668 UINT32 RuntimeArgs; /* Interpret time arguments */ |
671 UINT16 Flags; /* Misc flags */ | 669 UINT32 Flags; /* Misc flags */ 670 UINT8 ObjectType; /* Corresponding internal object type */ |
672 UINT8 Class; /* Opcode class */ 673 UINT8 Type; /* Opcode type */ 674 | 671 UINT8 Class; /* Opcode class */ 672 UINT8 Type; /* Opcode type */ 673 |
675#ifdef _OPCODE_NAMES 676 NATIVE_CHAR *Name; /* op name (debug only) */ 677#endif | |
678 679} ACPI_OPCODE_INFO; 680 681 682typedef union acpi_parse_val 683{ 684 ACPI_INTEGER Integer; /* integer constant (Up to 64 bits) */ 685 UINT64_STRUCT Integer64; /* Structure overlay for 2 32-bit Dwords */ --- 62 unchanged lines hidden (view full) --- 748 struct acpi_parse_obj *StartOp; /* root of parse tree */ 749 struct acpi_node *StartNode; 750 union acpi_gen_state *Scope; /* current scope */ 751 752 753 struct acpi_parse_obj *StartScope; 754 755 | 674 675} ACPI_OPCODE_INFO; 676 677 678typedef union acpi_parse_val 679{ 680 ACPI_INTEGER Integer; /* integer constant (Up to 64 bits) */ 681 UINT64_STRUCT Integer64; /* Structure overlay for 2 32-bit Dwords */ --- 62 unchanged lines hidden (view full) --- 744 struct acpi_parse_obj *StartOp; /* root of parse tree */ 745 struct acpi_node *StartNode; 746 union acpi_gen_state *Scope; /* current scope */ 747 748 749 struct acpi_parse_obj *StartScope; 750 751 |
756 757 | |
758} ACPI_PARSE_STATE; 759 760 761/***************************************************************************** 762 * 763 * Hardware and PNP 764 * 765 ****************************************************************************/ --- 120 unchanged lines hidden (view full) --- 886 887#define GPE0_STS_MASK 888#define GPE0_EN_MASK 889 890#define GPE1_STS_MASK 891#define GPE1_EN_MASK 892 893 | 752} ACPI_PARSE_STATE; 753 754 755/***************************************************************************** 756 * 757 * Hardware and PNP 758 * 759 ****************************************************************************/ --- 120 unchanged lines hidden (view full) --- 880 881#define GPE0_STS_MASK 882#define GPE0_EN_MASK 883 884#define GPE1_STS_MASK 885#define GPE1_EN_MASK 886 887 |
894#define ACPI_READ 1 895#define ACPI_WRITE 2 896 897 | |
898/***************************************************************************** 899 * 900 * Resource descriptors 901 * 902 ****************************************************************************/ 903 904 905/* ResourceType values */ --- 162 unchanged lines hidden --- | 888/***************************************************************************** 889 * 890 * Resource descriptors 891 * 892 ****************************************************************************/ 893 894 895/* ResourceType values */ --- 162 unchanged lines hidden --- |