On 16.11.2017 17:15, Peter Maydell wrote:
> On 16 November 2017 at 16:13, Daniel P. Berrange <berra...@redhat.com> wrote:
>> On Thu, Nov 16, 2017 at 04:10:22PM +0000, Peter Maydell wrote:
>>> If there are known-buggy iasl versions in the wild we could
>>> consider a configure test and treat buggy-iasl like no-iasl.
>>
>> iasl has long been broken on big-endian, but it has also long contained
>> code that simply makes it exit immediately in that case, and qemu copes
>> with that. So if there's buggy iasl it would be a distro which removed
>> this big-endian check and tried to make it work on big-endian but failed.
>> Fedora tried the latter, but at least in rawhide it works properly now.
>> I'm unclear if we shipped broken iasl with the BE check removed in stable
>> versions though
> 
> In this case this is Ubuntu 16.04.2 LTS (xenial) on s390x, with
> 
> linux1@lxub05:~$ iasl -v
> 
> Intel ACPI Component Architecture
> ASL+ Optimizing Compiler version 20160108-64
> Copyright (c) 2000 - 2016 Intel Corporation

That's likely a broken version, indeed. I've noticed that the iasl that
ships with the acpica-tools in RHEL7 is broken, too - it does not
contain the big-endian check (yet?), and fails to byte-swap on big
endian hosts.

If you compile the latest version from upstream, you get this instead:

$ iasl -v
iASL is not currently supported on big-endian machines.

But as Daniel already wrote: The version from Fedora contains some
patches that fix the endianess issue, so that iasl with these patches
also works fine on big endian hosts:

 https://src.fedoraproject.org/rpms/acpica-tools/blob/master/f/big-endian.patch
 
https://src.fedoraproject.org/rpms/acpica-tools/blob/master/f/big-endian-v2.patch

 Thomas

Reply via email to