qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Erik Rull <erik.rull@rdsoftware.de>
To: "Michael S. Tsirkin" <mst@redhat.com>,
	Erik Rull <erik.rull@rdsoftware.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Hu Tao <hutao@cn.fujitsu.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@gmail.com>
Subject: Re: [Qemu-devel] GIT master fails compilation for ACPI
Date: Mon, 25 Nov 2013 21:08:20 +0100	[thread overview]
Message-ID: <5293AE34.7030603@rdsoftware.de> (raw)
In-Reply-To: <20131124112815.GA7528@redhat.com>

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 $<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

  reply	other threads:[~2013-11-25 20:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-21  8:06 [Qemu-devel] GIT master fails compilation for ACPI Erik Rull
2013-11-21  8:36 ` Hu Tao
2013-11-21 20:44   ` Erik Rull
2013-11-22 10:56     ` Stefan Hajnoczi
2013-11-22 11:16       ` Erik Rull
2013-11-22 15:53         ` Stefan Hajnoczi
2013-11-22 17:07         ` Paolo Bonzini
2013-11-22 20:19           ` Erik Rull
2013-11-24 11:28             ` Michael S. Tsirkin
2013-11-25 20:08               ` Erik Rull [this message]
2013-11-25 20:34                 ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5293AE34.7030603@rdsoftware.de \
    --to=erik.rull@rdsoftware.de \
    --cc=hutao@cn.fujitsu.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).