On 6 July 2015 at 11:03, Michael S. Tsirkin <m...@redhat.com> wrote: > On Mon, Jul 06, 2015 at 10:11:18AM +0100, Peter Maydell wrote: >> But address_space_rw() is just the "memcpy bytes to the >> target's memory" operation -- if you have a pile of bytes >> then there are no endianness concerns. If you don't have >> a pile of bytes then you need to know the structure of >> the data you're DMAing around, and you should probably >> have a loop doing things with the specify-the-width functions.
> Absolutely. But what if DMA happens to target another device > and not memory? Device needs some endian-ness so it needs > to be converted to that. Yes, and address_space_rw() already deals with conversion to that device's specified endianness. -- PMM