On Wed, 30 Aug 2017 16:59:03 +0200 Thomas Huth <th...@redhat.com> wrote:
> On 30.08.2017 16:53, Philippe Mathieu-Daudé wrote: > > On 08/30/2017 10:39 AM, Thomas Huth wrote: > >> The "slow" ivshmem-tests currently fail when they are running on a > >> big endian host: > >> > >> $ uname -m > >> ppc64 > >> $ V=1 QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 > >> tests/ivshmem-test -m slow > >> /x86_64/ivshmem/single: OK > >> /x86_64/ivshmem/hotplug: OK > >> /x86_64/ivshmem/memdev: OK > >> /x86_64/ivshmem/pair: OK > >> /x86_64/ivshmem/server-msi: qemu-system-x86_64: > >> -device ivshmem-doorbell,chardev=chr0,vectors=2: server sent invalid > >> ID message > >> Broken pipe > >> > >> The problem is that the server side code in ivshmem_server_send_one_msg() > >> correctly translates all messages IDs into little endian 64-bit values, > >> but the client side code in the ivshmem_recv_msg() function does not swap > >> the byte order back. Fix it by passing the value through le64_to_cpu(). > > > > Yes, we lack BE testing :( > > As far as I know, some people are already running the tests on s390x and > ppc64 ... the problem is that apparently nobody is running with > SPEED=slow there - that's why this problem slipped through so far. > Maybe we should switch to the SPEED=slow by default in the Makefile? Not sure whether that is a good idea. /me adding this to my s390x tests should help, though.