[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 08/17] pseries: savevm support for PA
From: |
Benjamin Herrenschmidt |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 08/17] pseries: savevm support for PAPR TCE tables |
Date: |
Tue, 09 Jul 2013 08:41:18 +1000 |
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.