[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH for-2.11] hw/misc/ivshmem: Fix iv
Re: [Qemu-trivial] [Qemu-devel] [PATCH for-2.11] hw/misc/ivshmem: Fix ivshmem_recv_msg() to also work on big endian systems
Wed, 30 Aug 2017 17:11:20 +0200
On Wed, 30 Aug 2017 16:59:03 +0200
Thomas Huth <address@hidden> 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.