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