On Mon, 2013-07-08 at 17:15 -0500, Anthony Liguori wrote:

> Hypercall arguments are passed in CPU endianness so what's being stored
> in the tce table is CPU endianness.
> 
> Since VBUFFER just does a blind write() of the full array of uint64s,
> what goes on the wire will be CPU endianness.
> 
> So if you do a savevm on a little endian host and loadvm on a big endian
> host, badness ensues.
> 
> The proper thing to do is use a VARRAY instead of a VBUFFER.  VARRAY
> will handle endian because it treats the data as an array, not as an
> opaque buffer.

Ok, so that's indeed an issue for emulated TCEs because what qemu stores
is not the real (BE) TCE table but a "host native" version of it. I see.

Cheers,
Ben.
 


Reply via email to