--- acpica-unix-20081204.orig/include/actypes.h +++ acpica-unix-20081204/include/actypes.h @@ -276,6 +276,7 @@ #error unknown ACPI_MACHINE_WIDTH #endif +#define ACPI_NO_INTEGER64_SUPPORT /******************************************************************************* * --- acpica-unix-20081204.orig/include/platform/aclinux.h +++ acpica-unix-20081204/include/platform/aclinux.h @@ -149,8 +149,9 @@ #include #include #include +#include -#if defined(__ia64__) || defined(__x86_64__) +#if defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) #define ACPI_MACHINE_WIDTH 64 #define COMPILER_DEPENDENT_INT64 long #define COMPILER_DEPENDENT_UINT64 unsigned long @@ -161,6 +162,10 @@ #define ACPI_USE_NATIVE_DIVIDE #endif +#if __BYTE_ORDER == __BIG_ENDIAN +#define ACPI_BIG_ENDIAN +#endif + #ifndef __cdecl #define __cdecl #endif --- acpica-unix-20081204.orig/tools/acpiexec/Makefile +++ acpica-unix-20081204/tools/acpiexec/Makefile @@ -131,8 +131,12 @@ ../../osunixxf.c -CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include +MK_CFLAGS = -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED \ + -I../../include +CFLAGS = -Wall -Wstrict-prototypes -O2 -g +%.o: %.c + $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< acpiexec : $(patsubst %.c,%.o, $(SRCS)) $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -lrt -lpthread -o $(PROG) --- acpica-unix-20081204.orig/tools/acpisrc/Makefile +++ acpica-unix-20081204/tools/acpisrc/Makefile @@ -4,8 +4,11 @@ SRCS= ascase.c asconvrt.c asfile.c asmain.c asremove.c astable.c \ asutils.c osunixdir.c ../../common/getopt.c -CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include +MK_CFLAGS= -DACPI_APPLICATION -I../../include +CFLAGS= -Wall -Wstrict-prototypes -O2 +%.o: %.c + $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< aslmain : $(patsubst %.c,%.o, $(SRCS)) $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) --- acpica-unix-20081204.orig/tools/acpixtract/Makefile +++ acpica-unix-20081204/tools/acpixtract/Makefile @@ -3,8 +3,11 @@ PROG= acpixtract SRCS= acpixtract.c -CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include +MK_CFLAGS= -DACPI_APPLICATION -I../../include +CFLAGS= -Wall -Wstrict-prototypes -O2 +%.o: %.c + $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< acpixtract : $(patsubst %.c,%.o, $(SRCS)) $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) --- acpica-unix-20081204.orig/debian/changelog +++ acpica-unix-20081204/debian/changelog @@ -0,0 +1,119 @@ +acpica-unix (20081204-0ubuntu1) jaunty; urgency=low + + * New upstream version. + * Update the test file with the new compiler version. + * debian/patches/{iasl_segfault,big_endian,fix_ftbfs_debian-kfreebsd}.patch: + Update. + * Build with -fno-strict-aliasing. + * Update URL in debian/copyright. + + -- Matthias Klose Sat, 10 Jan 2009 15:33:22 +0100 + +acpica-unix (20061109-0.1) unstable; urgency=low + + * Non-maintainer upload with permission of the maintainer. + * New upstream version. (Closes: #407708) + * Update the test file with the new compiler version. + * Add support for big endian machines. (Closes: #406558) + * Add support for architectures that do not support unaligned access. + (Closes: #406034) + + -- Aurelien Jarno Tue, 15 May 2007 03:56:24 +0200 + +acpica-unix (20060912-3.2) unstable; urgency=high + + * Non-maintainer upload with permission of the maintainer. + * Re-Upload to unstable without further code changes. + These changes make sure that the build succeds only on architectures + where the binaries actually work for - FTBFS resulting from that are + no regressions, but prevent us shiping broken packages. + + -- Andreas Barth Wed, 20 Dec 2006 07:53:24 +0000 + +acpica-unix (20060912-3.1) experimental; urgency=high + + * Non-maintainer upload. + * Add testcase to check whether it the build works at the end. This prevents + segfaults and other issues in the delivered binaries. Closes: #401153 + + -- Andreas Barth Thu, 14 Dec 2006 16:04:44 +0000 + +acpica-unix (20060912-3) unstable; urgency=high + + * Fix FTBFS on Debian/KFreeBsd. (Closes: #401617) + * high urgency due to the RC bug being closed in -2. + + -- Mattia Dongili Mon, 04 Dec 2006 23:40:28 +0100 + +acpica-unix (20060912-2) unstable; urgency=high + + * Fix segfault compiling qemu's DSDT on powerpc (Closes: #401153) + * high urgency due to the RC bug being closed. + + -- Mattia Dongili Mon, 04 Dec 2006 19:25:28 +0100 + +acpica-unix (20060912-1) unstable; urgency=low + + * New upstream release. + * build-arch set to any as requested. (Closes: #389512) + + -- Mattia Dongili Mon, 02 Oct 2006 19:00:06 +0200 + +acpica-unix (20060707-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Tue, 22 Aug 2006 19:29:39 +0200 + +acpica-unix (20060608-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Tue, 27 Jun 2006 21:23:46 +0200 + +acpica-unix (20060421-1) unstable; urgency=low + + * New upstream release. + * Upstream included the GNU/kFreeBSD patch + * Added kfreebsd-amd64 architecture (Closes: #361610) + + -- Mattia Dongili Sat, 29 Apr 2006 09:16:49 +0200 + +acpica-unix (20060317-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Tue, 28 Mar 2006 19:08:16 +0200 + +acpica-unix (20060217-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Mon, 06 Mar 2006 19:53:22 +0100 + +acpica-unix (20060113-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Sun, 22 Jan 2006 10:54:55 +0100 + +acpica-unix (20051216-1) unstable; urgency=low + + * New upstream release. + + -- Mattia Dongili Sun, 08 Jan 2006 16:25:12 +0100 + +acpica-unix (20051117-1) unstable; urgency=low + + * New upstream release. + * Added patch from Aurelien Jarno to build in + GNU/kFreeBSD (closes: #336847). + + -- Mattia Dongili Sun, 27 Nov 2005 20:22:11 +0100 + +acpica-unix (20050930-1) unstable; urgency=low + + * Initial release Closes: #333603 + + -- Mattia Dongili Fri, 14 Oct 2005 19:16:28 +0200 + --- acpica-unix-20081204.orig/debian/dirs +++ acpica-unix-20081204/debian/dirs @@ -0,0 +1 @@ +usr/bin --- acpica-unix-20081204.orig/debian/rules +++ acpica-unix-20081204/debian/rules @@ -0,0 +1,109 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +configure: patch-stamp configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure + dh_testdir + + # Commands to compile the package. + cd compiler && \ + $(MAKE) CFLAGS="$(CFLAGS)" && \ + cd .. + + touch build-stamp + +clean: clean-patched unpatch +clean-patched: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + rm -f debian/acpi-dsdt.test* + + # Commands to clean up after the build process. + cd compiler && \ + $(MAKE) clean && \ + cd .. + + dh_clean + +patch: patch-stamp +patch-stamp: + QUILT_PATCHES=debian/patches quilt push -a + + touch patch-stamp +# dpatch apply-all + +unpatch: + -QUILT_PATCHES=debian/patches quilt pop -a + rm -rf .pc patch-stamp +# dpatch deapply-all +# rm -rf patch-stamp debian/patched + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Commands to install the package into debian/iasl. + install -d $(CURDIR)/debian/iasl/usr/bin + install -m 755 compiler/iasl $(CURDIR)/debian/iasl/usr/bin + install -d $(CURDIR)/debian/iasl/usr/share/man/man1 + gzip -9 < $(CURDIR)/debian/iasl.1 > $(CURDIR)/debian/iasl/usr/share/man/man1/iasl.1.gz + + # testcase + if $(CURDIR)/debian/iasl/usr/bin/iasl -tc -p debian/acpi-dsdt.test.hex debian/acpi-dsdt.dsl; then \ + : ; \ + else \ + tail -n +13 debian/acpi-dsdt.test.hex > debian/acpi-dsdt.test.hex-1; \ + diff -u debian/acpi-dsdt.hex debian/acpi-dsdt.test.hex-1; \ + fi + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs changes.txt + dh_installdocs + dh_installman + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- acpica-unix-20081204.orig/debian/README.Debian +++ acpica-unix-20081204/debian/README.Debian @@ -0,0 +1,7 @@ + README for Debian package of iasl + ================================= + +You can find more iASL documentation on Intel Corp. site: +http://developer.intel.com/technology/iapc/acpi/downloads/AslCompiler.pdf + +See also: http://developer.intel.com/technology/iapc/acpi/ --- acpica-unix-20081204.orig/debian/iasl.1 +++ acpica-unix-20081204/debian/iasl.1 @@ -0,0 +1,135 @@ +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH IASL 1 "October 14, 2005" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +iasl \- ACPI Source Language compiler/decompiler +.SH SYNOPSIS +.B iasl +.RI [ options ] +.RI [ "input file" ] +.SH DESCRIPTION +This manual page documents briefly the +.B iasl +command. The option list is taken from the iasl interactive help. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +.B iasl +is an ASL compiler and decompiler. + +.SH OPTIONS + +.PP +.SS General Output +.TP +.B \-p +Specify filename prefix for all output files (including .aml) +.TP +.B \-vi +Less verbose errors and warnings for use with IDEs +.TP +.B \-vo +Enable optimization comments +.TP +.B \-vr +Disable remarks +.TP +.B \-vs +Disable signon + +.PP +.SS AML Output Files +.TP +.B \-s +Create AML in assembler or C source file (*.asm or *.c) +.TP +.B \-i +Create assembler or C include file (*.inc or *.h) +.TP +.B \-t +Create AML in assembler or C hex table (*.hex) + +.PP +.SS AML Code Generation +.TP +.B \-oa +Disable all optimizations (compatibility mode) +.TP +.B \-of +Disable constant folding +.TP +.B \-oi +Disable integer optimization to Zero/One/Ones +.TP +.B \-on +Disable named reference string optimization +.TP +.B \-r +Override table header Revision (1-255) + +.PP +.SS Listings +.TP +.B \-l +Create mixed listing file (ASL source and AML) (*.lst) +.TP +.B \-ln +Create namespace file (*.nsp) +.TP +.B \-ls +Create combined source file (expanded includes) (*.src) + +.PP +.SS AML Disassembler +.TP +.B \-d [file] +Disassemble AML to ASL source code file (*.dsl) +.TP +.B \-dc [file] +Disassemble AML and immediately compile it +.br +(Obtain DSDT from current system if no input file) +.TP +.B \-e +Generate External() statements for unresolved symbols +.TP +.B \-g +Get ACPI tables and write to files (*.dat) + +.PP +.SS Miscellaneous +.TP +.B \-a +Verify source file is entirely ASCII text (0x00-0x7F) + +.PP +.SS Help +.TP +.B \-h +Additional help and compiler debug options +.TP +.B \-hc +Display operators allowed in constant expressions +.TP +.B \-hr +Display ACPI reserved method names + +.SH AUTHOR +iasl was written by Robert Moore . +.PP +This manual page was written by Mattia Dongili , +for the Debian project (but may be used by others). --- acpica-unix-20081204.orig/debian/acpi-dsdt.dsl +++ acpica-unix-20081204/debian/acpi-dsdt.dsl @@ -0,0 +1,559 @@ +/* + * QEMU ACPI DSDT ASL definition + * + * Copyright (c) 2006 Fabrice Bellard + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +DefinitionBlock ( + "acpi-dsdt.aml", // Output Filename + "DSDT", // Signature + 0x01, // DSDT Compliance Revision + "QEMU", // OEMID + "QEMUDSDT", // TABLE ID + 0x1 // OEM Revision + ) +{ + Scope (\) + { + /* CMOS memory access */ + OperationRegion (CMS, SystemIO, 0x70, 0x02) + Field (CMS, ByteAcc, NoLock, Preserve) + { + CMSI, 8, + CMSD, 8 + } + Method (CMRD, 1, NotSerialized) + { + Store (Arg0, CMSI) + Store (CMSD, Local0) + Return (Local0) + } + + /* Debug Output */ + OperationRegion (DBG, SystemIO, 0xb044, 0x04) + Field (DBG, DWordAcc, NoLock, Preserve) + { + DBGL, 32, + } + } + + + /* PCI Bus definition */ + Scope(\_SB) { + Device(PCI0) { + Name (_HID, EisaId ("PNP0A03")) + Name (_ADR, 0x00) + Name (_UID, 1) + Name(_PRT, Package() { + /* PCI IRQ routing table, example from ACPI 2.0a specification, + section 6.2.8.1 */ + /* Note: we provide the same info as the PCI routing + table of the Bochs BIOS */ + + // PCI Slot 0 + Package() {0x0000ffff, 0, LNKD, 0}, + Package() {0x0000ffff, 1, LNKA, 0}, + Package() {0x0000ffff, 2, LNKB, 0}, + Package() {0x0000ffff, 3, LNKC, 0}, + + // PCI Slot 1 + Package() {0x0001ffff, 0, LNKA, 0}, + Package() {0x0001ffff, 1, LNKB, 0}, + Package() {0x0001ffff, 2, LNKC, 0}, + Package() {0x0001ffff, 3, LNKD, 0}, + + // PCI Slot 2 + Package() {0x0002ffff, 0, LNKB, 0}, + Package() {0x0002ffff, 1, LNKC, 0}, + Package() {0x0002ffff, 2, LNKD, 0}, + Package() {0x0002ffff, 3, LNKA, 0}, + + // PCI Slot 3 + Package() {0x0003ffff, 0, LNKC, 0}, + Package() {0x0003ffff, 1, LNKD, 0}, + Package() {0x0003ffff, 2, LNKA, 0}, + Package() {0x0003ffff, 3, LNKB, 0}, + + // PCI Slot 4 + Package() {0x0004ffff, 0, LNKD, 0}, + Package() {0x0004ffff, 1, LNKA, 0}, + Package() {0x0004ffff, 2, LNKB, 0}, + Package() {0x0004ffff, 3, LNKC, 0}, + + // PCI Slot 5 + Package() {0x0005ffff, 0, LNKA, 0}, + Package() {0x0005ffff, 1, LNKB, 0}, + Package() {0x0005ffff, 2, LNKC, 0}, + Package() {0x0005ffff, 3, LNKD, 0}, + }) + + Method (_CRS, 0, NotSerialized) + { + Name (MEMP, ResourceTemplate () + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Address Space Granularity + 0x0000, // Address Range Minimum + 0x00FF, // Address Range Maximum + 0x0000, // Address Translation Offset + 0x0100, // Address Length + ,, ) + IO (Decode16, + 0x0CF8, // Address Range Minimum + 0x0CF8, // Address Range Maximum + 0x01, // Address Alignment + 0x08, // Address Length + ) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Address Space Granularity + 0x0000, // Address Range Minimum + 0x0CF7, // Address Range Maximum + 0x0000, // Address Translation Offset + 0x0CF8, // Address Length + ,, , TypeStatic) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Address Space Granularity + 0x0D00, // Address Range Minimum + 0xFFFF, // Address Range Maximum + 0x0000, // Address Translation Offset + 0xF300, // Address Length + ,, , TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x000A0000, // Address Range Minimum + 0x000BFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00020000, // Address Length + ,, , AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite, + 0x00000000, // Address Space Granularity + 0x00000000, // Address Range Minimum + 0xFEBFFFFF, // Address Range Maximum + 0x00000000, // Address Translation Offset + 0x00000000, // Address Length + ,, MEMF, AddressRangeMemory, TypeStatic) + }) + CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MIN, PMIN) + CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MAX, PMAX) + CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._LEN, PLEN) + /* compute available RAM */ + Add(CMRD(0x34), ShiftLeft(CMRD(0x35), 8), Local0) + ShiftLeft(Local0, 16, Local0) + Add(Local0, 0x1000000, Local0) + /* update field of last region */ + Store(Local0, PMIN) + Subtract (PMAX, PMIN, PLEN) + Increment (PLEN) + Return (MEMP) + } + } + } + + Scope(\_SB.PCI0) { + + /* PIIX3 ISA bridge */ + Device (ISA) { + Name (_ADR, 0x00010000) + + /* PIIX PCI to ISA irq remapping */ + OperationRegion (P40C, PCI_Config, 0x60, 0x04) + + + /* Keyboard seems to be important for WinXP install */ + Device (KBD) + { + Name (_HID, EisaId ("PNP0303")) + Method (_STA, 0, NotSerialized) + { + Return (0x0f) + } + + Method (_CRS, 0, NotSerialized) + { + Name (TMP, ResourceTemplate () + { + IO (Decode16, + 0x0060, // Address Range Minimum + 0x0060, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IO (Decode16, + 0x0064, // Address Range Minimum + 0x0064, // Address Range Maximum + 0x01, // Address Alignment + 0x01, // Address Length + ) + IRQNoFlags () + {1} + }) + Return (TMP) + } + } + + /* PS/2 mouse */ + Device (MOU) + { + Name (_HID, EisaId ("PNP0F13")) + Method (_STA, 0, NotSerialized) + { + Return (0x0f) + } + + Method (_CRS, 0, NotSerialized) + { + Name (TMP, ResourceTemplate () + { + IRQNoFlags () {12} + }) + Return (TMP) + } + } + + /* PS/2 floppy controller */ + Device (FDC0) + { + Name (_HID, EisaId ("PNP0700")) + Method (_STA, 0, NotSerialized) + { + Return (0x0F) + } + Method (_CRS, 0, NotSerialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04) + IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01) + IRQNoFlags () {6} + DMA (Compatibility, NotBusMaster, Transfer8) {2} + }) + Return (BUF0) + } + } + + /* Parallel port */ + Device (LPT) + { + Name (_HID, EisaId ("PNP0400")) + Method (_STA, 0, NotSerialized) + { + Store (\_SB.PCI0.PX13.DRSA, Local0) + And (Local0, 0x80000000, Local0) + If (LEqual (Local0, 0)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + Method (_CRS, 0, NotSerialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) + IRQNoFlags () {7} + }) + Return (BUF0) + } + } + + /* Serial Ports */ + Device (COM1) + { + Name (_HID, EisaId ("PNP0501")) + Name (_UID, 0x01) + Method (_STA, 0, NotSerialized) + { + Store (\_SB.PCI0.PX13.DRSC, Local0) + And (Local0, 0x08000000, Local0) + If (LEqual (Local0, 0)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + Method (_CRS, 0, NotSerialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08) + IRQNoFlags () {4} + }) + Return (BUF0) + } + } + + Device (COM2) + { + Name (_HID, EisaId ("PNP0501")) + Name (_UID, 0x02) + Method (_STA, 0, NotSerialized) + { + Store (\_SB.PCI0.PX13.DRSC, Local0) + And (Local0, 0x80000000, Local0) + If (LEqual (Local0, 0)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + Method (_CRS, 0, NotSerialized) + { + Name (BUF0, ResourceTemplate () + { + IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08) + IRQNoFlags () {3} + }) + Return (BUF0) + } + } + } + + /* PIIX4 PM */ + Device (PX13) { + Name (_ADR, 0x00010003) + + OperationRegion (P13C, PCI_Config, 0x5c, 0x24) + Field (P13C, DWordAcc, NoLock, Preserve) + { + DRSA, 32, + DRSB, 32, + DRSC, 32, + DRSE, 32, + DRSF, 32, + DRSG, 32, + DRSH, 32, + DRSI, 32, + DRSJ, 32 + } + } + } + + /* PCI IRQs */ + Scope(\_SB) { + Field (\_SB.PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) + { + PRQ0, 8, + PRQ1, 8, + PRQ2, 8, + PRQ3, 8 + } + + Device(LNKA){ + Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link + Name(_UID, 1) + Name(_PRS, ResourceTemplate(){ + IRQ (Level, ActiveLow, Shared) + {3,4,5,6,7,9,10,11,12} + }) + Method (_STA, 0, NotSerialized) + { + Store (0x0B, Local0) + If (And (0x80, PRQ0, Local1)) + { + Store (0x09, Local0) + } + Return (Local0) + } + Method (_DIS, 0, NotSerialized) + { + Or (PRQ0, 0x80, PRQ0) + } + Method (_CRS, 0, NotSerialized) + { + Name (PRR0, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1} + }) + CreateWordField (PRR0, 0x01, TMP) + Store (PRQ0, Local0) + If (LLess (Local0, 0x80)) + { + ShiftLeft (One, Local0, TMP) + } + Else + { + Store (Zero, TMP) + } + Return (PRR0) + } + Method (_SRS, 1, NotSerialized) + { + CreateWordField (Arg0, 0x01, TMP) + FindSetRightBit (TMP, Local0) + Decrement (Local0) + Store (Local0, PRQ0) + } + } + Device(LNKB){ + Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link + Name(_UID, 2) + Name(_PRS, ResourceTemplate(){ + IRQ (Level, ActiveLow, Shared) + {3,4,5,6,7,9,10,11,12} + }) + Method (_STA, 0, NotSerialized) + { + Store (0x0B, Local0) + If (And (0x80, PRQ1, Local1)) + { + Store (0x09, Local0) + } + Return (Local0) + } + Method (_DIS, 0, NotSerialized) + { + Or (PRQ1, 0x80, PRQ1) + } + Method (_CRS, 0, NotSerialized) + { + Name (PRR0, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1} + }) + CreateWordField (PRR0, 0x01, TMP) + Store (PRQ1, Local0) + If (LLess (Local0, 0x80)) + { + ShiftLeft (One, Local0, TMP) + } + Else + { + Store (Zero, TMP) + } + Return (PRR0) + } + Method (_SRS, 1, NotSerialized) + { + CreateWordField (Arg0, 0x01, TMP) + FindSetRightBit (TMP, Local0) + Decrement (Local0) + Store (Local0, PRQ1) + } + } + Device(LNKC){ + Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link + Name(_UID, 3) + Name(_PRS, ResourceTemplate(){ + IRQ (Level, ActiveLow, Shared) + {3,4,5,6,7,9,10,11,12} + }) + Method (_STA, 0, NotSerialized) + { + Store (0x0B, Local0) + If (And (0x80, PRQ2, Local1)) + { + Store (0x09, Local0) + } + Return (Local0) + } + Method (_DIS, 0, NotSerialized) + { + Or (PRQ2, 0x80, PRQ2) + } + Method (_CRS, 0, NotSerialized) + { + Name (PRR0, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1} + }) + CreateWordField (PRR0, 0x01, TMP) + Store (PRQ2, Local0) + If (LLess (Local0, 0x80)) + { + ShiftLeft (One, Local0, TMP) + } + Else + { + Store (Zero, TMP) + } + Return (PRR0) + } + Method (_SRS, 1, NotSerialized) + { + CreateWordField (Arg0, 0x01, TMP) + FindSetRightBit (TMP, Local0) + Decrement (Local0) + Store (Local0, PRQ2) + } + } + Device(LNKD){ + Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link + Name(_UID, 4) + Name(_PRS, ResourceTemplate(){ + IRQ (Level, ActiveLow, Shared) + {3,4,5,6,7,9,10,11,12} + }) + Method (_STA, 0, NotSerialized) + { + Store (0x0B, Local0) + If (And (0x80, PRQ3, Local1)) + { + Store (0x09, Local0) + } + Return (Local0) + } + Method (_DIS, 0, NotSerialized) + { + Or (PRQ3, 0x80, PRQ3) + } + Method (_CRS, 0, NotSerialized) + { + Name (PRR0, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared) + {1} + }) + CreateWordField (PRR0, 0x01, TMP) + Store (PRQ3, Local0) + If (LLess (Local0, 0x80)) + { + ShiftLeft (One, Local0, TMP) + } + Else + { + Store (Zero, TMP) + } + Return (PRR0) + } + Method (_SRS, 1, NotSerialized) + { + CreateWordField (Arg0, 0x01, TMP) + FindSetRightBit (TMP, Local0) + Decrement (Local0) + Store (Local0, PRQ3) + } + } + } + + /* S5 = power off state */ + Name (_S5, Package (4) { + 0x00, // PM1a_CNT.SLP_TYP + 0x00, // PM2a_CNT.SLP_TYP + 0x00, // reserved + 0x00, // reserved + }) +} --- acpica-unix-20081204.orig/debian/copyright +++ acpica-unix-20081204/debian/copyright @@ -0,0 +1,165 @@ +This package was debianized by Mattia Dongili on +Fri, 14 Oct 2005 19:16:28 +0200. + +It was downloaded from http://www.intel.com/technology/iapc/acpi/ + +Copyright Holder: "Moore, Robert" + +License: Dual GPLv2/ACPICA Licence + + +The testcase in debian/acpi-dsdt.dsl (source package only) was taken from qemu and +is Copyright (c) 2006 Fabrice Bellard. It is licensed unter the GPLv2. +The file debian/acpi-dsdt.hex was produced +by running + iasl -tc -p debian/acpi-dsdt.hex debian/acpi-dsdt.dsl +and cropping off the first 12 lines. + + +For the GPLv2: +-------------- + Copyright (C) 2000 - 2006, R. Byron Moore + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer, + without modification. + 2. Redistributions in binary form must reproduce at minimum a disclaimer + substantially similar to the "NO WARRANTY" disclaimer below + ("Disclaimer") and any redistribution must be conditioned upon + including a substantially similar Disclaimer requirement for further + binary redistribution. + 3. Neither the names of the above-listed copyright holders nor the names + of any contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + Alternatively, this software may be distributed under the terms of the + GNU General Public License ("GPL") version 2 as published by the Free + Software Foundation. + + NO WARRANTY + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL'. + +For the ACPICA Licence: +----------------------- + 1. Copyright Notice + + Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + All rights reserved. + + 2. License + + 2.1. This is your license from Intel Corp. under its intellectual property + rights. You may have additional license terms from the party that provided + you this software, covering your right to use that party's intellectual + property rights. + + 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a + copy of the source code appearing in this file ("Covered Code") an + irrevocable, perpetual, worldwide license under Intel's copyrights in the + base code distributed originally by Intel ("Original Intel Code") to copy, + make derivatives, distribute, use and display any portion of the Covered + Code in any form, with the right to sublicense such rights; and + + 2.3. Intel grants Licensee a non-exclusive and non-transferable patent + license (with the right to sublicense), under only those claims of Intel + patents that are infringed by the Original Intel Code, to make, use, sell, + offer to sell, and import the Covered Code and derivative works thereof + solely to the minimum extent necessary to exercise the above copyright + license, and in no event shall the patent license extend to any additions + to or modifications of the Original Intel Code. No other license or right + is granted directly or by implication, estoppel or otherwise; + + The above copyright and patent license is granted only if the following + conditions are met: + + 3. Conditions + + 3.1. Redistribution of Source with Rights to Further Distribute Source. + Redistribution of source code of any substantial portion of the Covered + Code or modification with rights to further distribute source must include + the above Copyright Notice, the above License, this list of Conditions, + and the following Disclaimer and Export Compliance provision. In addition, + Licensee must cause all Covered Code to which Licensee contributes to + contain a file documenting the changes Licensee made to create that Covered + Code and the date of any change. Licensee must include in that file the + documentation of any changes made by any predecessor Licensee. Licensee + must include a prominent statement that the modification is derived, + directly or indirectly, from Original Intel Code. + + 3.2. Redistribution of Source with no Rights to Further Distribute Source. + Redistribution of source code of any substantial portion of the Covered + Code or modification without rights to further distribute source must + include the following Disclaimer and Export Compliance provision in the + documentation and/or other materials provided with distribution. In + addition, Licensee may not authorize further sublicense of source of any + portion of the Covered Code, and must include terms to the effect that the + license from Licensee to its licensee is limited to the intellectual + property embodied in the software Licensee provides to its licensee, and + not to intellectual property embodied in modifications its licensee may + make. + + 3.3. Redistribution of Executable. Redistribution in executable form of any + substantial portion of the Covered Code or modification must reproduce the + above Copyright Notice, and the following Disclaimer and Export Compliance + provision in the documentation and/or other materials provided with the + distribution. + + 3.4. Intel retains all right, title, and interest in and to the Original + Intel Code. + + 3.5. Neither the name Intel nor any other trademark owned or controlled by + Intel shall be used in advertising or otherwise to promote the sale, use or + other dealings in products derived from or relating to the Covered Code + without prior written authorization from Intel. + + 4. Disclaimer and Export Compliance + + 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED + HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE + IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, + INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY + UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY + IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A + PARTICULAR PURPOSE. + + 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES + OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR + COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, + SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY + CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL + HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS + SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY + LIMITED REMEDY. + + 4.3. Licensee shall not export, either directly or indirectly, any of this + software or system incorporating such software without first obtaining any + required license or other approval from the U. S. Department of Commerce or + any other agency or department of the United States Government. In the + event Licensee exports any such software from the United States or + re-exports any such software from a foreign destination, Licensee shall + ensure that the distribution and export/re-export of the software is in + compliance with all laws, regulations, orders, or other restrictions of the + U.S. Export Administration Regulations. Licensee agrees that neither it nor + any of its subsidiaries will export/re-export any technical data, process, + software, or service, directly or indirectly, to any country for which the + United States government or any agency thereof requires an export license, + other governmental approval, or letter of assurance, without first obtaining + such license, approval or letter. + --- acpica-unix-20081204.orig/debian/compat +++ acpica-unix-20081204/debian/compat @@ -0,0 +1 @@ +4 --- acpica-unix-20081204.orig/debian/docs +++ acpica-unix-20081204/debian/docs @@ -0,0 +1,2 @@ +changes.txt +README --- acpica-unix-20081204.orig/debian/acpi-dsdt.hex +++ acpica-unix-20081204/debian/acpi-dsdt.hex @@ -0,0 +1,266 @@ +unsigned char AmlCode[] = +{ + 0x44,0x53,0x44,0x54,0x32,0x08,0x00,0x00, /* 00000000 "DSDT2..." */ + 0x01,0x68,0x51,0x45,0x4D,0x55,0x00,0x00, /* 00000008 ".hQEMU.." */ + 0x51,0x45,0x4D,0x55,0x44,0x53,0x44,0x54, /* 00000010 "QEMUDSDT" */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x04,0x12,0x08,0x20,0x10,0x4F,0x04,0x5C, /* 00000020 "... .O.\" */ + 0x00,0x5B,0x80,0x43,0x4D,0x53,0x5F,0x01, /* 00000028 ".[.CMS_." */ + 0x0A,0x70,0x0A,0x02,0x5B,0x81,0x10,0x43, /* 00000030 ".p..[..C" */ + 0x4D,0x53,0x5F,0x01,0x43,0x4D,0x53,0x49, /* 00000038 "MS_.CMSI" */ + 0x08,0x43,0x4D,0x53,0x44,0x08,0x14,0x14, /* 00000040 ".CMSD..." */ + 0x43,0x4D,0x52,0x44,0x01,0x70,0x68,0x43, /* 00000048 "CMRD.phC" */ + 0x4D,0x53,0x49,0x70,0x43,0x4D,0x53,0x44, /* 00000050 "MSIpCMSD" */ + 0x60,0xA4,0x60,0x5B,0x80,0x44,0x42,0x47, /* 00000058 "`.`[.DBG" */ + 0x5F,0x01,0x0B,0x44,0xB0,0x0A,0x04,0x5B, /* 00000060 "_..D...[" */ + 0x81,0x0B,0x44,0x42,0x47,0x5F,0x03,0x44, /* 00000068 "..DBG_.D" */ + 0x42,0x47,0x4C,0x20,0x10,0x4E,0x25,0x5F, /* 00000070 "BGL .N%_" */ + 0x53,0x42,0x5F,0x5B,0x82,0x46,0x25,0x50, /* 00000078 "SB_[.F%P" */ + 0x43,0x49,0x30,0x08,0x5F,0x48,0x49,0x44, /* 00000080 "CI0._HID" */ + 0x0C,0x41,0xD0,0x0A,0x03,0x08,0x5F,0x41, /* 00000088 ".A...._A" */ + 0x44,0x52,0x00,0x08,0x5F,0x55,0x49,0x44, /* 00000090 "DR.._UID" */ + 0x01,0x08,0x5F,0x50,0x52,0x54,0x12,0x47, /* 00000098 ".._PRT.G" */ + 0x15,0x18,0x12,0x0B,0x04,0x0B,0xFF,0xFF, /* 000000A0 "........" */ + 0x00,0x4C,0x4E,0x4B,0x44,0x00,0x12,0x0B, /* 000000A8 ".LNKD..." */ + 0x04,0x0B,0xFF,0xFF,0x01,0x4C,0x4E,0x4B, /* 000000B0 ".....LNK" */ + 0x41,0x00,0x12,0x0C,0x04,0x0B,0xFF,0xFF, /* 000000B8 "A......." */ + 0x0A,0x02,0x4C,0x4E,0x4B,0x42,0x00,0x12, /* 000000C0 "..LNKB.." */ + 0x0C,0x04,0x0B,0xFF,0xFF,0x0A,0x03,0x4C, /* 000000C8 ".......L" */ + 0x4E,0x4B,0x43,0x00,0x12,0x0D,0x04,0x0C, /* 000000D0 "NKC....." */ + 0xFF,0xFF,0x01,0x00,0x00,0x4C,0x4E,0x4B, /* 000000D8 ".....LNK" */ + 0x41,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 000000E0 "A......." */ + 0x01,0x00,0x01,0x4C,0x4E,0x4B,0x42,0x00, /* 000000E8 "...LNKB." */ + 0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x01,0x00, /* 000000F0 "........" */ + 0x0A,0x02,0x4C,0x4E,0x4B,0x43,0x00,0x12, /* 000000F8 "..LNKC.." */ + 0x0E,0x04,0x0C,0xFF,0xFF,0x01,0x00,0x0A, /* 00000100 "........" */ + 0x03,0x4C,0x4E,0x4B,0x44,0x00,0x12,0x0D, /* 00000108 ".LNKD..." */ + 0x04,0x0C,0xFF,0xFF,0x02,0x00,0x00,0x4C, /* 00000110 ".......L" */ + 0x4E,0x4B,0x42,0x00,0x12,0x0D,0x04,0x0C, /* 00000118 "NKB....." */ + 0xFF,0xFF,0x02,0x00,0x01,0x4C,0x4E,0x4B, /* 00000120 ".....LNK" */ + 0x43,0x00,0x12,0x0E,0x04,0x0C,0xFF,0xFF, /* 00000128 "C......." */ + 0x02,0x00,0x0A,0x02,0x4C,0x4E,0x4B,0x44, /* 00000130 "....LNKD" */ + 0x00,0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x02, /* 00000138 "........" */ + 0x00,0x0A,0x03,0x4C,0x4E,0x4B,0x41,0x00, /* 00000140 "...LNKA." */ + 0x12,0x0D,0x04,0x0C,0xFF,0xFF,0x03,0x00, /* 00000148 "........" */ + 0x00,0x4C,0x4E,0x4B,0x43,0x00,0x12,0x0D, /* 00000150 ".LNKC..." */ + 0x04,0x0C,0xFF,0xFF,0x03,0x00,0x01,0x4C, /* 00000158 ".......L" */ + 0x4E,0x4B,0x44,0x00,0x12,0x0E,0x04,0x0C, /* 00000160 "NKD....." */ + 0xFF,0xFF,0x03,0x00,0x0A,0x02,0x4C,0x4E, /* 00000168 "......LN" */ + 0x4B,0x41,0x00,0x12,0x0E,0x04,0x0C,0xFF, /* 00000170 "KA......" */ + 0xFF,0x03,0x00,0x0A,0x03,0x4C,0x4E,0x4B, /* 00000178 ".....LNK" */ + 0x42,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 00000180 "B......." */ + 0x04,0x00,0x00,0x4C,0x4E,0x4B,0x44,0x00, /* 00000188 "...LNKD." */ + 0x12,0x0D,0x04,0x0C,0xFF,0xFF,0x04,0x00, /* 00000190 "........" */ + 0x01,0x4C,0x4E,0x4B,0x41,0x00,0x12,0x0E, /* 00000198 ".LNKA..." */ + 0x04,0x0C,0xFF,0xFF,0x04,0x00,0x0A,0x02, /* 000001A0 "........" */ + 0x4C,0x4E,0x4B,0x42,0x00,0x12,0x0E,0x04, /* 000001A8 "LNKB...." */ + 0x0C,0xFF,0xFF,0x04,0x00,0x0A,0x03,0x4C, /* 000001B0 ".......L" */ + 0x4E,0x4B,0x43,0x00,0x12,0x0D,0x04,0x0C, /* 000001B8 "NKC....." */ + 0xFF,0xFF,0x05,0x00,0x00,0x4C,0x4E,0x4B, /* 000001C0 ".....LNK" */ + 0x41,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 000001C8 "A......." */ + 0x05,0x00,0x01,0x4C,0x4E,0x4B,0x42,0x00, /* 000001D0 "...LNKB." */ + 0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x05,0x00, /* 000001D8 "........" */ + 0x0A,0x02,0x4C,0x4E,0x4B,0x43,0x00,0x12, /* 000001E0 "..LNKC.." */ + 0x0E,0x04,0x0C,0xFF,0xFF,0x05,0x00,0x0A, /* 000001E8 "........" */ + 0x03,0x4C,0x4E,0x4B,0x44,0x00,0x14,0x4C, /* 000001F0 ".LNKD..L" */ + 0x0D,0x5F,0x43,0x52,0x53,0x00,0x08,0x4D, /* 000001F8 "._CRS..M" */ + 0x45,0x4D,0x50,0x11,0x42,0x07,0x0A,0x6E, /* 00000200 "EMP.B..n" */ + 0x88,0x0D,0x00,0x02,0x0C,0x00,0x00,0x00, /* 00000208 "........" */ + 0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x01, /* 00000210 "........" */ + 0x47,0x01,0xF8,0x0C,0xF8,0x0C,0x01,0x08, /* 00000218 "G......." */ + 0x88,0x0D,0x00,0x01,0x0C,0x03,0x00,0x00, /* 00000220 "........" */ + 0x00,0x00,0xF7,0x0C,0x00,0x00,0xF8,0x0C, /* 00000228 "........" */ + 0x88,0x0D,0x00,0x01,0x0C,0x03,0x00,0x00, /* 00000230 "........" */ + 0x00,0x0D,0xFF,0xFF,0x00,0x00,0x00,0xF3, /* 00000238 "........" */ + 0x87,0x17,0x00,0x00,0x0C,0x03,0x00,0x00, /* 00000240 "........" */ + 0x00,0x00,0x00,0x00,0x0A,0x00,0xFF,0xFF, /* 00000248 "........" */ + 0x0B,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000250 "........" */ + 0x02,0x00,0x87,0x17,0x00,0x00,0x08,0x01, /* 00000258 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000260 "........" */ + 0xFF,0xFF,0xBF,0xFE,0x00,0x00,0x00,0x00, /* 00000268 "........" */ + 0x00,0x00,0x00,0x00,0x79,0x00,0x8A,0x4D, /* 00000270 "....y..M" */ + 0x45,0x4D,0x50,0x0A,0x5C,0x50,0x4D,0x49, /* 00000278 "EMP.\PMI" */ + 0x4E,0x8A,0x4D,0x45,0x4D,0x50,0x0A,0x60, /* 00000280 "N.MEMP.`" */ + 0x50,0x4D,0x41,0x58,0x8A,0x4D,0x45,0x4D, /* 00000288 "PMAX.MEM" */ + 0x50,0x0A,0x68,0x50,0x4C,0x45,0x4E,0x72, /* 00000290 "P.hPLENr" */ + 0x43,0x4D,0x52,0x44,0x0A,0x34,0x79,0x43, /* 00000298 "CMRD.4yC" */ + 0x4D,0x52,0x44,0x0A,0x35,0x0A,0x08,0x00, /* 000002A0 "MRD.5..." */ + 0x60,0x79,0x60,0x0A,0x10,0x60,0x72,0x60, /* 000002A8 "`y`..`r`" */ + 0x0C,0x00,0x00,0x00,0x01,0x60,0x70,0x60, /* 000002B0 ".....`p`" */ + 0x50,0x4D,0x49,0x4E,0x74,0x50,0x4D,0x41, /* 000002B8 "PMINtPMA" */ + 0x58,0x50,0x4D,0x49,0x4E,0x50,0x4C,0x45, /* 000002C0 "XPMINPLE" */ + 0x4E,0x75,0x50,0x4C,0x45,0x4E,0xA4,0x4D, /* 000002C8 "NuPLEN.M" */ + 0x45,0x4D,0x50,0x10,0x42,0x26,0x2E,0x5F, /* 000002D0 "EMP.B&._" */ + 0x53,0x42,0x5F,0x50,0x43,0x49,0x30,0x5B, /* 000002D8 "SB_PCI0[" */ + 0x82,0x43,0x20,0x49,0x53,0x41,0x5F,0x08, /* 000002E0 ".C ISA_." */ + 0x5F,0x41,0x44,0x52,0x0C,0x00,0x00,0x01, /* 000002E8 "_ADR...." */ + 0x00,0x5B,0x80,0x50,0x34,0x30,0x43,0x02, /* 000002F0 ".[.P40C." */ + 0x0A,0x60,0x0A,0x04,0x5B,0x82,0x44,0x04, /* 000002F8 ".`..[.D." */ + 0x4B,0x42,0x44,0x5F,0x08,0x5F,0x48,0x49, /* 00000300 "KBD_._HI" */ + 0x44,0x0C,0x41,0xD0,0x03,0x03,0x14,0x09, /* 00000308 "D.A....." */ + 0x5F,0x53,0x54,0x41,0x00,0xA4,0x0A,0x0F, /* 00000310 "_STA...." */ + 0x14,0x29,0x5F,0x43,0x52,0x53,0x00,0x08, /* 00000318 ".)_CRS.." */ + 0x54,0x4D,0x50,0x5F,0x11,0x18,0x0A,0x15, /* 00000320 "TMP_...." */ + 0x47,0x01,0x60,0x00,0x60,0x00,0x01,0x01, /* 00000328 "G.`.`..." */ + 0x47,0x01,0x64,0x00,0x64,0x00,0x01,0x01, /* 00000330 "G.d.d..." */ + 0x22,0x02,0x00,0x79,0x00,0xA4,0x54,0x4D, /* 00000338 ""..y..TM" */ + 0x50,0x5F,0x5B,0x82,0x33,0x4D,0x4F,0x55, /* 00000340 "P_[.3MOU" */ + 0x5F,0x08,0x5F,0x48,0x49,0x44,0x0C,0x41, /* 00000348 "_._HID.A" */ + 0xD0,0x0F,0x13,0x14,0x09,0x5F,0x53,0x54, /* 00000350 "....._ST" */ + 0x41,0x00,0xA4,0x0A,0x0F,0x14,0x19,0x5F, /* 00000358 "A......_" */ + 0x43,0x52,0x53,0x00,0x08,0x54,0x4D,0x50, /* 00000360 "CRS..TMP" */ + 0x5F,0x11,0x08,0x0A,0x05,0x22,0x00,0x10, /* 00000368 "_....".." */ + 0x79,0x00,0xA4,0x54,0x4D,0x50,0x5F,0x5B, /* 00000370 "y..TMP_[" */ + 0x82,0x47,0x04,0x46,0x44,0x43,0x30,0x08, /* 00000378 ".G.FDC0." */ + 0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,0x07, /* 00000380 "_HID.A.." */ + 0x00,0x14,0x09,0x5F,0x53,0x54,0x41,0x00, /* 00000388 "..._STA." */ + 0xA4,0x0A,0x0F,0x14,0x2C,0x5F,0x43,0x52, /* 00000390 "....,_CR" */ + 0x53,0x00,0x08,0x42,0x55,0x46,0x30,0x11, /* 00000398 "S..BUF0." */ + 0x1B,0x0A,0x18,0x47,0x01,0xF2,0x03,0xF2, /* 000003A0 "...G...." */ + 0x03,0x00,0x04,0x47,0x01,0xF7,0x03,0xF7, /* 000003A8 "...G...." */ + 0x03,0x00,0x01,0x22,0x40,0x00,0x2A,0x04, /* 000003B0 "..."@.*." */ + 0x00,0x79,0x00,0xA4,0x42,0x55,0x46,0x30, /* 000003B8 ".y..BUF0" */ + 0x5B,0x82,0x4B,0x05,0x4C,0x50,0x54,0x5F, /* 000003C0 "[.K.LPT_" */ + 0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0, /* 000003C8 "._HID.A." */ + 0x04,0x00,0x14,0x28,0x5F,0x53,0x54,0x41, /* 000003D0 "...(_STA" */ + 0x00,0x70,0x5E,0x5E,0x5E,0x2E,0x50,0x58, /* 000003D8 ".p^^^.PX" */ + 0x31,0x33,0x44,0x52,0x53,0x41,0x60,0x7B, /* 000003E0 "13DRSA`{" */ + 0x60,0x0C,0x00,0x00,0x00,0x80,0x60,0xA0, /* 000003E8 "`.....`." */ + 0x06,0x93,0x60,0x00,0xA4,0x00,0xA1,0x04, /* 000003F0 "..`....." */ + 0xA4,0x0A,0x0F,0x14,0x21,0x5F,0x43,0x52, /* 000003F8 "....!_CR" */ + 0x53,0x00,0x08,0x42,0x55,0x46,0x30,0x11, /* 00000400 "S..BUF0." */ + 0x10,0x0A,0x0D,0x47,0x01,0x78,0x03,0x78, /* 00000408 "...G.x.x" */ + 0x03,0x08,0x08,0x22,0x80,0x00,0x79,0x00, /* 00000410 "..."..y." */ + 0xA4,0x42,0x55,0x46,0x30,0x5B,0x82,0x41, /* 00000418 ".BUF0[.A" */ + 0x06,0x43,0x4F,0x4D,0x31,0x08,0x5F,0x48, /* 00000420 ".COM1._H" */ + 0x49,0x44,0x0C,0x41,0xD0,0x05,0x01,0x08, /* 00000428 "ID.A...." */ + 0x5F,0x55,0x49,0x44,0x01,0x14,0x28,0x5F, /* 00000430 "_UID..(_" */ + 0x53,0x54,0x41,0x00,0x70,0x5E,0x5E,0x5E, /* 00000438 "STA.p^^^" */ + 0x2E,0x50,0x58,0x31,0x33,0x44,0x52,0x53, /* 00000440 ".PX13DRS" */ + 0x43,0x60,0x7B,0x60,0x0C,0x00,0x00,0x00, /* 00000448 "C`{`...." */ + 0x08,0x60,0xA0,0x06,0x93,0x60,0x00,0xA4, /* 00000450 ".`...`.." */ + 0x00,0xA1,0x04,0xA4,0x0A,0x0F,0x14,0x21, /* 00000458 ".......!" */ + 0x5F,0x43,0x52,0x53,0x00,0x08,0x42,0x55, /* 00000460 "_CRS..BU" */ + 0x46,0x30,0x11,0x10,0x0A,0x0D,0x47,0x01, /* 00000468 "F0....G." */ + 0xF8,0x03,0xF8,0x03,0x00,0x08,0x22,0x10, /* 00000470 "......"." */ + 0x00,0x79,0x00,0xA4,0x42,0x55,0x46,0x30, /* 00000478 ".y..BUF0" */ + 0x5B,0x82,0x42,0x06,0x43,0x4F,0x4D,0x32, /* 00000480 "[.B.COM2" */ + 0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0, /* 00000488 "._HID.A." */ + 0x05,0x01,0x08,0x5F,0x55,0x49,0x44,0x0A, /* 00000490 "..._UID." */ + 0x02,0x14,0x28,0x5F,0x53,0x54,0x41,0x00, /* 00000498 "..(_STA." */ + 0x70,0x5E,0x5E,0x5E,0x2E,0x50,0x58,0x31, /* 000004A0 "p^^^.PX1" */ + 0x33,0x44,0x52,0x53,0x43,0x60,0x7B,0x60, /* 000004A8 "3DRSC`{`" */ + 0x0C,0x00,0x00,0x00,0x80,0x60,0xA0,0x06, /* 000004B0 ".....`.." */ + 0x93,0x60,0x00,0xA4,0x00,0xA1,0x04,0xA4, /* 000004B8 ".`......" */ + 0x0A,0x0F,0x14,0x21,0x5F,0x43,0x52,0x53, /* 000004C0 "...!_CRS" */ + 0x00,0x08,0x42,0x55,0x46,0x30,0x11,0x10, /* 000004C8 "..BUF0.." */ + 0x0A,0x0D,0x47,0x01,0xF8,0x02,0xF8,0x02, /* 000004D0 "..G....." */ + 0x00,0x08,0x22,0x08,0x00,0x79,0x00,0xA4, /* 000004D8 ".."..y.." */ + 0x42,0x55,0x46,0x30,0x5B,0x82,0x40,0x05, /* 000004E0 "BUF0[.@." */ + 0x50,0x58,0x31,0x33,0x08,0x5F,0x41,0x44, /* 000004E8 "PX13._AD" */ + 0x52,0x0C,0x03,0x00,0x01,0x00,0x5B,0x80, /* 000004F0 "R.....[." */ + 0x50,0x31,0x33,0x43,0x02,0x0A,0x5C,0x0A, /* 000004F8 "P13C..\." */ + 0x24,0x5B,0x81,0x33,0x50,0x31,0x33,0x43, /* 00000500 "$[.3P13C" */ + 0x03,0x44,0x52,0x53,0x41,0x20,0x44,0x52, /* 00000508 ".DRSA DR" */ + 0x53,0x42,0x20,0x44,0x52,0x53,0x43,0x20, /* 00000510 "SB DRSC " */ + 0x44,0x52,0x53,0x45,0x20,0x44,0x52,0x53, /* 00000518 "DRSE DRS" */ + 0x46,0x20,0x44,0x52,0x53,0x47,0x20,0x44, /* 00000520 "F DRSG D" */ + 0x52,0x53,0x48,0x20,0x44,0x52,0x53,0x49, /* 00000528 "RSH DRSI" */ + 0x20,0x44,0x52,0x53,0x4A,0x20,0x10,0x4F, /* 00000530 " DRSJ .O" */ + 0x2E,0x5F,0x53,0x42,0x5F,0x5B,0x81,0x24, /* 00000538 "._SB_[.$" */ + 0x2F,0x03,0x50,0x43,0x49,0x30,0x49,0x53, /* 00000540 "/.PCI0IS" */ + 0x41,0x5F,0x50,0x34,0x30,0x43,0x01,0x50, /* 00000548 "A_P40C.P" */ + 0x52,0x51,0x30,0x08,0x50,0x52,0x51,0x31, /* 00000550 "RQ0.PRQ1" */ + 0x08,0x50,0x52,0x51,0x32,0x08,0x50,0x52, /* 00000558 ".PRQ2.PR" */ + 0x51,0x33,0x08,0x5B,0x82,0x4E,0x0A,0x4C, /* 00000560 "Q3.[.N.L" */ + 0x4E,0x4B,0x41,0x08,0x5F,0x48,0x49,0x44, /* 00000568 "NKA._HID" */ + 0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55, /* 00000570 ".A...._U" */ + 0x49,0x44,0x01,0x08,0x5F,0x50,0x52,0x53, /* 00000578 "ID.._PRS" */ + 0x11,0x09,0x0A,0x06,0x23,0xF8,0x1E,0x18, /* 00000580 "....#..." */ + 0x79,0x00,0x14,0x1A,0x5F,0x53,0x54,0x41, /* 00000588 "y..._STA" */ + 0x00,0x70,0x0A,0x0B,0x60,0xA0,0x0D,0x7B, /* 00000590 ".p..`..{" */ + 0x0A,0x80,0x50,0x52,0x51,0x30,0x61,0x70, /* 00000598 "..PRQ0ap" */ + 0x0A,0x09,0x60,0xA4,0x60,0x14,0x11,0x5F, /* 000005A0 "..`.`.._" */ + 0x44,0x49,0x53,0x00,0x7D,0x50,0x52,0x51, /* 000005A8 "DIS.}PRQ" */ + 0x30,0x0A,0x80,0x50,0x52,0x51,0x30,0x14, /* 000005B0 "0..PRQ0." */ + 0x3F,0x5F,0x43,0x52,0x53,0x00,0x08,0x50, /* 000005B8 "?_CRS..P" */ + 0x52,0x52,0x30,0x11,0x09,0x0A,0x06,0x23, /* 000005C0 "RR0....#" */ + 0x02,0x00,0x18,0x79,0x00,0x8B,0x50,0x52, /* 000005C8 "...y..PR" */ + 0x52,0x30,0x01,0x54,0x4D,0x50,0x5F,0x70, /* 000005D0 "R0.TMP_p" */ + 0x50,0x52,0x51,0x30,0x60,0xA0,0x0C,0x95, /* 000005D8 "PRQ0`..." */ + 0x60,0x0A,0x80,0x79,0x01,0x60,0x54,0x4D, /* 000005E0 "`..y.`TM" */ + 0x50,0x5F,0xA1,0x07,0x70,0x00,0x54,0x4D, /* 000005E8 "P_..p.TM" */ + 0x50,0x5F,0xA4,0x50,0x52,0x52,0x30,0x14, /* 000005F0 "P_.PRR0." */ + 0x1B,0x5F,0x53,0x52,0x53,0x01,0x8B,0x68, /* 000005F8 "._SRS..h" */ + 0x01,0x54,0x4D,0x50,0x5F,0x82,0x54,0x4D, /* 00000600 ".TMP_.TM" */ + 0x50,0x5F,0x60,0x76,0x60,0x70,0x60,0x50, /* 00000608 "P_`v`p`P" */ + 0x52,0x51,0x30,0x5B,0x82,0x4F,0x0A,0x4C, /* 00000610 "RQ0[.O.L" */ + 0x4E,0x4B,0x42,0x08,0x5F,0x48,0x49,0x44, /* 00000618 "NKB._HID" */ + 0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55, /* 00000620 ".A...._U" */ + 0x49,0x44,0x0A,0x02,0x08,0x5F,0x50,0x52, /* 00000628 "ID..._PR" */ + 0x53,0x11,0x09,0x0A,0x06,0x23,0xF8,0x1E, /* 00000630 "S....#.." */ + 0x18,0x79,0x00,0x14,0x1A,0x5F,0x53,0x54, /* 00000638 ".y..._ST" */ + 0x41,0x00,0x70,0x0A,0x0B,0x60,0xA0,0x0D, /* 00000640 "A.p..`.." */ + 0x7B,0x0A,0x80,0x50,0x52,0x51,0x31,0x61, /* 00000648 "{..PRQ1a" */ + 0x70,0x0A,0x09,0x60,0xA4,0x60,0x14,0x11, /* 00000650 "p..`.`.." */ + 0x5F,0x44,0x49,0x53,0x00,0x7D,0x50,0x52, /* 00000658 "_DIS.}PR" */ + 0x51,0x31,0x0A,0x80,0x50,0x52,0x51,0x31, /* 00000660 "Q1..PRQ1" */ + 0x14,0x3F,0x5F,0x43,0x52,0x53,0x00,0x08, /* 00000668 ".?_CRS.." */ + 0x50,0x52,0x52,0x30,0x11,0x09,0x0A,0x06, /* 00000670 "PRR0...." */ + 0x23,0x02,0x00,0x18,0x79,0x00,0x8B,0x50, /* 00000678 "#...y..P" */ + 0x52,0x52,0x30,0x01,0x54,0x4D,0x50,0x5F, /* 00000680 "RR0.TMP_" */ + 0x70,0x50,0x52,0x51,0x31,0x60,0xA0,0x0C, /* 00000688 "pPRQ1`.." */ + 0x95,0x60,0x0A,0x80,0x79,0x01,0x60,0x54, /* 00000690 ".`..y.`T" */ + 0x4D,0x50,0x5F,0xA1,0x07,0x70,0x00,0x54, /* 00000698 "MP_..p.T" */ + 0x4D,0x50,0x5F,0xA4,0x50,0x52,0x52,0x30, /* 000006A0 "MP_.PRR0" */ + 0x14,0x1B,0x5F,0x53,0x52,0x53,0x01,0x8B, /* 000006A8 ".._SRS.." */ + 0x68,0x01,0x54,0x4D,0x50,0x5F,0x82,0x54, /* 000006B0 "h.TMP_.T" */ + 0x4D,0x50,0x5F,0x60,0x76,0x60,0x70,0x60, /* 000006B8 "MP_`v`p`" */ + 0x50,0x52,0x51,0x31,0x5B,0x82,0x4F,0x0A, /* 000006C0 "PRQ1[.O." */ + 0x4C,0x4E,0x4B,0x43,0x08,0x5F,0x48,0x49, /* 000006C8 "LNKC._HI" */ + 0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F, /* 000006D0 "D.A...._" */ + 0x55,0x49,0x44,0x0A,0x03,0x08,0x5F,0x50, /* 000006D8 "UID..._P" */ + 0x52,0x53,0x11,0x09,0x0A,0x06,0x23,0xF8, /* 000006E0 "RS....#." */ + 0x1E,0x18,0x79,0x00,0x14,0x1A,0x5F,0x53, /* 000006E8 "..y..._S" */ + 0x54,0x41,0x00,0x70,0x0A,0x0B,0x60,0xA0, /* 000006F0 "TA.p..`." */ + 0x0D,0x7B,0x0A,0x80,0x50,0x52,0x51,0x32, /* 000006F8 ".{..PRQ2" */ + 0x61,0x70,0x0A,0x09,0x60,0xA4,0x60,0x14, /* 00000700 "ap..`.`." */ + 0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,0x50, /* 00000708 "._DIS.}P" */ + 0x52,0x51,0x32,0x0A,0x80,0x50,0x52,0x51, /* 00000710 "RQ2..PRQ" */ + 0x32,0x14,0x3F,0x5F,0x43,0x52,0x53,0x00, /* 00000718 "2.?_CRS." */ + 0x08,0x50,0x52,0x52,0x30,0x11,0x09,0x0A, /* 00000720 ".PRR0..." */ + 0x06,0x23,0x02,0x00,0x18,0x79,0x00,0x8B, /* 00000728 ".#...y.." */ + 0x50,0x52,0x52,0x30,0x01,0x54,0x4D,0x50, /* 00000730 "PRR0.TMP" */ + 0x5F,0x70,0x50,0x52,0x51,0x32,0x60,0xA0, /* 00000738 "_pPRQ2`." */ + 0x0C,0x95,0x60,0x0A,0x80,0x79,0x01,0x60, /* 00000740 "..`..y.`" */ + 0x54,0x4D,0x50,0x5F,0xA1,0x07,0x70,0x00, /* 00000748 "TMP_..p." */ + 0x54,0x4D,0x50,0x5F,0xA4,0x50,0x52,0x52, /* 00000750 "TMP_.PRR" */ + 0x30,0x14,0x1B,0x5F,0x53,0x52,0x53,0x01, /* 00000758 "0.._SRS." */ + 0x8B,0x68,0x01,0x54,0x4D,0x50,0x5F,0x82, /* 00000760 ".h.TMP_." */ + 0x54,0x4D,0x50,0x5F,0x60,0x76,0x60,0x70, /* 00000768 "TMP_`v`p" */ + 0x60,0x50,0x52,0x51,0x32,0x5B,0x82,0x4F, /* 00000770 "`PRQ2[.O" */ + 0x0A,0x4C,0x4E,0x4B,0x44,0x08,0x5F,0x48, /* 00000778 ".LNKD._H" */ + 0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08, /* 00000780 "ID.A...." */ + 0x5F,0x55,0x49,0x44,0x0A,0x04,0x08,0x5F, /* 00000788 "_UID..._" */ + 0x50,0x52,0x53,0x11,0x09,0x0A,0x06,0x23, /* 00000790 "PRS....#" */ + 0xF8,0x1E,0x18,0x79,0x00,0x14,0x1A,0x5F, /* 00000798 "...y..._" */ + 0x53,0x54,0x41,0x00,0x70,0x0A,0x0B,0x60, /* 000007A0 "STA.p..`" */ + 0xA0,0x0D,0x7B,0x0A,0x80,0x50,0x52,0x51, /* 000007A8 "..{..PRQ" */ + 0x33,0x61,0x70,0x0A,0x09,0x60,0xA4,0x60, /* 000007B0 "3ap..`.`" */ + 0x14,0x11,0x5F,0x44,0x49,0x53,0x00,0x7D, /* 000007B8 ".._DIS.}" */ + 0x50,0x52,0x51,0x33,0x0A,0x80,0x50,0x52, /* 000007C0 "PRQ3..PR" */ + 0x51,0x33,0x14,0x3F,0x5F,0x43,0x52,0x53, /* 000007C8 "Q3.?_CRS" */ + 0x00,0x08,0x50,0x52,0x52,0x30,0x11,0x09, /* 000007D0 "..PRR0.." */ + 0x0A,0x06,0x23,0x02,0x00,0x18,0x79,0x00, /* 000007D8 "..#...y." */ + 0x8B,0x50,0x52,0x52,0x30,0x01,0x54,0x4D, /* 000007E0 ".PRR0.TM" */ + 0x50,0x5F,0x70,0x50,0x52,0x51,0x33,0x60, /* 000007E8 "P_pPRQ3`" */ + 0xA0,0x0C,0x95,0x60,0x0A,0x80,0x79,0x01, /* 000007F0 "...`..y." */ + 0x60,0x54,0x4D,0x50,0x5F,0xA1,0x07,0x70, /* 000007F8 "`TMP_..p" */ + 0x00,0x54,0x4D,0x50,0x5F,0xA4,0x50,0x52, /* 00000800 ".TMP_.PR" */ + 0x52,0x30,0x14,0x1B,0x5F,0x53,0x52,0x53, /* 00000808 "R0.._SRS" */ + 0x01,0x8B,0x68,0x01,0x54,0x4D,0x50,0x5F, /* 00000810 "..h.TMP_" */ + 0x82,0x54,0x4D,0x50,0x5F,0x60,0x76,0x60, /* 00000818 ".TMP_`v`" */ + 0x70,0x60,0x50,0x52,0x51,0x33,0x08,0x5F, /* 00000820 "p`PRQ3._" */ + 0x53,0x35,0x5F,0x12,0x06,0x04,0x00,0x00, /* 00000828 "S5_....." */ + 0x00,0x00, +}; --- acpica-unix-20081204.orig/debian/control +++ acpica-unix-20081204/debian/control @@ -0,0 +1,16 @@ +Source: acpica-unix +Section: devel +Priority: optional +Maintainer: Mattia Dongili +Build-Depends: debhelper (>= 4.0.0), flex, bison, quilt +Standards-Version: 3.7.2 + +Package: iasl +Architecture: any +Depends: ${shlibs:Depends} +Description: Intel ASL compiler/decompiler + iASL compiles ASL (ACPI Source Language) into AML (ACPI Machine + Language). This AML is suitable for inclusion as a DSDT in sytem + firmware. It also can disassemble AML, for debugging purposes. + . + Homepage: http://developer.intel.com/technology/iapc/acpi/ --- acpica-unix-20081204.orig/debian/patches/series +++ acpica-unix-20081204/debian/patches/series @@ -0,0 +1,5 @@ +iasl_segfault.patch +fix_ftbfs_debian-kfreebsd.patch +big_endian.patch +unaligned.patch +no-strict-aliasing.diff --- acpica-unix-20081204.orig/debian/patches/iasl_segfault.patch +++ acpica-unix-20081204/debian/patches/iasl_segfault.patch @@ -0,0 +1,131 @@ +--- ./include/platform/aclinux.h.orig 2008-12-04 17:06:01.000000000 +0000 ++++ ./include/platform/aclinux.h 2008-12-24 17:01:45.000000000 +0000 +@@ -149,8 +149,9 @@ + #include + #include + #include ++#include + +-#if defined(__ia64__) || defined(__x86_64__) ++#if defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) + #define ACPI_MACHINE_WIDTH 64 + #define COMPILER_DEPENDENT_INT64 long + #define COMPILER_DEPENDENT_UINT64 unsigned long +@@ -161,6 +162,10 @@ + #define ACPI_USE_NATIVE_DIVIDE + #endif + ++#if __BYTE_ORDER == __BIG_ENDIAN ++#define ACPI_BIG_ENDIAN ++#endif ++ + #ifndef __cdecl + #define __cdecl + #endif +--- ./include/actypes.h.orig 2008-12-04 17:06:00.000000000 +0000 ++++ ./include/actypes.h 2008-12-24 17:00:43.000000000 +0000 +@@ -276,6 +276,7 @@ + #error unknown ACPI_MACHINE_WIDTH + #endif + ++#define ACPI_NO_INTEGER64_SUPPORT + + /******************************************************************************* + * +--- ./tools/acpiexec/Makefile.orig 2008-12-04 17:06:08.000000000 +0000 ++++ ./tools/acpiexec/Makefile 2008-12-24 17:00:43.000000000 +0000 +@@ -131,8 +131,12 @@ + ../../osunixxf.c + + +-CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include ++MK_CFLAGS = -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED \ ++ -I../../include ++CFLAGS = -Wall -Wstrict-prototypes -O2 -g + ++%.o: %.c ++ $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< + + acpiexec : $(patsubst %.c,%.o, $(SRCS)) + $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -lrt -lpthread -o $(PROG) +--- ./tools/acpisrc/Makefile.orig 2008-12-04 17:06:08.000000000 +0000 ++++ ./tools/acpisrc/Makefile 2008-12-24 17:00:43.000000000 +0000 +@@ -4,8 +4,11 @@ + SRCS= ascase.c asconvrt.c asfile.c asmain.c asremove.c astable.c \ + asutils.c osunixdir.c ../../common/getopt.c + +-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include ++MK_CFLAGS= -DACPI_APPLICATION -I../../include ++CFLAGS= -Wall -Wstrict-prototypes -O2 + ++%.o: %.c ++ $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< + + aslmain : $(patsubst %.c,%.o, $(SRCS)) + $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) +--- ./tools/acpixtract/Makefile.orig 2008-12-04 17:06:09.000000000 +0000 ++++ ./tools/acpixtract/Makefile 2008-12-24 17:00:43.000000000 +0000 +@@ -3,8 +3,11 @@ + PROG= acpixtract + SRCS= acpixtract.c + +-CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include ++MK_CFLAGS= -DACPI_APPLICATION -I../../include ++CFLAGS= -Wall -Wstrict-prototypes -O2 + ++%.o: %.c ++ $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< + + acpixtract : $(patsubst %.c,%.o, $(SRCS)) + $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) +--- ./debian/rules.orig 2008-12-24 16:57:19.000000000 +0000 ++++ ./debian/rules 2008-12-24 17:00:43.000000000 +0000 +@@ -32,7 +32,7 @@ + + # Commands to compile the package. + cd compiler && \ +- $(MAKE) && \ ++ $(MAKE) CFLAGS="$(CFLAGS)" && \ + cd .. + + touch build-stamp +--- ./compiler/Makefile.orig 2008-12-04 17:05:49.000000000 +0000 ++++ ./compiler/Makefile 2008-12-24 17:00:43.000000000 +0000 +@@ -91,7 +91,8 @@ + ../osunixxf.c + + NOMAN= YES +-CFLAGS+= -Wall -O2 -Wstrict-prototypes -D_LINUX -DACPI_ASL_COMPILER -I../include ++MK_CFLAGS = -DACPI_ASL_COMPILER -I../include ++CFLAGS= -Wall -Wstrict-prototypes -O2 + + #YACC= yacc + YACC= bison +@@ -107,6 +108,9 @@ + + LDFLAGS=-lpthread -lrt + ++%.o: %.c ++ $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< ++ + aslmain : $(patsubst %.c,%.o, $(SRCS)) + $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) \ + $(LOADLIBES) $(LDLIBS) -o iasl +--- ./compiler/aslopcodes.c.orig 2008-12-04 17:05:48.000000000 +0000 ++++ ./compiler/aslopcodes.c 2008-12-24 17:00:43.000000000 +0000 +@@ -328,6 +328,7 @@ + } + break; + ++#ifndef ACPI_NO_INTEGER64_SUPPORT + case ACPI_INTEGER_MAX: + + /* Check for table integer width (32 or 64) */ +@@ -340,6 +341,7 @@ + return 1; + } + break; ++#endif + + default: + break; --- acpica-unix-20081204.orig/debian/patches/unaligned.patch +++ acpica-unix-20081204/debian/patches/unaligned.patch @@ -0,0 +1,42 @@ +--- acpica-unix-20060912.orig/include/actypes.h ++++ acpica-unix-20060912/include/actypes.h +@@ -205,6 +205,19 @@ + + /*! [End] no source code translation !*/ + ++/* ++ * In the case of the Itanium Processor Family (IPF), the hardware does not ++ * support misaligned memory transfers. Set the MISALIGNMENT_NOT_SUPPORTED flag ++ * to indicate that special precautions must be taken to avoid alignment faults. ++ * (IA64 or ia64 is currently used by existing compilers to indicate IPF.) ++ * ++ * Note: EM64T and other X86-64 processors support misaligned transfers, ++ * so there is no need to define this flag. ++ */ ++#if defined (__IA64__) || defined (__ia64__) | defined(__alpha__) || defined(__sparc__) || defined(__hppa__) ++#define ACPI_MISALIGNMENT_NOT_SUPPORTED ++#endif ++ + + /******************************************************************************* + * +@@ -234,19 +247,6 @@ + + #define ACPI_USE_NATIVE_DIVIDE /* Has native 64-bit integer support */ + +-/* +- * In the case of the Itanium Processor Family (IPF), the hardware does not +- * support misaligned memory transfers. Set the MISALIGNMENT_NOT_SUPPORTED flag +- * to indicate that special precautions must be taken to avoid alignment faults. +- * (IA64 or ia64 is currently used by existing compilers to indicate IPF.) +- * +- * Note: EM64T and other X86-64 processors support misaligned transfers, +- * so there is no need to define this flag. +- */ +-#if defined (__IA64__) || defined (__ia64__) +-#define ACPI_MISALIGNMENT_NOT_SUPPORTED +-#endif +- + + /******************************************************************************* + * --- acpica-unix-20081204.orig/debian/patches/fix_ftbfs_debian-kfreebsd.patch +++ acpica-unix-20081204/debian/patches/fix_ftbfs_debian-kfreebsd.patch @@ -0,0 +1,33 @@ +Package: acpica-unix +Severity: important +Version: 20060912-2 +Tags: patch + + +Hi, + +the current version fails to build on GNU/kFreeBSD. + +It needs small tweak to define uintptr_t, see bellow. + +It would also be nice if you can ask upstream +to include this change. + +Thanks in advance + + Petr + + +--- ./include/platform/acenv.h~ 2008-12-04 17:06:01.000000000 +0000 ++++ ./include/platform/acenv.h 2008-12-24 17:10:13.000000000 +0000 +@@ -183,6 +183,10 @@ + + /*! [Begin] no source code translation */ + ++#if defined(__GLIBC__) ++#include ++#endif ++ + /****************************************************************************** + * + * Host configuration files. The compiler configuration files are included --- acpica-unix-20081204.orig/debian/patches/no-strict-aliasing.diff +++ acpica-unix-20081204/debian/patches/no-strict-aliasing.diff @@ -0,0 +1,11 @@ +--- ./compiler/Makefile~ 2008-12-24 18:59:05.000000000 +0100 ++++ ./compiler/Makefile 2008-12-24 19:00:16.000000000 +0100 +@@ -92,7 +92,7 @@ + + NOMAN= YES + MK_CFLAGS = -DACPI_ASL_COMPILER -I../include +-CFLAGS= -Wall -Wstrict-prototypes -O2 ++CFLAGS= -Wall -Wstrict-prototypes -O2 -fno-strict-aliasing + + #YACC= yacc + YACC= bison --- acpica-unix-20081204.orig/debian/patches/big_endian.patch +++ acpica-unix-20081204/debian/patches/big_endian.patch @@ -0,0 +1,1434 @@ +--- ./include/acmacros.h.orig 2008-12-04 17:05:59.000000000 +0000 ++++ ./include/acmacros.h 2008-12-24 17:26:09.000000000 +0000 +@@ -246,7 +246,8 @@ + + /* 32-bit source, 16/32/64 destination */ + +-#define ACPI_MOVE_32_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ ++#define ACPI_MOVE_32_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[3];\ ++ (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[2];} + + #define ACPI_MOVE_32_TO_32(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\ + (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];\ +@@ -257,8 +258,12 @@ + + /* 64-bit source, 16/32/64 destination */ + +-#define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ +-#define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32 */ ++#define ACPI_MOVE_64_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[7];\ ++ (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[6];} ++#define ACPI_MOVE_64_TO_32(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[7];\ ++ (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[6];\ ++ (( UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[5];\ ++ (( UINT8 *)(void *)(d))[3] = ((UINT8 *)(void *)(s))[4];} + #define ACPI_MOVE_64_TO_64(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\ + (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];\ + (( UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[2];\ +--- ./compiler/aslcodegen.c.orig 2008-12-04 17:05:46.000000000 +0000 ++++ ./compiler/aslcodegen.c 2008-12-24 17:12:42.000000000 +0000 +@@ -311,16 +311,12 @@ + ACPI_PARSE_OBJECT *Op) + { + UINT8 PkgLenFirstByte; +- UINT32 i; +- union { +- UINT16 Opcode; +- UINT8 OpcodeBytes[2]; +- } Aml; +- union { +- UINT32 Len; +- UINT8 LenBytes[4]; +- } PkgLen; +- ++ UINT8 Byte; ++ UINT16 Word; ++ UINT32 DWord; ++ UINT64 QWord; ++ UINT16 AmlOpcode; ++ UINT32 PkgLen; + + /* We expect some DEFAULT_ARGs, just ignore them */ + +@@ -343,45 +339,46 @@ + + /* Special opcodes for within a field definition */ + +- Aml.Opcode = 0x00; ++ AmlOpcode = 0x00; + break; + + case AML_INT_ACCESSFIELD_OP: + +- Aml.Opcode = 0x01; ++ AmlOpcode = 0x01; + break; + + default: +- Aml.Opcode = Op->Asl.AmlOpcode; ++ AmlOpcode = Op->Asl.AmlOpcode; + break; + } + + +- switch (Aml.Opcode) ++ switch (AmlOpcode) + { + case AML_PACKAGE_LENGTH: + + /* Value is the length to be encoded (Used in field definitions) */ + +- PkgLen.Len = (UINT32) Op->Asl.Value.Integer; ++ PkgLen = (UINT32) Op->Asl.Value.Integer; + break; + + default: + + /* Check for two-byte opcode */ + +- if (Aml.Opcode > 0x00FF) ++ if (AmlOpcode > 0x00FF) + { + /* Write the high byte first */ +- +- CgLocalWriteAmlData (Op, &Aml.OpcodeBytes[1], 1); ++ Byte = ACPI_HIBYTE(AmlOpcode); ++ CgLocalWriteAmlData (Op, &Byte, 1); + } + +- CgLocalWriteAmlData (Op, &Aml.OpcodeBytes[0], 1); ++ Byte = ACPI_LOBYTE(AmlOpcode); ++ CgLocalWriteAmlData (Op, &Byte, 1); + + /* Subtreelength doesn't include length of package length bytes */ + +- PkgLen.Len = Op->Asl.AmlSubtreeLength + Op->Asl.AmlPkgLenBytes; ++ PkgLen = Op->Asl.AmlSubtreeLength + Op->Asl.AmlPkgLenBytes; + break; + } + +@@ -392,8 +389,8 @@ + if (Op->Asl.AmlPkgLenBytes == 1) + { + /* Simplest case -- no bytes to follow, just write the count */ +- +- CgLocalWriteAmlData (Op, &PkgLen.LenBytes[0], 1); ++ Byte = ACPI_LOBYTE(PkgLen); ++ CgLocalWriteAmlData (Op, &Byte, 1); + } + else if (Op->Asl.AmlPkgLenBytes != 0) + { +@@ -403,7 +400,7 @@ + */ + PkgLenFirstByte = (UINT8) + (((UINT32) (Op->Asl.AmlPkgLenBytes - 1) << 6) | +- (PkgLen.LenBytes[0] & 0x0F)); ++ (PkgLen & 0x0F)); + + CgLocalWriteAmlData (Op, &PkgLenFirstByte, 1); + +@@ -411,37 +408,44 @@ + * Shift the length over by the 4 bits we just stuffed + * in the first byte + */ +- PkgLen.Len >>= 4; ++ PkgLen >>= 4; + + /* Now we can write the remaining bytes - either 1, 2, or 3 bytes */ +- +- for (i = 0; i < (UINT32) (Op->Asl.AmlPkgLenBytes - 1); i++) ++ Byte = ACPI_LOBYTE(PkgLen); ++ CgLocalWriteAmlData (Op, &Byte, 1); ++ if (Op->Asl.AmlPkgLenBytes >= 3) ++ { ++ Byte = ACPI_HIBYTE(PkgLen); ++ CgLocalWriteAmlData (Op, &Byte, 1); ++ } ++ if (Op->Asl.AmlPkgLenBytes >= 4) + { +- CgLocalWriteAmlData (Op, &PkgLen.LenBytes[i], 1); ++ Byte = ACPI_LOBYTE(ACPI_HIWORD(PkgLen)); ++ CgLocalWriteAmlData (Op, &Byte, 1); + } + } + } + +- switch (Aml.Opcode) ++ switch (AmlOpcode) + { + case AML_BYTE_OP: +- +- CgLocalWriteAmlData (Op, &Op->Asl.Value.Integer, 1); ++ Byte = (UINT8) Op->Asl.Value.Integer; ++ CgLocalWriteAmlData (Op, &Byte, 1); + break; + + case AML_WORD_OP: +- +- CgLocalWriteAmlData (Op, &Op->Asl.Value.Integer, 2); ++ ACPI_MOVE_32_TO_16(&Word, &Op->Asl.Value.Integer); ++ CgLocalWriteAmlData (Op, &Word, 2); + break; + + case AML_DWORD_OP: +- +- CgLocalWriteAmlData (Op, &Op->Asl.Value.Integer, 4); ++ ACPI_MOVE_32_TO_32(&DWord, &Op->Asl.Value.Integer); ++ CgLocalWriteAmlData (Op, &DWord, 4); + break; + + case AML_QWORD_OP: +- +- CgLocalWriteAmlData (Op, &Op->Asl.Value.Integer, 8); ++ ACPI_MOVE_32_TO_64(&QWord, &Op->Asl.Value.Integer); ++ CgLocalWriteAmlData (Op, &QWord, 8); + break; + + case AML_STRING_OP: +@@ -473,6 +477,7 @@ + ACPI_PARSE_OBJECT *Op) + { + ACPI_PARSE_OBJECT *Child; ++ UINT32 DWord; + + + /* AML filename */ +@@ -509,19 +514,19 @@ + /* OEM Revision */ + + Child = Child->Asl.Next; +- TableHeader.OemRevision = (UINT32) Child->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&TableHeader.OemRevision, &Child->Asl.Value.Integer); + + /* Compiler ID */ + + strncpy (TableHeader.AslCompilerId, CompilerCreatorId, 4); + + /* Compiler version */ +- +- TableHeader.AslCompilerRevision = CompilerCreatorRevision; ++ DWord = CompilerCreatorRevision; ++ ACPI_MOVE_32_TO_32(&TableHeader.AslCompilerRevision, &DWord); + + /* Table length. Checksum zero for now, will rewrite later */ + +- TableHeader.Length = Gbl_TableLength; ++ ACPI_MOVE_32_TO_32(&TableHeader.Length, &Gbl_TableLength); + TableHeader.Checksum = 0; + + CgLocalWriteAmlData (Op, &TableHeader, sizeof (ACPI_TABLE_HEADER)); +@@ -585,7 +590,10 @@ + ACPI_PARSE_OBJECT *Op) + { + ASL_RESOURCE_NODE *Rnode; +- ++ UINT8 Byte; ++ UINT16 Word; ++ UINT32 DWord; ++ UINT64 QWord; + + /* Always check for DEFAULT_ARG and other "Noop" nodes */ + /* TBD: this may not be the best place for this check */ +@@ -603,13 +611,24 @@ + switch (Op->Asl.AmlOpcode) + { + case AML_RAW_DATA_BYTE: ++ Byte = (UINT8) Op->Asl.Value.Integer; ++ CgLocalWriteAmlData (Op, &Byte, 1); ++ return; ++ + case AML_RAW_DATA_WORD: +- case AML_RAW_DATA_DWORD: +- case AML_RAW_DATA_QWORD: ++ ACPI_MOVE_32_TO_16(&Word, &Op->Asl.Value.Integer); ++ CgLocalWriteAmlData (Op, &Word, 2); ++ return; + +- CgLocalWriteAmlData (Op, &Op->Asl.Value.Integer, Op->Asl.AmlLength); ++ case AML_RAW_DATA_DWORD: ++ ACPI_MOVE_32_TO_32(&Word, &Op->Asl.Value.Integer); ++ CgLocalWriteAmlData (Op, &DWord, 4); + return; + ++ case AML_RAW_DATA_QWORD: ++ ACPI_MOVE_32_TO_64(&QWord, &Op->Asl.Value.Integer); ++ CgLocalWriteAmlData (Op, &QWord, 8); ++ return; + + case AML_RAW_DATA_BUFFER: + +--- ./compiler/aslrestype1.c.orig 2008-12-04 17:05:49.000000000 +0000 ++++ ./compiler/aslrestype1.c 2008-12-24 17:12:42.000000000 +0000 +@@ -349,8 +349,7 @@ + { + case 0: /* Base Address */ + +- Descriptor->FixedIo.Address = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->FixedIo.Address, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_BASEADDRESS, + CurrentByteOffset + ASL_RESDESC_OFFSET (FixedIo.Address)); + break; +@@ -428,16 +427,14 @@ + + case 1: /* Min Address */ + +- Descriptor->Io.Minimum = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Io.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Minimum)); + break; + + case 2: /* Max Address */ + +- Descriptor->Io.Maximum = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Io.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Io.Maximum)); + break; +@@ -594,7 +591,7 @@ + + /* Now we can set the channel mask */ + +- Descriptor->Irq.IrqMask = IrqMask; ++ ACPI_MOVE_16_TO_16(&Descriptor->Irq.IrqMask, &IrqMask); + return (Rnode); + } + +@@ -694,7 +691,7 @@ + + /* Now we can set the interrupt mask */ + +- Descriptor->Irq.IrqMask = IrqMask; ++ ACPI_MOVE_16_TO_16(&Descriptor->Irq.IrqMask, &IrqMask); + return (Rnode); + } + +@@ -721,6 +718,7 @@ + AML_RESOURCE *Descriptor; + ACPI_PARSE_OBJECT *InitializerOp; + ASL_RESOURCE_NODE *Rnode; ++ UINT16 ResourceLength; + UINT32 i; + + +@@ -729,7 +727,8 @@ + + Descriptor = Rnode->Buffer; + Descriptor->Memory24.DescriptorType = ACPI_RESOURCE_NAME_MEMORY24; +- Descriptor->Memory24.ResourceLength = 9; ++ ResourceLength = 9; ++ ACPI_MOVE_16_TO_16(&Descriptor->Memory24.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -746,28 +745,28 @@ + + case 1: /* Min Address */ + +- Descriptor->Memory24.Minimum = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Memory24.Minimum, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Minimum)); + break; + + case 2: /* Max Address */ + +- Descriptor->Memory24.Maximum = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Memory24.Maximum, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Maximum)); + break; + + case 3: /* Alignment */ + +- Descriptor->Memory24.Alignment = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Memory24.Alignment, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_ALIGNMENT, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.Alignment)); + break; + + case 4: /* Length */ + +- Descriptor->Memory24.AddressLength = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Memory24.AddressLength, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory24.AddressLength)); + break; +@@ -812,6 +811,7 @@ + AML_RESOURCE *Descriptor; + ACPI_PARSE_OBJECT *InitializerOp; + ASL_RESOURCE_NODE *Rnode; ++ UINT16 ResourceLength; + UINT32 i; + + +@@ -820,7 +820,8 @@ + + Descriptor = Rnode->Buffer; + Descriptor->Memory32.DescriptorType = ACPI_RESOURCE_NAME_MEMORY32; +- Descriptor->Memory32.ResourceLength = 17; ++ ResourceLength = 17; ++ ACPI_MOVE_16_TO_16(&Descriptor->Memory32.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -837,28 +838,28 @@ + + case 1: /* Min Address */ + +- Descriptor->Memory32.Minimum = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Memory32.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Minimum)); + break; + + case 2: /* Max Address */ + +- Descriptor->Memory32.Maximum = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Memory32.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Maximum)); + break; + + case 3: /* Alignment */ + +- Descriptor->Memory32.Alignment = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Memory32.Alignment, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_ALIGNMENT, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.Alignment)); + break; + + case 4: /* Length */ + +- Descriptor->Memory32.AddressLength = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Memory32.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Memory32.AddressLength)); + break; +@@ -903,6 +904,7 @@ + AML_RESOURCE *Descriptor; + ACPI_PARSE_OBJECT *InitializerOp; + ASL_RESOURCE_NODE *Rnode; ++ UINT16 ResourceLength; + UINT32 i; + + +@@ -911,7 +913,8 @@ + + Descriptor = Rnode->Buffer; + Descriptor->FixedMemory32.DescriptorType = ACPI_RESOURCE_NAME_FIXED_MEMORY32; +- Descriptor->FixedMemory32.ResourceLength = 9; ++ ResourceLength = 9; ++ ACPI_MOVE_16_TO_16(&Descriptor->FixedMemory32.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -928,14 +931,14 @@ + + case 1: /* Address */ + +- Descriptor->FixedMemory32.Address = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->FixedMemory32.Address, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_BASEADDRESS, + CurrentByteOffset + ASL_RESDESC_OFFSET (FixedMemory32.Address)); + break; + + case 2: /* Length */ + +- Descriptor->FixedMemory32.AddressLength = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->FixedMemory32.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (FixedMemory32.AddressLength)); + break; +--- ./compiler/aslrestype2.c.orig 2008-12-04 17:05:49.000000000 +0000 ++++ ./compiler/aslrestype2.c 2008-12-24 17:12:42.000000000 +0000 +@@ -186,7 +186,7 @@ + UINT8 *OptionalFields; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; +- ++ UINT16 ResourceLength; + + InitializerOp = Op->Asl.Child; + StringLength = RsGetStringDataLength (InitializerOp); +@@ -203,9 +203,10 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS32); +- Descriptor->Address32.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS32) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS32) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -248,40 +249,35 @@ + + case 5: /* Address Granularity */ + +- Descriptor->Address32.Granularity = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Granularity)); + break; + + case 6: /* Address Min */ + +- Descriptor->Address32.Minimum = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum)); + break; + + case 7: /* Address Max */ + +- Descriptor->Address32.Maximum = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Maximum)); + break; + + case 8: /* Translation Offset */ + +- Descriptor->Address32.TranslationOffset = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.TranslationOffset)); + break; + + case 9: /* Address Length */ + +- Descriptor->Address32.AddressLength = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.AddressLength)); + break; +@@ -308,8 +304,8 @@ + { + /* Found a valid ResourceSource */ + +- Descriptor->Address32.ResourceLength = (UINT16) +- (Descriptor->Address32.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address32.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -399,6 +395,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -416,10 +413,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS32); +- Descriptor->Address32.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS32) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); +- ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS32) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -469,40 +465,35 @@ + + case 6: /* Address Granularity */ + +- Descriptor->Address32.Granularity = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->Address32.Minimum = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->Address32.Maximum = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->Address32.TranslationOffset = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->Address32.AddressLength = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.AddressLength)); + break; +@@ -525,8 +516,8 @@ + { + if (StringLength) + { +- Descriptor->Address32.ResourceLength = (UINT16) +- (Descriptor->Address32.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address32.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -617,6 +608,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -633,9 +625,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS32); +- Descriptor->Address32.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS32) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS32) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -683,40 +675,35 @@ + + case 6: /* Address Granularity */ + +- Descriptor->Address32.Granularity = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->Address32.Minimum = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->Address32.Maximum = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->Address32.TranslationOffset = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->Address32.AddressLength = +- (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Descriptor->Address32.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address32.AddressLength)); + break; +@@ -739,8 +726,8 @@ + { + if (StringLength) + { +- Descriptor->Address32.ResourceLength = (UINT16) +- (Descriptor->Address32.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address32.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address32.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -814,6 +801,7 @@ + ASL_RESOURCE_NODE *Rnode; + UINT16 StringLength = 0; + UINT32 i; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -827,9 +815,9 @@ + Descriptor->ExtAddress64.ResourceType = ACPI_ADDRESS_TYPE_IO_RANGE; + Descriptor->ExtAddress64.RevisionID = AML_RESOURCE_EXTENDED_ADDRESS_REVISION; + +- Descriptor->ExtAddress64.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->ExtAddress64.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -872,42 +860,42 @@ + + case 5: /* Address Granularity */ + +- Descriptor->ExtAddress64.Granularity = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Granularity)); + break; + + case 6: /* Address Min */ + +- Descriptor->ExtAddress64.Minimum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Minimum)); + break; + + case 7: /* Address Max */ + +- Descriptor->ExtAddress64.Maximum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Maximum, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Maximum)); + break; + + case 8: /* Translation Offset */ + +- Descriptor->ExtAddress64.TranslationOffset = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TranslationOffset)); + break; + + case 9: /* Address Length */ + +- Descriptor->ExtAddress64.AddressLength = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.AddressLength)); + break; + + case 10: /* Type-Specific Attributes */ + +- Descriptor->ExtAddress64.TypeSpecific = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.TypeSpecific, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TYPESPECIFICATTRIBUTES, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TypeSpecific)); + break; +@@ -969,6 +957,7 @@ + ASL_RESOURCE_NODE *Rnode; + UINT16 StringLength = 0; + UINT32 i; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -982,9 +971,9 @@ + Descriptor->ExtAddress64.ResourceType = ACPI_ADDRESS_TYPE_MEMORY_RANGE; + Descriptor->ExtAddress64.RevisionID = AML_RESOURCE_EXTENDED_ADDRESS_REVISION; + +- Descriptor->ExtAddress64.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->ExtAddress64.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -1034,42 +1023,42 @@ + + case 6: /* Address Granularity */ + +- Descriptor->ExtAddress64.Granularity = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->ExtAddress64.Minimum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->ExtAddress64.Maximum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->ExtAddress64.TranslationOffset = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->ExtAddress64.AddressLength = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.AddressLength)); + break; + + case 11: /* Type-Specific Attributes */ + +- Descriptor->ExtAddress64.TypeSpecific = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.TypeSpecific, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TYPESPECIFICATTRIBUTES, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TypeSpecific)); + break; +@@ -1132,6 +1121,7 @@ + ASL_RESOURCE_NODE *Rnode; + UINT16 StringLength = 0; + UINT32 i; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -1144,9 +1134,9 @@ + Descriptor->ExtAddress64.DescriptorType = ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64; + Descriptor->ExtAddress64.RevisionID = AML_RESOURCE_EXTENDED_ADDRESS_REVISION; + +- Descriptor->ExtAddress64.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_EXTENDED_ADDRESS64) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->ExtAddress64.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -1194,42 +1184,42 @@ + + case 6: /* Address Granularity */ + +- Descriptor->ExtAddress64.Granularity = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Granularity, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->ExtAddress64.Minimum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->ExtAddress64.Maximum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->ExtAddress64.TranslationOffset = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.TranslationOffset, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->ExtAddress64.AddressLength = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.AddressLength)); + break; + + case 11: /* Type-Specific Attributes */ + +- Descriptor->ExtAddress64.TypeSpecific = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->ExtAddress64.TypeSpecific, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TYPESPECIFICATTRIBUTES, + CurrentByteOffset + ASL_RESDESC_OFFSET (ExtAddress64.TypeSpecific)); + break; +@@ -1280,6 +1270,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -1297,9 +1288,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS64); +- Descriptor->Address64.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS64) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS64) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -1342,35 +1333,35 @@ + + case 5: /* Address Granularity */ + +- Descriptor->Address64.Granularity = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Granularity)); + break; + + case 6: /* Address Min */ + +- Descriptor->Address64.Minimum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Minimum)); + break; + + case 7: /* Address Max */ + +- Descriptor->Address64.Maximum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Maximum)); + break; + + case 8: /* Translation Offset */ + +- Descriptor->Address64.TranslationOffset = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.TranslationOffset)); + break; + + case 9: /* Address Length */ + +- Descriptor->Address64.AddressLength = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.AddressLength)); + break; +@@ -1393,8 +1384,8 @@ + { + if (StringLength) + { +- Descriptor->Address64.ResourceLength = (UINT16) +- (Descriptor->Address64.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address64.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -1484,6 +1475,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -1501,9 +1493,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS64); +- Descriptor->Address64.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS64) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS64) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -1553,35 +1545,35 @@ + + case 6: /* Address Granularity */ + +- Descriptor->Address64.Granularity = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->Address64.Minimum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->Address64.Maximum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->Address64.TranslationOffset = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->Address64.AddressLength = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.AddressLength)); + break; +@@ -1604,8 +1596,8 @@ + { + if (StringLength) + { +- Descriptor->Address64.ResourceLength = (UINT16) +- (Descriptor->Address64.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address64.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -1696,6 +1688,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -1712,9 +1705,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS64); +- Descriptor->Address64.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS64) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS64) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -1762,35 +1755,35 @@ + + case 6: /* Address Granularity */ + +- Descriptor->Address64.Granularity = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->Address64.Minimum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->Address64.Maximum = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->Address64.TranslationOffset = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->Address64.AddressLength = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->Address64.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address64.AddressLength)); + break; +@@ -1813,8 +1806,8 @@ + { + if (StringLength) + { +- Descriptor->Address64.ResourceLength = (UINT16) +- (Descriptor->Address64.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address64.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address64.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -1890,6 +1883,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -1907,9 +1901,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS16); +- Descriptor->Address16.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS16) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS16) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -1952,35 +1946,35 @@ + + case 5: /* Address Granularity */ + +- Descriptor->Address16.Granularity = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Granularity)); + break; + + case 6: /* Address Min */ + +- Descriptor->Address16.Minimum = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Minimum)); + break; + + case 7: /* Address Max */ + +- Descriptor->Address16.Maximum = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Maximum)); + break; + + case 8: /* Translation Offset */ + +- Descriptor->Address16.TranslationOffset = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.TranslationOffset)); + break; + + case 9: /* Address Length */ + +- Descriptor->Address16.AddressLength = (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.AddressLength)); + break; +@@ -2003,8 +1997,8 @@ + { + if (StringLength) + { +- Descriptor->Address16.ResourceLength = (UINT16) +- (Descriptor->Address16.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address16.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -2094,6 +2088,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -2111,9 +2106,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS16); +- Descriptor->Address16.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS16) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS16) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -2149,40 +2144,35 @@ + + case 4: /* Address Granularity */ + +- Descriptor->Address16.Granularity = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Granularity)); + break; + + case 5: /* Min Address */ + +- Descriptor->Address16.Minimum = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Minimum)); + break; + + case 6: /* Max Address */ + +- Descriptor->Address16.Maximum = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Maximum)); + break; + + case 7: /* Translation Offset */ + +- Descriptor->Address16.TranslationOffset = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.TranslationOffset, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.TranslationOffset)); + break; + + case 8: /* Address Length */ + +- Descriptor->Address16.AddressLength = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.AddressLength)); + break; +@@ -2205,8 +2195,8 @@ + { + if (StringLength) + { +- Descriptor->Address16.ResourceLength = (UINT16) +- (Descriptor->Address16.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address16.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -2282,6 +2272,7 @@ + UINT32 OptionIndex = 0; + UINT32 i; + BOOLEAN ResSourceIndex = FALSE; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -2298,9 +2289,9 @@ + * optional fields present + */ + OptionalFields = ((UINT8 *) Descriptor) + sizeof (AML_RESOURCE_ADDRESS16); +- Descriptor->Address16.ResourceLength = (UINT16) +- (sizeof (AML_RESOURCE_ADDRESS16) - +- sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ResourceLength = (UINT16) (sizeof (AML_RESOURCE_ADDRESS16) - ++ sizeof (AML_RESOURCE_LARGE_HEADER)); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -2348,40 +2339,35 @@ + + case 6: /* Address Granularity */ + +- Descriptor->Address16.Granularity = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Granularity, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_GRANULARITY, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Granularity)); + break; + + case 7: /* Min Address */ + +- Descriptor->Address16.Minimum = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Minimum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MINADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Minimum)); + break; + + case 8: /* Max Address */ + +- Descriptor->Address16.Maximum = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.Maximum, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_MAXADDR, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.Maximum)); + break; + + case 9: /* Translation Offset */ + +- Descriptor->Address16.TranslationOffset = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.TranslationOffset, InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_TRANSLATION, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.TranslationOffset)); + break; + + case 10: /* Address Length */ + +- Descriptor->Address16.AddressLength = +- (UINT16) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_16(&Descriptor->Address16.AddressLength, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_LENGTH, + CurrentByteOffset + ASL_RESDESC_OFFSET (Address16.AddressLength)); + break; +@@ -2404,8 +2390,8 @@ + { + if (StringLength) + { +- Descriptor->Address16.ResourceLength = (UINT16) +- (Descriptor->Address16.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->Address16.ResourceLength + StringLength); ++ ACPI_MOVE_16_TO_16(&Descriptor->Address16.ResourceLength, &ResourceLength); + + strcpy ((char *) + &OptionalFields[OptionIndex], +@@ -2483,6 +2469,7 @@ + BOOLEAN HasResSourceIndex = FALSE; + UINT8 ResSourceIndex = 0; + UINT8 *ResSourceString = NULL; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -2523,7 +2510,8 @@ + * Initial descriptor length -- may be enlarged if there are + * optional fields present + */ +- Descriptor->ExtendedIrq.ResourceLength = 2; /* Flags and table length byte */ ++ ResourceLength = 2; /* Flags and table length byte */ ++ ACPI_MOVE_16_TO_16(&Descriptor->ExtendedIrq.ResourceLength, &ResourceLength); + Descriptor->ExtendedIrq.InterruptCount = 0; + + Rover = ACPI_CAST_PTR (AML_RESOURCE, +@@ -2631,10 +2619,10 @@ + + /* Save the integer and move pointer to the next one */ + +- Rover->DwordItem = (UINT32) InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_32(&Rover->DwordItem, &InitializerOp->Asl.Value.Integer); + Rover = ACPI_ADD_PTR (AML_RESOURCE, &(Rover->DwordItem), 4); + Descriptor->ExtendedIrq.InterruptCount++; +- Descriptor->ExtendedIrq.ResourceLength += 4; ++ ResourceLength += 4; + + /* Case 7: First interrupt number in list */ + +@@ -2670,7 +2658,7 @@ + { + Rover->ByteItem = ResSourceIndex; + Rover = ACPI_ADD_PTR (AML_RESOURCE, &(Rover->ByteItem), 1); +- Descriptor->ExtendedIrq.ResourceLength += 1; ++ ResourceLength += 1; + } + + /* Add optional ResSource string if present */ +@@ -2682,13 +2670,13 @@ + Rover = ACPI_ADD_PTR ( + AML_RESOURCE, &(Rover->ByteItem), StringLength); + +- Descriptor->ExtendedIrq.ResourceLength = (UINT16) +- (Descriptor->ExtendedIrq.ResourceLength + StringLength); ++ ResourceLength = (UINT16) (Descriptor->ExtendedIrq.ResourceLength + StringLength); + } + + Rnode->BufferLength = (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) - + ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType)) + + OptionIndex + StringLength; ++ ACPI_MOVE_16_TO_16(&Descriptor->ExtendedIrq.ResourceLength, &ResourceLength); + return (Rnode); + } + +@@ -2739,7 +2727,7 @@ + + Descriptor = Rnode->Buffer; + Descriptor->VendorLarge.DescriptorType = ACPI_RESOURCE_NAME_VENDOR_LARGE; +- Descriptor->VendorLarge.ResourceLength = (UINT16) i; ++ ACPI_MOVE_16_TO_16(&Descriptor->VendorLarge.ResourceLength, &i); + + /* Point to end-of-descriptor for vendor data */ + +@@ -2785,6 +2773,7 @@ + ACPI_PARSE_OBJECT *InitializerOp; + ASL_RESOURCE_NODE *Rnode; + UINT32 i; ++ UINT16 ResourceLength; + + + InitializerOp = Op->Asl.Child; +@@ -2792,7 +2781,8 @@ + + Descriptor = Rnode->Buffer; + Descriptor->GenericReg.DescriptorType = ACPI_RESOURCE_NAME_GENERIC_REGISTER; +- Descriptor->GenericReg.ResourceLength = 12; ++ ResourceLength = 12; ++ ACPI_MOVE_16_TO_16(&Descriptor->GenericReg.ResourceLength, &ResourceLength); + + /* Process all child initialization nodes */ + +@@ -2823,7 +2813,7 @@ + + case 3: /* Register Address */ + +- Descriptor->GenericReg.Address = InitializerOp->Asl.Value.Integer; ++ ACPI_MOVE_32_TO_64(&Descriptor->GenericReg.Address, &InitializerOp->Asl.Value.Integer); + RsCreateByteField (InitializerOp, ACPI_RESTAG_ADDRESS, + CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.Address)); + break; --- acpica-unix-20081204.orig/compiler/aslopcodes.c +++ acpica-unix-20081204/compiler/aslopcodes.c @@ -328,6 +328,7 @@ } break; +#ifndef ACPI_NO_INTEGER64_SUPPORT case ACPI_INTEGER_MAX: /* Check for table integer width (32 or 64) */ @@ -340,6 +341,7 @@ return 1; } break; +#endif default: break; --- acpica-unix-20081204.orig/compiler/Makefile +++ acpica-unix-20081204/compiler/Makefile @@ -91,7 +91,8 @@ ../osunixxf.c NOMAN= YES -CFLAGS+= -Wall -O2 -Wstrict-prototypes -D_LINUX -DACPI_ASL_COMPILER -I../include +MK_CFLAGS = -DACPI_ASL_COMPILER -I../include +CFLAGS= -Wall -Wstrict-prototypes -O2 #YACC= yacc YACC= bison @@ -107,6 +108,9 @@ LDFLAGS=-lpthread -lrt +%.o: %.c + $(CC) $(MK_CFLAGS) $(CFLAGS) -c -o $@ $< + aslmain : $(patsubst %.c,%.o, $(SRCS)) $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) \ $(LOADLIBES) $(LDLIBS) -o iasl