Message ID | 20150423152617.11795.13272.stgit@bahia.local (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am Thu, 23 Apr 2015 17:26:20 +0200 schrieb Greg Kurz <gkurz@linux.vnet.ibm.com>: > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> > --- > include/linux/virtio_config.h | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h > index ca3ed78..bd1a582 100644 > --- a/include/linux/virtio_config.h > +++ b/include/linux/virtio_config.h > @@ -205,35 +205,40 @@ int virtqueue_set_affinity(struct virtqueue *vq, int cpu) > return 0; > } > > +static inline bool virtio_is_little_endian(struct virtio_device *vdev) > +{ > + return virtio_has_feature(vdev, VIRTIO_F_VERSION_1); > +} So this function returns false when _not_ using version 1, but running on a little endian host + guest? Sounds confusing. Maybe you could name it "virtio_is_v1()" or so instead? Thomas -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am Thu, 23 Apr 2015 19:22:15 +0200 schrieb Thomas Huth <thuth@redhat.com>: > Am Thu, 23 Apr 2015 17:26:20 +0200 > schrieb Greg Kurz <gkurz@linux.vnet.ibm.com>: > > > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> > > --- > > include/linux/virtio_config.h | 17 +++++++++++------ > > 1 file changed, 11 insertions(+), 6 deletions(-) > > > > diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h > > index ca3ed78..bd1a582 100644 > > --- a/include/linux/virtio_config.h > > +++ b/include/linux/virtio_config.h > > @@ -205,35 +205,40 @@ int virtqueue_set_affinity(struct virtqueue *vq, int cpu) > > return 0; > > } > > > > +static inline bool virtio_is_little_endian(struct virtio_device *vdev) > > +{ > > + return virtio_has_feature(vdev, VIRTIO_F_VERSION_1); > > +} > > So this function returns false when _not_ using version 1, but running > on a little endian host + guest? Sounds confusing. Maybe you could name > it "virtio_is_v1()" or so instead? Ah, never mind, I should have looked at patch 6 first, then it makes sense. (maybe you could put a note to the later patch in this patch description?) Thomas -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 23 Apr 2015 17:26:20 +0200 Greg Kurz <gkurz@linux.vnet.ibm.com> wrote: > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> > --- > include/linux/virtio_config.h | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h > index ca3ed78..bd1a582 100644 > --- a/include/linux/virtio_config.h > +++ b/include/linux/virtio_config.h > @@ -205,35 +205,40 @@ int virtqueue_set_affinity(struct virtqueue *vq, int cpu) > return 0; > } > > +static inline bool virtio_is_little_endian(struct virtio_device *vdev) > +{ > + return virtio_has_feature(vdev, VIRTIO_F_VERSION_1); > +} > + > /* Memory accessors */ > static inline u16 virtio16_to_cpu(struct virtio_device *vdev, __virtio16 val) > { > - return __virtio16_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); > + return __virtio16_to_cpu(virtio_is_little_endian(vdev), val); > } > > static inline __virtio16 cpu_to_virtio16(struct virtio_device *vdev, u16 val) > { > - return __cpu_to_virtio16(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); > + return __cpu_to_virtio16(virtio_is_little_endian(vdev), val); > } > > static inline u32 virtio32_to_cpu(struct virtio_device *vdev, __virtio32 val) > { > - return __virtio32_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); > + return __virtio32_to_cpu(virtio_is_little_endian(vdev), val); > } > > static inline __virtio32 cpu_to_virtio32(struct virtio_device *vdev, u32 val) > { > - return __cpu_to_virtio32(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); > + return __cpu_to_virtio32(virtio_is_little_endian(vdev), val); > } > > static inline u64 virtio64_to_cpu(struct virtio_device *vdev, __virtio64 val) > { > - return __virtio64_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); > + return __virtio64_to_cpu(virtio_is_little_endian(vdev), val); > } > > static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val) > { > - return __cpu_to_virtio64(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); > + return __cpu_to_virtio64(virtio_is_little_endian(vdev), val); > } Reviewed-by: Thomas Huth <thuth@redhat.com> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index ca3ed78..bd1a582 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -205,35 +205,40 @@ int virtqueue_set_affinity(struct virtqueue *vq, int cpu) return 0; } +static inline bool virtio_is_little_endian(struct virtio_device *vdev) +{ + return virtio_has_feature(vdev, VIRTIO_F_VERSION_1); +} + /* Memory accessors */ static inline u16 virtio16_to_cpu(struct virtio_device *vdev, __virtio16 val) { - return __virtio16_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); + return __virtio16_to_cpu(virtio_is_little_endian(vdev), val); } static inline __virtio16 cpu_to_virtio16(struct virtio_device *vdev, u16 val) { - return __cpu_to_virtio16(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); + return __cpu_to_virtio16(virtio_is_little_endian(vdev), val); } static inline u32 virtio32_to_cpu(struct virtio_device *vdev, __virtio32 val) { - return __virtio32_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); + return __virtio32_to_cpu(virtio_is_little_endian(vdev), val); } static inline __virtio32 cpu_to_virtio32(struct virtio_device *vdev, u32 val) { - return __cpu_to_virtio32(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); + return __cpu_to_virtio32(virtio_is_little_endian(vdev), val); } static inline u64 virtio64_to_cpu(struct virtio_device *vdev, __virtio64 val) { - return __virtio64_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); + return __virtio64_to_cpu(virtio_is_little_endian(vdev), val); } static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val) { - return __cpu_to_virtio64(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); + return __cpu_to_virtio64(virtio_is_little_endian(vdev), val); } /* Config space accessors. */
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> --- include/linux/virtio_config.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html