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/-/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__TO_ 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 -Signed-off-by: Paolo Bonzini ---- - 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 #include #include +#include - /* 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 + +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 - 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 - 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 - 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 - 20130823-6 - Mass rebuild 2014-01-24