Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Nov 2016 05:54:38 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r308953 - in head/sys/contrib/dev/acpica: . common compiler components/disassembler components/dispatcher components/events components/executer components/namespace components/parser co...
Message-ID:  <201611220554.uAM5scnJ068422@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Tue Nov 22 05:54:37 2016
New Revision: 308953
URL: https://svnweb.freebsd.org/changeset/base/308953

Log:
  Merge ACPICA 20161117.

Modified:
  head/sys/contrib/dev/acpica/changes.txt
  head/sys/contrib/dev/acpica/common/acfileio.c
  head/sys/contrib/dev/acpica/common/dmtbdump.c
  head/sys/contrib/dev/acpica/common/dmtbinfo.c
  head/sys/contrib/dev/acpica/compiler/aslbtypes.c
  head/sys/contrib/dev/acpica/compiler/aslcompiler.l
  head/sys/contrib/dev/acpica/compiler/aslcstyle.y
  head/sys/contrib/dev/acpica/compiler/aslexternal.c
  head/sys/contrib/dev/acpica/compiler/aslkeywords.y
  head/sys/contrib/dev/acpica/compiler/aslopcodes.c
  head/sys/contrib/dev/acpica/compiler/aslprimaries.y
  head/sys/contrib/dev/acpica/compiler/aslresources.y
  head/sys/contrib/dev/acpica/compiler/aslrestype2.c
  head/sys/contrib/dev/acpica/compiler/aslrules.y
  head/sys/contrib/dev/acpica/compiler/aslstubs.c
  head/sys/contrib/dev/acpica/compiler/asltokens.y
  head/sys/contrib/dev/acpica/compiler/asltypes.y
  head/sys/contrib/dev/acpica/compiler/aslwalks.c
  head/sys/contrib/dev/acpica/compiler/dttable.c
  head/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c
  head/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c
  head/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
  head/sys/contrib/dev/acpica/components/dispatcher/dsinit.c
  head/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c
  head/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c
  head/sys/contrib/dev/acpica/components/dispatcher/dswload2.c
  head/sys/contrib/dev/acpica/components/events/evrgnini.c
  head/sys/contrib/dev/acpica/components/executer/exconfig.c
  head/sys/contrib/dev/acpica/components/executer/exconvrt.c
  head/sys/contrib/dev/acpica/components/executer/exresop.c
  head/sys/contrib/dev/acpica/components/namespace/nsload.c
  head/sys/contrib/dev/acpica/components/namespace/nsnames.c
  head/sys/contrib/dev/acpica/components/namespace/nsxfname.c
  head/sys/contrib/dev/acpica/components/parser/psargs.c
  head/sys/contrib/dev/acpica/components/parser/psloop.c
  head/sys/contrib/dev/acpica/components/parser/psobject.c
  head/sys/contrib/dev/acpica/components/parser/pstree.c
  head/sys/contrib/dev/acpica/components/tables/tbdata.c
  head/sys/contrib/dev/acpica/components/tables/tbfadt.c
  head/sys/contrib/dev/acpica/components/tables/tbutils.c
  head/sys/contrib/dev/acpica/components/tables/tbxface.c
  head/sys/contrib/dev/acpica/components/tables/tbxfload.c
  head/sys/contrib/dev/acpica/components/utilities/utdecode.c
  head/sys/contrib/dev/acpica/components/utilities/utresrc.c
  head/sys/contrib/dev/acpica/include/acdisasm.h
  head/sys/contrib/dev/acpica/include/acevents.h
  head/sys/contrib/dev/acpica/include/acnamesp.h
  head/sys/contrib/dev/acpica/include/acopcode.h
  head/sys/contrib/dev/acpica/include/acpixf.h
  head/sys/contrib/dev/acpica/include/actables.h
  head/sys/contrib/dev/acpica/include/actbl.h
  head/sys/contrib/dev/acpica/include/acutils.h
  head/sys/contrib/dev/acpica/include/amlcode.h
Directory Properties:
  head/sys/contrib/dev/acpica/   (props changed)

Modified: head/sys/contrib/dev/acpica/changes.txt
==============================================================================
--- head/sys/contrib/dev/acpica/changes.txt	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/changes.txt	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/common/acfileio.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/acfileio.c	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/common/acfileio.c	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/common/dmtbdump.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtbdump.c	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/common/dmtbdump.c	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/common/dmtbinfo.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtbinfo.c	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/common/dmtbinfo.c	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslbtypes.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslbtypes.c	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslbtypes.c	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslcompiler.l
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslcompiler.l	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslcompiler.l	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslcstyle.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslcstyle.y	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslcstyle.y	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslexternal.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslexternal.c	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslexternal.c	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslkeywords.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslkeywords.y	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslkeywords.y	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslopcodes.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslopcodes.c	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslopcodes.c	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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: head/sys/contrib/dev/acpica/compiler/aslprimaries.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslprimaries.y	Tue Nov 22 02:51:06 2016	(r308952)
+++ head/sys/contrib/dev/acpica/compiler/aslprimaries.y	Tue Nov 22 05:54:37 2016	(r308953)
@@ -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 ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611220554.uAM5scnJ068422>