- refresh the big endian patch so it applies correctly, fixes build on big endians

This commit is contained in:
Dan Horák 2014-06-06 23:00:26 +02:00
parent c41b7a412e
commit 54d979f947
2 changed files with 78 additions and 129 deletions

View File

@ -1,6 +1,6 @@
Name: acpica-tools Name: acpica-tools
Version: 20140424 Version: 20140424
Release: 2%{?dist} Release: 3%{?dist}
Summary: ACPICA tools for the development and debug of ACPI tables Summary: ACPICA tools for the development and debug of ACPI tables
Group: Development/Languages Group: Development/Languages
@ -191,6 +191,9 @@ fi
%changelog %changelog
* Fri Jun 6 2014 Dan Horák <dan[at]danny.cz> - 20140424-3
- refresh the big endian patch so it applies correctly, fixes build on big endians
* Thu May 22 2014 Al Stone <ahs3@redhat.com> - 20140424-2 * Thu May 22 2014 Al Stone <ahs3@redhat.com> - 20140424-2
- Add ppc64le as a 64-bit arch in run-misc-tests.sh. Closes BZ#1098614. - Add ppc64le as a 64-bit arch in run-misc-tests.sh. Closes BZ#1098614.
- Re-enable big-endian support in iasl. - Re-enable big-endian support in iasl.

View File

@ -1,38 +1,6 @@
Patch carried over from the prior iasl package and updated. This allows diff -up acpica-unix2-20140424/source/compiler/aslcodegen.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslcodegen.c
for builds on big endian systems and cleans up endianness. Please see --- acpica-unix2-20140424/source/compiler/aslcodegen.c.debian-big_endian 2014-04-24 11:48:59.000000000 -0400
http://lists.acpica.org/pipermail/devel/2010-July/000159.html. Resolves +++ acpica-unix2-20140424/source/compiler/aslcodegen.c 2014-06-06 20:43:34.711825238 -0400
BZ#865013 and BZ#856856.
--
Support compiling DSDT tables on big endian architectures.
use the ACPI_MOVE_<N>_TO_<M> macros to swap the data written to the AML file on
big endian architectures (the macros themselves required a few fixes to work
correctly).
In some areas the use of temporary variables was necessary to be able to perform
sanity checks on the data before actually swapping the bytes.
Signed-off-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
source/compiler/aslcodegen.c | 108 +++++++++++++++++-------------
source/compiler/aslopcodes.c | 4 +-
source/compiler/aslrestype1.c | 69 ++++++++++++++------
source/compiler/aslrestype1i.c | 38 +++++++----
source/compiler/aslrestype2.c | 25 ++++---
source/compiler/aslrestype2d.c | 134 +++++++++++++++++++++-----------------
source/compiler/aslrestype2e.c | 117 +++++++++++++++++++++++----------
source/compiler/aslrestype2q.c | 117 +++++++++++++++++++++------------
source/compiler/aslrestype2s.c | 86 +++++++++++++++++-------
source/compiler/aslrestype2w.c | 127 +++++++++++++++++++++---------------
source/include/acmacros.h | 15 +++--
source/include/platform/aclinux.h | 7 +-
12 file modificati, 541 inserzioni(+), 306 rimozioni(-)
diff --git a/source/compiler/aslcodegen.c b/source/compiler/aslcodegen.c
index 2252ab4..c3c3e06 100644
--- a/source/compiler/aslcodegen.c
+++ b/source/compiler/aslcodegen.c
@@ -238,16 +238,12 @@ CgWriteAmlOpcode ( @@ -238,16 +238,12 @@ CgWriteAmlOpcode (
ACPI_PARSE_OBJECT *Op) ACPI_PARSE_OBJECT *Op)
{ {
@ -56,7 +24,7 @@ index 2252ab4..c3c3e06 100644
/* We expect some DEFAULT_ARGs, just ignore them */ /* We expect some DEFAULT_ARGs, just ignore them */
@@ -270,51 +266,52 @@ @@ -270,51 +266,52 @@ CgWriteAmlOpcode (
/* Special opcodes for within a field definition */ /* Special opcodes for within a field definition */
@ -120,7 +88,7 @@ index 2252ab4..c3c3e06 100644
break; break;
} }
@@ -325,8 +321,8 @@ CgWriteAmlOpcode ( @@ -325,8 +322,8 @@ CgWriteAmlOpcode (
if (Op->Asl.AmlPkgLenBytes == 1) if (Op->Asl.AmlPkgLenBytes == 1)
{ {
/* Simplest case -- no bytes to follow, just write the count */ /* Simplest case -- no bytes to follow, just write the count */
@ -131,7 +99,7 @@ index 2252ab4..c3c3e06 100644
} }
else if (Op->Asl.AmlPkgLenBytes != 0) else if (Op->Asl.AmlPkgLenBytes != 0)
{ {
@@ -336,7 +332,7 @@ CgWriteAmlOpcode ( @@ -336,7 +333,7 @@ CgWriteAmlOpcode (
*/ */
PkgLenFirstByte = (UINT8) PkgLenFirstByte = (UINT8)
(((UINT32) (Op->Asl.AmlPkgLenBytes - 1) << 6) | (((UINT32) (Op->Asl.AmlPkgLenBytes - 1) << 6) |
@ -140,7 +108,7 @@ index 2252ab4..c3c3e06 100644
CgLocalWriteAmlData (Op, &PkgLenFirstByte, 1); CgLocalWriteAmlData (Op, &PkgLenFirstByte, 1);
@@ -344,37 +340,44 @@ CgWriteAmlOpcode ( @@ -344,37 +341,44 @@ CgWriteAmlOpcode (
* Shift the length over by the 4 bits we just stuffed * Shift the length over by the 4 bits we just stuffed
* in the first byte * in the first byte
*/ */
@ -198,7 +166,7 @@ index 2252ab4..c3c3e06 100644
break; break;
case AML_STRING_OP: case AML_STRING_OP:
@@ -408,6 +409,7 @@ CgWriteTableHeader ( @@ -408,6 +412,7 @@ CgWriteTableHeader (
ACPI_PARSE_OBJECT *Op) ACPI_PARSE_OBJECT *Op)
{ {
ACPI_PARSE_OBJECT *Child; ACPI_PARSE_OBJECT *Child;
@ -206,7 +174,7 @@ index 2252ab4..c3c3e06 100644
/* AML filename */ /* AML filename */
@@ -444,7 +446,7 @@ CgWriteTableHeader ( @@ -444,7 +449,7 @@ CgWriteTableHeader (
/* OEM Revision */ /* OEM Revision */
Child = Child->Asl.Next; Child = Child->Asl.Next;
@ -215,7 +183,7 @@ index 2252ab4..c3c3e06 100644
/* Compiler ID */ /* Compiler ID */
@@ -452,11 +453,12 @@ CgWriteTableHeader ( @@ -452,11 +457,12 @@ CgWriteTableHeader (
/* Compiler version */ /* Compiler version */
@ -230,7 +198,7 @@ index 2252ab4..c3c3e06 100644
TableHeader.Checksum = 0; TableHeader.Checksum = 0;
CgLocalWriteAmlData (Op, &TableHeader, sizeof (ACPI_TABLE_HEADER)); CgLocalWriteAmlData (Op, &TableHeader, sizeof (ACPI_TABLE_HEADER));
@@ -520,7 +523,10 @@ CgWriteNode ( @@ -520,7 +526,10 @@ CgWriteNode (
ACPI_PARSE_OBJECT *Op) ACPI_PARSE_OBJECT *Op)
{ {
ASL_RESOURCE_NODE *Rnode; ASL_RESOURCE_NODE *Rnode;
@ -242,7 +210,7 @@ index 2252ab4..c3c3e06 100644
/* Always check for DEFAULT_ARG and other "Noop" nodes */ /* Always check for DEFAULT_ARG and other "Noop" nodes */
/* TBD: this may not be the best place for this check */ /* TBD: this may not be the best place for this check */
@@ -538,13 +544,24 @@ CgWriteNode ( @@ -538,13 +547,24 @@ CgWriteNode (
switch (Op->Asl.AmlOpcode) switch (Op->Asl.AmlOpcode)
{ {
case AML_RAW_DATA_BYTE: case AML_RAW_DATA_BYTE:
@ -270,11 +238,10 @@ index 2252ab4..c3c3e06 100644
case AML_RAW_DATA_BUFFER: case AML_RAW_DATA_BUFFER:
diff --git a/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c diff -up acpica-unix2-20140424/source/compiler/aslopcodes.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslopcodes.c
index cddc945..6deddc9 100644 --- acpica-unix2-20140424/source/compiler/aslopcodes.c.debian-big_endian 2014-04-24 11:48:59.000000000 -0400
--- a/source/compiler/aslopcodes.c +++ acpica-unix2-20140424/source/compiler/aslopcodes.c 2014-06-06 20:43:34.711825238 -0400
+++ b/source/compiler/aslopcodes.c @@ -476,6 +476,7 @@ OpcDoUnicode (
@@ -476,6 +475,7 @@ OpcDoUnicode (
UINT32 i; UINT32 i;
UINT8 *AsciiString; UINT8 *AsciiString;
UINT16 *UnicodeString; UINT16 *UnicodeString;
@ -282,7 +249,7 @@ index cddc945..6deddc9 100644
ACPI_PARSE_OBJECT *BufferLengthOp; ACPI_PARSE_OBJECT *BufferLengthOp;
@@ -502,7 +502,8 @@ OpcDoUnicode ( @@ -502,7 +503,8 @@ OpcDoUnicode (
for (i = 0; i < Count; i++) for (i = 0; i < Count; i++)
{ {
@ -292,10 +259,9 @@ index cddc945..6deddc9 100644
} }
/* /*
diff --git a/source/compiler/aslrestype1.c b/source/compiler/aslrestype1.c diff -up acpica-unix2-20140424/source/compiler/aslrestype1.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype1.c
index 5b92151..b1fa5f5 100644 --- acpica-unix2-20140424/source/compiler/aslrestype1.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype1.c +++ acpica-unix2-20140424/source/compiler/aslrestype1.c 2014-06-06 20:43:34.711825238 -0400
+++ b/source/compiler/aslrestype1.c
@@ -152,6 +152,11 @@ RsDoMemory24Descriptor ( @@ -152,6 +152,11 @@ RsDoMemory24Descriptor (
ACPI_PARSE_OBJECT *MaxOp = NULL; ACPI_PARSE_OBJECT *MaxOp = NULL;
ACPI_PARSE_OBJECT *LengthOp = NULL; ACPI_PARSE_OBJECT *LengthOp = NULL;
@ -492,10 +458,9 @@ index 5b92151..b1fa5f5 100644
RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH, RsCreateDwordField (InitializerOp, ACPI_RESTAG_LENGTH,
CurrentByteOffset + ASL_RESDESC_OFFSET (FixedMemory32.AddressLength)); CurrentByteOffset + ASL_RESDESC_OFFSET (FixedMemory32.AddressLength));
break; break;
diff --git a/source/compiler/aslrestype1i.c b/source/compiler/aslrestype1i.c diff -up acpica-unix2-20140424/source/compiler/aslrestype1i.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype1i.c
index 8335e8f..097eb05 100644 --- acpica-unix2-20140424/source/compiler/aslrestype1i.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype1i.c +++ acpica-unix2-20140424/source/compiler/aslrestype1i.c 2014-06-06 20:43:34.711825238 -0400
+++ b/source/compiler/aslrestype1i.c
@@ -202,6 +202,8 @@ RsDoFixedDmaDescriptor ( @@ -202,6 +202,8 @@ RsDoFixedDmaDescriptor (
AML_RESOURCE *Descriptor; AML_RESOURCE *Descriptor;
ACPI_PARSE_OBJECT *InitializerOp; ACPI_PARSE_OBJECT *InitializerOp;
@ -522,7 +487,7 @@ index 8335e8f..097eb05 100644
RsCreateWordField (InitializerOp, ACPI_RESTAG_DMATYPE, RsCreateWordField (InitializerOp, ACPI_RESTAG_DMATYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (FixedDma.Channels)); CurrentByteOffset + ASL_RESDESC_OFFSET (FixedDma.Channels));
break; break;
@@ -252,6 +253,9 @@ RsDoFixedDmaDescriptor ( @@ -252,6 +254,9 @@ RsDoFixedDmaDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
} }
@ -532,7 +497,7 @@ index 8335e8f..097eb05 100644
return (Rnode); return (Rnode);
} }
@@ -279,6 +283,7 @@ RsDoFixedIoDescriptor ( @@ -279,6 +284,7 @@ RsDoFixedIoDescriptor (
ACPI_PARSE_OBJECT *InitializerOp; ACPI_PARSE_OBJECT *InitializerOp;
ACPI_PARSE_OBJECT *AddressOp = NULL; ACPI_PARSE_OBJECT *AddressOp = NULL;
ASL_RESOURCE_NODE *Rnode; ASL_RESOURCE_NODE *Rnode;
@ -540,7 +505,7 @@ index 8335e8f..097eb05 100644
UINT32 i; UINT32 i;
@@ -297,8 +302,7 @@ RsDoFixedIoDescriptor ( @@ -297,8 +303,7 @@ RsDoFixedIoDescriptor (
{ {
case 0: /* Base Address */ case 0: /* Base Address */
@ -550,7 +515,7 @@ index 8335e8f..097eb05 100644
RsCreateWordField (InitializerOp, ACPI_RESTAG_BASEADDRESS, RsCreateWordField (InitializerOp, ACPI_RESTAG_BASEADDRESS,
CurrentByteOffset + ASL_RESDESC_OFFSET (FixedIo.Address)); CurrentByteOffset + ASL_RESDESC_OFFSET (FixedIo.Address));
AddressOp = InitializerOp; AddressOp = InitializerOp;
@@ -328,11 +332,13 @@ RsDoFixedIoDescriptor ( @@ -328,11 +333,13 @@ RsDoFixedIoDescriptor (
/* Error checks */ /* Error checks */
@ -565,7 +530,7 @@ index 8335e8f..097eb05 100644
return (Rnode); return (Rnode);
} }
@@ -363,6 +369,8 @@ RsDoIoDescriptor ( @@ -363,6 +370,8 @@ RsDoIoDescriptor (
ACPI_PARSE_OBJECT *LengthOp = NULL; ACPI_PARSE_OBJECT *LengthOp = NULL;
ACPI_PARSE_OBJECT *AlignOp = NULL; ACPI_PARSE_OBJECT *AlignOp = NULL;
ASL_RESOURCE_NODE *Rnode; ASL_RESOURCE_NODE *Rnode;
@ -574,7 +539,7 @@ index 8335e8f..097eb05 100644
UINT32 i; UINT32 i;
@@ -388,8 +396,7 @@ RsDoIoDescriptor ( @@ -388,8 +397,7 @@ RsDoIoDescriptor (
case 1: /* Min Address */ case 1: /* Min Address */
@ -584,7 +549,7 @@ index 8335e8f..097eb05 100644
RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR, RsCreateWordField (InitializerOp, ACPI_RESTAG_MINADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Minimum)); CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Minimum));
MinOp = InitializerOp; MinOp = InitializerOp;
@@ -397,8 +404,7 @@ RsDoIoDescriptor ( @@ -397,8 +405,7 @@ RsDoIoDescriptor (
case 2: /* Max Address */ case 2: /* Max Address */
@ -594,7 +559,7 @@ index 8335e8f..097eb05 100644
RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR, RsCreateWordField (InitializerOp, ACPI_RESTAG_MAXADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Maximum)); CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Maximum));
MaxOp = InitializerOp; MaxOp = InitializerOp;
@@ -439,12 +445,15 @@ RsDoIoDescriptor ( @@ -439,12 +446,15 @@ RsDoIoDescriptor (
/* Validate the Min/Max/Len/Align values */ /* Validate the Min/Max/Len/Align values */
RsSmallAddressCheck (ACPI_RESOURCE_NAME_IO, RsSmallAddressCheck (ACPI_RESOURCE_NAME_IO,
@ -612,7 +577,7 @@ index 8335e8f..097eb05 100644
return (Rnode); return (Rnode);
} }
@@ -565,9 +574,9 @@ RsDoIrqDescriptor ( @@ -565,9 +575,9 @@ RsDoIrqDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
} }
@ -624,7 +589,7 @@ index 8335e8f..097eb05 100644
return (Rnode); return (Rnode);
} }
@@ -667,6 +676,6 @@ RsDoIrqNoFlagsDescriptor ( @@ -667,6 +677,6 @@ RsDoIrqNoFlagsDescriptor (
/* Now we can set the interrupt mask */ /* Now we can set the interrupt mask */
@ -632,10 +597,9 @@ index 8335e8f..097eb05 100644
+ ACPI_MOVE_16_TO_16(&Descriptor->Irq.IrqMask, &IrqMask); + ACPI_MOVE_16_TO_16(&Descriptor->Irq.IrqMask, &IrqMask);
return (Rnode); return (Rnode);
} }
diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c diff -up acpica-unix2-20140424/source/compiler/aslrestype2.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2.c
index f0de854..b6d8d1d 100644 --- acpica-unix2-20140424/source/compiler/aslrestype2.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype2.c +++ acpica-unix2-20140424/source/compiler/aslrestype2.c 2014-06-06 20:43:34.711825238 -0400
+++ b/source/compiler/aslrestype2.c
@@ -79,6 +79,7 @@ RsDoGeneralRegisterDescriptor ( @@ -79,6 +79,7 @@ RsDoGeneralRegisterDescriptor (
AML_RESOURCE *Descriptor; AML_RESOURCE *Descriptor;
ACPI_PARSE_OBJECT *InitializerOp; ACPI_PARSE_OBJECT *InitializerOp;
@ -696,7 +660,7 @@ index f0de854..b6d8d1d 100644
/* Case 7: First interrupt number in list */ /* Case 7: First interrupt number in list */
@@ -369,7 +376,7 @@ RsDoInterruptDescriptor ( @@ -369,7 +375,7 @@ RsDoInterruptDescriptor (
{ {
Rover->ByteItem = ResSourceIndex; Rover->ByteItem = ResSourceIndex;
Rover = ACPI_ADD_PTR (AML_RESOURCE, &(Rover->ByteItem), 1); Rover = ACPI_ADD_PTR (AML_RESOURCE, &(Rover->ByteItem), 1);
@ -731,10 +695,9 @@ index f0de854..b6d8d1d 100644
/* Point to end-of-descriptor for vendor data */ /* Point to end-of-descriptor for vendor data */
diff --git a/source/compiler/aslrestype2d.c b/source/compiler/aslrestype2d.c diff -up acpica-unix2-20140424/source/compiler/aslrestype2d.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2d.c
index 1ca0f2d..5bebd30 100644 --- acpica-unix2-20140424/source/compiler/aslrestype2d.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype2d.c +++ acpica-unix2-20140424/source/compiler/aslrestype2d.c 2014-06-06 20:43:34.721825238 -0400
+++ b/source/compiler/aslrestype2d.c
@@ -83,7 +83,13 @@ RsDoDwordIoDescriptor ( @@ -83,7 +83,13 @@ RsDoDwordIoDescriptor (
ACPI_PARSE_OBJECT *GranOp = NULL; ACPI_PARSE_OBJECT *GranOp = NULL;
ASL_RESOURCE_NODE *Rnode; ASL_RESOURCE_NODE *Rnode;
@ -1017,7 +980,7 @@ index 1ca0f2d..5bebd30 100644
RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR, RsCreateDwordField (InitializerOp, ACPI_RESTAG_MINADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum)); CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum));
MinOp = InitializerOp; MinOp = InitializerOp;
@@ -638,8 +651,7 @@ RsDoDwordSpaceDescriptor ( @@ -638,8 +653,7 @@ RsDoDwordSpaceDescriptor (
case 8: /* Max Address */ case 8: /* Max Address */
@ -1090,10 +1053,9 @@ index 1ca0f2d..5bebd30 100644
Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS32) + Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS32) +
OptionIndex + StringLength; OptionIndex + StringLength;
return (Rnode); return (Rnode);
diff --git a/source/compiler/aslrestype2e.c b/source/compiler/aslrestype2e.c diff -up acpica-unix2-20140424/source/compiler/aslrestype2e.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2e.c
index e5fff47..d701880 100644 --- acpica-unix2-20140424/source/compiler/aslrestype2e.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype2e.c +++ acpica-unix2-20140424/source/compiler/aslrestype2e.c 2014-06-06 20:43:34.721825238 -0400
+++ b/source/compiler/aslrestype2e.c
@@ -82,6 +82,13 @@ RsDoExtendedIoDescriptor ( @@ -82,6 +82,13 @@ RsDoExtendedIoDescriptor (
ACPI_PARSE_OBJECT *GranOp = NULL; ACPI_PARSE_OBJECT *GranOp = NULL;
ASL_RESOURCE_NODE *Rnode; ASL_RESOURCE_NODE *Rnode;
@ -1409,10 +1371,9 @@ index e5fff47..d701880 100644
Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) + StringLength; Rnode->BufferLength = sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) + StringLength;
return (Rnode); return (Rnode);
} }
diff --git a/source/compiler/aslrestype2q.c b/source/compiler/aslrestype2q.c diff -up acpica-unix2-20140424/source/compiler/aslrestype2q.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2q.c
index 65c242a..c92d545 100644 --- acpica-unix2-20140424/source/compiler/aslrestype2q.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype2q.c +++ acpica-unix2-20140424/source/compiler/aslrestype2q.c 2014-06-06 20:43:34.721825238 -0400
+++ b/source/compiler/aslrestype2q.c
@@ -84,7 +84,13 @@ RsDoQwordIoDescriptor ( @@ -84,7 +84,13 @@ RsDoQwordIoDescriptor (
ASL_RESOURCE_NODE *Rnode; ASL_RESOURCE_NODE *Rnode;
UINT8 *OptionalFields; UINT8 *OptionalFields;
@ -1750,10 +1711,9 @@ index 65c242a..c92d545 100644
Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS64) + Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS64) +
OptionIndex + StringLength; OptionIndex + StringLength;
return (Rnode); return (Rnode);
diff --git a/source/compiler/aslrestype2s.c b/source/compiler/aslrestype2s.c diff -up acpica-unix2-20140424/source/compiler/aslrestype2s.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2s.c
index a9d24cd..4d9c7db 100644 --- acpica-unix2-20140424/source/compiler/aslrestype2s.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype2s.c +++ acpica-unix2-20140424/source/compiler/aslrestype2s.c 2014-06-06 20:43:34.721825238 -0400
+++ b/source/compiler/aslrestype2s.c
@@ -293,6 +293,9 @@ RsDoGpioIntDescriptor ( @@ -293,6 +293,9 @@ RsDoGpioIntDescriptor (
UINT16 VendorLength; UINT16 VendorLength;
UINT16 InterruptLength; UINT16 InterruptLength;
@ -1872,7 +1832,7 @@ index a9d24cd..4d9c7db 100644
break; break;
case 8: /* Resource Tag (Descriptor Name) */ case 8: /* Resource Tag (Descriptor Name) */
@@ -671,6 +683,11 @@ RsDoGpioIoDescriptor ( @@ -671,6 +682,11 @@ RsDoGpioIoDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
} }
@ -1884,7 +1844,7 @@ index a9d24cd..4d9c7db 100644
return (Rnode); return (Rnode);
} }
@@ -702,6 +719,9 @@ RsDoI2cSerialBusDescriptor ( @@ -702,6 +718,9 @@ RsDoI2cSerialBusDescriptor (
UINT16 ResSourceLength; UINT16 ResSourceLength;
UINT16 VendorLength; UINT16 VendorLength;
UINT16 DescriptorSize; UINT16 DescriptorSize;
@ -1894,7 +1854,7 @@ index a9d24cd..4d9c7db 100644
UINT32 i; UINT32 i;
@@ -749,7 +769,7 @@ RsDoI2cSerialBusDescriptor ( @@ -749,7 +768,7 @@ RsDoI2cSerialBusDescriptor (
{ {
case 0: /* Slave Address [WORD] (_ADR) */ case 0: /* Slave Address [WORD] (_ADR) */
@ -1903,7 +1863,7 @@ index a9d24cd..4d9c7db 100644
RsCreateWordField (InitializerOp, ACPI_RESTAG_ADDRESS, RsCreateWordField (InitializerOp, ACPI_RESTAG_ADDRESS,
CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.SlaveAddress)); CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.SlaveAddress));
break; break;
@@ -763,14 +783,14 @@ RsDoI2cSerialBusDescriptor ( @@ -763,14 +782,14 @@ RsDoI2cSerialBusDescriptor (
case 2: /* Connection Speed [DWORD] (_SPE) */ case 2: /* Connection Speed [DWORD] (_SPE) */
@ -1974,7 +1934,7 @@ index a9d24cd..4d9c7db 100644
RsCreateDwordField (InitializerOp, ACPI_RESTAG_SPEED, RsCreateDwordField (InitializerOp, ACPI_RESTAG_SPEED,
CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.ConnectionSpeed)); CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.ConnectionSpeed));
break; break;
@@ -993,6 +1017,10 @@ RsDoSpiSerialBusDescriptor ( @@ -993,6 +1018,10 @@ RsDoSpiSerialBusDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
} }
@ -1985,7 +1945,7 @@ index a9d24cd..4d9c7db 100644
return (Rnode); return (Rnode);
} }
@@ -1024,6 +1052,10 @@ RsDoUartSerialBusDescriptor ( @@ -1024,6 +1053,10 @@ RsDoUartSerialBusDescriptor (
UINT16 ResSourceLength; UINT16 ResSourceLength;
UINT16 VendorLength; UINT16 VendorLength;
UINT16 DescriptorSize; UINT16 DescriptorSize;
@ -1996,7 +1956,7 @@ index a9d24cd..4d9c7db 100644
UINT32 i; UINT32 i;
@@ -1071,21 +1103,21 @@ RsDoUartSerialBusDescriptor ( @@ -1071,21 +1104,21 @@ RsDoUartSerialBusDescriptor (
{ {
case 0: /* Connection Speed (Baud Rate) [DWORD] (_SPE) */ case 0: /* Connection Speed (Baud Rate) [DWORD] (_SPE) */
@ -2021,7 +1981,7 @@ index a9d24cd..4d9c7db 100644
RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_STOPBITS, RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_STOPBITS,
CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 2, 2); CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 2, 2);
break; break;
@@ -1099,7 +1131,7 @@ RsDoUartSerialBusDescriptor ( @@ -1099,7 +1132,7 @@ RsDoUartSerialBusDescriptor (
case 4: /* Endianness [Flag] (_END) */ case 4: /* Endianness [Flag] (_END) */
@ -2030,7 +1990,7 @@ index a9d24cd..4d9c7db 100644
RsCreateBitField (InitializerOp, ACPI_RESTAG_ENDIANNESS, RsCreateBitField (InitializerOp, ACPI_RESTAG_ENDIANNESS,
CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 7); CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TypeSpecificFlags), 7);
break; break;
@@ -1113,21 +1145,21 @@ RsDoUartSerialBusDescriptor ( @@ -1113,21 +1146,21 @@ RsDoUartSerialBusDescriptor (
case 6: /* Flow Control [Flags] (_FLC) */ case 6: /* Flow Control [Flags] (_FLC) */
@ -2055,7 +2015,7 @@ index a9d24cd..4d9c7db 100644
RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH_TX, RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH_TX,
CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TxFifoSize)); CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TxFifoSize));
break; break;
@@ -1185,5 +1216,10 @@ RsDoUartSerialBusDescriptor ( @@ -1185,5 +1218,10 @@ RsDoUartSerialBusDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
} }
@ -2066,10 +2026,9 @@ index a9d24cd..4d9c7db 100644
+ +
return (Rnode); return (Rnode);
} }
diff --git a/source/compiler/aslrestype2w.c b/source/compiler/aslrestype2w.c diff -up acpica-unix2-20140424/source/compiler/aslrestype2w.c.debian-big_endian acpica-unix2-20140424/source/compiler/aslrestype2w.c
index 79d7bcc..77acbcc 100644 --- acpica-unix2-20140424/source/compiler/aslrestype2w.c.debian-big_endian 2014-04-24 11:49:00.000000000 -0400
--- a/source/compiler/aslrestype2w.c +++ acpica-unix2-20140424/source/compiler/aslrestype2w.c 2014-06-06 20:43:34.721825238 -0400
+++ b/source/compiler/aslrestype2w.c
@@ -85,6 +85,12 @@ RsDoWordIoDescriptor ( @@ -85,6 +85,12 @@ RsDoWordIoDescriptor (
UINT8 *OptionalFields; UINT8 *OptionalFields;
UINT16 StringLength = 0; UINT16 StringLength = 0;
@ -2413,10 +2372,9 @@ index 79d7bcc..77acbcc 100644
Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS16) + Rnode->BufferLength = sizeof (AML_RESOURCE_ADDRESS16) +
OptionIndex + StringLength; OptionIndex + StringLength;
return (Rnode); return (Rnode);
diff --git a/source/include/acmacros.h b/source/include/acmacros.h diff -up acpica-unix2-20140424/source/include/acmacros.h.debian-big_endian acpica-unix2-20140424/source/include/acmacros.h
index ee9e745..67fb983 100644 --- acpica-unix2-20140424/source/include/acmacros.h.debian-big_endian 2014-04-24 11:49:05.000000000 -0400
--- a/source/include/acmacros.h +++ acpica-unix2-20140424/source/include/acmacros.h 2014-06-06 20:43:34.721825238 -0400
+++ b/source/include/acmacros.h
@@ -111,7 +111,8 @@ @@ -111,7 +111,8 @@
/* 32-bit source, 16/32/64 destination */ /* 32-bit source, 16/32/64 destination */
@ -2454,11 +2412,10 @@ index ee9e745..67fb983 100644
#define ACPI_MOVE_32_TO_32(d, s) *(UINT32 *)(void *)(d) = *(UINT32 *)(void *)(s) #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) #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 diff -up acpica-unix2-20140424/source/include/platform/aclinux.h.debian-big_endian acpica-unix2-20140424/source/include/platform/aclinux.h
index 3bc85bc..1bace7f 100644 --- acpica-unix2-20140424/source/include/platform/aclinux.h.debian-big_endian 2014-04-24 11:49:06.000000000 -0400
--- a/source/include/platform/aclinux.h +++ acpica-unix2-20140424/source/include/platform/aclinux.h 2014-06-06 20:44:28.781825238 -0400
+++ b/source/include/platform/aclinux.h @@ -116,6 +116,7 @@
@@ -83,13 +83,14 @@
#include <stdlib.h> #include <stdlib.h>
#include <ctype.h> #include <ctype.h>
#include <unistd.h> #include <unistd.h>
@ -2466,25 +2423,17 @@ index 3bc85bc..1bace7f 100644
/* Define/disable kernel-specific declarators */ /* Define/disable kernel-specific declarators */
#ifndef __init @@ -132,8 +133,7 @@
#define __init
#endif
#ifndef __iomem
#define __iomem
#endif
/* Host-dependent types and defines for user-space ACPICA */
#define ACPI_FLUSH_CPU_CACHE() #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 +#if __SIZEOF_LONG__ == 8
#define ACPI_MACHINE_WIDTH 64 #define ACPI_MACHINE_WIDTH 64
#define COMPILER_DEPENDENT_INT64 long #define COMPILER_DEPENDENT_INT64 long
#define COMPILER_DEPENDENT_UINT64 unsigned long #define COMPILER_DEPENDENT_UINT64 unsigned long
@@ -100,6 +99,10 @@ @@ -144,6 +144,10 @@
#define ACPI_USE_NATIVE_DIVIDE #define ACPI_USE_NATIVE_DIVIDE
#endif #endif
@ -2495,6 +2444,3 @@ index 3bc85bc..1bace7f 100644
#ifndef __cdecl #ifndef __cdecl
#define __cdecl #define __cdecl
#endif #endif
--
1.7.12.1