Re: [PATCH v6 6/8] virtio: add explicit big-endian support to memory accessors

Cornelia Huck
2015-04-27T09:14:22Z

On Fri, 24 Apr 2015 14:26:24 +0200
Greg Kurz <gkurz-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> wrote:

> The current memory accessors logic is:
> - little endian if little_endian
> - native endian (i.e. no byteswap) if !little_endian
>
> If we want to fully support cross-endian vhost, we also need to be
> able to convert to big endian.
>
> Instead of changing the little_endian argument to some 3-value enum, this
> patch changes the logic to:
> - little endian if little_endian
> - big endian if !little_endian
>
> The native endian case is handled by all users with a trivial helper. This
> patch doesn't change any functionality, nor it does add overhead.
>
> Signed-off-by: Greg Kurz <gkurz-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
> ---
>
> Changes since v5:
> - changed endian checking helpers as suggested by Thomas (use || and line
> breaker)
>
> drivers/net/macvtap.c | 3 ++-
> drivers/net/tun.c | 3 ++-
> drivers/vhost/vhost.h | 3 ++-
> include/linux/virtio_byteorder.h | 24 ++++++++++++++----------
> include/linux/virtio_config.h | 3 ++-
> include/linux/vringh.h | 3 ++-
> 6 files changed, 24 insertions(+), 15 deletions(-)
>

Reviewed-by: Cornelia Huck <cornelia.huck-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>