From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48754) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vl2oP-0003Ti-8d for qemu-devel@nongnu.org; Mon, 25 Nov 2013 15:31:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vl2oJ-0005Pg-M8 for qemu-devel@nongnu.org; Mon, 25 Nov 2013 15:31:17 -0500 Received: from mx1.redhat.com ([209.132.183.28]:7370) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vl2oJ-0005Pc-Ao for qemu-devel@nongnu.org; Mon, 25 Nov 2013 15:31:11 -0500 Date: Mon, 25 Nov 2013 22:34:22 +0200 From: "Michael S. Tsirkin" Message-ID: <20131125203422.GC12689@redhat.com> References: <250225497.60855.1385021203160.open-xchange@email.1und1.de> <20131121083648.GI24886@G08FNSTD100614.fnst.cn.fujitsu.com> <528E70AD.4050900@rdsoftware.de> <20131122105631.GE24388@stefanha-thinkpad.redhat.com> <54035371.127078.1385118997906.open-xchange@email.1und1.de> <528F8F43.4080202@redhat.com> <528FBC65.5050302@rdsoftware.de> <20131124112815.GA7528@redhat.com> <5293AE34.7030603@rdsoftware.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5293AE34.7030603@rdsoftware.de> Subject: Re: [Qemu-devel] GIT master fails compilation for ACPI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Erik Rull Cc: Paolo Bonzini , Hu Tao , "qemu-devel@nongnu.org" , Stefan Hajnoczi On Mon, Nov 25, 2013 at 09:08:20PM +0100, Erik Rull wrote: > Michael S. Tsirkin wrote: > >On Fri, Nov 22, 2013 at 09:19:49PM +0100, Erik Rull wrote: > >>Paolo Bonzini wrote: > >>>Il 22/11/2013 12:16, Erik Rull ha scritto: > >>>>It's getting more and more complex to build qemu, is there a reason why everyone > >>>>needs to build the acpi stuff by himself? > >>> > >>>It is only attempted if iasl is installed but as you said below, your > >>>version is too old. Please run "make V=1" so that we can see what is > >>>the problem. > >>> > >>>>It should be something static like the bios binary files, right? > >>> > >>>ACPI tables are now generated by QEMU, so the ACPI compilation step > >>>happens while compiling QEMU. > >>> > >>>>So you could provide the defaults directly and everyone that wants to modify the > >>>>defaults is free to compile it by himself. > >>>> > >>>>And if these tools are required, please add an error message at configure > >>>>runtime so that the successive errors at runtime will not appear, because > >>>>compiling is then blocked by configure. And if the IASL is too old, a version > >>>>check at configure runtime would be helpful as well. > >>> > >>>Good idea. Any chance you could help? Version 20090123 should be new > >>>enough. > >> > >>Hi Paolo, > >> > >>Sure, here the V=1 result - I tried already some make options to get > >>the verbose output, but I didn't find this trivial option :-) > >> > >>erik@debian:~/qemu-test/qemu$ make V=1 > >>make BUILD_DIR=/home/erik/qemu-test/qemu -C pixman V="1" all > >>make[1]: Entering directory `/home/erik/qemu-test/qemu/pixman' > >>make all-recursive > >>make[2]: Entering directory `/home/erik/qemu-test/qemu/pixman' > >>Making all in pixman > >>make[3]: Entering directory `/home/erik/qemu-test/qemu/pixman/pixman' > >>make all-am > >>make[4]: Entering directory `/home/erik/qemu-test/qemu/pixman/pixman' > >>make[4]: Nothing to be done for `all-am'. > >>make[4]: Leaving directory `/home/erik/qemu-test/qemu/pixman/pixman' > >>make[3]: Leaving directory `/home/erik/qemu-test/qemu/pixman/pixman' > >>Making all in test > >>make[3]: Entering directory `/home/erik/qemu-test/qemu/pixman/test' > >>make[3]: Nothing to be done for `all'. > >>make[3]: Leaving directory `/home/erik/qemu-test/qemu/pixman/test' > >>make[3]: Entering directory `/home/erik/qemu-test/qemu/pixman' > >>make[3]: Nothing to be done for `all-am'. > >>make[3]: Leaving directory `/home/erik/qemu-test/qemu/pixman' > >>make[2]: Leaving directory `/home/erik/qemu-test/qemu/pixman' > >>make[1]: Leaving directory `/home/erik/qemu-test/qemu/pixman' > >>make BUILD_DIR=/home/erik/qemu-test/qemu -C x86_64-softmmu V="1" > >>TARGET_DIR="x86_64-softmmu/" all > >>make[1]: Entering directory `/home/erik/qemu-test/qemu/x86_64-softmmu' > >>cpp -P /home/erik/qemu-test/qemu/hw/i386/acpi-dsdt.dsl -o acpi-dsdt.dsl.i.orig > >>python /home/erik/qemu-test/qemu/scripts/acpi_extract_preprocess.py > >>acpi-dsdt.dsl.i.orig > acpi-dsdt.dsl.i > >>iasl -vs -l -tc -p acpi-dsdt acpi-dsdt.dsl.i 2>&1 > >>acpi-dsdt.dsl.i 84: 0x8000000000, > >>Error 4094 - ^ Conversion error: AE_BAD_HEX_CONSTANT > >> > >> > >>acpi-dsdt.dsl.i 85: 0xFFFFFFFFFF, > >>Error 4094 - ^ Conversion error: AE_BAD_HEX_CONSTANT > >> > >> > >>acpi-dsdt.dsl.i 87: 0x8000000000, > >>Error 4094 - ^ Conversion error: AE_BAD_HEX_CONSTANT > >> > >> > >>ASL Input: acpi-dsdt.dsl.i - 476 lines, 19189 bytes, 316 keywords > >>Compilation complete. 3 Errors, 0 Warnings, 0 Remarks, 246 Optimizations > >>make[1]: *** [hw/i386/acpi-dsdt.hex] Error 1 > >>make[1]: Leaving directory `/home/erik/qemu-test/qemu/x86_64-softmmu' > >>make: *** [subdir-x86_64-softmmu] Error 2 > >>erik@debian:~/qemu-test/qemu$ > >> > >>Best regards, > >> > >>Erik > > > >This IASL version seems broken: apparently it can't process 64 bit > >constants? > > > >The assumption is that if you have iasl installed you > >are a developer that wants to hack on iasl, so > >we are trying to build ACPI from source. > > > >We did go out of our way to support systems without IASL > >though, so as a quick work-around you can just remove iasl > >from your system, or add an iasl binary early in the path > >that will return an error code when called with the -h > >flag, e.g. use a shell script that simply does "exit 1" > >or manually remove IASL= from config-host.mak > >after running configure. > > > >This will tell the build that you don't have iasl > >so it will now build acpi from source. > > > >I also sent patches that let you bypass the installed iasl > >by configuring with --iasl= > > > >As for support for old IASL versions - I downloaded > >acpica-unix-20060912 from debian etch unpacked the original > >tarball and applied the patch acpica-unix_20060912-3.2.diff > >that came with etch. I then built the source on Fedora 19. > > > >I had to change $$ = to $$ = in a bunch of places > >to make it build with modern bison (patch attached > >if you are curious). > > > >Afterwards I got a version of iasl that compiled > >QEMU just fine, so the issue appears not to be with too-old iasl > >generally, it's the specific version that is broken, maybe your distro > >applied a broken patch? > > > >Maybe we should just figure out what confuses your iasl. > >Is your iasl able to compile the following chunk of code? > > > > > >DefinitionBlock ( > > "iasl-test.aml", // Output Filename > > "DSDT", // Signature > > 0x01, // DSDT Compliance Revision > > "BXPC", // OEMID > > "BXDSDT", // TABLE ID > > 0x1 // OEM Revision > > ) > >{ > > > > > > Name(CR64, ResourceTemplate() { > > QWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > > 0x00000000, // Address Space Granularity > > 0x8000000000, // Address Range Minimum > > 0xFFFFFFFFFF, // Address Range Maximum > > 0x00000000, // Address Translation Offset > > 0x8000000000, // Address Length > > ,, PW64, AddressRangeMemory, TypeStatic) > > }) > > > > CreateQWordField(CR64, PW64._MIN, PS64) > > > >} > > > > Hi all, > > I disabled the iasl and it works now. > > Thanks. > > Best regards, > > Erik > where did you get this iasl btw?