On Fri, 26 Jun 2015 12:28:45 +0200 Cornelia Huck <cornelia.h...@de.ibm.com> wrote:
> 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. > Agreed. It is good to clear the endianness noise out of the real code. :) > But your second patch should apply regardless. > Thanks for your feedback. > > > > 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(-)