|
From: | Daniel Henrique Barboza |
Subject: | Re: [PATCH for-7.0 v2 1/2] ivshmem.c: change endianness to LITTLE_ENDIAN |
Date: | Wed, 24 Nov 2021 10:09:51 -0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 |
On 11/24/21 09:55, Markus Armbruster wrote:
Philippe Mathieu-Daudé <philmd@redhat.com> writes:On 11/24/21 10:29, Daniel Henrique Barboza wrote:The ivshmem device, as with most PCI devices, uses little endian byte order. However, the endianness of its mmio_ops is marked as DEVICE_NATIVE_ENDIAN. This presents not only the usual problems with big endian hosts but also with PowerPC little endian hosts as well, since the Power architecture in QEMU uses big endian hardware (XIVE controller, PCI Host Bridges, etc) even if the host is in little endian byte order.Maybe mention commit f7a199b2b44 ("ivshmem: use little-endian int64_t for the protocol")?"The protocol" is the interface between ivshmem-doorbell device (client) and ivshmem server. This commit is about the interface between ivshmem-* device and the guest. The two interfaces are about as related as SSH and DNS: software exists that uses both.
Yeah, I was about to reply asking what's the relevance of how client-server communicates and the problem I'm trying to fix. It really seems a problem with the commit I mentioned in the "Fixes" tag that introduced the memory API with native endian instead of little endian. Let's keep the commit msg as is. Thanks, Daniel
Mentioning f7a199b2b44 feels superfluous to me. [...]
[Prev in Thread] | Current Thread | [Next in Thread] |