svn commit: r308770 - in vendor-sys/acpica/dist: . source/common source/compiler source/components/disassembler source/components/dispatcher source/components/events source/components/executer sour...
Jung-uk Kim
jkim at FreeBSD.org
Thu Nov 17 18:06:11 UTC 2016
Author: jkim
Date: Thu Nov 17 18:06:08 2016
New Revision: 308770
URL: https://svnweb.freebsd.org/changeset/base/308770
Log:
Import ACPICA 20161117.
Modified:
vendor-sys/acpica/dist/changes.txt
vendor-sys/acpica/dist/source/common/acfileio.c
vendor-sys/acpica/dist/source/common/dmtbdump.c
vendor-sys/acpica/dist/source/common/dmtbinfo.c
vendor-sys/acpica/dist/source/compiler/aslbtypes.c
vendor-sys/acpica/dist/source/compiler/aslcompiler.l
vendor-sys/acpica/dist/source/compiler/aslcstyle.y
vendor-sys/acpica/dist/source/compiler/aslexternal.c
vendor-sys/acpica/dist/source/compiler/aslkeywords.y
vendor-sys/acpica/dist/source/compiler/aslopcodes.c
vendor-sys/acpica/dist/source/compiler/aslprimaries.y
vendor-sys/acpica/dist/source/compiler/aslresources.y
vendor-sys/acpica/dist/source/compiler/aslrestype2.c
vendor-sys/acpica/dist/source/compiler/aslrules.y
vendor-sys/acpica/dist/source/compiler/aslstubs.c
vendor-sys/acpica/dist/source/compiler/asltokens.y
vendor-sys/acpica/dist/source/compiler/asltypes.y
vendor-sys/acpica/dist/source/compiler/aslwalks.c
vendor-sys/acpica/dist/source/compiler/dttable.c
vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c
vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c
vendor-sys/acpica/dist/source/components/disassembler/dmresrc.c
vendor-sys/acpica/dist/source/components/dispatcher/dsinit.c
vendor-sys/acpica/dist/source/components/dispatcher/dsmethod.c
vendor-sys/acpica/dist/source/components/dispatcher/dsopcode.c
vendor-sys/acpica/dist/source/components/dispatcher/dswload2.c
vendor-sys/acpica/dist/source/components/events/evrgnini.c
vendor-sys/acpica/dist/source/components/executer/exconfig.c
vendor-sys/acpica/dist/source/components/executer/exconvrt.c
vendor-sys/acpica/dist/source/components/executer/exresop.c
vendor-sys/acpica/dist/source/components/namespace/nsload.c
vendor-sys/acpica/dist/source/components/namespace/nsnames.c
vendor-sys/acpica/dist/source/components/namespace/nsxfname.c
vendor-sys/acpica/dist/source/components/parser/psargs.c
vendor-sys/acpica/dist/source/components/parser/psloop.c
vendor-sys/acpica/dist/source/components/parser/psobject.c
vendor-sys/acpica/dist/source/components/parser/pstree.c
vendor-sys/acpica/dist/source/components/tables/tbdata.c
vendor-sys/acpica/dist/source/components/tables/tbfadt.c
vendor-sys/acpica/dist/source/components/tables/tbutils.c
vendor-sys/acpica/dist/source/components/tables/tbxface.c
vendor-sys/acpica/dist/source/components/tables/tbxfload.c
vendor-sys/acpica/dist/source/components/utilities/utdecode.c
vendor-sys/acpica/dist/source/components/utilities/utresrc.c
vendor-sys/acpica/dist/source/include/acdisasm.h
vendor-sys/acpica/dist/source/include/acevents.h
vendor-sys/acpica/dist/source/include/acnamesp.h
vendor-sys/acpica/dist/source/include/acopcode.h
vendor-sys/acpica/dist/source/include/acpixf.h
vendor-sys/acpica/dist/source/include/actables.h
vendor-sys/acpica/dist/source/include/actbl.h
vendor-sys/acpica/dist/source/include/acutils.h
vendor-sys/acpica/dist/source/include/amlcode.h
vendor-sys/acpica/dist/source/tools/acpibin/abcompare.c
vendor-sys/acpica/dist/source/tools/acpibin/abmain.c
vendor-sys/acpica/dist/source/tools/acpibin/acpibin.h
vendor-sys/acpica/dist/source/tools/acpinames/anstubs.c
vendor-sys/acpica/dist/source/tools/acpixtract/acpixtract.c
vendor-sys/acpica/dist/source/tools/acpixtract/axutils.c
Modified: vendor-sys/acpica/dist/changes.txt
==============================================================================
--- vendor-sys/acpica/dist/changes.txt Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/changes.txt Thu Nov 17 18:06:08 2016 (r308770)
@@ -1,4 +1,83 @@
----------------------------------------
+17 November 2016. Summary of changes for version 20161117:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Table Manager: Fixed a regression introduced in 20160729, "FADT support
+cleanup". This was an attempt to remove all references in the source to
+the FADT version 2, which never was a legal version number. It was
+skipped because it was an early version of 64-bit support that was
+eventually abandoned for the current 64-bit support.
+
+Interpreter: Fixed a problem where runtime implicit conversion was
+incorrectly disabled for the ASL operators below. This brings the
+behavior into compliance with the ACPI specification:
+ FromBCD
+ ToBCD
+ ToDecimalString
+ ToHexString
+ ToInteger
+ ToBuffer
+
+Table Manager: Added a new public interface, AcpiPutTable, used to
+release and free an ACPI table returned by AcpiGetTable and related
+interfaces. Lv Zheng.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and
+has a much larger code and data size.
+
+ Current Release:
+ Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
+ Debug Version: 201.3K Code, 82.7K Data, 284.0K Total
+ Previous Release:
+ Non-Debug Version: 140.4K Code, 58.1K Data, 198.5K Total
+ Debug Version: 200.7K Code, 82.1K Data, 282.8K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed a regression for disassembly of Resource Template.
+Detection of templates in the AML stream missed some types of templates.
+
+iASL: Fixed a problem where an Access Size error was returned for the PCC
+address space when the AccessSize of the GAS register is greater than a
+DWORD. Hoan Tran.
+
+iASL: Implemented several grammar changes for the operators below. These
+changes are slated for the next version of the ACPI specification:
+ RefOf - Disallow method invocation as an operand
+ CondRefOf - Disallow method invocation as an operand
+ DerefOf - Disallow operands that use the result from operators
+that
+ do not return a reference (Changed TermArg to
+SuperName).
+
+iASL: Control method invocations are now allowed for Target operands, as
+per the ACPI specification. Removed error for using a control method
+invocation as a Target operand.
+
+Disassembler: Improved detection of Resource Templates, Unicode, and
+Strings within Buffer objects. These subtypes do not contain a specific
+opcode to indicate the originating ASL code, and they must be detected by
+other means within the disassembler.
+
+iASL: Implemented an optimization improvement for 32-bit ACPI tables
+(DSDT/SSDT). For the 32-bit case only, compute the optimum integer opcode
+only after 64-bit to 32-bit truncation. A truncation warning message is
+still emitted, however.
+
+AcpiXtract: Implemented handling for both types of line terminators (LF
+or CR/LF) so that it can accept AcpiDump output files from any system.
+Peter Wu.
+
+AcpiBin: Added two new options for comparing AML files:
+ -a: compare and display ALL mismatches
+ -o: start compare at this offset into the second file
+
+----------------------------------------
30 September 2016. Summary of changes for version 20160930:
Modified: vendor-sys/acpica/dist/source/common/acfileio.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/acfileio.c Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/common/acfileio.c Thu Nov 17 18:06:08 2016 (r308770)
@@ -112,7 +112,7 @@ AcGetAllTablesFromFile (
if (FileSize == ACPI_UINT32_MAX)
{
Status = AE_ERROR;
- goto ErrorExit;
+ goto Exit;
}
fprintf (stderr,
@@ -124,7 +124,7 @@ AcGetAllTablesFromFile (
if (FileSize < sizeof (ACPI_TABLE_HEADER))
{
Status = AE_BAD_HEADER;
- goto ErrorExit;
+ goto Exit;
}
/* Check for an non-binary file */
@@ -134,7 +134,8 @@ AcGetAllTablesFromFile (
fprintf (stderr,
" %s: File does not appear to contain a valid AML table\n",
Filename);
- return (AE_TYPE);
+ Status = AE_TYPE;
+ goto Exit;
}
/* Read all tables within the file */
@@ -153,23 +154,31 @@ AcGetAllTablesFromFile (
}
else if (Status == AE_TYPE)
{
- return (AE_OK);
+ Status = AE_OK;
+ goto Exit;
}
else if (ACPI_FAILURE (Status))
{
- goto ErrorExit;
+ goto Exit;
}
/* Print table header for iASL/disassembler only */
#ifdef ACPI_ASL_COMPILER
- AcpiTbPrintTableHeader (0, Table);
+ AcpiTbPrintTableHeader (0, Table);
#endif
/* Allocate and link a table descriptor */
TableDesc = AcpiOsAllocate (sizeof (ACPI_NEW_TABLE_DESC));
+ if (!TableDesc)
+ {
+ AcpiOsFree (Table);
+ Status = AE_NO_MEMORY;
+ goto Exit;
+ }
+
TableDesc->Table = Table;
TableDesc->Next = NULL;
@@ -204,7 +213,7 @@ AcGetAllTablesFromFile (
*ReturnListHead = ListHead;
}
-ErrorExit:
+Exit:
fclose(File);
return (Status);
}
@@ -262,7 +271,6 @@ AcGetOneTableFromFile (
return (Status);
}
-
if (GetOnlyAmlTables)
{
/*
Modified: vendor-sys/acpica/dist/source/common/dmtbdump.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtbdump.c Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/common/dmtbdump.c Thu Nov 17 18:06:08 2016 (r308770)
@@ -52,31 +52,12 @@
ACPI_MODULE_NAME ("dmtbdump")
-/* Table of revision-dependent FADT sizes */
+/* Local prototypes */
-static const UINT32 FadtRevisionLength [ACPI_FADT_MAX_VERSION + 1] =
-{
- 0, /* 0 - illegal */
- ACPI_FADT_V1_SIZE, /* 1 - ACPI 1.0 */
- 0, /* 2 - illegal */
- ACPI_FADT_V3_SIZE, /* 3 - ACPI 2.0 */
- ACPI_FADT_V4_SIZE, /* 4 - ACPI 3.0 and ACPI 4.0 */
- ACPI_FADT_V5_SIZE, /* 5 - ACPI 5.0 */
- ACPI_FADT_V6_SIZE /* 6 - ACPI 6.0 */
-};
-
-/* Table of revision-dependent FADT info tables */
-
-ACPI_DMTABLE_INFO *FadtRevisionInfo [ACPI_FADT_MAX_VERSION + 1] =
-{
- NULL, /* 0 - illegal */
- AcpiDmTableInfoFadt1, /* 1 - ACPI 1.0 */
- NULL, /* 2 - illegal */
- AcpiDmTableInfoFadt3, /* 3 - ACPI 2.0 */
- AcpiDmTableInfoFadt4, /* 4 - ACPI 3.0 and ACPI 4.0 */
- AcpiDmTableInfoFadt5, /* 5 - ACPI 5.0 */
- AcpiDmTableInfoFadt6 /* 6 - ACPI 6.0 */
-};
+static void
+AcpiDmValidateFadtLength (
+ UINT32 Revision,
+ UINT32 Length);
/*******************************************************************************
@@ -366,11 +347,6 @@ AcpiDmDumpXsdt (
*
* DESCRIPTION: Format the contents of a FADT
*
- * Check the FADT revision against the expected table length for
- * that revision. Issue a warning if the length is not what was
- * expected. This seems to be such a common BIOS bug that the
- * FADT revision has been rendered virtually meaningless.
- *
* NOTE: We cannot depend on the FADT version to indicate the actual
* contents of the FADT because of BIOS bugs. The table length
* is the only reliable indicator.
@@ -382,72 +358,142 @@ AcpiDmDumpFadt (
ACPI_TABLE_HEADER *Table)
{
ACPI_STATUS Status;
- UINT8 FadtRevision;
- UINT32 ExpectedLength;
- UINT32 i;
-
- FadtRevision = Table->Revision;
- /* FADT revision/length validation */
+ /* Always dump the minimum FADT revision 1 fields (ACPI 1.0) */
- if ((FadtRevision == 0) ||
- (FadtRevision == 2))
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+ AcpiDmTableInfoFadt1);
+ if (ACPI_FAILURE (Status))
{
- AcpiOsPrintf (
- "// ACPI Warning: Invalid or unsupported FADT revision: %u\n",
- FadtRevision);
return;
}
- if (FadtRevision > ACPI_FADT_MAX_VERSION)
- {
- AcpiOsPrintf ("// ACPI Warning: Revision %u is not fully supported, "
- "disassembling known fields (up to revision %u)\n\n",
- FadtRevision, ACPI_FADT_MAX_VERSION);
- }
- else
+ /* Check for FADT revision 2 fields (ACPI 1.0B MS extensions) */
+
+ if ((Table->Length > ACPI_FADT_V1_SIZE) &&
+ (Table->Length <= ACPI_FADT_V2_SIZE))
{
- ExpectedLength = FadtRevisionLength[FadtRevision];
- if (Table->Length != ExpectedLength)
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+ AcpiDmTableInfoFadt2);
+ if (ACPI_FAILURE (Status))
{
- AcpiOsPrintf (
- "// ACPI Warning: Input FADT revision %X does not match "
- "expected length: found 0x%X expected 0x%X\n",
- FadtRevision, Table->Length, ExpectedLength);
+ return;
}
}
- /*
- * Dump the input table on a per-version basis, but is actually
- * based upon the length of the table. Table length must
- * be larger than the required length of the previous version.
- */
- for (i = 1; i <= ACPI_FADT_MAX_VERSION; i++)
+ /* Check for FADT revision 3/4 fields and up (ACPI 2.0+ extended data) */
+
+ else if (Table->Length > ACPI_FADT_V2_SIZE)
{
- if (!FadtRevisionLength[i]) /* Skip any empty slots */
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+ AcpiDmTableInfoFadt3);
+ if (ACPI_FAILURE (Status))
{
- continue;
+ return;
}
- /* Dump the fields specific to FADT revision[i] */
+ /* Check for FADT revision 5 fields and up (ACPI 5.0+) */
- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
- FadtRevisionInfo[i]);
- if (ACPI_FAILURE (Status))
+ if (Table->Length > ACPI_FADT_V3_SIZE)
{
- return;
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+ AcpiDmTableInfoFadt5);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
}
- if (Table->Length <= FadtRevisionLength[i])
+ /* Check for FADT revision 6 fields and up (ACPI 6.0+) */
+
+ if (Table->Length > ACPI_FADT_V3_SIZE)
{
- break; /* End of table */
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+ AcpiDmTableInfoFadt6);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
}
}
- /* Build a local FADT to test some FADT values */
+ /* Validate various fields in the FADT, including length */
AcpiTbCreateLocalFadt (Table, Table->Length);
+
+ /* Validate FADT length against the revision */
+
+ AcpiDmValidateFadtLength (Table->Revision, Table->Length);
+}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiDmValidateFadtLength
+ *
+ * PARAMETERS: Revision - FADT revision (Header->Revision)
+ * Length - FADT length (Header->Length
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Check the FADT revision against the expected table length for
+ * that revision. Issue a warning if the length is not what was
+ * expected. This seems to be such a common BIOS bug that the
+ * FADT revision has been rendered virtually meaningless.
+ *
+ ******************************************************************************/
+
+static void
+AcpiDmValidateFadtLength (
+ UINT32 Revision,
+ UINT32 Length)
+{
+ UINT32 ExpectedLength;
+
+
+ switch (Revision)
+ {
+ case 0:
+
+ AcpiOsPrintf ("// ACPI Warning: Invalid FADT revision: 0\n");
+ return;
+
+ case 1:
+
+ ExpectedLength = ACPI_FADT_V1_SIZE;
+ break;
+
+ case 2:
+
+ ExpectedLength = ACPI_FADT_V2_SIZE;
+ break;
+
+ case 3:
+ case 4:
+
+ ExpectedLength = ACPI_FADT_V3_SIZE;
+ break;
+
+ case 5:
+
+ ExpectedLength = ACPI_FADT_V5_SIZE;
+ break;
+
+ default:
+
+ return;
+ }
+
+ if (Length == ExpectedLength)
+ {
+ return;
+ }
+
+ AcpiOsPrintf (
+ "\n// ACPI Warning: FADT revision %X does not match length: "
+ "found %X expected %X\n",
+ Revision, Length, ExpectedLength);
}
Modified: vendor-sys/acpica/dist/source/common/dmtbinfo.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtbinfo.c Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/common/dmtbinfo.c Thu Nov 17 18:06:08 2016 (r308770)
@@ -400,7 +400,7 @@ ACPI_DMTABLE_INFO AcpiDmTableI
*
******************************************************************************/
-/* FADT version 1 (ACPI 1.0) */
+/* ACPI 1.0 FADT (Version 1) */
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[] =
{
@@ -486,7 +486,18 @@ ACPI_DMTABLE_INFO AcpiDmTableI
ACPI_DMT_TERMINATOR
};
-/* FADT version 3 (ACPI 2.0) */
+/* ACPI 1.0 MS Extensions (FADT version 2) */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[] =
+{
+ {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0},
+ {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0},
+ {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (ArmBootFlags), "Reserved", 0},
+ {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MinorRevision), "Reserved", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* ACPI 2.0+ Extensions (FADT version 3, 4, and 5) */
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[] =
{
@@ -510,23 +521,16 @@ ACPI_DMTABLE_INFO AcpiDmTableI
ACPI_DMT_TERMINATOR
};
-/* FADT version 4 (ACPI 3.0 and ACPI 4.0) */
-
-ACPI_DMTABLE_INFO AcpiDmTableInfoFadt4[] =
-{
- {ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepControl), "Sleep Control Register", 0},
- ACPI_DMT_TERMINATOR
-};
-
-/* FADT version 5 (ACPI 5.0) */
+/* ACPI 5.0 Extensions (FADT version 5) */
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[] =
{
+ {ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepControl), "Sleep Control Register", 0},
{ACPI_DMT_GAS, ACPI_FADT_OFFSET (SleepStatus), "Sleep Status Register", 0},
ACPI_DMT_TERMINATOR
};
-/* FADT version 6 (ACPI 6.0) */
+/* ACPI 6.0 Extensions (FADT version 6) */
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[] =
{
Modified: vendor-sys/acpica/dist/source/compiler/aslbtypes.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslbtypes.c Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslbtypes.c Thu Nov 17 18:06:08 2016 (r308770)
@@ -151,7 +151,6 @@ AnMapArgTypeToBtype (
return (ACPI_BTYPE_DATA | ACPI_BTYPE_DEBUG_OBJECT |
ACPI_BTYPE_REFERENCE_OBJECT);
- case ARGI_FIXED_TARGET:
case ARGI_SIMPLE_TARGET:
return (ACPI_BTYPE_OBJECTS_AND_REFS);
Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.l
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslcompiler.l Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslcompiler.l Thu Nov 17 18:06:08 2016 (r308770)
@@ -156,8 +156,14 @@ NamePathTail [.]{NameSeg}
"^=" { count (3); return (PARSEOP_EXP_XOR_EQ); }
"|=" { count (3); return (PARSEOP_EXP_OR_EQ); }
-"[" { count (3); return(PARSEOP_EXP_INDEX_LEFT); }
-"]" { count (0); return(PARSEOP_EXP_INDEX_RIGHT); }
+"[" { count (3); return (PARSEOP_EXP_INDEX_LEFT); }
+"]" { count (0); return (PARSEOP_EXP_INDEX_RIGHT); }
+"(" { count (0); return (PARSEOP_OPEN_PAREN); }
+")" { count (0); return (PARSEOP_CLOSE_PAREN); }
+
+"{" { count (0); return ('{'); }
+"}" { count (0); return ('}'); }
+"," { count (0); return (','); }
/*
@@ -691,12 +697,6 @@ NamePathTail [.]{NameSeg}
"__PATH__" { count (0); return (PARSEOP___PATH__); }
-"{" { count (0); return('{'); }
-"}" { count (0); return('}'); }
-"," { count (0); return(','); }
-"(" { count (0); return('('); }
-")" { count (0); return(')'); }
-
{NameSeg} { char *s;
count (0);
s=UtStringCacheCalloc (ACPI_NAME_SIZE + 1);
Modified: vendor-sys/acpica/dist/source/compiler/aslcstyle.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslcstyle.y Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslcstyle.y Thu Nov 17 18:06:08 2016 (r308770)
@@ -149,21 +149,30 @@ Expression
/* Parentheses */
- | '(' TermArg ')' { $$ = $2;}
+ | PARSEOP_OPEN_PAREN
+ Expression
+ PARSEOP_CLOSE_PAREN {$$ = $2;}
/* Index term -- "= BUF1[5]" on right-hand side of an equals (source) */
- | SuperName PARSEOP_EXP_INDEX_LEFT
- TermArg PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
- TrLinkChildren ($$,3,$1,$3,TrCreateNullTarget ());}
+ | IndexExpTerm
;
- /* Index term -- "BUF1[5] = " on left-hand side of an equals (target) */
-
+ /*
+ * Index term -- "BUF1[5] = " or " = BUF1[5] on either the left side
+ * of an equals (target) or the right side (source)
+ * Currently used in these terms:
+ * Expression
+ * ObjectTypeSource
+ * DerefOfSource
+ * Type6Opcode
+ */
IndexExpTerm
- : SuperName PARSEOP_EXP_INDEX_LEFT
- TermArg PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
+ : SuperName
+ PARSEOP_EXP_INDEX_LEFT
+ TermArg
+ PARSEOP_EXP_INDEX_RIGHT {$$ = TrCreateLeafNode (PARSEOP_INDEX);
TrLinkChildren ($$,3,$1,$3,TrCreateNullTarget ());}
;
@@ -177,11 +186,26 @@ IndexExpTerm
EqualsTerm
+ /* Allow parens anywhere */
+
+ : PARSEOP_OPEN_PAREN
+ EqualsTerm
+ PARSEOP_CLOSE_PAREN {$$ = $2;}
+
/* Simple Store() operation */
- : SuperName PARSEOP_EXP_EQUALS
+ | SuperName
+ PARSEOP_EXP_EQUALS
TermArg {$$ = TrCreateAssignmentNode ($1, $3);}
+ /* Chained equals: (a=RefOf)=b, a=b=c=d etc. */
+
+ | PARSEOP_OPEN_PAREN
+ EqualsTerm
+ PARSEOP_CLOSE_PAREN
+ PARSEOP_EXP_EQUALS
+ TermArg {$$ = TrCreateAssignmentNode ($2, $5);}
+
/* Compound assignments -- Add (operand, operand, target) */
| TermArg PARSEOP_EXP_ADD_EQ {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
Modified: vendor-sys/acpica/dist/source/compiler/aslexternal.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslexternal.c Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslexternal.c Thu Nov 17 18:06:08 2016 (r308770)
@@ -325,6 +325,7 @@ ExMoveExternals (
ACPI_PARSE_OBJECT *NextOp;
ACPI_PARSE_OBJECT *Prev;
ACPI_PARSE_OBJECT *Next;
+ char *ExternalName;
ACPI_OBJECT_TYPE ObjType;
UINT32 i;
@@ -345,6 +346,12 @@ ExMoveExternals (
*/
ExternalOp = NextOp->Asl.Child;
+ /* Get/set the fully qualified name */
+
+ ExternalName = AcpiNsGetNormalizedPathname (ExternalOp->Asl.Node, TRUE);
+ ExternalOp->Asl.ExternalName = ExternalName;
+ ExternalOp->Asl.Namepath = ExternalName;
+
/* Set line numbers (for listings, etc.) */
ExternalOp->Asl.LineNumber = 0;
@@ -354,6 +361,14 @@ ExMoveExternals (
Next->Asl.LineNumber = 0;
Next->Asl.LogicalLineNumber = 0;
+ if (Next->Asl.ParseOpcode == PARSEOP_NAMESEG)
+ {
+ Next->Asl.ParseOpcode = PARSEOP_NAMESTRING;
+ }
+ Next->Asl.ExternalName = ExternalName;
+ UtInternalizeName (ExternalName, &Next->Asl.Value.String);
+ Next->Asl.AmlLength = strlen (Next->Asl.Value.String);
+
Next = Next->Asl.Next;
Next->Asl.LineNumber = 0;
Next->Asl.LogicalLineNumber = 0;
Modified: vendor-sys/acpica/dist/source/compiler/aslkeywords.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslkeywords.y Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslkeywords.y Thu Nov 17 18:06:08 2016 (r308770)
@@ -58,15 +58,18 @@ AccessAttribKeyword
| PARSEOP_ACCESSATTRIB_SND_RCV {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_SND_RCV);}
| PARSEOP_ACCESSATTRIB_WORD {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD);}
| PARSEOP_ACCESSATTRIB_WORD_CALL {$$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_WORD_CALL);}
- | PARSEOP_ACCESSATTRIB_MULTIBYTE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
+ | PARSEOP_ACCESSATTRIB_MULTIBYTE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_MULTIBYTE);}
ByteConst
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_ACCESSATTRIB_RAW_BYTES '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_ACCESSATTRIB_RAW_BYTES
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_BYTES);}
ByteConst
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
- | PARSEOP_ACCESSATTRIB_RAW_PROCESS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
+ | PARSEOP_ACCESSATTRIB_RAW_PROCESS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACCESSATTRIB_RAW_PROCESS);}
ByteConst
- ')' {$$ = TrLinkChildren ($<n>3,1,$4);}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,1,$4);}
;
AccessTypeKeyword
Modified: vendor-sys/acpica/dist/source/compiler/aslopcodes.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslopcodes.c Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslopcodes.c Thu Nov 17 18:06:08 2016 (r308770)
@@ -289,7 +289,7 @@ OpcSetOptimalIntegerSize (
Op->Asl.AmlOpcode = AML_DWORD_OP;
return (4);
}
- else
+ else /* 64-bit integer */
{
if (AcpiGbl_IntegerByteWidth == 4)
{
@@ -299,8 +299,12 @@ OpcSetOptimalIntegerSize (
if (!Gbl_IgnoreErrors)
{
/* Truncate the integer to 32-bit */
- Op->Asl.AmlOpcode = AML_DWORD_OP;
- return (4);
+
+ Op->Asl.Value.Integer &= ACPI_UINT32_MAX;
+
+ /* Now set the optimal integer size */
+
+ return (OpcSetOptimalIntegerSize (Op));
}
}
Modified: vendor-sys/acpica/dist/source/compiler/aslprimaries.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslprimaries.y Thu Nov 17 16:13:30 2016 (r308769)
+++ vendor-sys/acpica/dist/source/compiler/aslprimaries.y Thu Nov 17 18:06:08 2016 (r308770)
@@ -52,51 +52,61 @@ NoEcho('
******************************************************************************/
AccessAsTerm
- : PARSEOP_ACCESSAS '('
+ : PARSEOP_ACCESSAS
+ PARSEOP_OPEN_PAREN
AccessTypeKeyword
OptionalAccessAttribTerm
- ')' {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
- | PARSEOP_ACCESSAS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_ACCESSAS,2,$3,$4);}
+ | PARSEOP_ACCESSAS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AcquireTerm
- : PARSEOP_ACQUIRE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
+ : PARSEOP_ACQUIRE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ACQUIRE);}
SuperName
',' WordConstExpr
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
- | PARSEOP_ACQUIRE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$6);}
+ | PARSEOP_ACQUIRE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AddTerm
- : PARSEOP_ADD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
+ : PARSEOP_ADD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ADD);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_ADD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_ADD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AliasTerm
- : PARSEOP_ALIAS '(' {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
+ : PARSEOP_ALIAS
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_ALIAS);}
NameString
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,
TrSetNodeFlags ($5, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_ALIAS '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_ALIAS
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
AndTerm
- : PARSEOP_AND '(' {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
+ : PARSEOP_AND
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_AND);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_AND '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_AND
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ArgTerm
@@ -110,18 +120,21 @@ ArgTerm
;
BankFieldTerm
- : PARSEOP_BANKFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
+ : PARSEOP_BANKFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_BANKFIELD);}
NameString
NameStringItem
TermArgItem
',' AccessTypeKeyword
',' LockRuleKeyword
',' UpdateRuleKeyword
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
FieldUnitList '}' {$$ = TrLinkChildren ($<n>3,7,
$4,$5,$6,$8,$10,$12,$15);}
- | PARSEOP_BANKFIELD '('
- error ')' '{' error '}' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_BANKFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN
+ '{' error '}' {$$ = AslDoError(); yyclearin;}
;
BreakTerm
@@ -144,58 +157,69 @@ BufferTermData
;
CaseTerm
- : PARSEOP_CASE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
+ : PARSEOP_CASE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CASE);}
DataObject
- ')' '{'
+ PARSEOP_CLOSE_PAREN '{'
TermList '}' {$$ = TrLinkChildren ($<n>3,2,$4,$7);}
- | PARSEOP_CASE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CASE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ConcatTerm
- : PARSEOP_CONCATENATE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
+ : PARSEOP_CONCATENATE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONCATENATE);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_CONCATENATE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_CONCATENATE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ConcatResTerm
- : PARSEOP_CONCATENATERESTEMPLATE '(' {$<n>$ = TrCreateLeafNode (
- PARSEOP_CONCATENATERESTEMPLATE);}
+ : PARSEOP_CONCATENATERESTEMPLATE
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (
+ PARSEOP_CONCATENATERESTEMPLATE);}
TermArg
TermArgItem
Target
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
- | PARSEOP_CONCATENATERESTEMPLATE '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,$6);}
+ | PARSEOP_CONCATENATERESTEMPLATE
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
+ ;
+
+CondRefOfTerm
+ : PARSEOP_CONDREFOF
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
+ CondRefOfSource
+ Target
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
+ | PARSEOP_CONDREFOF
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ConnectionTerm
- : PARSEOP_CONNECTION '('
+ : PARSEOP_CONNECTION
+ PARSEOP_OPEN_PAREN
NameString
- ')' {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
- | PARSEOP_CONNECTION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
+ PARSEOP_CLOSE_PAREN {$$ = TrCreateNode (PARSEOP_CONNECTION,1,$3);}
+ | PARSEOP_CONNECTION
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CONNECTION);}
ResourceMacroTerm
- ')' {$$ = TrLinkChildren ($<n>3, 1,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3, 1,
TrLinkChildren (
TrCreateLeafNode (PARSEOP_RESOURCETEMPLATE), 3,
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
TrCreateLeafNode (PARSEOP_DEFAULT_ARG),
$4));}
- | PARSEOP_CONNECTION '('
- error ')' {$$ = AslDoError(); yyclearin;}
- ;
-
-CondRefOfTerm
- : PARSEOP_CONDREFOF '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CONDREFOF);}
- SuperName
- Target
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,$5);}
- | PARSEOP_CONDREFOF '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CONNECTION
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
ContinueTerm
@@ -203,92 +227,108 @@ ContinueTerm
;
CopyObjectTerm
- : PARSEOP_COPYOBJECT '(' {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
+ : PARSEOP_COPYOBJECT
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_COPYOBJECT);}
TermArg
- ',' SimpleTarget
- ')' {$$ = TrLinkChildren ($<n>3,2,$4,
+ ',' SimpleName
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,2,$4,
TrSetNodeFlags ($6, NODE_IS_TARGET));}
- | PARSEOP_COPYOBJECT '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_COPYOBJECT
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateBitFieldTerm
- : PARSEOP_CREATEBITFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
+ : PARSEOP_CREATEBITFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBITFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEBITFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEBITFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateByteFieldTerm
- : PARSEOP_CREATEBYTEFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
+ : PARSEOP_CREATEBYTEFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEBYTEFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEBYTEFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEBYTEFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateDWordFieldTerm
- : PARSEOP_CREATEDWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
+ : PARSEOP_CREATEDWORDFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEDWORDFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEDWORDFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEDWORDFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateFieldTerm
- : PARSEOP_CREATEFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
+ : PARSEOP_CREATEFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEFIELD);}
TermArg
TermArgItem
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,4,$4,$5,$6,
TrSetNodeFlags ($7, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateQWordFieldTerm
- : PARSEOP_CREATEQWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
+ : PARSEOP_CREATEQWORDFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEQWORDFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEQWORDFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEQWORDFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
CreateWordFieldTerm
- : PARSEOP_CREATEWORDFIELD '(' {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
+ : PARSEOP_CREATEWORDFIELD
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_CREATEWORDFIELD);}
TermArg
TermArgItem
NameStringItem
- ')' {$$ = TrLinkChildren ($<n>3,3,$4,$5,
+ PARSEOP_CLOSE_PAREN {$$ = TrLinkChildren ($<n>3,3,$4,$5,
TrSetNodeFlags ($6, NODE_IS_NAME_DECLARATION));}
- | PARSEOP_CREATEWORDFIELD '('
- error ')' {$$ = AslDoError(); yyclearin;}
+ | PARSEOP_CREATEWORDFIELD
+ PARSEOP_OPEN_PAREN
+ error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
;
DataRegionTerm
- : PARSEOP_DATATABLEREGION '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
+ : PARSEOP_DATATABLEREGION
+ PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafNode (PARSEOP_DATATABLEREGION);}
NameString
TermArgItem
TermArgItem
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list