On 23/02/2017 05:20, Alexey Kardashevskiy wrote: > First, Paolo is right and ram_device_mem_ops::endianness should be > host-endian which happens to be little in our test case (ppc64le)
So you tested a ppc64 BE guest and it works? > Keep things where they are in the VFIO department and just fix > ram_device_mem_ops::endianness? I would fix the ram_device_mem_ops. Either by introducing DEVICE_HOST_ENDIAN(*) or with Yongji's patch. (*) DEVICE_NATIVE_ENDIAN is special cased all over the place because the same device (in a file that's compiled just once) can be either little- or big-endian. DEVICE_HOST_ENDIAN can be a simple #define to either DEVICE_LITTLE_ENDIAN or DEVICE_BIG_ENDIAN, because host endianness is the same for all QEMU binaries. It's literally half a dozen lines of code. Paolo