On Mon, Jul 06, 2015 at 10:46:31AM +0200, Paolo Bonzini wrote: > > > On 06/07/2015 10:33, Michael S. Tsirkin wrote: > > Also, by luck, some values work the same whatever the endian-ness. > > E.g. dma_memory_set fills the buffer with a given pattern, so > > nothing changes if you byte-swap it. > > > > Here's an example that's wrong: dp8393x. Typically it's accessing > > memory for DMA, so there's no byteswap. Works fine. > > > > But should device attempt to access another device memory, > > it would break because MIPS target is BE. > > > > Cc Hervé for confirmation. > > > > I conclude that virtio is not so special in needing a variant > > of address_space_rw that assumes host endian format for the data. > > Why host endian and not device (in this case little) endian? > > Paolo
It's the endian of the originator of the transaction. And emulated device code is all compiled in host endian-ness. -- MST