1/****************************************************************************** 2 * 3 * Name: aclocal.h - Internal data types used across the ACPI subsystem |
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 |
143#define ACPI_DESC_TYPE_STATE_THREAD 0x29 |
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 |
298#define ANOBJ_RESERVED 0x01 |
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; |
393 UINT8 FieldType; 394 395} ACPI_CREATE_FIELD_INFO; 396 |
397 |
398 |
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 |
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; |
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; |
545 UINT8 *AmlPredicateStart; /* Start of if/while predicate */ |
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 |
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 */ |
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/* |
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; |
636 ACPI_RESULT_VALUES Results; 637 ACPI_NOTIFY_INFO Notify; 638 639} ACPI_GENERIC_STATE; 640 641 |
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 |
667 UINT32 ParseArgs; /* Grammar/Parse time arguments */ 668 UINT32 RuntimeArgs; /* Interpret time arguments */ |
669 UINT32 Flags; /* Misc flags */ 670 UINT8 ObjectType; /* Corresponding internal object type */ |
671 UINT8 Class; /* Opcode class */ 672 UINT8 Type; /* Opcode type */ 673 |
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 |
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 |
888/***************************************************************************** 889 * 890 * Resource descriptors 891 * 892 ****************************************************************************/ 893 894 895/* ResourceType values */ --- 162 unchanged lines hidden --- |