lkml.org 
[lkml]   [2015]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v6 7/8] vhost: cross-endian support for legacy devices
On Fri, 24 Apr 2015 14:27:24 +0200
Greg Kurz <gkurz@linux.vnet.ibm.com> wrote:

> This patch brings cross-endian support to vhost when used to implement
> legacy virtio devices. Since it is a relatively rare situation, the
> feature availability is controlled by a kernel config option (not set
> by default).
>
> The vq->is_le boolean field is added to cache the endianness to be
> used for ring accesses. It defaults to native endian, as expected
> by legacy virtio devices. When the ring gets active, we force little
> endian if the device is modern. When the ring is deactivated, we
> revert to the native endian default.
>
> If cross-endian was compiled in, a vq->user_be boolean field is added
> so that userspace may request a specific endianness. This field is
> used to override the default when activating the ring of a legacy
> device. It has no effect on modern devices.
>
> Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
> ---
>
> Changes since v5:
> - fixed description in Kconfig
> - fixed error description in uapi header
> - dropped useless semi-colon in the vhost_vq_reset_user_be() stub
>
> drivers/vhost/Kconfig | 15 ++++++++
> drivers/vhost/vhost.c | 85 +++++++++++++++++++++++++++++++++++++++++++-
> drivers/vhost/vhost.h | 11 +++++-
> include/uapi/linux/vhost.h | 14 +++++++
> 4 files changed, 122 insertions(+), 3 deletions(-)
>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>



\
 
 \ /
  Last update: 2015-04-27 12:01    [W:0.419 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site