diff --git a/.acpica-tools.metadata b/.acpica-tools.metadata
index 996ea24..2f5347c 100644
--- a/.acpica-tools.metadata
+++ b/.acpica-tools.metadata
@@ -1,2 +1,2 @@
-a10f2a3708d02074e283ee105dd3fcc6e1940c3e SOURCES/acpica-unix2-20130823.tar.gz
-9d1c1bff69159c31b359f3b21978b1a9d3c48356 SOURCES/acpitests-unix-20130823.tar.gz
+f4a2c8e7afd7441e98b0878c1fff5ffaba2258bd SOURCES/acpica-unix2-20140926.tar.gz
+5fd3e8641c38d672ff66dec958d73c2916e03365 SOURCES/acpitests-unix-20140926.tar.gz
diff --git a/.gitignore b/.gitignore
index e24c75e..d3a0639 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/acpica-unix2-20130823.tar.gz
-SOURCES/acpitests-unix-20130823.tar.gz
+SOURCES/acpica-unix2-20140926.tar.gz
+SOURCES/acpitests-unix-20140926.tar.gz
diff --git a/SOURCES/_FORTIFY_SOURCE-warning.patch b/SOURCES/_FORTIFY_SOURCE-warning.patch
deleted file mode 100644
index 0c73598..0000000
--- a/SOURCES/_FORTIFY_SOURCE-warning.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-The following error...
-
-  In file included from /usr/include/string.h:25:0,
-                   from ../../../source/include/platform/aclinux.h:80,
-                   from ../../../source/include/platform/acenv.h:149,
-                   from ../../../source/include/acpi.h:56,
-                   from ../../../source/common/adfile.c:45:
-  /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
-
-results from running the following (see acpica-tools.spec's %check section)...
-
-  %check
-  cd tests
-
-  # ASL tests
-  ./aslts.sh                         # relies on non-zero exit
-
-when the bash script aslts.sh's function build_acpi_tools() does a 'make iasl'.
-
-And as noted in the error message, when a '-D_FORTIFY_SOURCE' is present on
-the gcc command line, an optimization option also needs to be present. At
-least a '-O', but '-O2' would seem more appropriate here because of the
-'-D_FORTIFY_SOURCE=2'.
-
-Note that prior to this patch, global optimization options were not used
-because of issues that resulted on some compilers (like gcc 4.4). But
-building this package via RH's Brew appears to be safe with the '-O2' option.
-
-diff -urN a/generate/unix/Makefile.config b/generate/unix/Makefile.config
---- a/generate/unix/Makefile.config	2013-08-23 11:50:53.000000000 -0500
-+++ b/generate/unix/Makefile.config	2013-10-18 08:05:04.402569754 -0500
-@@ -120,12 +120,12 @@
- # Common compiler flags
- #
- # Flags/option notes:
--#   Global optimization flags (such as -O2, -Os) are not used,
--#       since they cause issues on some compilers (such as gcc 4.4)
-+#   Note that global optimization flags (such as -O2, -Os) can
-+#     cause issues on some compilers (such as gcc 4.4)
- #   The _GNU_SOURCE symbol is required for many hosts.
- #
- OPT_CFLAGS ?= \
--    -D_FORTIFY_SOURCE=2\
-+    -O2 -D_FORTIFY_SOURCE=2\
-     $(CWARNINGFLAGS)
-
- CFLAGS += \
diff --git a/SOURCES/aapits-linux.patch b/SOURCES/aapits-linux.patch
index 79bbaff..3d5a89a 100644
--- a/SOURCES/aapits-linux.patch
+++ b/SOURCES/aapits-linux.patch
@@ -1,7 +1,7 @@
 diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapits/tests/aapits/atexec.c
 --- acpica-unix2-20130626/tests/aapits/atexec.c	2013-01-17 12:48:28.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/atexec.c	2013-07-25 13:44:23.023894441 -0600
-@@ -530,6 +530,7 @@
+@@ -639,6 +639,7 @@
  }
  
  
@@ -9,7 +9,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
  /*******************************************************************************
   *
   * FUNCTION:    AtBuildLocalRSDT
-@@ -648,8 +649,9 @@
+@@ -757,8 +758,9 @@
          LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum;
      }
  }
@@ -19,7 +19,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
  /*******************************************************************************
   *
   * FUNCTION:    AtBuildLocalXSDT
-@@ -1315,7 +1319,7 @@
+@@ -1424,7 +1426,7 @@
          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,
@@ -28,7 +28,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
  
          return (AE_AML_REGION_LIMIT);
      }
-@@ -1683,7 +1687,9 @@
+@@ -1799,7 +1801,9 @@
              Path, Obj.Integer.Value, Value);
  #else
          printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
@@ -39,7 +39,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
  #endif
          Status = AE_ERROR;
      }
-@@ -1762,7 +1768,7 @@
+@@ -1878,7 +1878,7 @@
      {
          TestErrors++;
          printf ("Test Error: cannot allocate buffer of %d bytes\n",
@@ -48,7 +48,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
          return (AE_NO_MEMORY);
      }
      Results.Pointer = Object;
-@@ -1843,7 +1849,8 @@
+@@ -1959,7 +1963,8 @@
      {
          printf ("AtCheckBuffer: unexpected length %d of Buffer vs"
              " calculated %d bytes\n",
@@ -58,7 +58,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
      }
  
      /* Initialize the return buffer structure */
-@@ -1852,7 +1859,7 @@
+@@ -1968,7 +1973,7 @@
      {
          TestErrors++;
          printf ("Test Error: cannot allocate buffer of %d bytes\n",
@@ -70,7 +70,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapi
 diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapits/tests/aapits/atinit.c
 --- acpica-unix2-20130626/tests/aapits/atinit.c	2013-01-17 12:48:28.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/atinit.c	2013-07-25 13:20:19.706705960 -0600
-@@ -2915,7 +2915,7 @@
+@@ -3024,7 +3024,7 @@
              AapiErrors++;
              printf ("API Error: AcpiGetSystemInfo() returned"
                  " Length %d, expected %d\n",
@@ -79,7 +79,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapi
              return (AE_ERROR);
          }
  
-@@ -2937,7 +2937,7 @@
+@@ -3046,7 +3046,7 @@
              AapiErrors++;
              printf ("API Error: AcpiGetSystemInfo() returned"
                  " Length %d, expected %d\n",
@@ -88,7 +88,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapi
              return (AE_ERROR);
          }
  
-@@ -2957,7 +2957,7 @@
+@@ -3066,7 +3066,7 @@
              AapiErrors++;
              printf ("API Error: AcpiGetSystemInfo() returned"
                  " Length %d, expected %d\n",
@@ -97,7 +97,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapi
              return (AE_ERROR);
          }
          else if (OutBuffer.Pointer != &Info)
-@@ -3040,7 +3040,7 @@
+@@ -3149,7 +3149,7 @@
              AapiErrors++;
              printf ("API Error: AcpiGetSystemInfo() returned"
                  " Length %d, expected %d\n",
@@ -106,7 +106,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapi
              return (AE_ERROR);
          }
          else if (OutBuffer.Pointer != &Info)
-@@ -3105,7 +3105,7 @@
+@@ -3214,7 +3214,7 @@
              AapiErrors++;
              printf ("API Error: AcpiGetSystemInfo() returned"
                  " Length %d, expected %d\n",
@@ -118,7 +118,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapi
 diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapits/tests/aapits/atmain.c
 --- acpica-unix2-20130626/tests/aapits/atmain.c	2013-01-17 12:48:28.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/atmain.c	2013-07-25 13:18:22.083323948 -0600
-@@ -206,7 +206,7 @@
+@@ -336,7 +336,7 @@
      {
          printf ("ACPICA API TS err: test num %ld of test case %ld"
              " is not implemented\n",
@@ -127,7 +127,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapi
          return (AtRetNotImpl);
      }
  
-@@ -321,7 +323,7 @@
+@@ -451,7 +451,7 @@
      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",
@@ -136,7 +136,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapi
          return (AtRetBadParam);
      }
  
-@@ -329,7 +331,7 @@
+@@ -459,7 +459,7 @@
      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",
@@ -148,7 +148,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapi
 diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c
 --- acpica-unix2-20130626/tests/aapits/atnamespace.c	2013-01-17 12:48:28.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c	2013-07-25 13:24:15.366466707 -0600
-@@ -2426,7 +2426,8 @@
+@@ -2535,7 +2535,8 @@
  #else
                  printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n",
                      PathNames[2 * i + 1],
@@ -158,7 +158,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626
  #endif
  #else
                  printf ("API Error: Address of %s (0x%X) != (0x%X)\n",
-@@ -2799,7 +2800,8 @@
+@@ -2908,7 +2909,8 @@
          TestErrors++;
          printf ("AtGetNextObjectTypeCommon: different numbers of entities"
              "in TypesNames (%d) and LevelTypes0000 (%d)\n",
@@ -168,7 +168,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626
          return (AE_ERROR);
      }
  
-@@ -4083,7 +4085,9 @@
+@@ -4192,7 +4194,9 @@
              Pathname, Obj.Integer.Value, Value);
  #else
          printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
@@ -179,7 +179,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626
  #endif
          Status = AE_ERROR;
      }
-@@ -5090,7 +5094,7 @@
+@@ -5199,7 +5203,7 @@
              {
                  AapiErrors++;
                  printf ("API Error: AcpiOsAllocate(%d) returned NULL\n",
@@ -191,7 +191,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626
 diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c
 --- acpica-unix2-20130626/tests/aapits/atosxfctrl.c	2013-01-17 12:48:28.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c	2013-07-25 13:30:00.375492751 -0600
-@@ -622,13 +622,15 @@
+@@ -737,13 +737,15 @@
  #if ACPI_MACHINE_WIDTH == 64
  #ifdef    _MSC_VER
          printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n",
@@ -208,7 +208,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-
          return (NULL);
      }
  
-@@ -649,15 +651,19 @@
+@@ -764,15 +766,19 @@
  #ifdef    _MSC_VER
                  printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)"
                      " and (0x%I64x: 0x%x)\n",
@@ -229,7 +229,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-
                  return (NULL);
              }
          }
-@@ -671,13 +677,15 @@
+@@ -786,13 +792,15 @@
  #if ACPI_MACHINE_WIDTH == 64
  #ifdef    _MSC_VER
              printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n",
@@ -246,7 +246,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-
              return (NULL);
          }
          Reg->Type = Type;
-@@ -817,14 +825,19 @@
+@@ -932,14 +940,19 @@
  #if ACPI_MACHINE_WIDTH == 64
  #ifdef    _MSC_VER
              printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n",
@@ -270,7 +270,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-
 diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-aapits/tests/aapits/atresource.c
 --- acpica-unix2-20130626/tests/aapits/atresource.c	2013-01-17 12:48:29.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/atresource.c	2013-07-25 13:25:49.423565947 -0600
-@@ -65,7 +65,7 @@
+@@ -174,7 +174,7 @@
          AapiErrors++;
          printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
              " expected %d\n",
@@ -279,7 +279,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-
          return (AE_ERROR);
      }
  
-@@ -381,7 +381,7 @@
+@@ -490,7 +490,7 @@
          AapiErrors++;
          printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
              " expected %d\n",
@@ -288,7 +288,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-
          return (AE_ERROR);
      }
  
-@@ -580,7 +580,7 @@
+@@ -689,7 +689,7 @@
          AapiErrors++;
          printf ("Api Error: Resource->Length (%d) != %d\n",
              CurrentResource->Length,
@@ -297,7 +297,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-
      }
  
      if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */
-@@ -872,7 +872,7 @@
+@@ -981,7 +981,7 @@
          AapiErrors++;
          printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d,"
              " expected %d\n",
@@ -306,7 +306,7 @@ diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-
          return (AE_ERROR);
      }
  
-@@ -1814,7 +1814,7 @@
+@@ -1923,7 +1923,7 @@
          AapiErrors++;
          printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d,"
              " expected %d\n",
@@ -318,213 +318,12 @@ diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-
 diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapits/tests/aapits/Makefile
 --- acpica-unix2-20130626/tests/aapits/Makefile	2013-01-17 12:48:29.000000000 -0700
 +++ acpica-unix2-20130626-aapits/tests/aapits/Makefile	2013-07-25 15:17:09.309236422 -0600
-@@ -20,37 +20,52 @@
- 	../../source/components/hardware/hwxface.c \
- 	../../source/common/getopt.c \
- 	../../source/components/debugger/dbcmds.c \
-+	../../source/components/debugger/dbconvert.c \
- 	../../source/components/debugger/dbdisply.c \
- 	../../source/components/debugger/dbexec.c \
- 	../../source/components/debugger/dbfileio.c \
- 	../../source/components/debugger/dbhistry.c \
- 	../../source/components/debugger/dbinput.c \
-+	../../source/components/debugger/dbmethod.c \
-+	../../source/components/debugger/dbnames.c \
- 	../../source/components/debugger/dbstats.c \
- 	../../source/components/debugger/dbutils.c \
- 	../../source/components/debugger/dbxface.c \
- 	../../source/components/disassembler/dmbuffer.c \
-+	../../source/components/disassembler/dmdeferred.c \
- 	../../source/components/disassembler/dmnames.c \
- 	../../source/components/disassembler/dmobject.c \
- 	../../source/components/disassembler/dmopcode.c \
- 	../../source/components/disassembler/dmresrc.c \
- 	../../source/components/disassembler/dmresrcl.c \
-+	../../source/components/disassembler/dmresrcl2.c \
- 	../../source/components/disassembler/dmresrcs.c \
- 	../../source/components/disassembler/dmutils.c \
- 	../../source/components/disassembler/dmwalk.c \
- 	../../source/components/events/evevent.c \
-+	../../source/components/events/evglock.c \
- 	../../source/components/events/evgpeblk.c \
- 	../../source/components/events/evgpe.c \
-+	../../source/components/events/evgpeinit.c \
-+	../../source/components/events/evgpeutil.c \
-+	../../source/components/events/evhandler.c \
- 	../../source/components/events/evmisc.c \
- 	../../source/components/events/evregion.c \
- 	../../source/components/events/evrgnini.c \
- 	../../source/components/events/evsci.c \
- 	../../source/components/events/evxface.c \
- 	../../source/components/events/evxfevnt.c \
-+	../../source/components/events/evxfgpe.c \
- 	../../source/components/events/evxfregn.c \
- 	../../source/components/hardware/hwacpi.c \
-+	../../source/components/hardware/hwesleep.c \
- 	../../source/components/hardware/hwgpe.c \
-+	../../source/components/hardware/hwpci.c \
- 	../../source/components/hardware/hwregs.c \
- 	../../source/components/hardware/hwsleep.c \
-+	../../source/components/hardware/hwxfsleep.c \
-+	../../source/components/dispatcher/dsargs.c \
-+	../../source/components/dispatcher/dscontrol.c \
- 	../../source/components/dispatcher/dsfield.c \
- 	../../source/components/dispatcher/dsinit.c \
- 	../../source/components/dispatcher/dsmethod.c \
-@@ -60,11 +75,13 @@
- 	../../source/components/dispatcher/dsutils.c \
- 	../../source/components/dispatcher/dswexec.c \
- 	../../source/components/dispatcher/dswload.c \
-+	../../source/components/dispatcher/dswload2.c \
- 	../../source/components/dispatcher/dswscope.c \
- 	../../source/components/dispatcher/dswstate.c \
- 	../../source/components/executer/exconfig.c \
- 	../../source/components/executer/exconvrt.c \
- 	../../source/components/executer/excreate.c \
-+	../../source/components/executer/exdebug.c \
- 	../../source/components/executer/exdump.c \
- 	../../source/components/executer/exfield.c \
- 	../../source/components/executer/exfldio.c \
-@@ -87,7 +104,9 @@
- 	../../source/components/executer/exutils.c \
- 	../../source/components/parser/psargs.c \
- 	../../source/components/parser/psloop.c \
-+	../../source/components/parser/psobject.c \
- 	../../source/components/parser/psopcode.c \
-+	../../source/components/parser/psopinfo.c \
- 	../../source/components/parser/psparse.c \
- 	../../source/components/parser/psscope.c \
- 	../../source/components/parser/pstree.c \
-@@ -96,6 +115,8 @@
- 	../../source/components/parser/psxface.c \
- 	../../source/components/namespace/nsaccess.c \
- 	../../source/components/namespace/nsalloc.c \
-+	../../source/components/namespace/nsarguments.c \
-+	../../source/components/namespace/nsconvert.c \
- 	../../source/components/namespace/nsdump.c \
- 	../../source/components/namespace/nsdumpdv.c \
- 	../../source/components/namespace/nseval.c \
-@@ -105,6 +126,7 @@
- 	../../source/components/namespace/nsobject.c \
- 	../../source/components/namespace/nsparse.c \
- 	../../source/components/namespace/nspredef.c \
-+	../../source/components/namespace/nsprepkg.c \
- 	../../source/components/namespace/nsrepair.c \
- 	../../source/components/namespace/nsrepair2.c \
- 	../../source/components/namespace/nssearch.c \
-@@ -117,26 +139,35 @@
- 	../../source/components/resources/rscalc.c \
- 	../../source/components/resources/rscreate.c \
- 	../../source/components/resources/rsdump.c \
-+	../../source/components/resources/rsdumpinfo.c \
-+	../../source/components/resources/rsinfo.c \
- 	../../source/components/resources/rsio.c \
- 	../../source/components/resources/rsirq.c \
- 	../../source/components/resources/rslist.c \
- 	../../source/components/resources/rsmemory.c \
- 	../../source/components/resources/rsmisc.c \
-+	../../source/components/resources/rsserial.c \
- 	../../source/components/resources/rsutils.c \
- 	../../source/components/resources/rsxface.c \
--	../../source/components/resources/rsinfo.c \
- 	../../source/components/tables/tbfadt.c \
- 	../../source/components/tables/tbfind.c \
- 	../../source/components/tables/tbinstal.c \
-+	../../source/components/tables/tbprint.c \
- 	../../source/components/tables/tbutils.c \
- 	../../source/components/tables/tbxface.c \
-+	../../source/components/tables/tbxfload.c \
- 	../../source/components/tables/tbxfroot.c \
-+	../../source/components/utilities/utaddress.c \
- 	../../source/components/utilities/utalloc.c \
-+	../../source/components/utilities/utbuffer.c \
- 	../../source/components/utilities/utcache.c \
- 	../../source/components/utilities/utcopy.c \
- 	../../source/components/utilities/utdebug.c \
-+	../../source/components/utilities/utdecode.c \
- 	../../source/components/utilities/utdelete.c \
-+	../../source/components/utilities/uterror.c \
- 	../../source/components/utilities/uteval.c \
-+	../../source/components/utilities/utexcep.c \
- 	../../source/components/utilities/utglobal.c \
- 	../../source/components/utilities/utids.c \
- 	../../source/components/utilities/utinit.c \
-@@ -145,17 +176,23 @@
- 	../../source/components/utilities/utmisc.c \
- 	../../source/components/utilities/utmutex.c \
- 	../../source/components/utilities/utobject.c \
-+	../../source/components/utilities/utosi.c \
-+	../../source/components/utilities/utownerid.c \
-+	../../source/components/utilities/utpredef.c \
- 	../../source/components/utilities/utresrc.c \
- 	../../source/components/utilities/utstate.c \
-+	../../source/components/utilities/utstring.c \
- 	../../source/components/utilities/uttrack.c \
--	../../source/components/utilities/utxface.c
-+	../../source/components/utilities/utxface.c \
-+	../../source/components/utilities/utxferror.c \
-+	../../source/components/utilities/utxfinit.c
- #	../../source/components/osunixxf.c
- 
- 
- CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include 
- 
+@@ -199,7 +199,7 @@
+ CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include
+
  
 -acpiexec : $(patsubst %.c,%.o, $(SRCS))
 +$(PROG) : $(patsubst %.c,%.o, $(SRCS))
  	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
  
  CLEANFILES= $(PROG)
-diff -urN acpica-unix2-20130626/tests/aapits/osunixxf.c acpica-unix2-20130626-aapits/tests/aapits/osunixxf.c
---- acpica-unix2-20130626/tests/aapits/osunixxf.c	2013-01-17 12:48:29.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/osunixxf.c	2013-07-25 15:11:08.225425856 -0600
-@@ -384,7 +384,6 @@
-     const char              *Fmt,
-     va_list                 Args)
- {
--    INT32                   Count = 0;
-     UINT8                   Flags;
- 
- 
-@@ -397,7 +396,7 @@
-         {
-             /* Output file is open, send the output there */
- 
--            Count = vfprintf (AcpiGbl_DebugFile, Fmt, Args);
-+            vfprintf (AcpiGbl_DebugFile, Fmt, Args);
-         }
-         else
-         {
-@@ -409,7 +408,7 @@
- 
-     if (Flags & ACPI_DB_CONSOLE_OUTPUT)
-     {
--        Count = vfprintf (AcpiGbl_OutputFile, Fmt, Args);
-+        vfprintf (AcpiGbl_OutputFile, Fmt, Args);
-     }
- 
-     return;
-@@ -1166,3 +1165,23 @@
- 
-     return (AE_OK);
- }
-+
-+/******************************************************************************
-+ *
-+ * FUNCTION:    AcpiOsWaitEventsComplete
-+ *
-+ * PARAMETERS:  None
-+ *
-+ * RETURN:      None
-+ *
-+ * DESCRIPTION: Wait for all asynchronous events to complete. This
-+ *              implementation does nothing.
-+ *
-+ *****************************************************************************/
-+
-+void
-+AcpiOsWaitEventsComplete (
-+    void)
-+{
-+    return;
-+}
diff --git a/SOURCES/aapits-makefile.patch b/SOURCES/aapits-makefile.patch
new file mode 100644
index 0000000..cfba797
--- /dev/null
+++ b/SOURCES/aapits-makefile.patch
@@ -0,0 +1,27 @@
+diff -Naur acpica-unix2-20140724.orig/tests/aapits/Makefile acpica-unix2-20140724/tests/aapits/Makefile
+--- acpica-unix2-20140724.orig/tests/aapits/Makefile	2014-07-28 14:32:23.884529332 -0600
++++ acpica-unix2-20140724/tests/aapits/Makefile	2014-07-28 14:50:27.367982860 -0600
+@@ -16,6 +16,7 @@
+ 	atosxfwrap.c \
+ 	osunixxf.c \
+ 	../../source/common/ahids.c \
++	../../source/common/ahuuids.c \
+ 	../../source/common/cmfsize.c \
+ 	../../source/common/getopt.c \
+ 	../../source/components/hardware/hwtimer.c \
+@@ -174,6 +175,7 @@
+ 	../../source/components/utilities/utexcep.c \
+ 	../../source/components/utilities/utfileio.c \
+ 	../../source/components/utilities/utglobal.c \
++	../../source/components/utilities/uthex.c \
+ 	../../source/components/utilities/utids.c \
+ 	../../source/components/utilities/utinit.c \
+ 	../../source/components/utilities/utlock.c \
+@@ -189,6 +191,7 @@
+ 	../../source/components/utilities/utstate.c \
+ 	../../source/components/utilities/utstring.c \
+ 	../../source/components/utilities/uttrack.c \
++	../../source/components/utilities/utuuid.c \
+ 	../../source/components/utilities/utxface.c \
+ 	../../source/components/utilities/utxferror.c \
+ 	../../source/components/utilities/utxfinit.c \
diff --git a/SOURCES/asllookup-miscompare.patch b/SOURCES/asllookup-miscompare.patch
new file mode 100644
index 0000000..0067a22
--- /dev/null
+++ b/SOURCES/asllookup-miscompare.patch
@@ -0,0 +1,22 @@
+diff -urN acpica-unix2-20140214/source/compiler/asllookup.c acpica-unix2-20140214-patch/source/compiler/asllookup.c
+--- acpica-unix2-20140214/source/compiler/asllookup.c	2014-02-14 16:23:33.000000000 -0700
++++ acpica-unix2-20140214-patch/source/compiler/asllookup.c	2014-02-27 11:50:52.168659866 -0700
+@@ -119,6 +119,7 @@
+ {
+     ACPI_NAMESPACE_NODE     *Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, ObjHandle);
+     ACPI_NAMESPACE_NODE     *Next;
++    ACPI_NAME_UNION         tmp;
+ 
+ 
+     /* Referenced flag is set during the namespace xref */
+@@ -162,8 +163,9 @@
+              * 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);
+             AslError (ASL_REMARK, ASL_MSG_NOT_REFERENCED,
+                 LkGetNameOp (Node->Op), MsgBuffer);
+             return (AE_OK);
diff --git a/SOURCES/aslts-makefile-def.patch b/SOURCES/aslts-makefile-def.patch
new file mode 100644
index 0000000..d535b96
--- /dev/null
+++ b/SOURCES/aslts-makefile-def.patch
@@ -0,0 +1,35 @@
+This is a temporary workaround for some of the ASLTS tests failing to compile
+due to acpica commit 73ddb40da6c4afdfe587 as described in...
+
+  https://bugs.acpica.org/show_bug.cgi?id=1112
+
+With regard to stdout and stderr, upstream wants to hide all errors reported by
+the iASL compiler when the tests are compiled. And instead indicate their
+occurrance through the errors encountered when the tests are run. The iASL
+errors are written to tests/aslts/tmp/aml/<version>-<bit>/error.txt. But that
+only works if one is running interactively and can access the tmp directory.
+
+So this patch writes to stderr the iASL compiler error info that could normally
+be found in compile.txt (also located in the tmp directory). It is not the
+detailed error info, but it shows the number of errors encountered for the
+named test.
+
+diff --git a/tests/aslts/Makefile.def b/tests/aslts/Makefile.def
+--- a/tests/aslts/Makefile.def
++++ b/tests/aslts/Makefile.def
+@@ -72,7 +72,14 @@
+ 				"$(ASL)" $$CUR_ASLFLAGS "$(COMMON_ASL_FLAGS)" $(ADD_ASLFLAGS) $$j.asl >> $(COMPILER_LOG) 2>> $(COMPILER_ERROR_LOG); \
+ 				ret=$$?; \
+ 				echo "" >> $(COMPILER_LOG); \
+-				if [ $$ret != 0 ]; then rval=1; echo "**** Unexpected iASL failure!"; exit 1; fi; \
++				if [ $$ret != 0 ]; then \
++					rval=1; \
++					echo "---- Test path: $$dd" >> /dev/stderr; \
++					echo "---- Test type: $$CUR_AMLDIR   (Flags $(COMMON_ASL_FLAGS) $$CUR_ASLFLAGS $(ADD_ASLFLAGS))" >> /dev/stderr; \
++					tail -2 $(COMPILER_LOG) >> /dev/stderr; \
++					echo "**** Unexpected iASL failure!" >> /dev/stderr; \
++					exit 1; \
++				fi; \
+ 			done; \
+ 			if [ $$ret != 0 ]; then break; fi; \
+ 			for j in ${AMLMOD}; do \
diff --git a/SOURCES/badcode.asl.result b/SOURCES/badcode.asl.result
index 50e4eb4..a322adf 100644
--- a/SOURCES/badcode.asl.result
+++ b/SOURCES/badcode.asl.result
@@ -38,6 +38,9 @@ badcode.asl     76:         Subtract (MTX1, 4, Local3)
 Error    6058 -            Invalid type ^  ([Mutex|Reference] 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])
+
+badcode.asl     80:         CreateField (BUF1, 0, Subtract (4, 4), FLD1)
 Error    6083 -                  Operand evaluates to zero ^ 
 
 badcode.asl     84:         Acquire (MTX1, 100)
@@ -127,6 +130,9 @@ Warning  3104 -                         ^ Reserved method should not return a va
 badcode.asl    197:         Return ("Unexpected Return Value")
 Warning  3104 -  Reserved method should not return a value ^  (_Q22)
 
+badcode.asl    203:     Device (EC)
+Warning  3141 -                 ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
 badcode.asl    205:         Method (_REG, 2)
 Warning  3079 -                       ^ _REG has no corresponding Operation Region
 
@@ -190,32 +196,53 @@ Error    6071 -                            ^ Missing StartDependentFn() macro in
 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])
+
 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])
+
 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])
+
 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])
+
 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])
+
 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])
+
 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])
+
 
 Intel ACPI Component Architecture
 ASL Optimizing Compiler version VVVVVVVV-YYYY [XXXXXXXXXXX]
-Copyright (c) 2000 - 2013 Intel Corporation
+Copyright (c) 2000 - 2014 Intel Corporation
 
 Ignoring all errors, forcing AML file generation
 
 ASL Input:     badcode.asl - 401 lines, 6935 bytes, 79 keywords
 AML Output:    badcode.aml - 1184 bytes, 60 named objects, 19 executable opcodes
 
-Compilation complete. 46 Errors, 21 Warnings, 3 Remarks, 16 Optimizations
+Compilation complete. 46 Errors, 22 Warnings, 11 Remarks, 16 Optimizations
diff --git a/SOURCES/debian-big_endian.patch b/SOURCES/debian-big_endian.patch
index 78e4e90..4726e0b 100644
--- a/SOURCES/debian-big_endian.patch
+++ b/SOURCES/debian-big_endian.patch
@@ -1,39 +1,7 @@
-Patch carried over from the prior iasl package and updated.  This allows
-for builds on big endian systems and cleans up endianness.  Please see
-http://lists.acpica.org/pipermail/devel/2010-July/000159.html.  Resolves
-BZ#865013 and BZ#856856.
---
-
-Support compiling DSDT tables on big endian architectures.
-
-use the ACPI_MOVE_<N>_TO_<M> macros to swap the data written to the AML file on
-big endian architectures (the macros themselves required a few fixes to work
-correctly).
-In some areas the use of temporary variables was necessary to be able to perform
-sanity checks on the data before actually swapping the bytes.
-
-Signed-off-by: Mattia Dongili <malattia@linux.it>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
----
- source/compiler/aslcodegen.c      | 108 +++++++++++++++++-------------
- source/compiler/aslopcodes.c      |   4 +-
- source/compiler/aslrestype1.c     |  69 ++++++++++++++------
- source/compiler/aslrestype1i.c    |  38 +++++++----
- source/compiler/aslrestype2.c     |  25 ++++---
- source/compiler/aslrestype2d.c    | 134 +++++++++++++++++++++-----------------
- source/compiler/aslrestype2e.c    | 117 +++++++++++++++++++++++----------
- source/compiler/aslrestype2q.c    | 117 +++++++++++++++++++++------------
- source/compiler/aslrestype2s.c    |  86 +++++++++++++++++-------
- source/compiler/aslrestype2w.c    | 127 +++++++++++++++++++++---------------
- source/include/acmacros.h         |  15 +++--
- source/include/platform/aclinux.h |   7 +-
- 12 file modificati, 541 inserzioni(+), 306 rimozioni(-)
-
-diff --git a/source/compiler/aslcodegen.c b/source/compiler/aslcodegen.c
-index 2252ab4..c3c3e06 100644
---- a/source/compiler/aslcodegen.c
-+++ b/source/compiler/aslcodegen.c
-@@ -238,16 +238,12 @@ CgWriteAmlOpcode (
+diff -up acpica-unix2-20140424/source/compiler/aslcodegen.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslcodegen.c
+--- acpica-unix2-20140424/source/compiler/aslcodegen.c.debian-big_endian	2014-04-24 11:48:59.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslcodegen.c	2014-06-06 20:43:34.711825238 -0400
+@@ -237,16 +237,12 @@ CgWriteAmlOpcode (
      ACPI_PARSE_OBJECT       *Op)
  {
      UINT8                   PkgLenFirstByte;
@@ -56,7 +24,7 @@ index 2252ab4..c3c3e06 100644
  
      /* We expect some DEFAULT_ARGs, just ignore them */
  
-@@ -270,51 +266,52 @@
+@@ -269,51 +265,52 @@ CgWriteAmlOpcode (
  
          /* Special opcodes for within a field definition */
  
@@ -120,7 +88,7 @@ index 2252ab4..c3c3e06 100644
          break;
      }
  
-@@ -325,8 +321,8 @@ CgWriteAmlOpcode (
+@@ -324,8 +322,8 @@ CgWriteAmlOpcode (
          if (Op->Asl.AmlPkgLenBytes == 1)
          {
              /* Simplest case -- no bytes to follow, just write the count */
@@ -131,7 +99,7 @@ index 2252ab4..c3c3e06 100644
          }
          else if (Op->Asl.AmlPkgLenBytes != 0)
          {
-@@ -336,7 +332,7 @@ CgWriteAmlOpcode (
+@@ -335,7 +333,7 @@ CgWriteAmlOpcode (
               */
              PkgLenFirstByte = (UINT8)
                  (((UINT32) (Op->Asl.AmlPkgLenBytes - 1) << 6) |
@@ -140,7 +108,7 @@ index 2252ab4..c3c3e06 100644
  
              CgLocalWriteAmlData (Op, &PkgLenFirstByte, 1);
  
-@@ -344,37 +340,44 @@ CgWriteAmlOpcode (
+@@ -343,37 +341,44 @@ CgWriteAmlOpcode (
               * Shift the length over by the 4 bits we just stuffed
               * in the first byte
               */
@@ -198,7 +166,7 @@ index 2252ab4..c3c3e06 100644
          break;
  
      case AML_STRING_OP:
-@@ -408,6 +409,7 @@ CgWriteTableHeader (
+@@ -407,6 +412,7 @@ CgWriteTableHeader (
      ACPI_PARSE_OBJECT       *Op)
  {
      ACPI_PARSE_OBJECT       *Child;
@@ -206,7 +174,7 @@ index 2252ab4..c3c3e06 100644
  
  
      /* AML filename */
-@@ -444,7 +446,7 @@ CgWriteTableHeader (
+@@ -443,7 +449,7 @@ CgWriteTableHeader (
      /* OEM Revision */
  
      Child = Child->Asl.Next;
@@ -215,7 +183,7 @@ index 2252ab4..c3c3e06 100644
  
      /* Compiler ID */
  
-@@ -452,11 +453,12 @@ CgWriteTableHeader (
+@@ -451,11 +457,12 @@ CgWriteTableHeader (
  
      /* Compiler version */
  
@@ -230,7 +198,7 @@ index 2252ab4..c3c3e06 100644
      TableHeader.Checksum = 0;
  
      CgLocalWriteAmlData (Op, &TableHeader, sizeof (ACPI_TABLE_HEADER));
-@@ -520,7 +523,10 @@ CgWriteNode (
+@@ -519,7 +526,10 @@ CgWriteNode (
      ACPI_PARSE_OBJECT       *Op)
  {
      ASL_RESOURCE_NODE       *Rnode;
@@ -242,7 +210,7 @@ index 2252ab4..c3c3e06 100644
  
      /* Always check for DEFAULT_ARG and other "Noop" nodes */
      /* TBD: this may not be the best place for this check */
-@@ -538,13 +544,24 @@ CgWriteNode (
+@@ -537,13 +547,24 @@ CgWriteNode (
      switch (Op->Asl.AmlOpcode)
      {
      case AML_RAW_DATA_BYTE:
@@ -270,11 +238,10 @@ index 2252ab4..c3c3e06 100644
  
      case AML_RAW_DATA_BUFFER:
  
-diff --git a/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c
-index cddc945..6deddc9 100644
---- a/source/compiler/aslopcodes.c
-+++ b/source/compiler/aslopcodes.c
-@@ -476,6 +475,7 @@ OpcDoUnicode (
+diff -up acpica-unix2-20140424/source/compiler/aslopcodes.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslopcodes.c
+--- acpica-unix2-20140424/source/compiler/aslopcodes.c.debian-big_endian	2014-04-24 11:48:59.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslopcodes.c	2014-06-06 20:43:34.711825238 -0400
+@@ -478,6 +478,7 @@ OpcDoUnicode (
      UINT32                  i;
      UINT8                   *AsciiString;
      UINT16                  *UnicodeString;
@@ -282,7 +249,7 @@ index cddc945..6deddc9 100644
      ACPI_PARSE_OBJECT       *BufferLengthOp;
  
  
-@@ -502,7 +502,8 @@ OpcDoUnicode (
+@@ -504,7 +505,8 @@ OpcDoUnicode (
  
      for (i = 0; i < Count; i++)
      {
@@ -292,11 +259,10 @@ index cddc945..6deddc9 100644
      }
  
      /*
-diff --git a/source/compiler/aslrestype1.c b/source/compiler/aslrestype1.c
-index 5b92151..b1fa5f5 100644
---- a/source/compiler/aslrestype1.c
-+++ b/source/compiler/aslrestype1.c
-@@ -152,6 +152,11 @@ RsDoMemory24Descriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype1.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype1.c
+--- acpica-unix2-20140424/source/compiler/aslrestype1.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype1.c	2014-06-06 20:43:34.711825238 -0400
+@@ -142,6 +142,11 @@ RsDoMemory24Descriptor (
      ACPI_PARSE_OBJECT       *MaxOp = NULL;
      ACPI_PARSE_OBJECT       *LengthOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
@@ -305,10 +271,10 @@ index 5b92151..b1fa5f5 100644
 +    UINT16                  AddressLength = 0;
 +    UINT16                  Alignment = 0;
 +    UINT16                  ResourceLength;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -160,7 +165,8 @@ RsDoMemory24Descriptor (
+@@ -152,7 +157,8 @@ RsDoMemory24Descriptor (
  
      Descriptor = Rnode->Buffer;
      Descriptor->Memory24.DescriptorType  = ACPI_RESOURCE_NAME_MEMORY24;
@@ -318,7 +284,7 @@ index 5b92151..b1fa5f5 100644
  
      /* Process all child initialization nodes */
  
-@@ -177,7 +183,7 @@ RsDoMemory24Descriptor (
+@@ -169,7 +175,7 @@ RsDoMemory24Descriptor (
  
          case 1: /* Min Address */
  
@@ -327,7 +293,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Minimum));
              MinOp = InitializerOp;
-@@ -185,7 +191,7 @@ RsDoMemory24Descriptor (
+@@ -177,7 +183,7 @@ RsDoMemory24Descriptor (
  
          case 2: /* Max Address */
  
@@ -336,7 +302,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Maximum));
              MaxOp = InitializerOp;
-@@ -193,14 +199,14 @@ RsDoMemory24Descriptor (
+@@ -185,14 +191,14 @@ RsDoMemory24Descriptor (
  
          case 3: /* Alignment */
  
@@ -353,7 +319,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.AddressLength));
              LengthOp = InitializerOp;
-@@ -223,12 +229,17 @@ RsDoMemory24Descriptor (
+@@ -215,12 +221,17 @@ RsDoMemory24Descriptor (
      /* Validate the Min/Max/Len/Align values (Alignment==0 means 64K) */
  
      RsSmallAddressCheck (ACPI_RESOURCE_NAME_MEMORY24,
@@ -365,7 +331,7 @@ index 5b92151..b1fa5f5 100644
 +        Maximum,
 +        AddressLength,
 +        Alignment,
-         MinOp, MaxOp, LengthOp, NULL, Op);
+         MinOp, MaxOp, LengthOp, NULL, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Memory24.Minimum, &Minimum);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Memory24.Maximum, &Maximum);
@@ -375,7 +341,7 @@ index 5b92151..b1fa5f5 100644
      return (Rnode);
  }
  
-@@ -259,6 +270,11 @@ RsDoMemory32Descriptor (
+@@ -248,6 +259,11 @@ RsDoMemory32Descriptor (
      ACPI_PARSE_OBJECT       *LengthOp = NULL;
      ACPI_PARSE_OBJECT       *AlignOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
@@ -384,10 +350,10 @@ index 5b92151..b1fa5f5 100644
 +    UINT32                  AddressLength = 0;
 +    UINT32                  Alignment = 0;
 +    UINT16                  ResourceLength;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -267,7 +283,8 @@ RsDoMemory32Descriptor (
+@@ -258,7 +274,8 @@ RsDoMemory32Descriptor (
  
      Descriptor = Rnode->Buffer;
      Descriptor->Memory32.DescriptorType  = ACPI_RESOURCE_NAME_MEMORY32;
@@ -397,7 +363,7 @@ index 5b92151..b1fa5f5 100644
  
      /* Process all child initialization nodes */
  
-@@ -284,7 +301,7 @@ RsDoMemory32Descriptor (
+@@ -275,7 +292,7 @@ RsDoMemory32Descriptor (
  
          case 1:  /* Min Address */
  
@@ -406,7 +372,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Minimum));
              MinOp = InitializerOp;
-@@ -292,7 +309,7 @@ RsDoMemory32Descriptor (
+@@ -283,7 +300,7 @@ RsDoMemory32Descriptor (
  
          case 2: /* Max Address */
  
@@ -415,7 +381,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Maximum));
              MaxOp = InitializerOp;
-@@ -300,7 +317,7 @@ RsDoMemory32Descriptor (
+@@ -291,7 +308,7 @@ RsDoMemory32Descriptor (
  
          case 3: /* Alignment */
  
@@ -424,7 +390,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_ALIGNMENT,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Alignment));
              AlignOp = InitializerOp;
-@@ -308,7 +325,7 @@ RsDoMemory32Descriptor (
+@@ -299,7 +316,7 @@ RsDoMemory32Descriptor (
  
          case 4: /* Length */
  
@@ -433,7 +399,7 @@ index 5b92151..b1fa5f5 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.AddressLength));
              LengthOp = InitializerOp;
-@@ -331,12 +348,17 @@ RsDoMemory32Descriptor (
+@@ -322,12 +339,17 @@ RsDoMemory32Descriptor (
      /* Validate the Min/Max/Len/Align values */
  
      RsSmallAddressCheck (ACPI_RESOURCE_NAME_MEMORY32,
@@ -445,7 +411,7 @@ index 5b92151..b1fa5f5 100644
 +        Maximum,
 +        AddressLength,
 +        Alignment,
-         MinOp, MaxOp, LengthOp, AlignOp, Op);
+         MinOp, MaxOp, LengthOp, AlignOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_32_TO_32(&Descriptor->Memory32.Minimum, &Minimum);
 +    ACPI_MOVE_32_TO_32(&Descriptor->Memory32.Maximum, &Maximum);
@@ -455,15 +421,15 @@ index 5b92151..b1fa5f5 100644
      return (Rnode);
  }
  
-@@ -363,6 +385,7 @@ RsDoMemory32FixedDescriptor (
+@@ -351,6 +373,7 @@ RsDoMemory32FixedDescriptor (
      AML_RESOURCE            *Descriptor;
      ACPI_PARSE_OBJECT       *InitializerOp;
      ASL_RESOURCE_NODE       *Rnode;
 +    UINT16                  ResourceLength;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -371,7 +394,8 @@ RsDoMemory32FixedDescriptor (
+@@ -361,7 +384,8 @@ RsDoMemory32FixedDescriptor (
  
      Descriptor = Rnode->Buffer;
      Descriptor->FixedMemory32.DescriptorType  = ACPI_RESOURCE_NAME_FIXED_MEMORY32;
@@ -473,7 +439,7 @@ index 5b92151..b1fa5f5 100644
  
      /* Process all child initialization nodes */
  
-@@ -388,14 +412,16 @@ RsDoMemory32FixedDescriptor (
+@@ -378,14 +402,16 @@ RsDoMemory32FixedDescriptor (
  
          case 1: /* Address */
  
@@ -492,20 +458,19 @@ index 5b92151..b1fa5f5 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (FixedMemory32.AddressLength));
              break;
-diff --git a/source/compiler/aslrestype1i.c b/source/compiler/aslrestype1i.c
-index 8335e8f..097eb05 100644
---- a/source/compiler/aslrestype1i.c
-+++ b/source/compiler/aslrestype1i.c
-@@ -202,6 +202,8 @@ RsDoFixedDmaDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype1i.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype1i.c
+--- acpica-unix2-20140424/source/compiler/aslrestype1i.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype1i.c	2014-06-06 20:43:34.711825238 -0400
+@@ -197,6 +197,8 @@ RsDoFixedDmaDescriptor (
      AML_RESOURCE            *Descriptor;
      ACPI_PARSE_OBJECT       *InitializerOp;
      ASL_RESOURCE_NODE       *Rnode;
 +    UINT16                  RequestLines = 0;
 +    UINT16                  Channels = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -220,14 +222,14 @@ RsDoFixedDmaDescriptor (
+@@ -217,14 +219,14 @@ RsDoFixedDmaDescriptor (
          {
          case 0: /* DMA Request Lines [WORD] (_DMA) */
  
@@ -522,7 +487,7 @@ index 8335e8f..097eb05 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_DMATYPE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (FixedDma.Channels));
              break;
-@@ -252,6 +253,9 @@ RsDoFixedDmaDescriptor (
+@@ -249,6 +251,9 @@ RsDoFixedDmaDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -532,15 +497,15 @@ index 8335e8f..097eb05 100644
      return (Rnode);
  }
  
-@@ -279,6 +283,7 @@ RsDoFixedIoDescriptor (
+@@ -273,6 +278,7 @@ RsDoFixedIoDescriptor (
      ACPI_PARSE_OBJECT       *InitializerOp;
      ACPI_PARSE_OBJECT       *AddressOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
 +    UINT16                  Address = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -297,8 +302,7 @@ RsDoFixedIoDescriptor (
+@@ -293,8 +299,7 @@ RsDoFixedIoDescriptor (
          {
          case 0: /* Base Address */
  
@@ -550,7 +515,7 @@ index 8335e8f..097eb05 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_BASEADDRESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (FixedIo.Address));
              AddressOp = InitializerOp;
-@@ -328,11 +332,13 @@ RsDoFixedIoDescriptor (
+@@ -324,11 +329,13 @@ RsDoFixedIoDescriptor (
  
      /* Error checks */
  
@@ -565,16 +530,16 @@ index 8335e8f..097eb05 100644
      return (Rnode);
  }
  
-@@ -363,6 +369,8 @@ RsDoIoDescriptor (
+@@ -356,6 +363,8 @@ RsDoIoDescriptor (
      ACPI_PARSE_OBJECT       *LengthOp = NULL;
      ACPI_PARSE_OBJECT       *AlignOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
 +    UINT16                  Minimum = 0;
 +    UINT16                  Maximum = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -388,8 +396,7 @@ RsDoIoDescriptor (
+@@ -383,8 +392,7 @@ RsDoIoDescriptor (
  
          case 1:  /* Min Address */
  
@@ -584,7 +549,7 @@ index 8335e8f..097eb05 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Minimum));
              MinOp = InitializerOp;
-@@ -397,8 +404,7 @@ RsDoIoDescriptor (
+@@ -392,8 +400,7 @@ RsDoIoDescriptor (
  
          case 2: /* Max Address */
  
@@ -594,7 +559,7 @@ index 8335e8f..097eb05 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Maximum));
              MaxOp = InitializerOp;
-@@ -439,12 +445,15 @@ RsDoIoDescriptor (
+@@ -434,12 +441,15 @@ RsDoIoDescriptor (
      /* Validate the Min/Max/Len/Align values */
  
      RsSmallAddressCheck (ACPI_RESOURCE_NAME_IO,
@@ -604,7 +569,7 @@ index 8335e8f..097eb05 100644
 +        Maximum,
          Descriptor->Io.AddressLength,
          Descriptor->Io.Alignment,
-         MinOp, MaxOp, LengthOp, AlignOp, Op);
+         MinOp, MaxOp, LengthOp, AlignOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Io.Minimum, &Minimum);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Io.Maximum, &Maximum);
@@ -612,7 +577,7 @@ index 8335e8f..097eb05 100644
      return (Rnode);
  }
  
-@@ -565,9 +574,9 @@ RsDoIrqDescriptor (
+@@ -559,9 +569,9 @@ RsDoIrqDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -624,7 +589,7 @@ index 8335e8f..097eb05 100644
      return (Rnode);
  }
  
-@@ -667,6 +676,6 @@ RsDoIrqNoFlagsDescriptor (
+@@ -660,6 +670,6 @@ RsDoIrqNoFlagsDescriptor (
  
      /* Now we can set the interrupt mask */
  
@@ -632,19 +597,18 @@ index 8335e8f..097eb05 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->Irq.IrqMask, &IrqMask);
      return (Rnode);
  }
-diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c
-index f0de854..b6d8d1d 100644
---- a/source/compiler/aslrestype2.c
-+++ b/source/compiler/aslrestype2.c
-@@ -79,6 +79,7 @@ RsDoGeneralRegisterDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype2.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2.c
+--- acpica-unix2-20140424/source/compiler/aslrestype2.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype2.c	2014-06-06 20:43:34.711825238 -0400
+@@ -75,6 +75,7 @@ RsDoGeneralRegisterDescriptor (
      AML_RESOURCE            *Descriptor;
      ACPI_PARSE_OBJECT       *InitializerOp;
      ASL_RESOURCE_NODE       *Rnode;
 +    UINT16                  ResourceLength;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -87,7 +88,9 @@ RsDoGeneralRegisterDescriptor (
+@@ -85,7 +86,9 @@ RsDoGeneralRegisterDescriptor (
  
      Descriptor = Rnode->Buffer;
      Descriptor->GenericReg.DescriptorType = ACPI_RESOURCE_NAME_GENERIC_REGISTER;
@@ -655,7 +619,7 @@ index f0de854..b6d8d1d 100644
  
      /* Process all child initialization nodes */
  
-@@ -118,7 +121,8 @@ RsDoGeneralRegisterDescriptor (
+@@ -116,7 +119,8 @@ RsDoGeneralRegisterDescriptor (
  
          case 3: /* Register Address */
  
@@ -665,15 +629,15 @@ index f0de854..b6d8d1d 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_ADDRESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.Address));
              break;
-@@ -176,6 +180,7 @@ RsDoInterruptDescriptor (
+@@ -171,6 +175,7 @@ RsDoInterruptDescriptor (
      AML_RESOURCE            *Rover = NULL;
      ACPI_PARSE_OBJECT       *InitializerOp;
      ASL_RESOURCE_NODE       *Rnode;
 +    UINT16                  ResourceLength = 0;
      UINT16                  StringLength = 0;
      UINT32                  OptionIndex = 0;
-     UINT32                  i;
-@@ -222,7 +227,7 @@ RsDoInterruptDescriptor (
+     UINT32                  CurrentByteOffset;
+@@ -219,7 +224,7 @@ RsDoInterruptDescriptor (
       * Initial descriptor length -- may be enlarged if there are
       * optional fields present
       */
@@ -682,7 +646,7 @@ index f0de854..b6d8d1d 100644
      Descriptor->ExtendedIrq.InterruptCount  = 0;
  
      Rover = ACPI_CAST_PTR (AML_RESOURCE,
-@@ -330,10 +335,11 @@ RsDoInterruptDescriptor (
+@@ -327,10 +332,11 @@ RsDoInterruptDescriptor (
  
              /* Save the integer and move pointer to the next one */
  
@@ -696,7 +660,7 @@ index f0de854..b6d8d1d 100644
  
              /* Case 7: First interrupt number in list */
  
-@@ -369,7 +376,7 @@ RsDoInterruptDescriptor (
+@@ -366,7 +372,7 @@ RsDoInterruptDescriptor (
      {
          Rover->ByteItem = ResSourceIndex;
          Rover = ACPI_ADD_PTR (AML_RESOURCE, &(Rover->ByteItem), 1);
@@ -705,7 +669,7 @@ index f0de854..b6d8d1d 100644
      }
  
      /* Add optional ResSource string if present */
-@@ -381,13 +387,14 @@ RsDoInterruptDescriptor (
+@@ -378,13 +384,14 @@ RsDoInterruptDescriptor (
          Rover = ACPI_ADD_PTR (
                      AML_RESOURCE, &(Rover->ByteItem), StringLength);
  
@@ -722,7 +686,7 @@ index f0de854..b6d8d1d 100644
      return (Rnode);
  }
  
-@@ -438,7 +445,7 @@ RsDoVendorLargeDescriptor (
+@@ -432,7 +439,7 @@ RsDoVendorLargeDescriptor (
  
      Descriptor = Rnode->Buffer;
      Descriptor->VendorLarge.DescriptorType  = ACPI_RESOURCE_NAME_VENDOR_LARGE;
@@ -731,11 +695,10 @@ index f0de854..b6d8d1d 100644
  
      /* Point to end-of-descriptor for vendor data */
  
-diff --git a/source/compiler/aslrestype2d.c b/source/compiler/aslrestype2d.c
-index 1ca0f2d..5bebd30 100644
---- a/source/compiler/aslrestype2d.c
-+++ b/source/compiler/aslrestype2d.c
-@@ -83,7 +83,13 @@ RsDoDwordIoDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype2d.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2d.c
+--- acpica-unix2-20140424/source/compiler/aslrestype2d.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype2d.c	2014-06-06 20:43:34.721825238 -0400
+@@ -79,7 +79,13 @@ RsDoDwordIoDescriptor (
      ACPI_PARSE_OBJECT       *GranOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
      UINT16                  StringLength = 0;
@@ -747,9 +710,9 @@ index 1ca0f2d..5bebd30 100644
 +    UINT32                  Granularity = 0;
 +    UINT32                  TranslationOffset = 0;
      UINT8                   *OptionalFields;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
-     BOOLEAN                 ResSourceIndex = FALSE;
-@@ -104,8 +110,7 @@ RsDoDwordIoDescriptor (
+@@ -102,8 +108,7 @@ RsDoDwordIoDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS32);
@@ -759,7 +722,7 @@ index 1ca0f2d..5bebd30 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -149,8 +154,7 @@ RsDoDwordIoDescriptor (
+@@ -147,8 +152,7 @@ RsDoDwordIoDescriptor (
  
          case 5: /* Address Granularity */
  
@@ -769,7 +732,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Granularity));
              GranOp = InitializerOp;
-@@ -158,8 +162,7 @@ RsDoDwordIoDescriptor (
+@@ -156,8 +160,7 @@ RsDoDwordIoDescriptor (
  
          case 6: /* Address Min */
  
@@ -779,7 +742,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum));
              MinOp = InitializerOp;
-@@ -167,8 +170,7 @@ RsDoDwordIoDescriptor (
+@@ -165,8 +168,7 @@ RsDoDwordIoDescriptor (
  
          case 7: /* Address Max */
  
@@ -789,7 +752,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Maximum));
              MaxOp = InitializerOp;
-@@ -176,16 +178,14 @@ RsDoDwordIoDescriptor (
+@@ -174,16 +176,14 @@ RsDoDwordIoDescriptor (
  
          case 8: /* Translation Offset */
  
@@ -808,7 +771,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.AddressLength));
              LengthOp = InitializerOp;
-@@ -199,7 +199,7 @@ RsDoDwordIoDescriptor (
+@@ -197,7 +197,7 @@ RsDoDwordIoDescriptor (
  
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -817,7 +780,7 @@ index 1ca0f2d..5bebd30 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -213,8 +213,7 @@ RsDoDwordIoDescriptor (
+@@ -211,8 +211,7 @@ RsDoDwordIoDescriptor (
                  {
                      /* Found a valid ResourceSource */
  
@@ -827,7 +790,7 @@ index 1ca0f2d..5bebd30 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -274,13 +273,20 @@ RsDoDwordIoDescriptor (
+@@ -272,13 +271,20 @@ RsDoDwordIoDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -840,7 +803,7 @@ index 1ca0f2d..5bebd30 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address32.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_32_TO_32(&Descriptor->Address32.Minimum, &Minimum);
@@ -850,9 +813,9 @@ index 1ca0f2d..5bebd30 100644
 +    ACPI_MOVE_32_TO_32(&Descriptor->Address32.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS32) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-@@ -315,7 +321,13 @@ RsDoDwordMemoryDescriptor (
+@@ -310,7 +316,13 @@ RsDoDwordMemoryDescriptor (
      ASL_RESOURCE_NODE       *Rnode;
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
@@ -863,10 +826,10 @@ index 1ca0f2d..5bebd30 100644
 +    UINT32                  AddressLength = 0;
 +    UINT32                  Granularity = 0;
 +    UINT32                  TranslationOffset = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -335,11 +347,9 @@ RsDoDwordMemoryDescriptor (
+@@ -332,11 +344,9 @@ RsDoDwordMemoryDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS32);
@@ -879,7 +842,7 @@ index 1ca0f2d..5bebd30 100644
      /* Process all child initialization nodes */
  
      for (i = 0; InitializerOp; i++)
-@@ -388,8 +398,7 @@ RsDoDwordMemoryDescriptor (
+@@ -385,8 +395,7 @@ RsDoDwordMemoryDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -889,7 +852,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Granularity));
              GranOp = InitializerOp;
-@@ -397,8 +406,7 @@ RsDoDwordMemoryDescriptor (
+@@ -394,8 +403,7 @@ RsDoDwordMemoryDescriptor (
  
          case 7: /* Min Address */
  
@@ -899,7 +862,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum));
              MinOp = InitializerOp;
-@@ -406,8 +414,7 @@ RsDoDwordMemoryDescriptor (
+@@ -403,8 +411,7 @@ RsDoDwordMemoryDescriptor (
  
          case 8: /* Max Address */
  
@@ -909,7 +872,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Maximum));
              MaxOp = InitializerOp;
-@@ -415,16 +422,14 @@ RsDoDwordMemoryDescriptor (
+@@ -412,16 +419,14 @@ RsDoDwordMemoryDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -928,7 +891,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.AddressLength));
              LengthOp = InitializerOp;
-@@ -436,7 +441,7 @@ RsDoDwordMemoryDescriptor (
+@@ -433,7 +438,7 @@ RsDoDwordMemoryDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -937,7 +900,7 @@ index 1ca0f2d..5bebd30 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -448,8 +453,8 @@ RsDoDwordMemoryDescriptor (
+@@ -445,8 +450,8 @@ RsDoDwordMemoryDescriptor (
              {
                  if (StringLength)
                  {
@@ -948,7 +911,7 @@ index 1ca0f2d..5bebd30 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -510,13 +515,20 @@ RsDoDwordMemoryDescriptor (
+@@ -507,13 +512,20 @@ RsDoDwordMemoryDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -961,7 +924,7 @@ index 1ca0f2d..5bebd30 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address32.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_32_TO_32(&Descriptor->Address32.Minimum, &Minimum);
@@ -971,9 +934,9 @@ index 1ca0f2d..5bebd30 100644
 +    ACPI_MOVE_32_TO_32(&Descriptor->Address32.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS32) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-@@ -551,7 +563,13 @@ RsDoDwordSpaceDescriptor (
+@@ -545,7 +557,13 @@ RsDoDwordSpaceDescriptor (
      ASL_RESOURCE_NODE       *Rnode;
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
@@ -984,10 +947,10 @@ index 1ca0f2d..5bebd30 100644
 +    UINT32                  AddressLength = 0;
 +    UINT32                  Granularity = 0;
 +    UINT32                  TranslationOffset = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -570,8 +588,7 @@ RsDoDwordSpaceDescriptor (
+@@ -566,8 +584,7 @@ RsDoDwordSpaceDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS32);
@@ -997,7 +960,7 @@ index 1ca0f2d..5bebd30 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -620,8 +637,7 @@ RsDoDwordSpaceDescriptor (
+@@ -616,8 +633,7 @@ RsDoDwordSpaceDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -1007,7 +970,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Granularity));
              GranOp = InitializerOp;
-@@ -629,8 +645,7 @@ RsDoDwordSpaceDescriptor (
+@@ -625,8 +641,7 @@ RsDoDwordSpaceDescriptor (
  
          case 7: /* Min Address */
  
@@ -1017,7 +980,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum));
              MinOp = InitializerOp;
-@@ -638,8 +651,7 @@ RsDoDwordSpaceDescriptor (
+@@ -634,8 +649,7 @@ RsDoDwordSpaceDescriptor (
  
          case 8: /* Max Address */
  
@@ -1027,7 +990,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Maximum));
              MaxOp = InitializerOp;
-@@ -647,16 +661,14 @@ RsDoDwordSpaceDescriptor (
+@@ -643,16 +657,14 @@ RsDoDwordSpaceDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -1046,7 +1009,7 @@ index 1ca0f2d..5bebd30 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.AddressLength));
              LengthOp = InitializerOp;
-@@ -668,7 +680,7 @@ RsDoDwordSpaceDescriptor (
+@@ -664,7 +676,7 @@ RsDoDwordSpaceDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -1055,7 +1018,7 @@ index 1ca0f2d..5bebd30 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -680,8 +692,7 @@ RsDoDwordSpaceDescriptor (
+@@ -676,8 +688,7 @@ RsDoDwordSpaceDescriptor (
              {
                  if (StringLength)
                  {
@@ -1065,7 +1028,7 @@ index 1ca0f2d..5bebd30 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -728,13 +739,20 @@ RsDoDwordSpaceDescriptor (
+@@ -724,13 +735,20 @@ RsDoDwordSpaceDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1078,7 +1041,7 @@ index 1ca0f2d..5bebd30 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address32.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_32_TO_32(&Descriptor->Address32.Minimum, &Minimum);
@@ -1088,13 +1051,12 @@ index 1ca0f2d..5bebd30 100644
 +    ACPI_MOVE_32_TO_32(&Descriptor->Address32.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS32) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-diff --git a/source/compiler/aslrestype2e.c b/source/compiler/aslrestype2e.c
-index e5fff47..d701880 100644
---- a/source/compiler/aslrestype2e.c
-+++ b/source/compiler/aslrestype2e.c
-@@ -82,6 +82,13 @@ RsDoExtendedIoDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype2e.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2e.c
+--- acpica-unix2-20140424/source/compiler/aslrestype2e.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype2e.c	2014-06-06 20:43:34.721825238 -0400
+@@ -78,6 +78,13 @@ RsDoExtendedIoDescriptor (
      ACPI_PARSE_OBJECT       *GranOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
      UINT16                  StringLength = 0;
@@ -1105,10 +1067,10 @@ index e5fff47..d701880 100644
 +    UINT64                  Granularity = 0;
 +    UINT64                  TranslationOffset = 0;
 +    UINT64                  TypeSpecific = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -96,9 +103,10 @@ RsDoExtendedIoDescriptor (
+@@ -94,9 +101,10 @@ RsDoExtendedIoDescriptor (
      Descriptor->ExtAddress64.ResourceType    = ACPI_ADDRESS_TYPE_IO_RANGE;
      Descriptor->ExtAddress64.RevisionID      = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
  
@@ -1121,7 +1083,7 @@ index e5fff47..d701880 100644
  
      /* Process all child initialization nodes */
  
-@@ -141,7 +149,7 @@ RsDoExtendedIoDescriptor (
+@@ -139,7 +147,7 @@ RsDoExtendedIoDescriptor (
  
          case 5: /* Address Granularity */
  
@@ -1130,7 +1092,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Granularity));
              GranOp = InitializerOp;
-@@ -149,7 +157,7 @@ RsDoExtendedIoDescriptor (
+@@ -147,7 +155,7 @@ RsDoExtendedIoDescriptor (
  
          case 6: /* Address Min */
  
@@ -1139,7 +1101,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Minimum));
              MinOp = InitializerOp;
-@@ -157,7 +165,7 @@ RsDoExtendedIoDescriptor (
+@@ -155,7 +163,7 @@ RsDoExtendedIoDescriptor (
  
          case 7: /* Address Max */
  
@@ -1148,7 +1110,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Maximum));
              MaxOp = InitializerOp;
-@@ -165,14 +173,14 @@ RsDoExtendedIoDescriptor (
+@@ -163,14 +171,14 @@ RsDoExtendedIoDescriptor (
  
          case 8: /* Translation Offset */
  
@@ -1165,7 +1127,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.AddressLength));
              LengthOp = InitializerOp;
-@@ -180,7 +188,7 @@ RsDoExtendedIoDescriptor (
+@@ -178,7 +186,7 @@ RsDoExtendedIoDescriptor (
  
          case 10: /* Type-Specific Attributes */
  
@@ -1174,7 +1136,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_TYPESPECIFICATTRIBUTES,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TypeSpecific));
              break;
-@@ -216,13 +224,20 @@ RsDoExtendedIoDescriptor (
+@@ -214,13 +222,20 @@ RsDoExtendedIoDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1187,7 +1149,7 @@ index e5fff47..d701880 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->ExtAddress64.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.Minimum, &Minimum);
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.Maximum, &Maximum);
@@ -1196,10 +1158,10 @@ index e5fff47..d701880 100644
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.TranslationOffset, &TranslationOffset);
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.TypeSpecific, &TypeSpecific);
 +
-     Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) + StringLength;
+     Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) +
+         StringLength;
      return (Rnode);
- }
-@@ -255,6 +270,13 @@ RsDoExtendedMemoryDescriptor (
+@@ -251,6 +266,13 @@ RsDoExtendedMemoryDescriptor (
      ACPI_PARSE_OBJECT       *GranOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
      UINT16                  StringLength = 0;
@@ -1210,10 +1172,10 @@ index e5fff47..d701880 100644
 +    UINT64                  Granularity = 0;
 +    UINT64                  TranslationOffset = 0;
 +    UINT64                  TypeSpecific = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -269,9 +291,10 @@ RsDoExtendedMemoryDescriptor (
+@@ -267,9 +289,10 @@ RsDoExtendedMemoryDescriptor (
      Descriptor->ExtAddress64.ResourceType    = ACPI_ADDRESS_TYPE_MEMORY_RANGE;
      Descriptor->ExtAddress64.RevisionID      = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
  
@@ -1226,7 +1188,7 @@ index e5fff47..d701880 100644
  
      /* Process all child initialization nodes */
  
-@@ -321,7 +344,7 @@ RsDoExtendedMemoryDescriptor (
+@@ -319,7 +342,7 @@ RsDoExtendedMemoryDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -1235,7 +1197,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Granularity));
              GranOp = InitializerOp;
-@@ -329,7 +352,7 @@ RsDoExtendedMemoryDescriptor (
+@@ -327,7 +350,7 @@ RsDoExtendedMemoryDescriptor (
  
          case 7: /* Min Address */
  
@@ -1244,7 +1206,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Minimum));
              MinOp = InitializerOp;
-@@ -337,7 +360,7 @@ RsDoExtendedMemoryDescriptor (
+@@ -335,7 +358,7 @@ RsDoExtendedMemoryDescriptor (
  
          case 8: /* Max Address */
  
@@ -1253,7 +1215,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Maximum));
              MaxOp = InitializerOp;
-@@ -345,14 +368,14 @@ RsDoExtendedMemoryDescriptor (
+@@ -343,14 +366,14 @@ RsDoExtendedMemoryDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -1270,7 +1232,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.AddressLength));
              LengthOp = InitializerOp;
-@@ -360,7 +383,7 @@ RsDoExtendedMemoryDescriptor (
+@@ -358,7 +381,7 @@ RsDoExtendedMemoryDescriptor (
  
          case 11: /* Type-Specific Attributes */
  
@@ -1279,7 +1241,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_TYPESPECIFICATTRIBUTES,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TypeSpecific));
              break;
-@@ -397,13 +420,20 @@ RsDoExtendedMemoryDescriptor (
+@@ -395,13 +418,20 @@ RsDoExtendedMemoryDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1292,7 +1254,7 @@ index e5fff47..d701880 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->ExtAddress64.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.Minimum, &Minimum);
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.Maximum, &Maximum);
@@ -1301,10 +1263,10 @@ index e5fff47..d701880 100644
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.TranslationOffset, &TranslationOffset);
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.TypeSpecific, &TypeSpecific);
 +
-     Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) + StringLength;
+     Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) +
+         StringLength;
      return (Rnode);
- }
-@@ -436,6 +466,13 @@ RsDoExtendedSpaceDescriptor (
+@@ -432,6 +462,13 @@ RsDoExtendedSpaceDescriptor (
      ACPI_PARSE_OBJECT       *GranOp = NULL;
      ASL_RESOURCE_NODE       *Rnode;
      UINT16                  StringLength = 0;
@@ -1315,10 +1277,10 @@ index e5fff47..d701880 100644
 +    UINT64                  Granularity = 0;
 +    UINT64                  TranslationOffset = 0;
 +    UINT64                  TypeSpecific = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -449,9 +486,10 @@ RsDoExtendedSpaceDescriptor (
+@@ -447,9 +484,10 @@ RsDoExtendedSpaceDescriptor (
      Descriptor->ExtAddress64.DescriptorType  = ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64;
      Descriptor->ExtAddress64.RevisionID      = AML_RESOURCE_EXTENDED_ADDRESS_REVISION;
  
@@ -1331,7 +1293,7 @@ index e5fff47..d701880 100644
  
      /* Process all child initialization nodes */
  
-@@ -499,7 +537,7 @@ RsDoExtendedSpaceDescriptor (
+@@ -497,7 +535,7 @@ RsDoExtendedSpaceDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -1340,7 +1302,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Granularity));
              GranOp = InitializerOp;
-@@ -507,7 +545,7 @@ RsDoExtendedSpaceDescriptor (
+@@ -505,7 +543,7 @@ RsDoExtendedSpaceDescriptor (
  
          case 7: /* Min Address */
  
@@ -1349,7 +1311,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Minimum));
              MinOp = InitializerOp;
-@@ -515,7 +553,7 @@ RsDoExtendedSpaceDescriptor (
+@@ -513,7 +551,7 @@ RsDoExtendedSpaceDescriptor (
  
          case 8: /* Max Address */
  
@@ -1358,7 +1320,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Maximum));
              MaxOp = InitializerOp;
-@@ -523,14 +561,14 @@ RsDoExtendedSpaceDescriptor (
+@@ -521,14 +559,14 @@ RsDoExtendedSpaceDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -1375,7 +1337,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.AddressLength));
              LengthOp = InitializerOp;
-@@ -538,7 +576,7 @@ RsDoExtendedSpaceDescriptor (
+@@ -536,7 +574,7 @@ RsDoExtendedSpaceDescriptor (
  
          case 11: /* Type-Specific Attributes */
  
@@ -1384,7 +1346,7 @@ index e5fff47..d701880 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_TYPESPECIFICATTRIBUTES,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TypeSpecific));
              break;
-@@ -560,13 +598,20 @@ RsDoExtendedSpaceDescriptor (
+@@ -558,13 +596,20 @@ RsDoExtendedSpaceDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1397,7 +1359,7 @@ index e5fff47..d701880 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->ExtAddress64.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.Minimum, &Minimum);
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.Maximum, &Maximum);
@@ -1406,14 +1368,14 @@ index e5fff47..d701880 100644
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.TranslationOffset, &TranslationOffset);
 +    ACPI_MOVE_64_TO_64(&Descriptor->ExtAddress64.TypeSpecific, &TypeSpecific);
 +
-     Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) + StringLength;
+     Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) +
+         StringLength;
      return (Rnode);
  }
-diff --git a/source/compiler/aslrestype2q.c b/source/compiler/aslrestype2q.c
-index 65c242a..c92d545 100644
---- a/source/compiler/aslrestype2q.c
-+++ b/source/compiler/aslrestype2q.c
-@@ -84,7 +84,13 @@ RsDoQwordIoDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype2q.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2q.c
+--- acpica-unix2-20140424/source/compiler/aslrestype2q.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype2q.c	2014-06-06 20:43:34.721825238 -0400
+@@ -80,7 +80,13 @@ RsDoQwordIoDescriptor (
      ASL_RESOURCE_NODE       *Rnode;
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
@@ -1424,10 +1386,10 @@ index 65c242a..c92d545 100644
 +    UINT64                  AddressLength = 0;
 +    UINT64                  Granularity = 0;
 +    UINT64                  TranslationOffset = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -104,8 +110,7 @@ RsDoQwordIoDescriptor (
+@@ -102,8 +108,7 @@ RsDoQwordIoDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS64);
@@ -1437,7 +1399,7 @@ index 65c242a..c92d545 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -149,7 +154,7 @@ RsDoQwordIoDescriptor (
+@@ -147,7 +152,7 @@ RsDoQwordIoDescriptor (
  
          case 5: /* Address Granularity */
  
@@ -1446,7 +1408,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Granularity));
              GranOp = InitializerOp;
-@@ -157,7 +162,7 @@ RsDoQwordIoDescriptor (
+@@ -155,7 +160,7 @@ RsDoQwordIoDescriptor (
  
          case 6: /* Address Min */
  
@@ -1455,7 +1417,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Minimum));
              MinOp = InitializerOp;
-@@ -165,7 +170,7 @@ RsDoQwordIoDescriptor (
+@@ -163,7 +168,7 @@ RsDoQwordIoDescriptor (
  
          case 7: /* Address Max */
  
@@ -1464,7 +1426,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Maximum));
              MaxOp = InitializerOp;
-@@ -173,14 +178,14 @@ RsDoQwordIoDescriptor (
+@@ -171,14 +176,14 @@ RsDoQwordIoDescriptor (
  
          case 8: /* Translation Offset */
  
@@ -1481,7 +1443,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.AddressLength));
              LengthOp = InitializerOp;
-@@ -192,7 +197,7 @@ RsDoQwordIoDescriptor (
+@@ -190,7 +195,7 @@ RsDoQwordIoDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -1490,7 +1452,7 @@ index 65c242a..c92d545 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -204,8 +209,7 @@ RsDoQwordIoDescriptor (
+@@ -202,8 +207,7 @@ RsDoQwordIoDescriptor (
              {
                  if (StringLength)
                  {
@@ -1500,7 +1462,7 @@ index 65c242a..c92d545 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -265,13 +269,20 @@ RsDoQwordIoDescriptor (
+@@ -263,13 +267,20 @@ RsDoQwordIoDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1513,7 +1475,7 @@ index 65c242a..c92d545 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address64.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_64_TO_64(&Descriptor->Address64.Minimum, &Minimum);
@@ -1523,9 +1485,9 @@ index 65c242a..c92d545 100644
 +    ACPI_MOVE_64_TO_64(&Descriptor->Address64.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS64) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-@@ -306,7 +317,13 @@ RsDoQwordMemoryDescriptor (
+@@ -301,7 +312,13 @@ RsDoQwordMemoryDescriptor (
      ASL_RESOURCE_NODE       *Rnode;
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
@@ -1536,10 +1498,10 @@ index 65c242a..c92d545 100644
 +    UINT64                  AddressLength = 0;
 +    UINT64                  Granularity = 0;
 +    UINT64                  TranslationOffset = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -326,8 +343,7 @@ RsDoQwordMemoryDescriptor (
+@@ -323,8 +340,7 @@ RsDoQwordMemoryDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS64);
@@ -1549,7 +1511,7 @@ index 65c242a..c92d545 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -378,7 +394,7 @@ RsDoQwordMemoryDescriptor (
+@@ -375,7 +391,7 @@ RsDoQwordMemoryDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -1558,7 +1520,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Granularity));
              GranOp = InitializerOp;
-@@ -386,7 +402,7 @@ RsDoQwordMemoryDescriptor (
+@@ -383,7 +399,7 @@ RsDoQwordMemoryDescriptor (
  
          case 7: /* Min Address */
  
@@ -1567,7 +1529,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Minimum));
              MinOp = InitializerOp;
-@@ -394,7 +410,7 @@ RsDoQwordMemoryDescriptor (
+@@ -391,7 +407,7 @@ RsDoQwordMemoryDescriptor (
  
          case 8: /* Max Address */
  
@@ -1576,7 +1538,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Maximum));
              MaxOp = InitializerOp;
-@@ -402,14 +418,14 @@ RsDoQwordMemoryDescriptor (
+@@ -399,14 +415,14 @@ RsDoQwordMemoryDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -1593,7 +1555,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.AddressLength));
              LengthOp = InitializerOp;
-@@ -421,7 +437,7 @@ RsDoQwordMemoryDescriptor (
+@@ -418,7 +434,7 @@ RsDoQwordMemoryDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -1602,7 +1564,7 @@ index 65c242a..c92d545 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -433,8 +449,7 @@ RsDoQwordMemoryDescriptor (
+@@ -430,8 +446,7 @@ RsDoQwordMemoryDescriptor (
              {
                  if (StringLength)
                  {
@@ -1612,7 +1574,7 @@ index 65c242a..c92d545 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -495,13 +510,20 @@ RsDoQwordMemoryDescriptor (
+@@ -492,13 +507,20 @@ RsDoQwordMemoryDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1625,7 +1587,7 @@ index 65c242a..c92d545 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address64.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_64_TO_64(&Descriptor->Address64.Minimum, &Minimum);
@@ -1635,14 +1597,15 @@ index 65c242a..c92d545 100644
 +    ACPI_MOVE_64_TO_64(&Descriptor->Address64.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS64) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-@@ -536,8 +558,14 @@ RsDoQwordSpaceDescriptor (
+@@ -530,9 +552,15 @@ RsDoQwordSpaceDescriptor (
      ASL_RESOURCE_NODE       *Rnode;
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
 +    UINT16                  ResourceLength = 0;
      UINT32                  OptionIndex = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
 +    UINT64                  Minimum = 0;
 +    UINT64                  Maximum = 0;
@@ -1652,7 +1615,7 @@ index 65c242a..c92d545 100644
      BOOLEAN                 ResSourceIndex = FALSE;
  
  
-@@ -555,8 +583,7 @@ RsDoQwordSpaceDescriptor (
+@@ -551,8 +579,7 @@ RsDoQwordSpaceDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS64);
@@ -1662,7 +1625,7 @@ index 65c242a..c92d545 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -605,7 +632,7 @@ RsDoQwordSpaceDescriptor (
+@@ -601,7 +628,7 @@ RsDoQwordSpaceDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -1671,7 +1634,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Granularity));
              GranOp = InitializerOp;
-@@ -613,7 +640,7 @@ RsDoQwordSpaceDescriptor (
+@@ -609,7 +636,7 @@ RsDoQwordSpaceDescriptor (
  
          case 7: /* Min Address */
  
@@ -1680,7 +1643,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Minimum));
              MinOp = InitializerOp;
-@@ -621,7 +648,7 @@ RsDoQwordSpaceDescriptor (
+@@ -617,7 +644,7 @@ RsDoQwordSpaceDescriptor (
  
          case 8: /* Max Address */
  
@@ -1689,7 +1652,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Maximum));
              MaxOp = InitializerOp;
-@@ -629,14 +656,14 @@ RsDoQwordSpaceDescriptor (
+@@ -625,14 +652,14 @@ RsDoQwordSpaceDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -1706,7 +1669,7 @@ index 65c242a..c92d545 100644
              RsCreateQwordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.AddressLength));
              LengthOp = InitializerOp;
-@@ -648,7 +675,7 @@ RsDoQwordSpaceDescriptor (
+@@ -644,7 +671,7 @@ RsDoQwordSpaceDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -1715,7 +1678,7 @@ index 65c242a..c92d545 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -660,8 +687,7 @@ RsDoQwordSpaceDescriptor (
+@@ -656,8 +683,7 @@ RsDoQwordSpaceDescriptor (
              {
                  if (StringLength)
                  {
@@ -1725,7 +1688,7 @@ index 65c242a..c92d545 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -707,13 +733,20 @@ RsDoQwordSpaceDescriptor (
+@@ -703,13 +729,20 @@ RsDoQwordSpaceDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -1738,7 +1701,7 @@ index 65c242a..c92d545 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address64.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_64_TO_64(&Descriptor->Address64.Minimum, &Minimum);
@@ -1748,23 +1711,22 @@ index 65c242a..c92d545 100644
 +    ACPI_MOVE_64_TO_64(&Descriptor->Address64.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS64) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-diff --git a/source/compiler/aslrestype2s.c b/source/compiler/aslrestype2s.c
-index a9d24cd..4d9c7db 100644
---- a/source/compiler/aslrestype2s.c
-+++ b/source/compiler/aslrestype2s.c
-@@ -293,6 +293,9 @@ RsDoGpioIntDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype2s.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2s.c
+--- acpica-unix2-20140424/source/compiler/aslrestype2s.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype2s.c	2014-06-06 20:43:34.721825238 -0400
+@@ -290,6 +290,9 @@ RsDoGpioIntDescriptor (
      UINT16                  VendorLength;
      UINT16                  InterruptLength;
      UINT16                  DescriptorSize;
 +    UINT16                  IntFlags = 0;
 +    UINT16                  DebounceTimeout = 0;
 +    UINT16                  Flags = 0;
+     UINT32                  CurrentByteOffset;
+     UINT32                  PinCount = 0;
      UINT32                  i;
- 
- 
-@@ -348,21 +351,21 @@ RsDoGpioIntDescriptor (
+@@ -349,21 +352,21 @@ RsDoGpioIntDescriptor (
          {
          case 0: /* Interrupt Mode - edge/level [Flag] (_MOD) */
  
@@ -1789,7 +1751,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_INTERRUPTSHARE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 3, 2);
              break;
-@@ -376,7 +379,7 @@ RsDoGpioIntDescriptor (
+@@ -377,7 +380,7 @@ RsDoGpioIntDescriptor (
  
          case 4: /* Debounce Timeout [WORD] (_DBT) */
  
@@ -1798,7 +1760,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_DEBOUNCETIME,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.DebounceTimeout));
              break;
-@@ -402,7 +405,7 @@ RsDoGpioIntDescriptor (
+@@ -403,7 +406,7 @@ RsDoGpioIntDescriptor (
  
          case 7: /* Resource Usage (consumer/producer) */
  
@@ -1807,7 +1769,7 @@ index a9d24cd..4d9c7db 100644
              break;
  
          case 8: /* Resource Tag (Descriptor Name) */
-@@ -466,6 +469,10 @@ RsDoGpioIntDescriptor (
+@@ -468,6 +471,10 @@ RsDoGpioIntDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1815,10 +1777,10 @@ index a9d24cd..4d9c7db 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);
      return (Rnode);
  }
- 
-@@ -499,6 +506,10 @@ RsDoGpioIoDescriptor (
+@@ -500,6 +507,10 @@ RsDoGpioIoDescriptor (
      UINT16                  VendorLength;
      UINT16                  InterruptLength;
      UINT16                  DescriptorSize;
@@ -1826,10 +1788,10 @@ index a9d24cd..4d9c7db 100644
 +    UINT16                  DebounceTimeout = 0;
 +    UINT16                  DriveStrength = 0;
 +    UINT16                  Flags = 0;
+     UINT32                  CurrentByteOffset;
+     UINT32                  PinCount = 0;
      UINT32                  i;
- 
- 
-@@ -554,7 +565,7 @@ RsDoGpioIoDescriptor (
+@@ -560,7 +571,7 @@ RsDoGpioIoDescriptor (
          {
          case 0: /* Share Type [Flags] (_SHR) */
  
@@ -1838,7 +1800,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_INTERRUPTSHARE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 3);
              break;
-@@ -568,21 +579,21 @@ RsDoGpioIoDescriptor (
+@@ -574,21 +585,21 @@ RsDoGpioIoDescriptor (
  
          case 2: /* Debounce Timeout [WORD] (_DBT) */
  
@@ -1863,7 +1825,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_IORESTRICTION,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 0, 2);
              break;
-@@ -608,7 +619,7 @@ RsDoGpioIoDescriptor (
+@@ -614,7 +625,7 @@ RsDoGpioIoDescriptor (
  
          case 7: /* Resource Usage (consumer/producer) */
  
@@ -1872,7 +1834,7 @@ index a9d24cd..4d9c7db 100644
              break;
  
          case 8: /* Resource Tag (Descriptor Name) */
-@@ -671,6 +683,11 @@ RsDoGpioIoDescriptor (
+@@ -678,6 +689,11 @@ RsDoGpioIoDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1881,20 +1843,20 @@ index a9d24cd..4d9c7db 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);
      return (Rnode);
  }
- 
-@@ -702,6 +719,9 @@ RsDoI2cSerialBusDescriptor (
+@@ -707,6 +723,9 @@ RsDoI2cSerialBusDescriptor (
      UINT16                  ResSourceLength;
      UINT16                  VendorLength;
      UINT16                  DescriptorSize;
 +    UINT16                  SlaveAddress = 0;
 +    UINT32                  ConnectionSpeed = 0;
 +    UINT16                  TypeSpecificFlags = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -749,7 +769,7 @@ RsDoI2cSerialBusDescriptor (
+@@ -756,7 +775,7 @@ RsDoI2cSerialBusDescriptor (
          {
          case 0: /* Slave Address [WORD] (_ADR) */
  
@@ -1903,7 +1865,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_ADDRESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.SlaveAddress));
              break;
-@@ -763,14 +783,14 @@ RsDoI2cSerialBusDescriptor (
+@@ -770,14 +789,14 @@ RsDoI2cSerialBusDescriptor (
  
          case 2: /* Connection Speed [DWORD] (_SPE) */
  
@@ -1920,27 +1882,28 @@ index a9d24cd..4d9c7db 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_MODE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.TypeSpecificFlags), 0);
              break;
-@@ -818,6 +837,9 @@ RsDoI2cSerialBusDescriptor (
+@@ -825,6 +844,10 @@ RsDoI2cSerialBusDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->I2cSerialBus.SlaveAddress, &SlaveAddress);
 +    ACPI_MOVE_32_TO_32(&Descriptor->I2cSerialBus.ConnectionSpeed, &ConnectionSpeed);
 +    ACPI_MOVE_16_TO_16(&Descriptor->I2cSerialBus.TypeSpecificFlags, &TypeSpecificFlags);
++
+     MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
      return (Rnode);
  }
- 
-@@ -849,6 +871,9 @@ RsDoSpiSerialBusDescriptor (
+@@ -854,6 +877,9 @@ RsDoSpiSerialBusDescriptor (
      UINT16                  ResSourceLength;
      UINT16                  VendorLength;
      UINT16                  DescriptorSize;
 +    UINT16                  DeviceSelection = 0;
 +    UINT32                  ConnectionSpeed = 0;
 +    UINT16                  TypeSpecificFlags = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -896,21 +921,21 @@ RsDoSpiSerialBusDescriptor (
+@@ -903,21 +929,21 @@ RsDoSpiSerialBusDescriptor (
          {
          case 0: /* Device Selection [WORD] (_ADR) */
  
@@ -1965,7 +1928,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_MODE,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.TypeSpecificFlags), 0);
              break;
-@@ -931,7 +956,7 @@ RsDoSpiSerialBusDescriptor (
+@@ -938,7 +964,7 @@ RsDoSpiSerialBusDescriptor (
  
          case 5: /* Connection Speed [DWORD] (_SPE) */
  
@@ -1974,7 +1937,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateDwordField (InitializerOp, ACPI_RESTAG_SPEED,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.ConnectionSpeed));
              break;
-@@ -993,6 +1017,10 @@ RsDoSpiSerialBusDescriptor (
+@@ -1000,6 +1026,10 @@ RsDoSpiSerialBusDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -1982,10 +1945,10 @@ index a9d24cd..4d9c7db 100644
 +    ACPI_MOVE_32_TO_32(&Descriptor->SpiSerialBus.ConnectionSpeed, &ConnectionSpeed);
 +    ACPI_MOVE_16_TO_16(&Descriptor->SpiSerialBus.TypeSpecificFlags, &TypeSpecificFlags);
 +
+     MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
      return (Rnode);
  }
- 
-@@ -1024,6 +1052,10 @@ RsDoUartSerialBusDescriptor (
+@@ -1029,6 +1059,10 @@ RsDoUartSerialBusDescriptor (
      UINT16                  ResSourceLength;
      UINT16                  VendorLength;
      UINT16                  DescriptorSize;
@@ -1993,10 +1956,10 @@ index a9d24cd..4d9c7db 100644
 +    UINT16                  TypeSpecificFlags = 0;
 +    UINT16                  RxFifoSize = 0;
 +    UINT16                  TxFifoSize = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
  
- 
-@@ -1071,21 +1103,21 @@ RsDoUartSerialBusDescriptor (
+@@ -1078,21 +1112,21 @@ RsDoUartSerialBusDescriptor (
          {
          case 0: /* Connection Speed (Baud Rate) [DWORD] (_SPE) */
  
@@ -2021,7 +1984,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_STOPBITS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 2, 2);
              break;
-@@ -1099,7 +1131,7 @@ RsDoUartSerialBusDescriptor (
+@@ -1106,7 +1140,7 @@ RsDoUartSerialBusDescriptor (
  
          case 4: /* Endianness [Flag] (_END) */
  
@@ -2030,7 +1993,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateBitField (InitializerOp, ACPI_RESTAG_ENDIANNESS,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 7);
              break;
-@@ -1113,21 +1145,21 @@ RsDoUartSerialBusDescriptor (
+@@ -1120,21 +1154,21 @@ RsDoUartSerialBusDescriptor (
  
          case 6: /* Flow Control [Flags] (_FLC) */
  
@@ -2055,7 +2018,7 @@ index a9d24cd..4d9c7db 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH_TX,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TxFifoSize));
              break;
-@@ -1185,5 +1216,10 @@ RsDoUartSerialBusDescriptor (
+@@ -1192,6 +1226,11 @@ RsDoUartSerialBusDescriptor (
          InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
      }
  
@@ -2064,13 +2027,13 @@ index a9d24cd..4d9c7db 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->UartSerialBus.RxFifoSize, &RxFifoSize);
 +    ACPI_MOVE_16_TO_16(&Descriptor->UartSerialBus.TxFifoSize, &TxFifoSize);
 +
+     MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
      return (Rnode);
  }
-diff --git a/source/compiler/aslrestype2w.c b/source/compiler/aslrestype2w.c
-index 79d7bcc..77acbcc 100644
---- a/source/compiler/aslrestype2w.c
-+++ b/source/compiler/aslrestype2w.c
-@@ -85,6 +85,12 @@ RsDoWordIoDescriptor (
+diff -up acpica-unix2-20140424/source/compiler/aslrestype2w.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2w.c
+--- acpica-unix2-20140424/source/compiler/aslrestype2w.c.debian-big_endian	2014-04-24 11:49:00.000000000 -0400
++++ acpica-unix2-20140424/source/compiler/aslrestype2w.c	2014-06-06 20:43:34.721825238 -0400
+@@ -81,6 +81,12 @@ RsDoWordIoDescriptor (
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
      UINT32                  OptionIndex = 0;
@@ -2080,10 +2043,10 @@ index 79d7bcc..77acbcc 100644
 +    UINT16                  AddressLength = 0;
 +    UINT16                  Granularity = 0;
 +    UINT16                  TranslationOffset = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -104,8 +110,7 @@ RsDoWordIoDescriptor (
+@@ -102,8 +108,7 @@ RsDoWordIoDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS16);
@@ -2093,7 +2056,7 @@ index 79d7bcc..77acbcc 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -149,7 +154,7 @@ RsDoWordIoDescriptor (
+@@ -147,7 +152,7 @@ RsDoWordIoDescriptor (
  
          case 5: /* Address Granularity */
  
@@ -2102,7 +2065,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Granularity));
              GranOp = InitializerOp;
-@@ -157,7 +162,7 @@ RsDoWordIoDescriptor (
+@@ -155,7 +160,7 @@ RsDoWordIoDescriptor (
  
          case 6: /* Address Min */
  
@@ -2111,7 +2074,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Minimum));
              MinOp = InitializerOp;
-@@ -165,7 +170,7 @@ RsDoWordIoDescriptor (
+@@ -163,7 +168,7 @@ RsDoWordIoDescriptor (
  
          case 7: /* Address Max */
  
@@ -2120,7 +2083,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Maximum));
              MaxOp = InitializerOp;
-@@ -173,14 +178,14 @@ RsDoWordIoDescriptor (
+@@ -171,14 +176,14 @@ RsDoWordIoDescriptor (
  
          case 8: /* Translation Offset */
  
@@ -2137,7 +2100,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH,
                   CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.AddressLength));
              LengthOp = InitializerOp;
-@@ -192,7 +197,7 @@ RsDoWordIoDescriptor (
+@@ -190,7 +195,7 @@ RsDoWordIoDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -2146,7 +2109,7 @@ index 79d7bcc..77acbcc 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -204,8 +209,7 @@ RsDoWordIoDescriptor (
+@@ -202,8 +207,7 @@ RsDoWordIoDescriptor (
              {
                  if (StringLength)
                  {
@@ -2156,7 +2119,7 @@ index 79d7bcc..77acbcc 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -265,13 +269,20 @@ RsDoWordIoDescriptor (
+@@ -263,13 +267,20 @@ RsDoWordIoDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -2169,7 +2132,7 @@ index 79d7bcc..77acbcc 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address16.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.Minimum, &Minimum);
@@ -2179,9 +2142,9 @@ index 79d7bcc..77acbcc 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS16) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-@@ -307,6 +318,12 @@ RsDoWordBusNumberDescriptor (
+@@ -302,6 +313,12 @@ RsDoWordBusNumberDescriptor (
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
      UINT32                  OptionIndex = 0;
@@ -2191,10 +2154,10 @@ index 79d7bcc..77acbcc 100644
 +    UINT16                  AddressLength = 0;
 +    UINT16                  Granularity = 0;
 +    UINT16                  TranslationOffset = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -326,8 +343,7 @@ RsDoWordBusNumberDescriptor (
+@@ -323,8 +340,7 @@ RsDoWordBusNumberDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS16);
@@ -2204,7 +2167,7 @@ index 79d7bcc..77acbcc 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -364,8 +380,7 @@ RsDoWordBusNumberDescriptor (
+@@ -361,8 +377,7 @@ RsDoWordBusNumberDescriptor (
  
          case 4: /* Address Granularity */
  
@@ -2214,7 +2177,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Granularity));
              GranOp = InitializerOp;
-@@ -373,8 +388,7 @@ RsDoWordBusNumberDescriptor (
+@@ -370,8 +385,7 @@ RsDoWordBusNumberDescriptor (
  
          case 5: /* Min Address */
  
@@ -2224,7 +2187,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Minimum));
              MinOp = InitializerOp;
-@@ -382,8 +396,7 @@ RsDoWordBusNumberDescriptor (
+@@ -379,8 +393,7 @@ RsDoWordBusNumberDescriptor (
  
          case 6: /* Max Address */
  
@@ -2234,7 +2197,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Maximum));
              MaxOp = InitializerOp;
-@@ -391,16 +404,14 @@ RsDoWordBusNumberDescriptor (
+@@ -388,16 +401,14 @@ RsDoWordBusNumberDescriptor (
  
          case 7: /* Translation Offset */
  
@@ -2253,7 +2216,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH,
                   CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.AddressLength));
              LengthOp = InitializerOp;
-@@ -412,7 +423,7 @@ RsDoWordBusNumberDescriptor (
+@@ -409,7 +420,7 @@ RsDoWordBusNumberDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -2262,7 +2225,7 @@ index 79d7bcc..77acbcc 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -424,8 +435,7 @@ RsDoWordBusNumberDescriptor (
+@@ -421,8 +432,7 @@ RsDoWordBusNumberDescriptor (
              {
                  if (StringLength)
                  {
@@ -2272,7 +2235,7 @@ index 79d7bcc..77acbcc 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -471,13 +481,20 @@ RsDoWordBusNumberDescriptor (
+@@ -468,13 +478,20 @@ RsDoWordBusNumberDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -2285,7 +2248,7 @@ index 79d7bcc..77acbcc 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address16.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.Minimum, &Minimum);
@@ -2295,9 +2258,9 @@ index 79d7bcc..77acbcc 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS16) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-@@ -513,6 +530,12 @@ RsDoWordSpaceDescriptor (
+@@ -507,6 +524,12 @@ RsDoWordSpaceDescriptor (
      UINT8                   *OptionalFields;
      UINT16                  StringLength = 0;
      UINT32                  OptionIndex = 0;
@@ -2307,10 +2270,10 @@ index 79d7bcc..77acbcc 100644
 +    UINT16                  Granularity = 0;
 +    UINT16                  TranslationOffset = 0;
 +    UINT16                  ResourceLength = 0;
+     UINT32                  CurrentByteOffset;
      UINT32                  i;
      BOOLEAN                 ResSourceIndex = FALSE;
- 
-@@ -531,8 +554,7 @@ RsDoWordSpaceDescriptor (
+@@ -527,8 +550,7 @@ RsDoWordSpaceDescriptor (
       * optional fields present
       */
      OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS16);
@@ -2320,7 +2283,7 @@ index 79d7bcc..77acbcc 100644
           sizeof (AML_RESOURCE_LARGE_HEADER));
  
      /* Process all child initialization nodes */
-@@ -581,8 +603,7 @@ RsDoWordSpaceDescriptor (
+@@ -577,8 +599,7 @@ RsDoWordSpaceDescriptor (
  
          case 6: /* Address Granularity */
  
@@ -2330,7 +2293,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_GRANULARITY,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Granularity));
              GranOp = InitializerOp;
-@@ -590,8 +611,7 @@ RsDoWordSpaceDescriptor (
+@@ -586,8 +607,7 @@ RsDoWordSpaceDescriptor (
  
          case 7: /* Min Address */
  
@@ -2340,7 +2303,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Minimum));
              MinOp = InitializerOp;
-@@ -599,8 +619,7 @@ RsDoWordSpaceDescriptor (
+@@ -595,8 +615,7 @@ RsDoWordSpaceDescriptor (
  
          case 8: /* Max Address */
  
@@ -2350,7 +2313,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Maximum));
              MaxOp = InitializerOp;
-@@ -608,16 +627,14 @@ RsDoWordSpaceDescriptor (
+@@ -604,16 +623,14 @@ RsDoWordSpaceDescriptor (
  
          case 9: /* Translation Offset */
  
@@ -2369,7 +2332,7 @@ index 79d7bcc..77acbcc 100644
              RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH,
                  CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.AddressLength));
              LengthOp = InitializerOp;
-@@ -629,7 +646,7 @@ RsDoWordSpaceDescriptor (
+@@ -625,7 +642,7 @@ RsDoWordSpaceDescriptor (
              {
                  OptionalFields[0] = (UINT8) InitializerOp->Asl.Value.Integer;
                  OptionIndex++;
@@ -2378,7 +2341,7 @@ index 79d7bcc..77acbcc 100644
                  ResSourceIndex = TRUE;
              }
              break;
-@@ -641,8 +658,7 @@ RsDoWordSpaceDescriptor (
+@@ -637,8 +654,7 @@ RsDoWordSpaceDescriptor (
              {
                  if (StringLength)
                  {
@@ -2388,7 +2351,7 @@ index 79d7bcc..77acbcc 100644
  
                      strcpy ((char *)
                          &OptionalFields[OptionIndex],
-@@ -688,13 +704,20 @@ RsDoWordSpaceDescriptor (
+@@ -684,13 +700,20 @@ RsDoWordSpaceDescriptor (
      /* Validate the Min/Max/Len/Gran values */
  
      RsLargeAddressCheck (
@@ -2401,7 +2364,7 @@ index 79d7bcc..77acbcc 100644
 +        AddressLength,
 +        Granularity,
          Descriptor->Address16.Flags,
-         MinOp, MaxOp, LengthOp, GranOp, Op);
+         MinOp, MaxOp, LengthOp, GranOp, Info->DescriptorTypeOp);
  
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength);
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.Minimum, &Minimum);
@@ -2411,13 +2374,12 @@ index 79d7bcc..77acbcc 100644
 +    ACPI_MOVE_16_TO_16(&Descriptor->Address16.TranslationOffset, &TranslationOffset);
 +
      Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS16) +
-                             OptionIndex + StringLength;
+         OptionIndex + StringLength;
      return (Rnode);
-diff --git a/source/include/acmacros.h b/source/include/acmacros.h
-index ee9e745..67fb983 100644
---- a/source/include/acmacros.h
-+++ b/source/include/acmacros.h
-@@ -107,7 +107,8 @@
+diff -up acpica-unix2-20140424/source/include/acmacros.h.debian-big_endian acpica-unix2-20140424/source/include/acmacros.h
+--- acpica-unix2-20140424/source/include/acmacros.h.debian-big_endian	2014-04-24 11:49:05.000000000 -0400
++++ acpica-unix2-20140424/source/include/acmacros.h	2014-06-06 20:43:34.721825238 -0400
+@@ -111,7 +111,8 @@
  
  /* 32-bit source, 16/32/64 destination */
  
@@ -2427,7 +2389,7 @@ index ee9e745..67fb983 100644
  
  #define ACPI_MOVE_32_TO_32(d, s)        {((  UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[3];\
                                           ((  UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[2];\
-@@ -122,9 +123,13 @@
+@@ -126,9 +127,13 @@
  
  /* 64-bit source, 16/32/64 destination */
  
@@ -2443,7 +2405,7 @@ index ee9e745..67fb983 100644
  
  #define ACPI_MOVE_64_TO_64(d, s)        {((  UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[7];\
                                           ((  UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[6];\
-@@ -151,7 +156,9 @@
+@@ -155,7 +160,9 @@
  
  /* 32-bit source, 16/32/64 destination */
  
@@ -2454,27 +2416,28 @@ index ee9e745..67fb983 100644
  #define ACPI_MOVE_32_TO_32(d, s)        *(UINT32 *)(void *)(d) = *(UINT32 *)(void *)(s)
  #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 3bc85bc..1bace7f 100644
---- a/source/include/platform/aclinux.h
-+++ b/source/include/platform/aclinux.h
-@@ -81,13 +81,14 @@
+diff -up acpica-unix2-20140424/source/include/platform/aclinux.h.debian-big_endian acpica-unix2-20140424/source/include/platform/aclinux.h
+--- acpica-unix2-20140424/source/include/platform/aclinux.h.debian-big_endian	2014-04-24 11:49:06.000000000 -0400
++++ acpica-unix2-20140424/source/include/platform/aclinux.h	2014-06-06 20:44:28.781825238 -0400
+@@ -167,6 +167,7 @@
  #include <stdlib.h>
  #include <ctype.h>
  #include <unistd.h>
 +#include <endian.h>
  
- /* Host-dependent types and defines for user-space ACPICA */
+ /* Define/disable kernel-specific declarators */
  
+@@ -179,8 +180,7 @@
  #define ACPI_FLUSH_CPU_CACHE()
- #define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) (pthread))
+ #define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread))
  
--#if defined(__ia64__) || defined(__x86_64__) || defined(__aarch64__)
+-#if defined(__ia64__)    || defined(__x86_64__) ||\
+-    defined(__aarch64__) || defined(__PPC64__)
 +#if __SIZEOF_LONG__ == 8
  #define ACPI_MACHINE_WIDTH          64
  #define COMPILER_DEPENDENT_INT64    long
  #define COMPILER_DEPENDENT_UINT64   unsigned long
-@@ -98,6 +99,10 @@
+@@ -191,6 +191,10 @@
  #define ACPI_USE_NATIVE_DIVIDE
  #endif
  
@@ -2485,6 +2448,3 @@ index 3bc85bc..1bace7f 100644
  #ifndef __cdecl
  #define __cdecl
  #endif
--- 
-1.7.12.1
-
diff --git a/SOURCES/debian-unaligned.patch b/SOURCES/debian-unaligned.patch
index 8afa8fe..3580b81 100644
--- a/SOURCES/debian-unaligned.patch
+++ b/SOURCES/debian-unaligned.patch
@@ -19,7 +19,7 @@ diff --git a/source/compiler/asltree.c b/source/compiler/asltree.c
 index ebf87f3..fd859d7 100644
 --- a/source/compiler/asltree.c
 +++ b/source/compiler/asltree.c
-@@ -577,28 +577,31 @@ TrCreateValuedLeafNode (
+@@ -589,28 +589,31 @@ TrCreateValuedLeafNode (
          "\nCreateValuedLeafNode  Ln/Col %u/%u NewNode %p  Op %s  Value %8.8X%8.8X  ",
          Op->Asl.LineNumber, Op->Asl.Column, Op, UtGetOpName(ParseOpcode),
          ACPI_FORMAT_UINT64 (Value));
@@ -56,7 +56,7 @@ index ebf87f3..fd859d7 100644
          break;
  
      case PARSEOP_METHOD:
-@@ -608,11 +610,13 @@ TrCreateValuedLeafNode (
+@@ -620,11 +623,13 @@ TrCreateValuedLeafNode (
  
      case PARSEOP_INTEGER:
 
@@ -74,7 +74,7 @@ diff --git a/source/components/executer/exoparg2.c b/source/components/executer/
 index e55f40c..ed5b1fd 100644
 --- a/source/components/executer/exoparg2.c
 +++ b/source/components/executer/exoparg2.c
-@@ -175,6 +176,8 @@ AcpiExOpcode_2A_2T_1R (
+@@ -174,6 +176,8 @@ AcpiExOpcode_2A_2T_1R (
      ACPI_OPERAND_OBJECT     **Operand = &WalkState->Operands[0];
      ACPI_OPERAND_OBJECT     *ReturnDesc1 = NULL;
      ACPI_OPERAND_OBJECT     *ReturnDesc2 = NULL;
@@ -83,7 +83,7 @@ index e55f40c..ed5b1fd 100644
      ACPI_STATUS             Status;
  
  
-@@ -208,8 +211,10 @@ AcpiExOpcode_2A_2T_1R (
+@@ -207,8 +211,10 @@ AcpiExOpcode_2A_2T_1R (
  
          Status = AcpiUtDivide (Operand[0]->Integer.Value,
                                 Operand[1]->Integer.Value,
@@ -96,7 +96,7 @@ index e55f40c..ed5b1fd 100644
          if (ACPI_FAILURE (Status))
          {
              goto Cleanup;
-@@ -283,6 +285,7 @@ AcpiExOpcode_2A_1T_1R (
+@@ -282,6 +285,7 @@ AcpiExOpcode_2A_1T_1R (
      ACPI_OPERAND_OBJECT     **Operand = &WalkState->Operands[0];
      ACPI_OPERAND_OBJECT     *ReturnDesc = NULL;
      UINT64                  Index;
@@ -104,7 +104,7 @@ index e55f40c..ed5b1fd 100644
      ACPI_STATUS             Status = AE_OK;
      ACPI_SIZE               Length = 0;
  
-@@ -326,7 +333,8 @@ AcpiExOpcode_2A_1T_1R (
+@@ -325,7 +333,8 @@ AcpiExOpcode_2A_1T_1R (
          Status = AcpiUtDivide (Operand[0]->Integer.Value,
                                 Operand[1]->Integer.Value,
                                 NULL,
@@ -118,7 +118,7 @@ diff --git a/source/include/actypes.h b/source/include/actypes.h
 index 07fb7d5..08bdf2f 100644
 --- a/source/include/actypes.h
 +++ b/source/include/actypes.h
-@@ -142,6 +142,19 @@ typedef COMPILER_DEPENDENT_INT64        INT64;
+@@ -143,6 +156,19 @@ typedef COMPILER_DEPENDENT_INT64        INT64;
   */
  #define ACPI_THREAD_ID                  UINT64
  
@@ -138,7 +138,7 @@ index 07fb7d5..08bdf2f 100644
  
  /*******************************************************************************
   *
-@@ -168,19 +181,6 @@ typedef UINT64                          ACPI_PHYSICAL_ADDRESS;
+@@ -169,19 +182,6 @@ typedef UINT64                          ACPI_PHYSICAL_ADDRESS;
  #define ACPI_SIZE_MAX                   ACPI_UINT64_MAX
  #define ACPI_USE_NATIVE_DIVIDE          /* Has native 64-bit integer support */
  
diff --git a/SOURCES/grammar.asl.result b/SOURCES/grammar.asl.result
index 9f07f9f..e7e454c 100644
--- a/SOURCES/grammar.asl.result
+++ b/SOURCES/grammar.asl.result
@@ -1,6 +1,42 @@
+grammar.asl    120:     Device (A1)
+Warning  3141 -                 ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl    135:     Device (A2)
+Warning  3141 -                 ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl    145:     Device (A3)
+Warning  3141 -                 ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl    155:     Device (A4)
+Warning  3141 -                 ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl    171:     Device (IRES)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
 grammar.asl    199:     Name (_NPK, Package ()
 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])
+
+grammar.asl    513:         Name (_STR, Unicode ("test"))
+Remark   2089 -                     ^ Object is not referenced (Name is within method [TCOP])
+
 grammar.asl    522:     NAME (ESC1, "abcdefg\x00hijklmn")
 Warning  3055 -                                ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
 
@@ -10,12 +46,51 @@ 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    715:                             MinFixed,                       
+Remark   2089 -              Object is not referenced ^  (Name is within method [_CRS])
+
+grammar.asl    716:                             MaxFixed,                       
+Remark   2089 -              Object is not referenced ^  (Name is within method [_CRS])
+
+grammar.asl    717:                             SubDecode,                      
+Remark   2089 -               Object is not referenced ^  (Name is within method [_CRS])
+
+grammar.asl    718:                             0x0000,                           
+Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+
+grammar.asl    720:                             0xfff2,                           
+Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+
+grammar.asl    721:                             0x0032,                           
+Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+
+grammar.asl    722:                             0x0002,,,                         
+Remark   2089 -            Object is not referenced ^  (Name is within method [_CRS])
+
 grammar.asl    733:             Method(_SRS)
 Warning  3102 -                          ^ Reserved method has too few arguments (_SRS requires 1)
 
+grammar.asl    738:             Device(EIO)
+Warning  3141 -      Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+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   1302:         Alias (MTX1, MTX2)
+Remark   2089 -   Object is not referenced ^  (Name is within method [OBJ1])
+
+grammar.asl   1324:         CreateField (BUF2, 148, 96, FLD3)
+Remark   2089 -                  Object is not referenced ^  (Name is within method [FLDS])
+
 grammar.asl   1389:         Store (0x1234567887654321, QWD2)
 Warning  3038 -                                    ^ 64-bit integer in 32-bit table, truncating (DSDT version < 2)
 
@@ -25,6 +100,9 @@ Warning  3038 -                                                    ^ 64-bit inte
 grammar.asl   1471:         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   1497:         Acquire (MTX2, 1)
 Warning  3130 -                           ^ Result is not used, possible operator timeout will be missed
 
@@ -34,35 +112,185 @@ Error    6114 -                      ^ Result is not used, operator has no effec
 grammar.asl   1816:     Method (COND)
 Warning  3115 -                   ^ Not all control paths return a value (COND)
 
+grammar.asl   2002:     Device (IFEL)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2159:     Device (NOSV)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2580:     Device (IDXF)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2627:         Device (NSTL)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2655:     Device (RTBF)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2753:     Device (GPE2)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2768:     Device (PRW2)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2816:     Device (PRW1)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   2886:         Device (RTLV)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
 grammar.asl   2990:             Name (_CRS,0)
 Error    6105 -                           ^ Invalid object type for reserved name (_CRS: found Integer, Buffer required)
 
+grammar.asl   3014:         Device (RETP)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3050:     Device (WHLR)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3106:     Device (ANDO)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3380:     Device (BRKP)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3417:     Device (ADSU)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3510:     Device (INDC)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3608:     Device (LOPS)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   3953:     Device (FDSO)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   4117:     Device (MLDV)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   4250:     Device (NBIT)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   4486:     Device (SHFT)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   4682:     Device (XORD)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5019:     Device (CRBF)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5097:     Device (IDX4)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5636:     Device (EVNT)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5864:     Device (SZLV)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5957:         Device (BYTF)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5967:         Device (C005)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   5969:             Device (C013)
+Warning  3141 -        Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
 grammar.asl   6024:             Name (_HID, "*PNP0A06")
 Error    6061 -            Invalid leading asterisk ^  (*PNP0A06)
 
 grammar.asl   6163:         Name (C18C, Package (2)
 Remark   2063 -                                 ^ Initializer list shorter than declared package length
 
+grammar.asl   6187:         Device (C19B)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   6241:     Device (DWDF)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   6282:     Device (DVAX)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   6325:     Device (IDX6)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   6349:         Device (TST_)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   6390:     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..........."})
 Warning  3046 -        Invalid or unknown escape sequence ^ 
 
+grammar.asl   6706:         Device (BITI)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
 grammar.asl   6814:                 And (Local0, 1, Local0) 
 Error    6066 -                              ^ Method local variable is not initialized (Local0)
 
 grammar.asl   6900:             Name (_HID, "*PNP0C0A")     
 Error    6061 -            Invalid leading asterisk ^  (*PNP0C0A)
 
+grammar.asl   6909:         Device (IDX3)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   7054:     Device(IDX7)
+Warning  3141 -                  ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   7733:     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   7755:             CreateDWordField (TMD0, 8, PIO1)
+Remark   2089 -                     Object is not referenced ^  (Name is within method [TEST])
+
+grammar.asl   7756:             CreateDWordField (TMD0, 12, DMA1)
+Remark   2089 -                      Object is not referenced ^  (Name is within method [TEST])
+
+grammar.asl   7757:             CreateDWordField (TMD0, 16, CHNF)
+Remark   2089 -                      Object is not referenced ^  (Name is within method [TEST])
+
+grammar.asl   7931:     Device (WHLB)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   8292:         Device (IDX2)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   8675:     Device (SIZO)
+Warning  3141 -                   ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
+
 grammar.asl   8717:             Name (PKG2, Package (4)
 Remark   2063 -                                     ^ Initializer list shorter than declared package length
 
+grammar.asl   9259:         Device (MBIT)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   9270:         Device (MWRD)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   9278:         Device (MBYT)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   9351:         Device (SMIS)
+Warning  3141 -    Missing dependency ^  (Device object requires a _HID or _ADR in same scope)
+
+grammar.asl   9405:         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 [XXXXXXXXXXX]
-Copyright (c) 2000 - 2013 Intel Corporation
+Copyright (c) 2000 - 2014 Intel Corporation
 
 Ignoring all errors, forcing AML file generation
 
 ASL Input:     grammar.asl - 10281 lines, 228124 bytes, 4818 keywords
 AML Output:    grammar.aml - 43476 bytes, 670 named objects, 4148 executable opcodes
 
-Compilation complete. 6 Errors, 10 Warnings, 3 Remarks, 1105 Optimizations
+Compilation complete. 6 Errors, 64 Warnings, 25 Remarks, 1105 Optimizations
diff --git a/SOURCES/name-miscompare.patch b/SOURCES/name-miscompare.patch
index 0d686db..c7b136f 100644
--- a/SOURCES/name-miscompare.patch
+++ b/SOURCES/name-miscompare.patch
@@ -7,7 +7,7 @@ made in the remainder of the function.
 diff -urN acpica-unix2-20130214/source/compiler/aslanalyze.c acpica-unix2-20130214-names/source/compiler/aslanalyze.c
 --- acpica-unix2-20130214/source/compiler/aslanalyze.c	2013-03-21 17:31:25.803324990 -0600
 +++ acpica-unix2-20130214-names/source/compiler/aslanalyze.c	2013-03-21 17:43:45.357616802 -0600
-@@ -446,7 +446,7 @@
+@@ -445,7 +445,7 @@
  
      /* Need a null-terminated string version of NameSeg */
  
@@ -16,7 +16,7 @@ diff -urN acpica-unix2-20130214/source/compiler/aslanalyze.c acpica-unix2-201302
      Name[ACPI_NAME_SIZE] = 0;
  
      /*
-@@ -473,7 +473,7 @@
+@@ -472,7 +472,7 @@
       * 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
new file mode 100644
index 0000000..d3a8601
--- /dev/null
+++ b/SOURCES/re-enable-big-endian.patch
@@ -0,0 +1,26 @@
+Re-enable use of these tools on big-endian machines.
+
+Al Stone <ahs3@redhat.com>
+
+diff -Naur acpica-unix2-20140424/source/compiler/aslmain.c acpica-unix2-20140424-patch/source/compiler/aslmain.c
+--- acpica-unix2-20140424/source/compiler/aslmain.c	2014-04-24 09:48:59.000000000 -0600
++++ acpica-unix2-20140424-patch/source/compiler/aslmain.c	2014-05-22 12:55:47.634904320 -0600
+@@ -331,18 +331,6 @@
+     int                     ReturnStatus = 0;
+ 
+ 
+-    /*
+-     * Big-endian machines are not currently supported. ACPI tables must
+-     * be little-endian, and support for big-endian machines needs to
+-     * be implemented.
+-     */
+-    if (AcpiIsBigEndianMachine ())
+-    {
+-        fprintf (stderr,
+-            "iASL is not currently supported on big-endian machines.\n");
+-        return (-1);
+-    }
+-
+     AcpiOsInitialize ();
+     ACPI_DEBUG_INITIALIZE (); /* For debug version only */
+ 
diff --git a/SOURCES/run-misc-tests.sh b/SOURCES/run-misc-tests.sh
index d182687..568970a 100644
--- a/SOURCES/run-misc-tests.sh
+++ b/SOURCES/run-misc-tests.sh
@@ -21,12 +21,19 @@ $BINDIR/iasl -h
 m=`uname -m`
 case $m in
     s390x | \
+    *64le | \
     *64) BITS=64
          ;;
     *)   BITS=32
          ;;
 esac
-WHEN=`date +"%b %_d %Y"`
+
+# if a build starts before midnight, but ends after midnight, this
+# test can get confused.  grab the date from the iasl file we just
+# built so they match regardless.
+FDATE=`stat --format="%Y" $BINDIR/iasl | cut -d" " -f1`
+WHEN=`date --date="@$FDATE" +"%b %_d %Y"`
+
 sed -e "s/XXXXXXXXXXX/$WHEN/" \
     -e "s/YYYY/$BITS/" \
     -e "s/VVVVVVVV/$VERSION/" \
diff --git a/SOURCES/type-punned-warning.patch b/SOURCES/type-punned-warning.patch
deleted file mode 100644
index 7f57653..0000000
--- a/SOURCES/type-punned-warning.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-The following type of warning errors...
-
-  ../../../source/tools/acpibin/abcompare.c: In function 'AbCompareAmlFiles':
-  ../../../source/tools/acpibin/abcompare.c:462:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-       if (*((UINT32 *) Header1.Signature) != *((UINT32 *) Header2.Signature))
-
-results from '-fstrict-aliasing', which is turned on by the specifying of
-the '-O2' optimization option. The solution is to turn it off by specifying
-'-fno-strict-aliasing'. At least, this appears to be a better solution
-than leaving it turned on but disabling the warnings by specifying
-'-Wstrict-aliasing=0'.
-
-diff -urN a/generate/unix/Makefile.config b/generate/unix/Makefile.config
---- a/generate/unix/Makefile.config	2013-10-18 09:39:50.897095584 -0500
-+++ b/generate/unix/Makefile.config	2013-10-18 09:46:03.069129999 -0500
-@@ -125,7 +125,7 @@
- #   The _GNU_SOURCE symbol is required for many hosts.
- #
- OPT_CFLAGS ?= \
--    -O2 -D_FORTIFY_SOURCE=2\
-+    -O2 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing\
-     $(CWARNINGFLAGS)
-
- CFLAGS += \
-@@ -146,7 +146,6 @@
-     -Wformat=2\
-     -Wmissing-declarations\
-     -Wmissing-prototypes\
--    -Wstrict-aliasing=0\
-     -Wstrict-prototypes\
-     -Wswitch-default\
-     -Wpointer-arith\
diff --git a/SPECS/acpica-tools.spec b/SPECS/acpica-tools.spec
index eab4931..f1e0bf9 100644
--- a/SPECS/acpica-tools.spec
+++ b/SPECS/acpica-tools.spec
@@ -1,6 +1,6 @@
 Name:           acpica-tools
-Version:        20130823
-Release:        6%{?dist}
+Version:        20140926
+Release:        1%{?dist}
 Summary:        ACPICA tools for the development and debug of ACPI tables
 
 Group:          Development/Languages
@@ -27,8 +27,10 @@ Patch0:         debian-big_endian.patch
 Patch1:         debian-unaligned.patch
 Patch2:         name-miscompare.patch
 Patch3:         aapits-linux.patch
-Patch4:         _FORTIFY_SOURCE-warning.patch
-Patch5:         type-punned-warning.patch
+Patch4:         asllookup-miscompare.patch
+Patch5:         aapits-makefile.patch
+Patch6:         re-enable-big-endian.patch
+Patch7:         aslts-makefile-def.patch
 
 BuildRequires:  bison patchutils flex
 
@@ -83,8 +85,10 @@ gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
 %patch1 -p1 -b .debian-unaligned
 %patch2 -p1 -b .name-miscompare
 %patch3 -p1 -b .aapits-linux
-%patch4 -p1 -b ._FORTIFY_SOURCE-warning
-%patch5 -p1 -b .type-punned-warning
+%patch4 -p1 -b .asllookup-miscompare
+%patch5 -p1 -b .aapits-makefile
+%patch6 -p1 -b .re-enable-big-endian
+%patch7 -p1 -b .aslts-makefile-def
 
 cp -p %{SOURCE2} README
 cp -p %{SOURCE3} iasl.1
@@ -162,12 +166,12 @@ cd ..
 alternatives --install %{_bindir}/acpixtract acpixtract \
                        %{_bindir}/acpixtract-acpica 120 \
                --slave %{_mandir}/man1/acpixtract.1.gz acpixtract.1.gz \
-                       %{_mandir}/man1/acpixtract-acpica.1
+                       %{_mandir}/man1/acpixtract-acpica.1.gz
 
 alternatives --install %{_bindir}/acpidump acpidump \
                        %{_bindir}/acpidump-acpica 120 \
                --slave %{_mandir}/man1/acpidump.1.gz acpidump.1.gz \
-                       %{_mandir}/man1/acpidump-acpica.1
+                       %{_mandir}/man1/acpidump-acpica.1.gz
 
 
 %postun
@@ -189,6 +193,19 @@ fi
 
 
 %changelog
+* Mon Sep 29 2014 Dean Nelson <dnelson@redhat.com> - 20140926-1
+- Update to the latest upstream version of acpica as requested by RHBZ 967963.
+- Refresh existing patches and add new ones to enable a clean build.
+- Fix build failures that start before and finish after midnight.
+
+* Wed Aug 06 2014 Dean Nelson <dnelson@redhat.com> - 20130823-8
+- Fix run-misc-tests.sh script to properly set the number of BITS to 64 when run
+  on a ppc64le system as requested by RHBZ 1125471.
+
+* Wed Aug 06 2014 Dean Nelson <dnelson@redhat.com> - 20130823-7
+- Fix the dangling symlink issue for acpidump(1) and acpixtract(1) man pages
+  that was reported in RHBZ 1074681.
+
 * Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 20130823-6
 - Mass rebuild 2014-01-24