diff --git a/.acpica-tools.metadata b/.acpica-tools.metadata
index 9b60703..1c43e51 100644
--- a/.acpica-tools.metadata
+++ b/.acpica-tools.metadata
@@ -1,2 +1,2 @@
-283c594c4b89db8e3bef8fca25021c52938987ad SOURCES/acpica-unix2-20150619.tar.gz
-d84d399a98cc1d3ff4c5eaf03ee1d9e01ad9be3a SOURCES/acpitests-unix-20150619.tar.gz
+52495ced43532748f1955dcf6c1aa343a03cd67b SOURCES/acpica-unix2-20160527.tar.gz
+3fc040effedc62cefed9e09f358d55e398f0375a SOURCES/acpitests-unix-20160527.tar.gz
diff --git a/.gitignore b/.gitignore
index c1b4c0e..19b0924 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/acpica-unix2-20150619.tar.gz
-SOURCES/acpitests-unix-20150619.tar.gz
+SOURCES/acpica-unix2-20160527.tar.gz
+SOURCES/acpitests-unix-20160527.tar.gz
diff --git a/SOURCES/50bde98a82-acpica.patch b/SOURCES/50bde98a82-acpica.patch
deleted file mode 100644
index ea2d58c..0000000
--- a/SOURCES/50bde98a82-acpica.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-commit 50bde98a8268e940c0d072de0546685c5c2f893b
-Author:     Robert Moore <Robert.Moore@intel.com>
-AuthorDate: Fri Jun 19 09:44:39 2015 -0700
-Commit:     Robert Moore <Robert.Moore@intel.com>
-CommitDate: Fri Jun 19 09:44:39 2015 -0700
-
-    iASL/Disassembler: Add status checks in the dmtbdump module.
-    
-    Error checking after calls to AcpiDmDumpTable was inconsistent.
-    ACPICA BZ 1169.
-
-diff --git a/source/common/dmtbdump.c b/source/common/dmtbdump.c
-index 4711b68..bb9cf55 100644
---- a/source/common/dmtbdump.c
-+++ b/source/common/dmtbdump.c
-@@ -208,11 +208,16 @@ AcpiDmDumpRsdp (
-     ACPI_TABLE_RSDP         *Rsdp = ACPI_CAST_PTR (ACPI_TABLE_RSDP, Table);
-     UINT32                  Length = sizeof (ACPI_RSDP_COMMON);
-     UINT8                   Checksum;
-+    ACPI_STATUS             Status;
- 
- 
-     /* Dump the common ACPI 1.0 portion */
- 
--    AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRsdp1);
-+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRsdp1);
-+    if (ACPI_FAILURE (Status))
-+    {
-+        return (Length);
-+    }
- 
-     /* Validate the first checksum */
- 
-@@ -229,7 +234,11 @@ AcpiDmDumpRsdp (
-     if (Rsdp->Revision > 0)
-     {
-         Length = Rsdp->Length;
--        AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRsdp2);
-+        Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRsdp2);
-+        if (ACPI_FAILURE (Status))
-+        {
-+            return (Length);
-+        }
- 
-         /* Validate the extended checksum over entire RSDP */
- 
-@@ -347,37 +356,59 @@ void
- AcpiDmDumpFadt (
-     ACPI_TABLE_HEADER       *Table)
- {
-+    ACPI_STATUS             Status;
-+
- 
-     /* Always dump the minimum FADT revision 1 fields (ACPI 1.0) */
- 
--    AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt1);
-+    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt1);
-+    if (ACPI_FAILURE (Status))
-+    {
-+        return;
-+    }
- 
-     /* Check for FADT revision 2 fields (ACPI 1.0B MS extensions) */
- 
-     if ((Table->Length > ACPI_FADT_V1_SIZE) &&
-         (Table->Length <= ACPI_FADT_V2_SIZE))
-     {
--        AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt2);
-+        Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt2);
-+        if (ACPI_FAILURE (Status))
-+        {
-+            return;
-+        }
-     }
- 
-     /* Check for FADT revision 3/4 fields and up (ACPI 2.0+ extended data) */
- 
-     else if (Table->Length > ACPI_FADT_V2_SIZE)
-     {
--        AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt3);
-+        Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt3);
-+        if (ACPI_FAILURE (Status))
-+        {
-+            return;
-+        }
- 
-         /* Check for FADT revision 5 fields and up (ACPI 5.0+) */
- 
-         if (Table->Length > ACPI_FADT_V3_SIZE)
-         {
--            AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt5);
-+            Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt5);
-+            if (ACPI_FAILURE (Status))
-+            {
-+                return;
-+            }
-         }
- 
-         /* Check for FADT revision 6 fields and up (ACPI 6.0+) */
- 
-         if (Table->Length > ACPI_FADT_V3_SIZE)
-         {
--            AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt6);
-+            Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt6);
-+            if (ACPI_FAILURE (Status))
-+            {
-+                return;
-+            }
-         }
-     }
- 
-@@ -1136,7 +1167,7 @@ AcpiDmDumpDrtm (
-                 AcpiDmTableInfoDrtm1);
-     if (ACPI_FAILURE (Status))
-     {
--            return;
-+        return;
-     }
- 
-     Offset += ACPI_OFFSET (ACPI_DRTM_RESOURCE_LIST, Resources);
-@@ -1164,13 +1195,9 @@ AcpiDmDumpDrtm (
- 
-     DrtmDps = ACPI_ADD_PTR (ACPI_DRTM_DPS_ID, Table, Offset);
-     AcpiOsPrintf ("\n");
--    Status = AcpiDmDumpTable (Table->Length, Offset,
-+    (void) AcpiDmDumpTable (Table->Length, Offset,
-                 DrtmDps, sizeof (ACPI_DRTM_DPS_ID),
-                 AcpiDmTableInfoDrtm2);
--    if (ACPI_FAILURE (Status))
--    {
--        return;
--    }
- }
- 
- 
-@@ -1794,6 +1821,10 @@ AcpiDmDumpIort (
-                 Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-                             ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
-                             Length, AcpiDmTableInfoIort3a);
-+                if (ACPI_FAILURE (Status))
-+                {
-+                    return;
-+                }
- 
-                 NodeOffset = IortSmmu->ContextInterruptOffset;
-                 for (i = 0; i < IortSmmu->ContextInterruptCount; i++)
-@@ -1801,6 +1832,10 @@ AcpiDmDumpIort (
-                     Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-                                 ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
-                                 8, AcpiDmTableInfoIort3b);
-+                    if (ACPI_FAILURE (Status))
-+                    {
-+                        return;
-+                    }
-                     NodeOffset += 8;
-                 }
- 
-@@ -1810,6 +1845,10 @@ AcpiDmDumpIort (
-                     Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-                                 ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
-                                 8, AcpiDmTableInfoIort3c);
-+                    if (ACPI_FAILURE (Status))
-+                    {
-+                        return;
-+                    }
-                     NodeOffset += 8;
-                 }
-             }
-@@ -1830,6 +1869,10 @@ AcpiDmDumpIort (
-             Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-                         ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
-                         Length, AcpiDmTableInfoIortMap);
-+            if (ACPI_FAILURE (Status))
-+            {
-+                return;
-+            }
-             NodeOffset += Length;
-         }
- 
-@@ -2004,6 +2047,10 @@ AcpiDmDumpIvrs (
- 
-                 Status = AcpiDmDumpTable (Table->Length, EntryOffset,
-                             DeviceEntry, EntryLength, InfoTable);
-+                if (ACPI_FAILURE (Status))
-+                {
-+                    return;
-+                }
- 
-                 EntryOffset += EntryLength;
-                 DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, DeviceEntry,
-@@ -2687,6 +2734,11 @@ AcpiDmDumpNfit (
-                 Status = AcpiDmDumpTable (Table->Length, Offset + FieldOffset,
-                             &Interleave->LineOffset[i],
-                             sizeof (UINT32), AcpiDmTableInfoNfit2a);
-+                if (ACPI_FAILURE (Status))
-+                {
-+                    return;
-+                }
-+
-                 FieldOffset += sizeof (UINT32);
-             }
-             break;
-@@ -2715,6 +2767,11 @@ AcpiDmDumpNfit (
-                 Status = AcpiDmDumpTable (Table->Length, Offset + FieldOffset,
-                             &Hint->HintAddress[i],
-                             sizeof (UINT64), AcpiDmTableInfoNfit6a);
-+                if (ACPI_FAILURE (Status))
-+                {
-+                    return;
-+                }
-+
-                 FieldOffset += sizeof (UINT64);
-             }
-             break;
-@@ -3126,7 +3183,7 @@ void
- AcpiDmDumpSlic (
-     ACPI_TABLE_HEADER       *Table)
- {
--    AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table,
-+    (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table,
-                 Table->Length - sizeof (*Table), AcpiDmTableInfoSlic);
- }
- 
-@@ -3497,10 +3554,6 @@ AcpiDmDumpWpbt (
- 
-     /* Dump the arguments buffer */
- 
--    AcpiDmDumpTable (Table->Length, 0, Table, ArgumentsLength,
-+    (void) AcpiDmDumpTable (Table->Length, 0, Table, ArgumentsLength,
-         AcpiDmTableInfoWpbt0);
--    if (ACPI_FAILURE (Status))
--    {
--        return;
--    }
- }
diff --git a/SOURCES/DSDT-too-long.patch b/SOURCES/DSDT-too-long.patch
new file mode 100644
index 0000000..8d0ef9b
--- /dev/null
+++ b/SOURCES/DSDT-too-long.patch
@@ -0,0 +1,33 @@
+ASL Test Suite encounters the following type of error...
+
+  Table [DSDT] is too long for file - needs: 0xCE4C0000, remaining in file: 0x4CCE
+
+when tests/aslts.sh was run on a big-endian system.
+
+diff --git a/source/common/acfileio.c b/source/common/acfileio.c
+index 589eaea..83e59e2 100644
+--- a/source/common/acfileio.c
++++ b/source/common/acfileio.c
+@@ -391,6 +391,7 @@ AcValidateTableHeader (
+     size_t                  Actual;
+     long                    OriginalOffset;
+     UINT32                  FileSize;
++    UINT32                  Length;
+     UINT32                  i;
+ 
+ 
+@@ -422,11 +423,12 @@ AcValidateTableHeader (
+     /* Validate table length against bytes remaining in the file */
+ 
+     FileSize = CmGetFileSize (File);
+-    if (TableHeader.Length > (UINT32) (FileSize - TableOffset))
++    ACPI_MOVE_32_TO_32(&Length, &TableHeader.Length);
++    if (Length > (UINT32) (FileSize - TableOffset))
+     {
+         fprintf (stderr, "Table [%4.4s] is too long for file - "
+             "needs: 0x%.2X, remaining in file: 0x%.2X\n",
+-            TableHeader.Signature, TableHeader.Length,
++            TableHeader.Signature, Length,
+             (UINT32) (FileSize - TableOffset));
+         return (AE_BAD_HEADER);
+     }
diff --git a/SOURCES/aapits-linux.patch b/SOURCES/aapits-linux.patch
deleted file mode 100644
index 4ac8d2f..0000000
--- a/SOURCES/aapits-linux.patch
+++ /dev/null
@@ -1,321 +0,0 @@
-diff --git a/tests/aapits/atexec.c b/tests/aapits/atexec.c
-index be86d00..fe47228 100644
---- a/tests/aapits/atexec.c
-+++ b/tests/aapits/atexec.c
-@@ -639,6 +639,7 @@ AtBuildLocalFADT2 (
- }
- 
- 
-+#if ACPI_MACHINE_WIDTH == 32
- /*******************************************************************************
-  *
-  * FUNCTION:    AtBuildLocalRSDT
-@@ -757,6 +758,7 @@ AtBuildLocalRSDT (
-         LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum;
-     }
- }
-+#endif
- 
- 
- /*******************************************************************************
-@@ -1424,7 +1426,7 @@ AeRegionHandler (
-         ACPI_WARNING ((AE_INFO,
-             "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X\n",
-             (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address,
--            ByteWidth, (UINT32) BufferAddress, Length));
-+            ByteWidth, (UINT32) BufferAddress, (UINT32) Length));
- 
-         return (AE_AML_REGION_LIMIT);
-     }
-@@ -1799,7 +1801,9 @@ AtCheckInteger(
-             Path, Obj.Integer.Value, Value);
- #else
-         printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
--            Path, Obj.Integer.Value, Value);
-+            Path,
-+	    (long long unsigned int) Obj.Integer.Value,
-+	    (long long unsigned int) Value);
- #endif
-         Status = AE_ERROR;
-     }
-@@ -1878,7 +1882,7 @@ AtCheckString(
-     {
-         TestErrors++;
-         printf ("Test Error: cannot allocate buffer of %d bytes\n",
--            Results.Length);
-+                (int) Results.Length);
-         return (AE_NO_MEMORY);
-     }
-     Results.Pointer = Object;
-@@ -1959,7 +1963,8 @@ AtCheckBuffer(
-     {
-         printf ("AtCheckBuffer: unexpected length %d of Buffer vs"
-             " calculated %d bytes\n",
--            Results.Length, ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length));
-+            (int)Results.Length,
-+	    (int)(ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)));
-     }
- 
-     /* Initialize the return buffer structure */
-@@ -1968,7 +1973,7 @@ AtCheckBuffer(
-     {
-         TestErrors++;
-         printf ("Test Error: cannot allocate buffer of %d bytes\n",
--            Results.Length);
-+            (int) Results.Length);
-         return (AE_NO_MEMORY);
-     }
-     Results.Pointer = Object;
-diff --git a/tests/aapits/atinit.c b/tests/aapits/atinit.c
-index 0c74029..90cd137 100644
---- a/tests/aapits/atinit.c
-+++ b/tests/aapits/atinit.c
-@@ -3024,7 +3024,7 @@ AtInitTest0041(void)
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
- 
-@@ -3046,7 +3046,7 @@ AtInitTest0041(void)
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
- 
-@@ -3066,7 +3066,7 @@ AtInitTest0041(void)
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
-         else if (OutBuffer.Pointer != &Info)
-@@ -3149,7 +3149,7 @@ AtInitTest0042(void)
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
-         else if (OutBuffer.Pointer != &Info)
-@@ -3214,7 +3214,7 @@ AtInitTest0043(void)
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (ACPI_SYSTEM_INFO));
-+                (int) OutBuffer.Length, (int) sizeof (ACPI_SYSTEM_INFO));
-             return (AE_ERROR);
-         }
-         else
-diff --git a/tests/aapits/atmain.c b/tests/aapits/atmain.c
-index 12232c9..62230ef 100644
---- a/tests/aapits/atmain.c
-+++ b/tests/aapits/atmain.c
-@@ -345,7 +345,7 @@ ExecuteTest (
-     {
-         printf ("ACPICA API TS err: test num %ld of test case %ld"
-             " is not implemented\n",
--            test_num, test_case);
-+            (long int) test_num, (long int) test_case);
-         return (AtRetNotImpl);
-     }
- 
-@@ -460,7 +460,7 @@ main(
-     if (test_case < 1 || test_case > AT_TEST_CASE_NUM)
-     {
-         printf ("ACPICA API TS err: test case %ld is out of range 1 - %d\n",
--            test_case, AT_TEST_CASE_NUM);
-+            (long int) test_case, (int) AT_TEST_CASE_NUM);
-         return (AtRetBadParam);
-     }
- 
-@@ -468,7 +468,7 @@ main(
-     if (test_num < 0 || test_num > AtTestCase[test_case].TestsNum)
-     {
-         printf ("ACPICA API TS err: test num %ld is out of range 0 - %d\n",
--            test_num, AtTestCase[test_case].TestsNum);
-+            (long int) test_num, AtTestCase[test_case].TestsNum);
-         return (AtRetBadParam);
-     }
- 
-diff --git a/tests/aapits/atnamespace.c b/tests/aapits/atnamespace.c
-index 06dd66d..9e0dcc1 100644
---- a/tests/aapits/atnamespace.c
-+++ b/tests/aapits/atnamespace.c
-@@ -2535,7 +2535,8 @@ AtGetObjectInfoTypeCommon(
- #else
-                 printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n",
-                     PathNames[2 * i + 1],
--                    Info->Address, ExpectedInfo[i].Address);
-+                    (long long unsigned int) Info->Address,
-+		    (long long unsigned int) ExpectedInfo[i].Address);
- #endif
- #else
-                 printf ("API Error: Address of %s (0x%X) != (0x%X)\n",
-@@ -2908,7 +2909,8 @@ AtGetNextObjectTypeCommon(
-         TestErrors++;
-         printf ("AtGetNextObjectTypeCommon: different numbers of entities"
-             "in TypesNames (%d) and LevelTypes0000 (%d)\n",
--            TypesCount, sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE));
-+            TypesCount,
-+	    (int) (sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)));
-         return (AE_ERROR);
-     }
- 
-@@ -4192,7 +4194,9 @@ AtCheckHandlePathMapping(
-             Pathname, Obj.Integer.Value, Value);
- #else
-         printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
--            Pathname, Obj.Integer.Value, Value);
-+            Pathname,
-+	    (long long unsigned int) Obj.Integer.Value,
-+	    (long long unsigned int) Value);
- #endif
-         Status = AE_ERROR;
-     }
-@@ -5199,7 +5203,7 @@ AtGetNameExceptionTest(
-             {
-                 AapiErrors++;
-                 printf ("API Error: AcpiOsAllocate(%d) returned NULL\n",
--                    OutName.Length);
-+                    (int) OutName.Length);
-                 return (AE_ERROR);
-             }
-         }
-diff --git a/tests/aapits/atosxfctrl.c b/tests/aapits/atosxfctrl.c
-index fe8b562..76f5310 100644
---- a/tests/aapits/atosxfctrl.c
-+++ b/tests/aapits/atosxfctrl.c
-@@ -737,13 +737,15 @@ ACPI_OSXF_EMUL_REG
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef    _MSC_VER
-         printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n",
-+            Width, Address);
- #else
-         printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%llx\n",
-+            Width, (long long unsigned int) Address);
- #endif
- #else
-         printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%x\n",
--#endif
-             Width, Address);
-+#endif
-         return (NULL);
-     }
- 
-@@ -764,15 +766,19 @@ ACPI_OSXF_EMUL_REG
- #ifdef    _MSC_VER
-                 printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)"
-                     " and (0x%I64x: 0x%x)\n",
-+                    Reg->Address, Reg->Width, Address, Width);
- #else
-                 printf("OsxfCtrlFingReg: intersection Regs (0x%llx: 0x%x)"
-                     " and (0x%llx: 0x%x)\n",
-+                    (long long unsigned int) Reg->Address,
-+		    Reg->Width,
-+		    (long long unsigned int) Address, Width);
- #endif
- #else
-                 printf("OsxfCtrlFingReg: intersection Regs (0x%x: 0x%x)"
-                     " and (0x%x: 0x%x)\n",
--#endif
-                     Reg->Address, Reg->Width, Address, Width);
-+#endif
-                 return (NULL);
-             }
-         }
-@@ -786,13 +792,15 @@ ACPI_OSXF_EMUL_REG
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef    _MSC_VER
-             printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n",
-+                Reg->Address, Reg->Width);
- #else
-             printf("OsxfCtrlFingReg: no memory for Reg (0x%llx: 0x%x)\n",
-+                (long long unsigned int) Reg->Address, Reg->Width);
- #endif
- #else
-             printf("OsxfCtrlFingReg: no memory for Reg (0x%x: 0x%x)\n",
--#endif
-                 Reg->Address, Reg->Width);
-+#endif
-             return (NULL);
-         }
-         Reg->Type = Type;
-@@ -932,14 +940,19 @@ OsxfCtrlRegService(UINT32 ServiceFlag)
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef    _MSC_VER
-             printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n",
-+                i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-+                Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
- #else
-             printf("%.2u (%s Address 0x%llx: Width %.2u) r/w counts: %u/%u\n",
-+                i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-+                (long long unsigned int) Reg->Address,
-+		Reg->Width, Reg->ReadCount, Reg->WriteCount);
- #endif
- #else
-             printf("%.2u (%s Address 0x%.4x: Width %.2u) r/w counts: %u/%u\n",
--#endif
-                 i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-                 Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
-+#endif
-             Reg = Reg->Next;
-             i++;
-         }
-diff --git a/tests/aapits/atresource.c b/tests/aapits/atresource.c
-index b13dc67..d0570f8 100644
---- a/tests/aapits/atresource.c
-+++ b/tests/aapits/atresource.c
-@@ -174,7 +174,7 @@ AtRsrcTest0000(void)
-         AapiErrors++;
-         printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+            Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-         return (AE_ERROR);
-     }
- 
-@@ -490,7 +490,7 @@ AtRsrcTest0005(void)
-         AapiErrors++;
-         printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+            Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-         return (AE_ERROR);
-     }
- 
-@@ -689,7 +689,7 @@ AtRsrcTest0007(void)
-         AapiErrors++;
-         printf ("Api Error: Resource->Length (%d) != %d\n",
-             CurrentResource->Length,
--            ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)));
-+            (int) (ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))));
-     }
- 
-     if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */
-@@ -981,7 +981,7 @@ AtRsrcTest0012(void)
-         AapiErrors++;
-         printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+            Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-         return (AE_ERROR);
-     }
- 
-@@ -1923,7 +1923,7 @@ AtRsrcTest0026(void)
-         AapiErrors++;
-         printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, 0xA48);
-+            Pathname, (int) OutBuffer.Length, 0xA48);
-         return (AE_ERROR);
-     }
- 
diff --git a/SOURCES/asllookup-miscompare.patch b/SOURCES/asllookup-miscompare.patch
index fe55c9c..d6e135b 100644
--- a/SOURCES/asllookup-miscompare.patch
+++ b/SOURCES/asllookup-miscompare.patch
@@ -1,23 +1,35 @@
 diff --git a/source/compiler/asllookup.c b/source/compiler/asllookup.c
-index 6114822..2da9f71 100644
+index fed35fd..cda5976 100644
 --- a/source/compiler/asllookup.c
 +++ b/source/compiler/asllookup.c
-@@ -119,6 +119,7 @@ LkIsObjectUsed (
- {
-     ACPI_NAMESPACE_NODE     *Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, ObjHandle);
-     ACPI_NAMESPACE_NODE     *Next;
-+    ACPI_NAME_UNION         tmp;
+@@ -122,6 +122,8 @@ LkIsObjectUsed (
+     ASL_METHOD_LOCAL        *MethodLocals;
+     ASL_METHOD_LOCAL        *MethodArgs;
+     UINT32                  i;
++    ACPI_NAME_UNION         NodeName;
++    ACPI_NAME_UNION         NextName;
  
  
-     /* Referenced flag is set during the namespace xref */
-@@ -162,8 +163,9 @@ LkIsObjectUsed (
+     if (Node->Type == ACPI_TYPE_METHOD)
+@@ -175,7 +177,8 @@ LkIsObjectUsed (
+                  * We ignore the predefined methods since often, not
+                  * all arguments are needed or used.
+                  */
+-                if ((Node->Name.Ascii[0] != '_') &&
++                ACPI_MOVE_32_TO_32(&NodeName.Ascii, Node->Name.Ascii);
++                if ((NodeName.Ascii[0] != '_') &&
+                     (!(MethodArgs[i].Flags & ASL_ARG_REFERENCED)))
+                 {
+                     sprintf (MsgBuffer, "Arg%u", i);
+@@ -228,8 +231,10 @@ LkIsObjectUsed (
               * Issue a remark even if it is a reserved name (starts
               * with an underscore).
               */
-+            ACPI_MOVE_32_TO_32(&tmp.Ascii, Next->Name.Ascii);
-             sprintf (MsgBuffer, "Name is within method [%4.4s]",
--                Next->Name.Ascii);
-+                tmp.Ascii);
++            ACPI_MOVE_32_TO_32(&NodeName.Ascii, Node->Name.Ascii);
++            ACPI_MOVE_32_TO_32(&NextName.Ascii, Next->Name.Ascii);
+             sprintf (MsgBuffer, "Name [%4.4s] is within a method [%4.4s]",
+-                Node->Name.Ascii, Next->Name.Ascii);
++                NodeName.Ascii, NextName.Ascii);
              AslError (ASL_REMARK, ASL_MSG_NOT_REFERENCED,
                  LkGetNameOp (Node->Op), MsgBuffer);
              return (AE_OK);
diff --git a/SOURCES/badcode.asl.result b/SOURCES/badcode.asl.result
index 27a4125..23bef67 100644
--- a/SOURCES/badcode.asl.result
+++ b/SOURCES/badcode.asl.result
@@ -2,7 +2,7 @@ badcode.asl     25:     Mutex (MTX1, 32)
 Error    6125 -                      ^ SyncLevel must be in the range 0-15
 
 badcode.asl     29:     Name (BIG, 0x1234567887654321)
-Warning  3038 -                                    ^ 64-bit integer in 32-bit table, truncating (DSDT version < 2)
+Warning  3038 -                                    ^ 64-bit integer in 32-bit table, truncating (DSDT or SSDT version < 2)
 
 badcode.asl     33:     Name (PKG1, Package(5) {0,1})
 Remark   2063 -                            ^ Initializer list shorter than declared package length
@@ -26,19 +26,28 @@ badcode.asl     67:     Method (MTH1, 0, NotSerialized, 32)
 Error    6125 -     SyncLevel must be in the range 0-15 ^ 
 
 badcode.asl     71:         Store (Arg3, Local0)
+Warning  3144 -                              ^ Method Local is set but never used (Local0)
+
+badcode.asl     71:         Store (Arg3, Local0)
 Error    6006 -                      ^ Method argument is not initialized (Arg3)
 
 badcode.asl     71:         Store (Arg3, Local0)
 Remark   2087 -                      ^ Not a parameter, used as local only (Arg3)
 
 badcode.asl     72:         Store (Local1, Local2)
+Warning  3144 -                                ^ Method Local is set but never used (Local2)
+
+badcode.asl     72:         Store (Local1, Local2)
 Error    6066 -                        ^ Method local variable is not initialized (Local1)
 
 badcode.asl     76:         Subtract (MTX1, 4, Local3)
-Error    6058 -            Invalid type ^  ([Mutex|Reference] found, Subtract operator requires [Integer|String|Buffer])
+Warning  3144 - Method Local is set but never used ^  (Local3)
+
+badcode.asl     76:         Subtract (MTX1, 4, Local3)
+Error    6058 -            Invalid type ^  ([Mutex] found, Subtract operator requires [Integer|String|Buffer])
 
 badcode.asl     80:         CreateField (BUF1, 0, Subtract (4, 4), FLD1)
-Remark   2089 -                             Object is not referenced ^  (Name is within method [MTH1])
+Remark   2089 -                             Object is not referenced ^  (Name [FLD1] is within a method [MTH1])
 
 badcode.asl     80:         CreateField (BUF1, 0, Subtract (4, 4), FLD1)
 Error    6083 -                  Operand evaluates to zero ^ 
@@ -65,9 +74,15 @@ badcode.asl    101:         Switch (ToInteger (INT1))
 Error    6078 -                            ^ No Case statements under Switch
 
 badcode.asl    120:         Store (MTH2 (), Local0)
+Warning  3144 -                                 ^ Method Local is set but never used (Local0)
+
+badcode.asl    120:         Store (MTH2 (), Local0)
 Warning  3122 -                      ^ Called method may not always return a value
 
 badcode.asl    126:     Method (MTH5) {Store (MTH4(), Local0)}
+Warning  3144 -        Method Local is set but never used ^  (Local0)
+
+badcode.asl    126:     Method (MTH5) {Store (MTH4(), Local0)}
 Error    6080 -  Called method returns no value ^ 
 
 badcode.asl    132:         Name (_HID, "*PNP0C0A")     // Illegal leading asterisk
@@ -197,52 +212,55 @@ badcode.asl    388:         CreateWordField (RSC3, \DWI1._LEN, LEN)
 Warning  3128 -              ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 16 bits)
 
 badcode.asl    388:         CreateWordField (RSC3, \DWI1._LEN, LEN)
-Remark   2089 -                        Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                        Object is not referenced ^  (Name [LEN_] is within a method [REM1])
 
 badcode.asl    389:         CreateByteField (RSC3, \DWI1._MIN, MIN)
 Warning  3128 -              ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)
 
 badcode.asl    389:         CreateByteField (RSC3, \DWI1._MIN, MIN)
-Remark   2089 -                        Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                        Object is not referenced ^  (Name [MIN_] is within a method [REM1])
 
 badcode.asl    390:         CreateBitField (RSC3, \DWI1._RNG, RNG1)
 Warning  3128 -             ResourceTag larger than Field ^  (Size mismatch, Tag: 2 bits, Field: 1 bit)
 
 badcode.asl    390:         CreateBitField (RSC3, \DWI1._RNG, RNG1)
-Remark   2089 -                        Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                        Object is not referenced ^  (Name [RNG1] is within a method [REM1])
 
 badcode.asl    394:         CreateQWordField (RSC3, \DWI1._MAX, MAX)
 Warning  3129 -              ResourceTag smaller than Field ^  (Size mismatch, Tag: 32 bits, Field: 64 bits)
 
 badcode.asl    394:         CreateQWordField (RSC3, \DWI1._MAX, MAX)
-Remark   2089 -                         Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                         Object is not referenced ^  (Name [MAX_] is within a method [REM1])
 
 badcode.asl    395:         CreateBitField (RSC3, \DWI1._GRA, GRA)
 Warning  3128 -             ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 1 bit)
 
 badcode.asl    395:         CreateBitField (RSC3, \DWI1._GRA, GRA)
-Remark   2089 -                       Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                       Object is not referenced ^  (Name [GRA_] is within a method [REM1])
 
 badcode.asl    396:         CreateField (RSC3, \DWI1._MIF, 5, MIF)
 Warning  3129 -         ResourceTag smaller than Field ^  (Size mismatch, Tag: 1 bit, Field: 5 bits)
 
 badcode.asl    396:         CreateField (RSC3, \DWI1._MIF, 5, MIF)
-Remark   2089 -                       Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                       Object is not referenced ^  (Name [MIF_] is within a method [REM1])
 
 badcode.asl    397:         CreateField (RSC3, \DWI1._RNG, 3, RNG2)
 Warning  3129 -         ResourceTag smaller than Field ^  (Size mismatch, Tag: 2 bits, Field: 3 bits)
 
 badcode.asl    397:         CreateField (RSC3, \DWI1._RNG, 3, RNG2)
-Remark   2089 -                        Object is not referenced ^  (Name is within method [REM1])
+Remark   2089 -                        Object is not referenced ^  (Name [RNG2] is within a method [REM1])
+
+badcode.asl    404:         Store (40, Local0)
+Warning  3144 -                            ^ Method Local is set but never used (Local0)
 
 
 Intel ACPI Component Architecture
 ASL+ Optimizing Compiler version VVVVVVVV-YYYY
-Copyright (c) 2000 - 2015 Intel Corporation
+Copyright (c) 2000 - 2016 Intel Corporation
 
 Ignoring all errors, forcing AML file generation
 
-ASL Input:     badcode.asl - 402 lines, 11480 bytes, 79 keywords
-AML Output:    badcode.aml - 1184 bytes, 60 named objects, 19 executable opcodes
+ASL Input:     badcode.asl - 409 lines, 11588 bytes, 81 keywords
+AML Output:    badcode.aml - 1195 bytes, 61 named objects, 20 executable opcodes
 
-Compilation complete. 46 Errors, 22 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded
+Compilation complete. 46 Errors, 28 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded
diff --git a/SOURCES/cdacc71af1-acpica.patch b/SOURCES/cdacc71af1-acpica.patch
deleted file mode 100644
index 1ce6b55..0000000
--- a/SOURCES/cdacc71af1-acpica.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit cdacc71af14045c08d1b357981ba36ae722dd47e
-Author:     Robert Moore <Robert.Moore@intel.com>
-AuthorDate: Fri Jun 19 09:43:28 2015 -0700
-Commit:     Robert Moore <Robert.Moore@intel.com>
-CommitDate: Fri Jun 19 09:43:28 2015 -0700
-
-    iASL: Add a status check after an fopen().
-    
-    In FlCheckForAscii. ACPICA BZ 1170.
-
-diff --git a/source/compiler/aslascii.c b/source/compiler/aslascii.c
-index 7ff1c4a..f164e98 100644
---- a/source/compiler/aslascii.c
-+++ b/source/compiler/aslascii.c
-@@ -177,6 +177,11 @@ FlCheckForAscii (
-     /* Open file in text mode so file offset is always accurate */
- 
-     Handle = fopen (Filename, "rb");
-+    if (!Handle)
-+    {
-+        perror ("Could not open input file");
-+        return (AE_ERROR);
-+    }
- 
-     Status.Line = 1;
-     Status.Offset = 0;
diff --git a/SOURCES/debian-big_endian.patch b/SOURCES/debian-big_endian.patch
index bfa0b66..48235e2 100644
--- a/SOURCES/debian-big_endian.patch
+++ b/SOURCES/debian-big_endian.patch
@@ -1,8 +1,8 @@
 diff --git a/source/compiler/aslcodegen.c b/source/compiler/aslcodegen.c
-index dc8b7d5..09c2910 100644
+index 30e7984..89433b9 100644
 --- a/source/compiler/aslcodegen.c
 +++ b/source/compiler/aslcodegen.c
-@@ -249,16 +249,12 @@ CgWriteAmlOpcode (
+@@ -243,16 +243,12 @@ CgWriteAmlOpcode (
      ACPI_PARSE_OBJECT       *Op)
  {
      UINT8                   PkgLenFirstByte;
@@ -25,7 +25,7 @@ index dc8b7d5..09c2910 100644
  
      /* We expect some DEFAULT_ARGs, just ignore them */
  
-@@ -281,51 +277,52 @@ CgWriteAmlOpcode (
+@@ -276,51 +272,52 @@ CgWriteAmlOpcode (
  
          /* Special opcodes for within a field definition */
  
@@ -89,7 +89,7 @@ index dc8b7d5..09c2910 100644
          break;
      }
  
-@@ -336,8 +333,8 @@ CgWriteAmlOpcode (
+@@ -331,8 +328,8 @@ CgWriteAmlOpcode (
          if (Op->Asl.AmlPkgLenBytes == 1)
          {
              /* Simplest case -- no bytes to follow, just write the count */
@@ -100,7 +100,7 @@ index dc8b7d5..09c2910 100644
          }
          else if (Op->Asl.AmlPkgLenBytes != 0)
          {
-@@ -347,7 +344,7 @@ CgWriteAmlOpcode (
+@@ -342,7 +339,7 @@ CgWriteAmlOpcode (
               */
              PkgLenFirstByte = (UINT8)
                  (((UINT32) (Op->Asl.AmlPkgLenBytes - 1) << 6) |
@@ -109,15 +109,17 @@ index dc8b7d5..09c2910 100644
  
              CgLocalWriteAmlData (Op, &PkgLenFirstByte, 1);
  
-@@ -355,37 +352,44 @@ CgWriteAmlOpcode (
+@@ -350,39 +347,47 @@ CgWriteAmlOpcode (
               * Shift the length over by the 4 bits we just stuffed
               * in the first byte
               */
 -            PkgLen.Len >>= 4;
 +            PkgLen >>= 4;
  
-             /* Now we can write the remaining bytes - either 1, 2, or 3 bytes */
--
+             /*
+              * Now we can write the remaining bytes -
+              * either 1, 2, or 3 bytes
+              */
 -            for (i = 0; i < (UINT32) (Op->Asl.AmlPkgLenBytes - 1); i++)
 +            Byte = ACPI_LOBYTE(PkgLen);
 +            CgLocalWriteAmlData (Op, &Byte, 1);
@@ -167,7 +169,7 @@ index dc8b7d5..09c2910 100644
          break;
  
      case AML_STRING_OP:
-@@ -419,6 +423,7 @@ CgWriteTableHeader (
+@@ -416,6 +421,7 @@ CgWriteTableHeader (
      ACPI_PARSE_OBJECT       *Op)
  {
      ACPI_PARSE_OBJECT       *Child;
@@ -175,7 +177,7 @@ index dc8b7d5..09c2910 100644
  
  
      /* AML filename */
-@@ -455,7 +460,7 @@ CgWriteTableHeader (
+@@ -452,7 +458,7 @@ CgWriteTableHeader (
      /* OEM Revision */
  
      Child = Child->Asl.Next;
@@ -184,7 +186,7 @@ index dc8b7d5..09c2910 100644
  
      /* Compiler ID */
  
-@@ -463,11 +468,12 @@ CgWriteTableHeader (
+@@ -460,12 +466,14 @@ CgWriteTableHeader (
  
      /* Compiler version */
  
@@ -194,12 +196,14 @@ index dc8b7d5..09c2910 100644
  
      /* Table length. Checksum zero for now, will rewrite later */
  
--    TableHeader.Length   = Gbl_TableLength;
-+    ACPI_MOVE_32_TO_32(&TableHeader.Length, &Gbl_TableLength);
+-    TableHeader.Length = sizeof (ACPI_TABLE_HEADER) +
++    DWord = sizeof (ACPI_TABLE_HEADER) +
+         Op->Asl.AmlSubtreeLength;
++    ACPI_MOVE_32_TO_32(&TableHeader.Length, &DWord);
      TableHeader.Checksum = 0;
  
-     CgLocalWriteAmlData (Op, &TableHeader, sizeof (ACPI_TABLE_HEADER));
-@@ -531,7 +537,10 @@ CgWriteNode (
+     Op->Asl.FinalAmlOffset = ftell (Gbl_Files[ASL_FILE_AML_OUTPUT].Handle);
+@@ -578,7 +586,10 @@ CgWriteNode (
      ACPI_PARSE_OBJECT       *Op)
  {
      ASL_RESOURCE_NODE       *Rnode;
@@ -211,7 +215,7 @@ index dc8b7d5..09c2910 100644
  
      /* Always check for DEFAULT_ARG and other "Noop" nodes */
      /* TBD: this may not be the best place for this check */
-@@ -549,13 +558,24 @@ CgWriteNode (
+@@ -601,13 +612,24 @@ CgWriteNode (
      switch (Op->Asl.AmlOpcode)
      {
      case AML_RAW_DATA_BYTE:
@@ -240,10 +244,10 @@ index dc8b7d5..09c2910 100644
      case AML_RAW_DATA_BUFFER:
  
 diff --git a/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c
-index fa3d1fc..916145a 100644
+index de9ffe1..81f4ad3 100644
 --- a/source/compiler/aslopcodes.c
 +++ b/source/compiler/aslopcodes.c
-@@ -531,6 +531,7 @@ OpcDoUnicode (
+@@ -481,6 +481,7 @@ OpcDoUnicode (
      UINT32                  i;
      UINT8                   *AsciiString;
      UINT16                  *UnicodeString;
@@ -251,7 +255,7 @@ index fa3d1fc..916145a 100644
      ACPI_PARSE_OBJECT       *BufferLengthOp;
  
  
-@@ -557,7 +558,8 @@ OpcDoUnicode (
+@@ -507,7 +508,8 @@ OpcDoUnicode (
  
      for (i = 0; i < Count; i++)
      {
@@ -262,10 +266,10 @@ index fa3d1fc..916145a 100644
  
      /*
 diff --git a/source/compiler/aslrestype1.c b/source/compiler/aslrestype1.c
-index 92c8730..68a1b76 100644
+index 4bd9059..e61fa85 100644
 --- a/source/compiler/aslrestype1.c
 +++ b/source/compiler/aslrestype1.c
-@@ -142,6 +142,11 @@ RsDoMemory24Descriptor (
+@@ -141,6 +141,11 @@ RsDoMemory24Descriptor (
      ACPI_PARSE_OBJECT       *MaxOp = NULL;
      ACPI_PARSE_OBJECT       *LengthOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
@@ -277,17 +281,17 @@ index 92c8730..68a1b76 100644
      UINT32                  CurrentByteOffset;
      UINT32                  i;
  
-@@ -152,7 +157,8 @@ RsDoMemory24Descriptor (
+@@ -151,7 +156,8 @@ RsDoMemory24Descriptor (
  
      Descriptor = Rnode->Buffer;
-     Descriptor->Memory24.DescriptorType  = ACPI_RESOURCE_NAME_MEMORY24;
+     Descriptor->Memory24.DescriptorType = ACPI_RESOURCE_NAME_MEMORY24;
 -    Descriptor->Memory24.ResourceLength = 9;
 +    ResourceLength = 9;
 +    ACPI_MOVE_16_TO_16(&Descriptor->Memory24.ResourceLength, &ResourceLength);
  
      /* Process all child initialization nodes */
  
-@@ -169,7 +175,7 @@ RsDoMemory24Descriptor (
+@@ -168,7 +174,7 @@ RsDoMemory24Descriptor (
  
          case 1: /* Min Address */
  
@@ -296,7 +300,7 @@ index 92c8730..68a1b76 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Minimum));
              MinOp = InitializerOp;
-@@ -177,7 +183,7 @@ RsDoMemory24Descriptor (
+@@ -176,7 +182,7 @@ RsDoMemory24Descriptor (
  
          case 2: /* Max Address */
  
@@ -305,7 +309,7 @@ index 92c8730..68a1b76 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Maximum));
              MaxOp = InitializerOp;
-@@ -185,14 +191,14 @@ RsDoMemory24Descriptor (
+@@ -184,14 +190,14 @@ RsDoMemory24Descriptor (
  
          case 3: /* Alignment */
  
@@ -322,7 +326,7 @@ index 92c8730..68a1b76 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.AddressLength));
              LengthOp = InitializerOp;
-@@ -215,12 +221,17 @@ RsDoMemory24Descriptor (
+@@ -214,12 +220,17 @@ RsDoMemory24Descriptor (
      /* Validate the Min/Max/Len/Align values (Alignment==0 means 64K) */
  
      RsSmallAddressCheck (ACPI_RESOURCE_NAME_MEMORY24,
@@ -344,7 +348,7 @@ index 92c8730..68a1b76 100644
      return (Rnode);
  }
  
-@@ -248,6 +259,11 @@ RsDoMemory32Descriptor (
+@@ -247,6 +258,11 @@ RsDoMemory32Descriptor (
      ACPI_PARSE_OBJECT       *LengthOp = NULL;
      ACPI_PARSE_OBJECT       *AlignOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
@@ -356,17 +360,17 @@ index 92c8730..68a1b76 100644
      UINT32                  CurrentByteOffset;
      UINT32                  i;
  
-@@ -258,7 +274,8 @@ RsDoMemory32Descriptor (
+@@ -257,7 +273,8 @@ RsDoMemory32Descriptor (
  
      Descriptor = Rnode->Buffer;
-     Descriptor->Memory32.DescriptorType  = ACPI_RESOURCE_NAME_MEMORY32;
+     Descriptor->Memory32.DescriptorType = ACPI_RESOURCE_NAME_MEMORY32;
 -    Descriptor->Memory32.ResourceLength = 17;
 +    ResourceLength = 17;
 +    ACPI_MOVE_16_TO_16(&Descriptor->Memory32.ResourceLength, &ResourceLength);
  
      /* Process all child initialization nodes */
  
-@@ -275,7 +292,7 @@ RsDoMemory32Descriptor (
+@@ -274,7 +291,7 @@ RsDoMemory32Descriptor (
  
          case 1:  /* Min Address */
  
@@ -375,7 +379,7 @@ index 92c8730..68a1b76 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Minimum));
              MinOp = InitializerOp;
-@@ -283,7 +300,7 @@ RsDoMemory32Descriptor (
+@@ -282,7 +299,7 @@ RsDoMemory32Descriptor (
  
          case 2: /* Max Address */
  
@@ -384,7 +388,7 @@ index 92c8730..68a1b76 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Maximum));
              MaxOp = InitializerOp;
-@@ -291,7 +308,7 @@ RsDoMemory32Descriptor (
+@@ -290,7 +307,7 @@ RsDoMemory32Descriptor (
  
          case 3: /* Alignment */
  
@@ -393,7 +397,7 @@ index 92c8730..68a1b76 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_ALIGNMENT,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Alignment));
              AlignOp = InitializerOp;
-@@ -299,7 +316,7 @@ RsDoMemory32Descriptor (
+@@ -298,7 +315,7 @@ RsDoMemory32Descriptor (
  
          case 4: /* Length */
  
@@ -402,7 +406,7 @@ index 92c8730..68a1b76 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.AddressLength));
              LengthOp = InitializerOp;
-@@ -322,12 +339,17 @@ RsDoMemory32Descriptor (
+@@ -321,12 +338,17 @@ RsDoMemory32Descriptor (
      /* Validate the Min/Max/Len/Align values */
  
      RsSmallAddressCheck (ACPI_RESOURCE_NAME_MEMORY32,
@@ -424,7 +428,7 @@ index 92c8730..68a1b76 100644
      return (Rnode);
  }
  
-@@ -351,6 +373,7 @@ RsDoMemory32FixedDescriptor (
+@@ -350,6 +372,7 @@ RsDoMemory32FixedDescriptor (
      AML_RESOURCE            *Descriptor;
      ACPI_PARSE_OBJECT       *InitializerOp;
      ASL_RESOURCE_NODE       *Rnode;
@@ -432,17 +436,17 @@ index 92c8730..68a1b76 100644
      UINT32                  CurrentByteOffset;
      UINT32                  i;
  
-@@ -361,7 +384,8 @@ RsDoMemory32FixedDescriptor (
+@@ -360,7 +383,8 @@ RsDoMemory32FixedDescriptor (
  
      Descriptor = Rnode->Buffer;
-     Descriptor->FixedMemory32.DescriptorType  = ACPI_RESOURCE_NAME_FIXED_MEMORY32;
+     Descriptor->FixedMemory32.DescriptorType = ACPI_RESOURCE_NAME_FIXED_MEMORY32;
 -    Descriptor->FixedMemory32.ResourceLength = 9;
 +    ResourceLength = 9;
 +    ACPI_MOVE_16_TO_16(&Descriptor->FixedMemory32.ResourceLength, &ResourceLength);
  
      /* Process all child initialization nodes */
  
-@@ -378,14 +402,16 @@ RsDoMemory32FixedDescriptor (
+@@ -377,14 +401,16 @@ RsDoMemory32FixedDescriptor (
  
          case 1: /* Address */
  
@@ -462,7 +466,7 @@ index 92c8730..68a1b76 100644
                  CurrentByteOffset + ASL_RESDESC_OFFSET (FixedMemory32.AddressLength));
              break;
 diff --git a/source/compiler/aslrestype1i.c b/source/compiler/aslrestype1i.c
-index 7acdbbc..d24fe5a 100644
+index 0f38e40..26fa7ea 100644
 --- a/source/compiler/aslrestype1i.c
 +++ b/source/compiler/aslrestype1i.c
 @@ -197,6 +197,8 @@ RsDoFixedDmaDescriptor (
@@ -602,7 +606,7 @@ index 7acdbbc..d24fe5a 100644
      return (Rnode);
  }
 diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c
-index 45bbe23..3894f09 100644
+index b75c118..37dd91b 100644
 --- a/source/compiler/aslrestype2.c
 +++ b/source/compiler/aslrestype2.c
 @@ -75,6 +75,7 @@ RsDoGeneralRegisterDescriptor (
@@ -634,7 +638,7 @@ index 45bbe23..3894f09 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_ADDRESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.Address));
              break;
-@@ -171,6 +175,7 @@ RsDoInterruptDescriptor (
+@@ -172,6 +176,7 @@ RsDoInterruptDescriptor (
      AML_RESOURCE            *Rover = NULL;
      ACPI_PARSE_OBJECT       *InitializerOp;
      ASL_RESOURCE_NODE       *Rnode;
@@ -642,7 +646,7 @@ index 45bbe23..3894f09 100644
      UINT16                  StringLength = 0;
      UINT32                  OptionIndex = 0;
      UINT32                  CurrentByteOffset;
-@@ -219,7 +224,7 @@ RsDoInterruptDescriptor (
+@@ -220,7 +225,7 @@ RsDoInterruptDescriptor (
       * Initial descriptor length -- may be enlarged if there are
       * optional fields present
       */
@@ -651,7 +655,7 @@ index 45bbe23..3894f09 100644
      Descriptor->ExtendedIrq.InterruptCount  = 0;
  
      Rover = ACPI_CAST_PTR (AML_RESOURCE,
-@@ -327,10 +332,11 @@ RsDoInterruptDescriptor (
+@@ -328,10 +333,11 @@ RsDoInterruptDescriptor (
  
              /* Save the integer and move pointer to the next one */
  
@@ -665,7 +669,7 @@ index 45bbe23..3894f09 100644
  
              /* Case 7: First interrupt number in list */
  
-@@ -366,7 +372,7 @@ RsDoInterruptDescriptor (
+@@ -367,7 +373,7 @@ RsDoInterruptDescriptor (
      {
          Rover->ByteItem = ResSourceIndex;
          Rover = ACPI_ADD_PTR (AML_RESOURCE, &(Rover->ByteItem), 1);
@@ -674,7 +678,7 @@ index 45bbe23..3894f09 100644
      }
  
      /* Add optional ResSource string if present */
-@@ -378,13 +384,14 @@ RsDoInterruptDescriptor (
+@@ -379,14 +385,15 @@ RsDoInterruptDescriptor (
          Rover = ACPI_ADD_PTR (
                      AML_RESOURCE, &(Rover->ByteItem), StringLength);
  
@@ -683,25 +687,26 @@ index 45bbe23..3894f09 100644
 +        ResourceLength = (UINT16) (ResourceLength + StringLength);
      }
  
-     Rnode->BufferLength = (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) -
-                            ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType))
-                            + OptionIndex + StringLength;
+     Rnode->BufferLength =
+         (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) -
+         ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType))
+         + OptionIndex + StringLength;
 +    ACPI_MOVE_16_TO_16(&Descriptor->ExtendedIrq.ResourceLength,
 +		    &ResourceLength);
      return (Rnode);
  }
  
-@@ -432,7 +439,7 @@ RsDoVendorLargeDescriptor (
+@@ -434,7 +441,7 @@ RsDoVendorLargeDescriptor (
  
      Descriptor = Rnode->Buffer;
-     Descriptor->VendorLarge.DescriptorType  = ACPI_RESOURCE_NAME_VENDOR_LARGE;
+     Descriptor->VendorLarge.DescriptorType = ACPI_RESOURCE_NAME_VENDOR_LARGE;
 -    Descriptor->VendorLarge.ResourceLength = (UINT16) i;
 +    ACPI_MOVE_32_TO_16(&Descriptor->VendorLarge.ResourceLength, &i);
  
      /* Point to end-of-descriptor for vendor data */
  
 diff --git a/source/compiler/aslrestype2d.c b/source/compiler/aslrestype2d.c
-index c814f8c..75984b5 100644
+index c7841b0..9a782c5 100644
 --- a/source/compiler/aslrestype2d.c
 +++ b/source/compiler/aslrestype2d.c
 @@ -79,7 +79,13 @@ RsDoDwordIoDescriptor (
@@ -1060,7 +1065,7 @@ index c814f8c..75984b5 100644
          OptionIndex + StringLength;
      return (Rnode);
 diff --git a/source/compiler/aslrestype2e.c b/source/compiler/aslrestype2e.c
-index 07b7255..76ead49 100644
+index aa17a75..61abdd3 100644
 --- a/source/compiler/aslrestype2e.c
 +++ b/source/compiler/aslrestype2e.c
 @@ -78,6 +78,13 @@ RsDoExtendedIoDescriptor (
@@ -1078,10 +1083,10 @@ index 07b7255..76ead49 100644
      UINT32                  i;
  
 @@ -94,9 +101,10 @@ RsDoExtendedIoDescriptor (
-     Descriptor->ExtAddress64.ResourceType    = ACPI_ADDRESS_TYPE_IO_RANGE;
-     Descriptor->ExtAddress64.RevisionID      = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
+     Descriptor->ExtAddress64.ResourceType = ACPI_ADDRESS_TYPE_IO_RANGE;
+     Descriptor->ExtAddress64.RevisionID = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
  
--    Descriptor->ExtAddress64.ResourceLength  = (UINT16)
+-    Descriptor->ExtAddress64.ResourceLength = (UINT16)
 -        (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) -
 +    ResourceLength  = (UINT16) (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) -
           sizeof (AML_RESOURCE_LARGE_HEADER));
@@ -1183,10 +1188,10 @@ index 07b7255..76ead49 100644
      UINT32                  i;
  
 @@ -267,9 +289,10 @@ RsDoExtendedMemoryDescriptor (
-     Descriptor->ExtAddress64.ResourceType    = ACPI_ADDRESS_TYPE_MEMORY_RANGE;
-     Descriptor->ExtAddress64.RevisionID      = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
+     Descriptor->ExtAddress64.ResourceType = ACPI_ADDRESS_TYPE_MEMORY_RANGE;
+     Descriptor->ExtAddress64.RevisionID = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
  
--    Descriptor->ExtAddress64.ResourceLength  = (UINT16)
+-    Descriptor->ExtAddress64.ResourceLength = (UINT16)
 -        (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) -
 +    ResourceLength  = (UINT16) (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) -
           sizeof (AML_RESOURCE_LARGE_HEADER));
@@ -1288,10 +1293,10 @@ index 07b7255..76ead49 100644
      UINT32                  i;
  
 @@ -447,9 +484,10 @@ RsDoExtendedSpaceDescriptor (
-     Descriptor->ExtAddress64.DescriptorType  = ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64;
-     Descriptor->ExtAddress64.RevisionID      = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
+     Descriptor->ExtAddress64.DescriptorType = ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64;
+     Descriptor->ExtAddress64.RevisionID = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
  
--    Descriptor->ExtAddress64.ResourceLength  = (UINT16)
+-    Descriptor->ExtAddress64.ResourceLength = (UINT16)
 -        (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) -
 +    ResourceLength  = (UINT16) (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) -
           sizeof (AML_RESOURCE_LARGE_HEADER));
@@ -1379,7 +1384,7 @@ index 07b7255..76ead49 100644
          StringLength;
      return (Rnode);
 diff --git a/source/compiler/aslrestype2q.c b/source/compiler/aslrestype2q.c
-index 6db3815..27b6c8f 100644
+index c8d8cab..d738ca4 100644
 --- a/source/compiler/aslrestype2q.c
 +++ b/source/compiler/aslrestype2q.c
 @@ -80,7 +80,13 @@ RsDoQwordIoDescriptor (
@@ -1721,7 +1726,7 @@ index 6db3815..27b6c8f 100644
          OptionIndex + StringLength;
      return (Rnode);
 diff --git a/source/compiler/aslrestype2s.c b/source/compiler/aslrestype2s.c
-index 9fe03b7..83fdab9 100644
+index fcd8e23..b7394b7 100644
 --- a/source/compiler/aslrestype2s.c
 +++ b/source/compiler/aslrestype2s.c
 @@ -290,6 +290,9 @@ RsDoGpioIntDescriptor (
@@ -1734,7 +1739,7 @@ index 9fe03b7..83fdab9 100644
      UINT32                  CurrentByteOffset;
      UINT32                  PinCount = 0;
      UINT32                  i;
-@@ -349,21 +352,21 @@ RsDoGpioIntDescriptor (
+@@ -346,21 +349,21 @@ RsDoGpioIntDescriptor (
          {
          case 0: /* Interrupt Mode - edge/level [Flag] (_MOD) */
  
@@ -1759,7 +1764,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_INTERRUPTSHARE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 3, 2);
              break;
-@@ -377,7 +380,7 @@ RsDoGpioIntDescriptor (
+@@ -374,7 +377,7 @@ RsDoGpioIntDescriptor (
  
          case 4: /* Debounce Timeout [WORD] (_DBT) */
  
@@ -1768,7 +1773,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_DEBOUNCETIME,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.DebounceTimeout));
              break;
-@@ -403,7 +406,7 @@ RsDoGpioIntDescriptor (
+@@ -401,7 +404,7 @@ RsDoGpioIntDescriptor (
  
          case 7: /* Resource Usage (consumer/producer) */
  
@@ -1777,7 +1782,7 @@ index 9fe03b7..83fdab9 100644
              break;
  
          case 8: /* Resource Tag (Descriptor Name) */
-@@ -468,6 +471,10 @@ RsDoGpioIntDescriptor (
+@@ -466,6 +469,10 @@ RsDoGpioIntDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1785,10 +1790,10 @@ index 9fe03b7..83fdab9 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->Gpio.DebounceTimeout, &DebounceTimeout);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Gpio.Flags, &Flags);
 +
-     MpSaveGpioInfo (Info->MappingOp, Descriptor, PinCount, PinList, ResourceSource);
+     MpSaveGpioInfo (Info->MappingOp, Descriptor,
+         PinCount, PinList, ResourceSource);
      return (Rnode);
- }
-@@ -500,6 +507,10 @@ RsDoGpioIoDescriptor (
+@@ -499,6 +506,10 @@ RsDoGpioIoDescriptor (
      UINT16                  VendorLength;
      UINT16                  InterruptLength;
      UINT16                  DescriptorSize;
@@ -1799,7 +1804,7 @@ index 9fe03b7..83fdab9 100644
      UINT32                  CurrentByteOffset;
      UINT32                  PinCount = 0;
      UINT32                  i;
-@@ -560,7 +571,7 @@ RsDoGpioIoDescriptor (
+@@ -555,7 +566,7 @@ RsDoGpioIoDescriptor (
          {
          case 0: /* Share Type [Flags] (_SHR) */
  
@@ -1808,7 +1813,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_INTERRUPTSHARE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 3);
              break;
-@@ -574,21 +585,21 @@ RsDoGpioIoDescriptor (
+@@ -569,21 +580,21 @@ RsDoGpioIoDescriptor (
  
          case 2: /* Debounce Timeout [WORD] (_DBT) */
  
@@ -1833,7 +1838,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_IORESTRICTION,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 0, 2);
              break;
-@@ -614,7 +625,7 @@ RsDoGpioIoDescriptor (
+@@ -609,7 +620,7 @@ RsDoGpioIoDescriptor (
  
          case 7: /* Resource Usage (consumer/producer) */
  
@@ -1842,7 +1847,7 @@ index 9fe03b7..83fdab9 100644
              break;
  
          case 8: /* Resource Tag (Descriptor Name) */
-@@ -678,6 +689,11 @@ RsDoGpioIoDescriptor (
+@@ -673,6 +684,11 @@ RsDoGpioIoDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1851,10 +1856,10 @@ index 9fe03b7..83fdab9 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->Gpio.DriveStrength, &DriveStrength);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Gpio.Flags, &Flags);
 +
-     MpSaveGpioInfo (Info->MappingOp, Descriptor, PinCount, PinList, ResourceSource);
+     MpSaveGpioInfo (Info->MappingOp, Descriptor,
+         PinCount, PinList, ResourceSource);
      return (Rnode);
- }
-@@ -707,6 +723,9 @@ RsDoI2cSerialBusDescriptor (
+@@ -703,6 +719,9 @@ RsDoI2cSerialBusDescriptor (
      UINT16                  ResSourceLength;
      UINT16                  VendorLength;
      UINT16                  DescriptorSize;
@@ -1864,7 +1869,7 @@ index 9fe03b7..83fdab9 100644
      UINT32                  CurrentByteOffset;
      UINT32                  i;
  
-@@ -756,7 +775,7 @@ RsDoI2cSerialBusDescriptor (
+@@ -752,7 +771,7 @@ RsDoI2cSerialBusDescriptor (
          {
          case 0: /* Slave Address [WORD] (_ADR) */
  
@@ -1873,7 +1878,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_ADDRESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.SlaveAddress));
              break;
-@@ -770,14 +789,14 @@ RsDoI2cSerialBusDescriptor (
+@@ -766,14 +785,14 @@ RsDoI2cSerialBusDescriptor (
  
          case 2: /* Connection Speed [DWORD] (_SPE) */
  
@@ -1890,7 +1895,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_MODE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.TypeSpecificFlags), 0);
              break;
-@@ -825,6 +844,10 @@ RsDoI2cSerialBusDescriptor (
+@@ -833,6 +852,10 @@ RsDoI2cSerialBusDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1901,7 +1906,7 @@ index 9fe03b7..83fdab9 100644
      MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
      return (Rnode);
  }
-@@ -854,6 +877,9 @@ RsDoSpiSerialBusDescriptor (
+@@ -862,6 +885,9 @@ RsDoSpiSerialBusDescriptor (
      UINT16                  ResSourceLength;
      UINT16                  VendorLength;
      UINT16                  DescriptorSize;
@@ -1911,7 +1916,7 @@ index 9fe03b7..83fdab9 100644
      UINT32                  CurrentByteOffset;
      UINT32                  i;
  
-@@ -903,21 +929,21 @@ RsDoSpiSerialBusDescriptor (
+@@ -912,21 +938,21 @@ RsDoSpiSerialBusDescriptor (
          {
          case 0: /* Device Selection [WORD] (_ADR) */
  
@@ -1936,7 +1941,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_MODE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.TypeSpecificFlags), 0);
              break;
-@@ -938,7 +964,7 @@ RsDoSpiSerialBusDescriptor (
+@@ -947,7 +973,7 @@ RsDoSpiSerialBusDescriptor (
  
          case 5: /* Connection Speed [DWORD] (_SPE) */
  
@@ -1945,7 +1950,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_SPEED,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.ConnectionSpeed));
              break;
-@@ -1000,6 +1026,10 @@ RsDoSpiSerialBusDescriptor (
+@@ -1021,6 +1047,10 @@ RsDoSpiSerialBusDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1956,7 +1961,7 @@ index 9fe03b7..83fdab9 100644
      MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
      return (Rnode);
  }
-@@ -1029,6 +1059,10 @@ RsDoUartSerialBusDescriptor (
+@@ -1050,6 +1080,10 @@ RsDoUartSerialBusDescriptor (
      UINT16                  ResSourceLength;
      UINT16                  VendorLength;
      UINT16                  DescriptorSize;
@@ -1967,7 +1972,7 @@ index 9fe03b7..83fdab9 100644
      UINT32                  CurrentByteOffset;
      UINT32                  i;
  
-@@ -1078,21 +1112,21 @@ RsDoUartSerialBusDescriptor (
+@@ -1099,21 +1133,21 @@ RsDoUartSerialBusDescriptor (
          {
          case 0: /* Connection Speed (Baud Rate) [DWORD] (_SPE) */
  
@@ -1992,7 +1997,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_STOPBITS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 2, 2);
              break;
-@@ -1106,7 +1140,7 @@ RsDoUartSerialBusDescriptor (
+@@ -1127,7 +1161,7 @@ RsDoUartSerialBusDescriptor (
  
          case 4: /* Endianness [Flag] (_END) */
  
@@ -2001,7 +2006,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_ENDIANNESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 7);
              break;
-@@ -1120,21 +1154,21 @@ RsDoUartSerialBusDescriptor (
+@@ -1141,21 +1175,21 @@ RsDoUartSerialBusDescriptor (
  
          case 6: /* Flow Control [Flags] (_FLC) */
  
@@ -2026,7 +2031,7 @@ index 9fe03b7..83fdab9 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH_TX,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TxFifoSize));
              break;
-@@ -1192,6 +1226,11 @@ RsDoUartSerialBusDescriptor (
+@@ -1225,6 +1259,11 @@ RsDoUartSerialBusDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -2039,7 +2044,7 @@ index 9fe03b7..83fdab9 100644
      return (Rnode);
  }
 diff --git a/source/compiler/aslrestype2w.c b/source/compiler/aslrestype2w.c
-index 3b4cc10..851a590 100644
+index 0b88c70..a971d5a 100644
 --- a/source/compiler/aslrestype2w.c
 +++ b/source/compiler/aslrestype2w.c
 @@ -81,6 +81,12 @@ RsDoWordIoDescriptor (
@@ -2386,7 +2391,7 @@ index 3b4cc10..851a590 100644
          OptionIndex + StringLength;
      return (Rnode);
 diff --git a/source/include/acmacros.h b/source/include/acmacros.h
-index 35d53f6..83ef6fd 100644
+index 21256cb..3649ff0 100644
 --- a/source/include/acmacros.h
 +++ b/source/include/acmacros.h
 @@ -100,7 +100,8 @@
@@ -2427,10 +2432,10 @@ index 35d53f6..83ef6fd 100644
  #define ACPI_MOVE_32_TO_64(d, s)        *(UINT64 *)(void *)(d) = *(UINT32 *)(void *)(s)
  
 diff --git a/source/include/platform/aclinux.h b/source/include/platform/aclinux.h
-index 3a91691..aa89499 100644
+index bd45cdb..3eeb572 100644
 --- a/source/include/platform/aclinux.h
 +++ b/source/include/platform/aclinux.h
-@@ -167,6 +167,7 @@
+@@ -178,6 +178,7 @@
  #include <stdlib.h>
  #include <ctype.h>
  #include <unistd.h>
@@ -2438,7 +2443,7 @@ index 3a91691..aa89499 100644
  
  /* Define/disable kernel-specific declarators */
  
-@@ -179,8 +180,7 @@
+@@ -190,8 +191,7 @@
  #define ACPI_FLUSH_CPU_CACHE()
  #define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread))
  
@@ -2448,7 +2453,7 @@ index 3a91691..aa89499 100644
  #define ACPI_MACHINE_WIDTH          64
  #define COMPILER_DEPENDENT_INT64    long
  #define COMPILER_DEPENDENT_UINT64   unsigned long
-@@ -191,6 +191,10 @@
+@@ -202,6 +202,10 @@
  #define ACPI_USE_NATIVE_DIVIDE
  #endif
  
diff --git a/SOURCES/debian-unaligned.patch b/SOURCES/debian-unaligned.patch
index f61de06..adb3c6d 100644
--- a/SOURCES/debian-unaligned.patch
+++ b/SOURCES/debian-unaligned.patch
@@ -16,11 +16,11 @@ Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  3 file modificati, 32 inserzioni(+), 21 rimozioni(-)
 
 diff --git a/source/compiler/asltree.c b/source/compiler/asltree.c
-index c76720a..551a4c8 100644
+index af67467..b7118b3 100644
 --- a/source/compiler/asltree.c
 +++ b/source/compiler/asltree.c
-@@ -862,28 +862,31 @@ TrCreateValuedLeafNode (
-         "\nCreateValuedLeafNode  Ln/Col %u/%u NewNode %p  Op %s  Value %8.8X%8.8X  ",
+@@ -913,28 +913,31 @@ TrCreateValuedLeafNode (
+         "Op %s  Value %8.8X%8.8X  ",
          Op->Asl.LineNumber, Op->Asl.Column, Op, UtGetOpName(ParseOpcode),
          ACPI_FORMAT_UINT64 (Value));
 -    Op->Asl.Value.Integer = Value;
@@ -56,7 +56,7 @@ index c76720a..551a4c8 100644
          break;
  
      case PARSEOP_METHOD:
-@@ -893,12 +896,14 @@ TrCreateValuedLeafNode (
+@@ -944,12 +947,14 @@ TrCreateValuedLeafNode (
  
      case PARSEOP_INTEGER:
  
@@ -72,7 +72,7 @@ index c76720a..551a4c8 100644
      }
  
 diff --git a/source/components/executer/exoparg2.c b/source/components/executer/exoparg2.c
-index 419aa6d..bf1175d 100644
+index 7fe91a8..5c6af04 100644
 --- a/source/components/executer/exoparg2.c
 +++ b/source/components/executer/exoparg2.c
 @@ -172,6 +172,8 @@ AcpiExOpcode_2A_2T_1R (
@@ -84,20 +84,20 @@ index 419aa6d..bf1175d 100644
      ACPI_STATUS             Status;
  
  
-@@ -205,8 +207,10 @@ AcpiExOpcode_2A_2T_1R (
- 
-         Status = AcpiUtDivide (Operand[0]->Integer.Value,
-                                Operand[1]->Integer.Value,
--                               &ReturnDesc1->Integer.Value,
--                               &ReturnDesc2->Integer.Value);
-+                               &ReturnValue1, &ReturnValue2);
+@@ -206,8 +208,10 @@ AcpiExOpcode_2A_2T_1R (
+         Status = AcpiUtDivide (
+             Operand[0]->Integer.Value,
+             Operand[1]->Integer.Value,
+-            &ReturnDesc1->Integer.Value,
+-            &ReturnDesc2->Integer.Value);
++            &ReturnValue1, &ReturnValue2);
 +        ReturnDesc1->Integer.Value = ReturnValue1;
 +        ReturnDesc2->Integer.Value = ReturnValue2;
 +
          if (ACPI_FAILURE (Status))
          {
              goto Cleanup;
-@@ -280,6 +284,7 @@ AcpiExOpcode_2A_1T_1R (
+@@ -282,6 +286,7 @@ AcpiExOpcode_2A_1T_1R (
      ACPI_OPERAND_OBJECT     **Operand = &WalkState->Operands[0];
      ACPI_OPERAND_OBJECT     *ReturnDesc = NULL;
      UINT64                  Index;
@@ -105,18 +105,18 @@ index 419aa6d..bf1175d 100644
      ACPI_STATUS             Status = AE_OK;
      ACPI_SIZE               Length = 0;
  
-@@ -323,7 +328,8 @@ AcpiExOpcode_2A_1T_1R (
-         Status = AcpiUtDivide (Operand[0]->Integer.Value,
-                                Operand[1]->Integer.Value,
-                                NULL,
--                               &ReturnDesc->Integer.Value);
-+                               &ReturnValue);
+@@ -327,7 +332,8 @@ AcpiExOpcode_2A_1T_1R (
+             Operand[0]->Integer.Value,
+             Operand[1]->Integer.Value,
+             NULL,
+-            &ReturnDesc->Integer.Value);
++            &ReturnValue);
 +        ReturnDesc->Integer.Value = ReturnValue;
          break;
  
      case AML_CONCAT_OP: /* Concatenate (Data1, Data2, Result) */
 diff --git a/source/include/actypes.h b/source/include/actypes.h
-index 0bee2a7..894f9c8 100644
+index 395b915..137d93f 100644
 --- a/source/include/actypes.h
 +++ b/source/include/actypes.h
 @@ -143,6 +143,19 @@ typedef COMPILER_DEPENDENT_INT64        INT64;
diff --git a/SOURCES/grammar.asl.result b/SOURCES/grammar.asl.result
index ee5b7f6..ca72c7a 100644
--- a/SOURCES/grammar.asl.result
+++ b/SOURCES/grammar.asl.result
@@ -19,23 +19,14 @@ Warning  3133 -                 ^ Unknown reserved name (_NPK)
 grammar.asl    208:     Device (RES)
 Warning  3141 -                  ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl    389:                 Register (SystemIO, 0x08, 0x00, 0x00000000000000B2, , R000)
-Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
-
-grammar.asl    389:                 Register (SystemIO, 0x08, 0x00, 0x00000000000000B2, , R000)
-Remark   2089 -                  Object is not referenced ^  (Name is within method [_CRS])
-
-grammar.asl    389:                 Register (SystemIO, 0x08, 0x00, 0x00000000000000B2, , R000)
-Remark   2089 -                        Object is not referenced ^  (Name is within method [_CRS])
-
-grammar.asl    389:                 Register (SystemIO, 0x08, 0x00, 0x00000000000000B2, , R000)
-Remark   2089 -                                            Object is not referenced ^  (Name is within method [_CRS])
-
 grammar.asl    399:             CreateByteField (PRT0, R000._ASZ, RSIZ)
-Remark   2089 -                            Object is not referenced ^  (Name is within method [_CRS])
+Remark   2089 -                            Object is not referenced ^  (Name [RSIZ] is within a method [_CRS])
 
 grammar.asl    513:         Name (_STR, Unicode ("test"))
-Remark   2089 -                     ^ Object is not referenced (Name is within method [TCOP])
+Remark   2089 -                     ^ Object is not referenced (Name [_STR] is within a method [TCOP])
+
+grammar.asl    515:         Store (MFLD, Local0)
+Warning  3144 -                              ^ Method Local is set but never used (Local0)
 
 grammar.asl    522:     NAME (ESC1, "abcdefg\x00hijklmn")
 Warning  3055 -                                ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
@@ -46,29 +37,32 @@ Warning  3055 -                                ^ Invalid Hex/Octal Escape - Non-
 grammar.asl    620:         RCIV (Subtract (Arg0, 1))
 Remark   2098 -               ^ Recursive method call (RCIV)
 
-grammar.asl    701:             CreateField (\_SB_.SBUF, 148, 96, FLDV)
-Remark   2089 -                            Object is not referenced ^  (Name is within method [_INI])
+grammar.asl    668:     Method(SMWE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg0)
+
+grammar.asl    668:     Method(SMWE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg1)
 
-grammar.asl    715:                             MinFixed,                       // Range is notfixed
-Remark   2089 -              Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    668:     Method(SMWE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg2)
 
-grammar.asl    716:                             MaxFixed,                       // Range is not fixed
-Remark   2089 -              Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    668:     Method(SMWE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg3)
 
-grammar.asl    717:                             SubDecode,                      // SubDecode
-Remark   2089 -               Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    673:     Method(SMRE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg0)
 
-grammar.asl    718:                             0x0000,                           // Granularity
-Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    673:     Method(SMRE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg1)
 
-grammar.asl    720:                             0xfff2,                           // Max
-Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    673:     Method(SMRE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg2)
 
-grammar.asl    721:                             0x0032,                           // Translation
-Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    673:     Method(SMRE, 4)
+Remark   2146 -                  ^ Method Argument is never used (Arg3)
 
-grammar.asl    722:                             0x0002,,,                         // Range Length
-Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+grammar.asl    701:             CreateField (\_SB_.SBUF, 148, 96, FLDV)
+Remark   2089 -                            Object is not referenced ^  (Name [FLDV] is within a method [_INI])
 
 grammar.asl    733:             Method(_SRS)
 Warning  3102 -                          ^ Reserved method has too few arguments (_SRS requires 1)
@@ -76,221 +70,311 @@ Warning  3102 -                          ^ Reserved method has too few arguments
 grammar.asl    738:             Device(EIO)
 Warning  3141 -      Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
+grammar.asl    822:                     If(LNot(SMRE(0x09,0x17,Local2,RefOf(Local3)))){
+Warning  3144 -                              Method Local is set but never used ^  (Local3)
+
+grammar.asl    823:                         Store(Local1,Arg2)
+Remark   2146 -              Method Argument is never used ^  (Arg2)
+
 grammar.asl    913:     Device (DEV1)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
 grammar.asl    949:     Method (_ERR, 2)
 Warning  3102 -                   ^ Reserved method has too few arguments (_ERR requires 3)
 
-grammar.asl   1295:         Name(BUFR, Buffer (Local0) {})
-Remark   2089 -                    ^ Object is not referenced (Name is within method [OBJ1])
+grammar.asl    963:         Divide (Local0, Local1, Local3)
+Warning  3144 -      Method Local is set but never used ^  (Local3)
 
-grammar.asl   1302:         Alias (MTX1, MTX2)
-Remark   2089 -   Object is not referenced ^  (Name is within method [OBJ1])
+grammar.asl    987:     Method (R226, 2)
+Remark   2146 -                   ^ Method Argument is never used (Arg0)
 
-grammar.asl   1324:         CreateField (BUF2, 148, 96, FLD3)
-Remark   2089 -                  Object is not referenced ^  (Name is within method [FLDS])
+grammar.asl    987:     Method (R226, 2)
+Remark   2146 -                   ^ Method Argument is never used (Arg1)
 
-grammar.asl   1389:         Store (0x1234567887654321, QWD2)
-Warning  3038 -                                    ^ 64-bit integer in 32-bit table, truncating (DSDT version < 2)
+grammar.asl   1010:         Store (Local0, Local1)
+Warning  3144 -                                ^ Method Local is set but never used (Local1)
 
-grammar.asl   1391:         if (LNotEqual (Local0, 0x1234567887654321))
-Warning  3038 -                                                    ^ 64-bit integer in 32-bit table, truncating (DSDT version < 2)
+grammar.asl   1295:     Method (OBJ1, 1, SERIALIZED)
+Remark   2146 -                   ^ Method Argument is never used (Arg0)
 
-grammar.asl   1471:         SizeOf (BUFO)
+grammar.asl   1299:         Name(BUFR, Buffer (Local0) {})
+Remark   2089 -                    ^ Object is not referenced (Name [BUFR] is within a method [OBJ1])
+
+grammar.asl   1306:         Alias (MTX1, MTX2)
+Remark   2089 -   Object is not referenced ^  (Name [MTX2] is within a method [OBJ1])
+
+grammar.asl   1328:         CreateField (BUF2, 148, 96, FLD3)
+Remark   2089 -                  Object is not referenced ^  (Name [FLD3] is within a method [FLDS])
+
+grammar.asl   1393:         Store (0x1234567887654321, QWD2)
+Warning  3038 -                                    ^ 64-bit integer in 32-bit table, truncating (DSDT or SSDT version < 2)
+
+grammar.asl   1395:         if (LNotEqual (Local0, 0x1234567887654321))
+Warning  3038 -                                                    ^ 64-bit integer in 32-bit table, truncating (DSDT or SSDT version < 2)
+
+grammar.asl   1475:         SizeOf (BUFO)
 Error    6114 -                       ^ Result is not used, operator has no effect
 
-grammar.asl   1491:         Alias (MTX2, MTXA)
-Remark   2089 -   Object is not referenced ^  (Name is within method [OBJ2])
+grammar.asl   1495:         Alias (MTX2, MTXA)
+Remark   2089 -   Object is not referenced ^  (Name [MTXA] is within a method [OBJ2])
 
-grammar.asl   1497:         Acquire (MTX2, 1)
+grammar.asl   1501:         Acquire (MTX2, 1)
 Warning  3130 -                           ^ Result is not used, possible operator timeout will be missed
 
-grammar.asl   1645:         Add (Local0, Local1)
+grammar.asl   1649:         Add (Local0, Local1)
 Error    6114 -                      ^ Result is not used, operator has no effect
 
-grammar.asl   1816:     Method (COND)
+grammar.asl   1660:         Add (Local0, Local1, Local2)
+Warning  3144 -   Method Local is set but never used ^  (Local2)
+
+grammar.asl   1776:         Store (LAnd (0xFFFFFFFF, 0x11111111), Local0)
+Warning  3144 -                    Method Local is set but never used ^  (Local0)
+
+grammar.asl   1779:         Store (LEqual (0xFFFFFFFF, 0x11111111), Local1)
+Warning  3144 -                      Method Local is set but never used ^  (Local1)
+
+grammar.asl   1782:         Store (LGreater (0xFFFFFFFF, 0x11111111), Local2)
+Warning  3144 -                        Method Local is set but never used ^  (Local2)
+
+grammar.asl   1785:         Store (LGreaterEqual (0xFFFFFFFF, 0x11111111), Local3)
+Warning  3144 -                             Method Local is set but never used ^  (Local3)
+
+grammar.asl   1788:         Store (LLess (0xFFFFFFFF, 0x11111111), Local4)
+Warning  3144 -                     Method Local is set but never used ^  (Local4)
+
+grammar.asl   1791:         Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)
+Warning  3144 -                          Method Local is set but never used ^  (Local5)
+
+grammar.asl   1820:     Method (COND)
 Warning  3115 -                   ^ Not all control paths return a value (COND)
 
-grammar.asl   2002:     Device (IFEL)
+grammar.asl   1929:         Store (RefOf (MAIN), Local5)
+Warning  3144 -   Method Local is set but never used ^  (Local5)
+
+grammar.asl   2004:     Device (IFEL)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2159:     Device (NOSV)
+grammar.asl   2161:     Device (NOSV)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2580:     Device (IDXF)
+grammar.asl   2582:     Device (IDXF)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2627:         Device (NSTL)
+grammar.asl   2610:             Store (IFE0, Local0)
+Warning  3144 -                                  ^ Method Local is set but never used (Local0)
+
+grammar.asl   2611:             Store (IFE1, Local1)
+Warning  3144 -                                  ^ Method Local is set but never used (Local1)
+
+grammar.asl   2612:             Store (IFE2, Local2)
+Warning  3144 -                                  ^ Method Local is set but never used (Local2)
+
+grammar.asl   2629:         Device (NSTL)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2655:     Device (RTBF)
+grammar.asl   2657:     Device (RTBF)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2753:     Device (GPE2)
+grammar.asl   2755:     Device (GPE2)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2768:     Device (PRW2)
+grammar.asl   2770:     Device (PRW2)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2816:     Device (PRW1)
+grammar.asl   2818:     Device (PRW1)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2886:         Device (RTLV)
+grammar.asl   2885:             Store (Arg0, Local0)
+Warning  3144 -                                  ^ Method Local is set but never used (Local0)
+
+grammar.asl   2888:         Device (RTLV)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   2990:             Name (_CRS,0)
+grammar.asl   2992:             Name (_CRS,0)
 Error    6105 -                           ^ Invalid object type for reserved name (_CRS: found Integer, Buffer required)
 
-grammar.asl   3014:         Device (RETP)
+grammar.asl   3016:         Device (RETP)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3050:     Device (WHLR)
+grammar.asl   3052:     Device (WHLR)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3106:     Device (ANDO)
+grammar.asl   3108:     Device (ANDO)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3380:     Device (BRKP)
+grammar.asl   3382:     Device (BRKP)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3417:     Device (ADSU)
+grammar.asl   3419:     Device (ADSU)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3510:     Device (INDC)
+grammar.asl   3512:     Device (INDC)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3608:     Device (LOPS)
+grammar.asl   3610:     Device (LOPS)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   3953:     Device (FDSO)
+grammar.asl   3955:     Device (FDSO)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   4117:     Device (MLDV)
+grammar.asl   4119:     Device (MLDV)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   4250:     Device (NBIT)
+grammar.asl   4252:     Device (NBIT)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   4486:     Device (SHFT)
+grammar.asl   4488:     Device (SHFT)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   4682:     Device (XORD)
+grammar.asl   4684:     Device (XORD)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5019:     Device (CRBF)
+grammar.asl   5021:     Device (CRBF)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5097:     Device (IDX4)
+grammar.asl   5099:     Device (IDX4)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5636:     Device (EVNT)
+grammar.asl   5638:     Device (EVNT)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5864:     Device (SZLV)
+grammar.asl   5866:     Device (SZLV)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5957:         Device (BYTF)
+grammar.asl   5959:         Device (BYTF)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5967:         Device (C005)
+grammar.asl   5969:         Device (C005)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   5969:             Device (C013)
+grammar.asl   5971:             Device (C013)
 Warning  3141 -        Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6024:             Name (_HID, "*PNP0A06")
+grammar.asl   6026:             Name (_HID, "*PNP0A06")
 Error    6061 -            Invalid leading asterisk ^  (*PNP0A06)
 
-grammar.asl   6163:         Name (C18C, Package (2)
+grammar.asl   6165:         Name (C18C, Package (2)
 Remark   2063 -                                 ^ Initializer list shorter than declared package length
 
-grammar.asl   6187:         Device (C19B)
+grammar.asl   6189:         Device (C19B)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6241:     Device (DWDF)
+grammar.asl   6198:                 Divide (Local1, 10, Local0, Local2) //  Local0 = Local1 / 10
+Warning  3144 -          Method Local is set but never used ^  (Local0)
+
+grammar.asl   6243:     Device (DWDF)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6282:     Device (DVAX)
+grammar.asl   6275:     Method (MKW_, 2)
+Remark   2146 -                   ^ Method Argument is never used (Arg0)
+
+grammar.asl   6275:     Method (MKW_, 2)
+Remark   2146 -                   ^ Method Argument is never used (Arg1)
+
+grammar.asl   6284:     Device (DVAX)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6325:     Device (IDX6)
+grammar.asl   6327:     Device (IDX6)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6349:         Device (TST_)
+grammar.asl   6351:         Device (TST_)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6390:     Device (IDX5)
+grammar.asl   6370:             Store (IFE0, Local0)
+Warning  3144 -                                  ^ Method Local is set but never used (Local0)
+
+grammar.asl   6371:             Store (IFE1, Local1)
+Warning  3144 -                                  ^ Method Local is set but never used (Local1)
+
+grammar.asl   6372:             Store (IFE2, Local2)
+Warning  3144 -                                  ^ Method Local is set but never used (Local2)
+
+grammar.asl   6375:             Store (\IDX6.IFE0, Local3)
+Warning  3144 -     Method Local is set but never used ^  (Local3)
+
+grammar.asl   6376:             Store (\IDX6.IFE1, Local4)
+Warning  3144 -     Method Local is set but never used ^  (Local4)
+
+grammar.asl   6378:             Store (\IDX6.TST_.IFE0, Local5)
+Warning  3144 -          Method Local is set but never used ^  (Local5)
+
+grammar.asl   6379:             Store (\IDX6.TST_.IFE1, Local6)
+Warning  3144 -          Method Local is set but never used ^  (Local6)
+
+grammar.asl   6392:     Device (IDX5)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6475:             Name (_CRS, Buffer(26)  {"\_SB_.PCI2._CRS..........."})
+grammar.asl   6477:             Name (_CRS, Buffer(26)  {"\_SB_.PCI2._CRS..........."})
 Warning  3046 -        Invalid or unknown escape sequence ^ 
 
-grammar.asl   6706:         Device (BITI)
+grammar.asl   6708:         Device (BITI)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   6814:                 And (Local0, 1, Local0) //  Local0 &= 1
+grammar.asl   6816:                 And (Local0, 1, Local0) //  Local0 &= 1
 Error    6066 -                              ^ Method local variable is not initialized (Local0)
 
-grammar.asl   6900:             Name (_HID, "*PNP0C0A")     //  Control Method Battey ID
+grammar.asl   6902:             Name (_HID, "*PNP0C0A")     //  Control Method Battey ID
 Error    6061 -            Invalid leading asterisk ^  (*PNP0C0A)
 
-grammar.asl   6909:         Device (IDX3)
+grammar.asl   6911:         Device (IDX3)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   7054:     Device(IDX7)
+grammar.asl   7056:     Device(IDX7)
 Warning  3141 -                  ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   7733:     Device (MTCH)
+grammar.asl   7735:     Device (MTCH)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   7754:             CreateDWordField (TMD0, 4, DMA0)
-Remark   2089 -                     Object is not referenced ^  (Name is within method [TEST])
+grammar.asl   7756:             CreateDWordField (TMD0, 4, DMA0)
+Remark   2089 -                     Object is not referenced ^  (Name [DMA0] is within a method [TEST])
 
-grammar.asl   7755:             CreateDWordField (TMD0, 8, PIO1)
-Remark   2089 -                     Object is not referenced ^  (Name is within method [TEST])
+grammar.asl   7757:             CreateDWordField (TMD0, 8, PIO1)
+Remark   2089 -                     Object is not referenced ^  (Name [PIO1] is within a method [TEST])
 
-grammar.asl   7756:             CreateDWordField (TMD0, 12, DMA1)
-Remark   2089 -                      Object is not referenced ^  (Name is within method [TEST])
+grammar.asl   7758:             CreateDWordField (TMD0, 12, DMA1)
+Remark   2089 -                      Object is not referenced ^  (Name [DMA1] is within a method [TEST])
 
-grammar.asl   7757:             CreateDWordField (TMD0, 16, CHNF)
-Remark   2089 -                      Object is not referenced ^  (Name is within method [TEST])
+grammar.asl   7759:             CreateDWordField (TMD0, 16, CHNF)
+Remark   2089 -                      Object is not referenced ^  (Name [CHNF] is within a method [TEST])
 
-grammar.asl   7931:     Device (WHLB)
+grammar.asl   7933:     Device (WHLB)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   8292:         Device (IDX2)
+grammar.asl   8294:         Device (IDX2)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   8675:     Device (SIZO)
+grammar.asl   8677:     Device (SIZO)
 Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   8717:             Name (PKG2, Package (4)
+grammar.asl   8719:             Name (PKG2, Package (4)
 Remark   2063 -                                     ^ Initializer list shorter than declared package length
 
-grammar.asl   9259:         Device (MBIT)
+grammar.asl   9131:             Store (_OS, Local0)
+Warning  3144 -                                 ^ Method Local is set but never used (Local0)
+
+grammar.asl   9261:         Device (MBIT)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   9270:         Device (MWRD)
+grammar.asl   9272:         Device (MWRD)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   9278:         Device (MBYT)
+grammar.asl   9280:         Device (MBYT)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   9351:         Device (SMIS)
+grammar.asl   9353:         Device (SMIS)
 Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
-grammar.asl   9405:         Device(CNDT)
+grammar.asl   9407:         Device(CNDT)
 Warning  3141 -   Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
 
 
 Intel ACPI Component Architecture
 ASL+ Optimizing Compiler version VVVVVVVV-YYYY
-Copyright (c) 2000 - 2015 Intel Corporation
+Copyright (c) 2000 - 2016 Intel Corporation
 
 Ignoring all errors, forcing AML file generation
 
-ASL Input:     grammar.asl - 10282 lines, 322891 bytes, 4818 keywords
-AML Output:    grammar.aml - 43476 bytes, 670 named objects, 4148 executable opcodes
+ASL Input:     grammar.asl - 10284 lines, 322888 bytes, 4819 keywords
+AML Output:    grammar.aml - 43490 bytes, 670 named objects, 4149 executable opcodes
 
-Compilation complete. 6 Errors, 64 Warnings, 25 Remarks, 1105 Optimizations
+Compilation complete. 6 Errors, 89 Warnings, 28 Remarks, 1106 Optimizations
diff --git a/SOURCES/name-miscompare.patch b/SOURCES/name-miscompare.patch
index 7d50e58..d64fa91 100644
--- a/SOURCES/name-miscompare.patch
+++ b/SOURCES/name-miscompare.patch
@@ -5,10 +5,10 @@ the characters were re-ordered incorrectly, mismatching the assumptions
 made in the remainder of the function.
 
 diff --git a/source/compiler/aslanalyze.c b/source/compiler/aslanalyze.c
-index 705cccf..dc8ae87 100644
+index bf5b37c..11eef08 100644
 --- a/source/compiler/aslanalyze.c
 +++ b/source/compiler/aslanalyze.c
-@@ -445,7 +445,7 @@ ApCheckForGpeNameConflict (
+@@ -461,7 +461,7 @@ ApCheckForGpeNameConflict (
  
      /* Need a null-terminated string version of NameSeg */
  
@@ -17,7 +17,7 @@ index 705cccf..dc8ae87 100644
      Name[ACPI_NAME_SIZE] = 0;
  
      /*
-@@ -472,7 +472,7 @@ ApCheckForGpeNameConflict (
+@@ -488,7 +488,7 @@ ApCheckForGpeNameConflict (
       * We are now sure we have an _Lxx or _Exx.
       * Create the target name that would cause collision (Flip E/L)
       */
diff --git a/SOURCES/re-enable-big-endian.patch b/SOURCES/re-enable-big-endian.patch
index 64ea7c9..2bbeba6 100644
--- a/SOURCES/re-enable-big-endian.patch
+++ b/SOURCES/re-enable-big-endian.patch
@@ -3,10 +3,10 @@ Re-enable use of these tools on big-endian machines.
 Al Stone <ahs3@redhat.com>
 
 diff --git a/source/compiler/aslmain.c b/source/compiler/aslmain.c
-index 447b8cb..d8ada2c 100644
+index 064e790..c4cd451 100644
 --- a/source/compiler/aslmain.c
 +++ b/source/compiler/aslmain.c
-@@ -336,18 +336,6 @@ main (
+@@ -318,18 +318,6 @@ main (
      int                     ReturnStatus = 0;
  
  
@@ -15,7 +15,7 @@ index 447b8cb..d8ada2c 100644
 -     * be little-endian, and support for big-endian machines needs to
 -     * be implemented.
 -     */
--    if (AcpiIsBigEndianMachine ())
+-    if (UtIsBigEndianMachine ())
 -    {
 -        fprintf (stderr,
 -            "iASL is not currently supported on big-endian machines.\n");
diff --git a/SPECS/acpica-tools.spec b/SPECS/acpica-tools.spec
index 10c7124..a9c69eb 100644
--- a/SPECS/acpica-tools.spec
+++ b/SPECS/acpica-tools.spec
@@ -1,6 +1,6 @@
 Name:           acpica-tools
-Version:        20150619
-Release:        3%{?dist}
+Version:        20160527
+Release:        1%{?dist}
 Summary:        ACPICA tools for the development and debug of ACPI tables
 
 Group:          Development/Languages
@@ -26,11 +26,9 @@ Source14:       COPYING
 Patch0:         debian-big_endian.patch
 Patch1:         debian-unaligned.patch
 Patch2:         name-miscompare.patch
-Patch3:         aapits-linux.patch
-Patch4:         asllookup-miscompare.patch
-Patch5:         re-enable-big-endian.patch
-Patch6:         cdacc71af1-acpica.patch
-Patch7:         50bde98a82-acpica.patch
+Patch3:         asllookup-miscompare.patch
+Patch4:         re-enable-big-endian.patch
+Patch5:         DSDT-too-long.patch
 
 BuildRequires:  bison patchutils flex
 
@@ -83,11 +81,9 @@ gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
 %patch0 -p1 -b .debian-big_endian
 %patch1 -p1 -b .debian-unaligned
 %patch2 -p1 -b .name-miscompare
-%patch3 -p1 -b .aapits-linux
-%patch4 -p1 -b .asllookup-miscompare
-%patch5 -p1 -b .re-enable-big-endian
-%patch6 -p1 -b .cdacc71af1-acpica
-%patch7 -p1 -b .50bde98a82-acpica
+%patch3 -p1 -b .asllookup-miscompare
+%patch4 -p1 -b .re-enable-big-endian
+%patch5 -p1 -b .DSDT-too-long
 
 cp -p %{SOURCE2} README
 cp -p %{SOURCE3} iasl.1
@@ -104,172 +100,8 @@ cp -p %{SOURCE13} tests/run-misc-tests.sh
 chmod a+x tests/run-misc-tests.sh
 cp -p %{SOURCE14} COPYING
 
-# spurious write and executable permissions on a number of files in upstream
-chmod a-x changes.txt
-chmod a-x generate/lint/*
-chmod a-x generate/unix/*/Makefile
-chmod a-x generate/unix/Makefile*
-chmod a-x generate/unix/readme.txt
-chmod a-x Makefile
-chmod a-x source/common/*.c
-chmod a-x source/common/*.c.*
-chmod a-x source/compiler/*.c
-chmod a-x source/compiler/*.c.*
-chmod a-x source/compiler/*.h
-chmod a-x source/compiler/*.l
-chmod a-x source/compiler/*.txt
-chmod a-x source/compiler/*.y
-chmod a-x source/components/*/*.c
-chmod a-x source/components/*/*.c.*
-chmod a-x source/include/*.h
-chmod a-x source/include/*.h.*
-chmod a-x source/include/platform/*.h
-chmod a-x source/include/platform/*.h.*
-chmod a-x source/os_specific/service_layers/*.c
-chmod a-x source/tools/*/*.c
-chmod a-x source/tools/*/*.h
-chmod a-x tests/misc/*.asl
-chmod g-w tests/misc/*.??l
-chmod g-wx tests/templates/Makefile
-chmod g-w tests/templates/templates.sh
-chmod g-w tests/.cygwin
-chmod g-w tests/.setup
-chmod g-wx tests/aapits/AcpiApiTS.dsp
-chmod g-wx tests/aapits/*.c
-chmod g-wx tests/aapits/*.c.*
-chmod g-wx tests/aapits/*.h
-chmod g-wx tests/aapits/Makefile
-chmod g-wx tests/aapits/README
-chmod g-w,a-x tests/aapits/asl/*.asl
-chmod g-w,a-x tests/aapits/asl/Makefile
-chmod g-w,a-x tests/aapits/asl/README
-chmod g-w tests/aapits/bin/*
-chmod a-x tests/aapits/bin/0_WARNING.HTM
-chmod a-x tests/aapits/bin/PWD
-chmod a-x tests/aapits/bin/README
-chmod g-w,a-x tests/aapits/spec/*.txt
-chmod g-w,a-x tests/aapits/spec/*.xls
-chmod g-w,a-x tests/aapits/spec/README
-chmod g-w tests/aslts.sh
-chmod g-wx tests/aslts/HOW_TO_INSTALL
-chmod g-wx tests/aslts/HOW_TO_USE
-chmod g-wx tests/aslts/Makefile
-chmod g-wx tests/aslts/Makefile.def
-chmod g-wx tests/aslts/Makefile.switch
-chmod g-wx tests/aslts/NOTE
-chmod g-wx tests/aslts/README
-chmod g-wx tests/aslts/TESTS
-chmod g-wx tests/aslts/adm/BugState/ALLBUGS
-chmod g-wx tests/aslts/adm/BugState/ALLBUGS_DUP
-chmod g-wx tests/aslts/adm/BugState/BugList_AML_KB_SUM0
-chmod g-wx tests/aslts/adm/BugState/BugList_AML_LB_SUM0
-chmod g-wx tests/aslts/adm/BugState/README
-chmod g-wx tests/aslts/adm/BugState/ARX/*/BugList_AML_KB_SUM0
-chmod g-wx tests/aslts/adm/BugState/ARX/*/BugList_AML_LB_SUM0
-chmod g-w tests/aslts/bin/asltsdiffres
-chmod g-w tests/aslts/bin/asltsrun
-chmod g-w tests/aslts/bin/common
-chmod g-w tests/aslts/bin/diffproc
-chmod g-w tests/aslts/bin/Do
-chmod g-w tests/aslts/bin/settings
-chmod g-wx tests/aslts/bin/README
-chmod g-wx tests/aslts/bin/bugstate/bdemosconc
-chmod g-wx tests/aslts/bin/bugstate/bdemossum
-chmod g-wx tests/aslts/bin/bugstate/bdemostabs
-chmod g-wx tests/aslts/bin/bugstate/ERROR_OPCODES
-chmod g-wx tests/aslts/bin/bugstate/HOW_TO_USE
-chmod g-wx tests/aslts/bin/bugstate/parsebuglist
-chmod g-wx tests/aslts/doc/CurrentState
-chmod g-wx tests/aslts/doc/README
-chmod g-wx tests/aslts/doc/docs/ConversionRules
-chmod g-wx tests/aslts/doc/docs/ConversionTable
-chmod g-wx tests/aslts/doc/docs/TestOfOperands
-chmod g-wx tests/aslts/doc/plan/addition
-chmod g-wx tests/aslts/doc/plan/OperatorsHaveNoSeparateTests
-chmod g-wx tests/aslts/doc/plan/RemainingWork.htm
-chmod g-wx tests/aslts/doc/StoreCopyTestPrototype/*.asl
-chmod g-wx tests/aslts/src/Makefile
-chmod g-wx tests/aslts/src/README
-chmod g-wx tests/aslts/src/compilation/README
-chmod g-wx tests/aslts/src/compilation/collection/README
-chmod g-wx tests/aslts/src/compilation/collection/*.asl
-chmod g-wx tests/aslts/src/runtime/Makefile
-chmod g-wx tests/aslts/src/runtime/README
-chmod g-wx tests/aslts/src/runtime/cntl/README
-chmod g-wx tests/aslts/src/runtime/cntl/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/Makefile.install
-chmod g-wx tests/aslts/src/runtime/collections/README
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/README
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/README
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/0277_ACTION_REQUIRED/Info.txt
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemo/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/bdemof/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/*/ssdt.c
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/bdemo/ACPICA/0062_ASL_RUNTIME/old_test/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/complex/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/tests/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/tests/*/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/complex/README
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/tests/SPEC
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/common/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/complex/*/tests/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/exceptions/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/exceptions/*/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/exceptions/*/*/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/exceptions/README
-chmod g-wx tests/aslts/src/runtime/collections/exceptions/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/exceptions/*/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/FULL/FULL/MAIN.asl
-chmod g-wx tests/aslts/src/runtime/collections/functional/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/functional/*/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/functional/README
-chmod g-wx tests/aslts/src/runtime/collections/functional/*/SPEC
-chmod g-wx tests/aslts/src/runtime/collections/functional/reference/TABLES
-chmod g-wx tests/aslts/src/runtime/collections/functional/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/functional/control/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/README
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/SPEC
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/ToDo.txt
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/device/Info.txt
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/*_WARNING.HTM
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/AslCompiler.pdf
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.AML
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.dsl
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/DSDT.TAB
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/UTILITY/INSTALL.TXT
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/Identity2MS/abbu/*/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/README
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/README
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/README
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/*.txt
-chmod g-wx tests/aslts/src/runtime/collections/IMPL/ACPICA/tests/dynobj/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/mt/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/mt/mutex/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/mt/README
-chmod g-wx tests/aslts/src/runtime/collections/mt/mutex/SPEC
-chmod g-wx tests/aslts/src/runtime/collections/mt/mutex/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/service/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/service/condbranches/Makefile
-chmod g-wx tests/aslts/src/runtime/collections/service/README
-chmod g-wx tests/aslts/src/runtime/collections/service/condbranches/*.asl
-chmod g-wx tests/aslts/src/runtime/collections/TMP/level/MAIN.asl
-chmod g-wx tests/aslts/src/runtime/common/README
-chmod g-wx tests/aslts/src/runtime/common/*.asl
-chmod g-wx tests/aslts/src/runtime/common/conversion/*.asl
-chmod g-wx tests/aslts/src/runtime/common/TCI/tcicmd.asl
+# remove spurious group write permissions from all files in tests directory
+chmod -R g-w tests/
 
 
 %build
@@ -298,16 +130,6 @@ cd tests
 ./aslts.sh                         # relies on non-zero exit
 [ $? -eq 0 ] || exit 1
 
-# API tests
-cd aapits
-make
-cd asl
-ASL=%{buildroot}%{_bindir}/iasl make
-cd ../bin
-./aapitsrun
-[ $? -eq 0 ] || exit 1
-cd ../..
-
 # misc tests
 ./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
 
@@ -355,6 +177,10 @@ fi
 
 
 %changelog
+* Tue Jun 14 2016 Dean Nelson <dnelson@redhat.com> - 20160527-1
+- Update to the latest upstream version of acpica as requested by RHBZ 1278038.
+- Refresh existing patches and add/delete ones to enable a clean build.
+
 * Wed Jul 15 2015 Dean Nelson <dnelson@redhat.com> - 20150619-3
 - Remove acpitests-unix-%{version} directory from the build because it was a
   mistake that it was present and it complicated the fixing of the file