On Fri, 26 Jun 2015 09:32:21 +0200 Greg Kurz <gk...@linux.vnet.ibm.com> wrote:
> During early virtio 1.0 devel, there were several proposals about how to > deal with the endianness of the vring descriptor fields: > - convert the decriptor to host endianness in a single place, and use its > fields directly in the code > - keep the descriptor untouched and use virtio memory helpers to access its > fields with the appropriate endianness > > It seems like both approaches got merged: commit f5a5628cf0b6 introduces > an extra swap that negates the one brought by commit b0e5d90ebc3e. This > breaks boot in SLOF (BE client) when host is ppc64le with the following > QEMU error: > > Failed to map descriptor addr 0x18e2517e00000000 len 268435456 > > A solution could be to revert f5a5628cf0b6, but dropping copy_in_vring_desc() > is equivalent and result in a smaller patch. I'd prefer the revert, as the resulting code is nicer IMHO. But your second patch should apply regardless. > > This patch allows SLOF to boot the OS. > > Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com> > --- > hw/virtio/dataplane/vring.c | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-)