[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] GIT master fails compilation for ACPI
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] GIT master fails compilation for ACPI |
Date: |
Mon, 25 Nov 2013 22:34:22 +0200 |
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 :-)
> >>
> >>address@hidden:~/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
> >>address@hidden:~/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 $<n>$ = 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?
- [Qemu-devel] GIT master fails compilation for ACPI, Erik Rull, 2013/11/21
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Hu Tao, 2013/11/21
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Erik Rull, 2013/11/21
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Stefan Hajnoczi, 2013/11/22
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Erik Rull, 2013/11/22
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Stefan Hajnoczi, 2013/11/22
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Paolo Bonzini, 2013/11/22
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Erik Rull, 2013/11/22
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Michael S. Tsirkin, 2013/11/24
- Re: [Qemu-devel] GIT master fails compilation for ACPI, Erik Rull, 2013/11/25
- Re: [Qemu-devel] GIT master fails compilation for ACPI,
Michael S. Tsirkin <=