diff options
author | Robert Moore <Robert.Moore@intel.com> | 2011-07-13 07:31:15 -0700 |
---|---|---|
committer | Lin Ming <ming.m.lin@intel.com> | 2011-11-10 10:10:22 +0800 |
commit | c5865877ddd1d3c7fdba5dfad4d8041e7f18d50c (patch) | |
tree | f82a751e9ae49eeeb8c6eb9be14da92c9c77a464 | |
parent | 5a5b2f1e178fce941143261915226dbe467a2318 (diff) |
ACPI 5.0/iASL: Initial support for "Connection" keyword.
Just parser support.
-rw-r--r-- | source/compiler/aslcompiler.l | 1 | ||||
-rw-r--r-- | source/compiler/aslcompiler.y | 11 | ||||
-rw-r--r-- | source/compiler/aslmap.c | 1 | ||||
-rw-r--r-- | source/include/amlcode.h | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/source/compiler/aslcompiler.l b/source/compiler/aslcompiler.l index 20647e1e4..142cd032e 100644 --- a/source/compiler/aslcompiler.l +++ b/source/compiler/aslcompiler.l @@ -197,6 +197,7 @@ NamePathTail [.]{NameSeg} "Offset" { count (1); return (PARSEOP_OFFSET); } "AccessAs" { count (1); return (PARSEOP_ACCESSAS); } "BankField" { count (2); return (PARSEOP_BANKFIELD); } +"Connection" { count (2); return (PARSEOP_CONNECTION); } "CreateBitField" { count (2); return (PARSEOP_CREATEBITFIELD); } "CreateByteField" { count (2); return (PARSEOP_CREATEBYTEFIELD); } "CreateDWordField" { count (2); return (PARSEOP_CREATEDWORDFIELD); } diff --git a/source/compiler/aslcompiler.y b/source/compiler/aslcompiler.y index 63560bbb0..7ed215d39 100644 --- a/source/compiler/aslcompiler.y +++ b/source/compiler/aslcompiler.y @@ -241,6 +241,7 @@ void * AslLocalAllocate (unsigned int Size); %token <i> PARSEOP_CONCATENATE %token <i> PARSEOP_CONCATENATERESTEMPLATE %token <i> PARSEOP_CONDREFOF +%token <i> PARSEOP_CONNECTION %token <i> PARSEOP_CONTINUE %token <i> PARSEOP_COPYOBJECT %token <i> PARSEOP_CREATEBITFIELD @@ -769,6 +770,7 @@ void * AslLocalAllocate (unsigned int Size); %type <n> ResourceMacroList %type <n> ResourceMacroTerm +%type <n> ConnectionTerm %type <n> DMATerm %type <n> DWordIOTerm %type <n> DWordMemoryTerm @@ -1271,6 +1273,7 @@ FieldUnit : FieldUnitEntry {} | OffsetTerm {} | AccessAsTerm {} + | ConnectionTerm {} ; FieldUnitEntry @@ -1296,6 +1299,14 @@ AccessAsTerm error ')' {$$ = AslDoError(); yyclearin;} ; +ConnectionTerm + : PARSEOP_CONNECTION '(' + ResourceMacroTerm + ')' {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);} + | PARSEOP_CONNECTION '(' + error ')' {$$ = AslDoError(); yyclearin;} + ; + CreateBitFieldTerm : PARSEOP_CREATEBITFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);} TermArg diff --git a/source/compiler/aslmap.c b/source/compiler/aslmap.c index 14d875a06..ef603b662 100644 --- a/source/compiler/aslmap.c +++ b/source/compiler/aslmap.c @@ -252,6 +252,7 @@ const ASL_MAPPING_ENTRY AslKeywordMapping [] = /* CONCATENATE */ OP_TABLE_ENTRY (AML_CONCAT_OP, 0, 0, ACPI_BTYPE_COMPUTE_DATA), /* CONCATENATERESTEMPLATE */ OP_TABLE_ENTRY (AML_CONCAT_RES_OP, 0, 0, ACPI_BTYPE_BUFFER), /* CONDREFOF */ OP_TABLE_ENTRY (AML_COND_REF_OF_OP, 0, 0, ACPI_BTYPE_INTEGER), +/* CONNECTION */ OP_TABLE_ENTRY (AML_INT_CONNECTION_OP, 0, 0, 0), /* CONTINUE */ OP_TABLE_ENTRY (AML_CONTINUE_OP, 0, 0, 0), /* COPY */ OP_TABLE_ENTRY (AML_COPY_OP, 0, 0, ACPI_BTYPE_DATA_REFERENCE), /* CREATEBITFIELD */ OP_TABLE_ENTRY (AML_CREATE_BIT_FIELD_OP, 0, 0, 0), diff --git a/source/include/amlcode.h b/source/include/amlcode.h index b14fb7acc..695c52d56 100644 --- a/source/include/amlcode.h +++ b/source/include/amlcode.h @@ -276,6 +276,7 @@ #define AML_INT_METHODCALL_OP (UINT16) 0x0035 #define AML_INT_RETURN_VALUE_OP (UINT16) 0x0036 #define AML_INT_EVAL_SUBTREE_OP (UINT16) 0x0037 +#define AML_INT_CONNECTION_OP (UINT16) 0x0038 #define ARG_NONE 0x0 |