search for: vringh_notify

Displaying 20 results from an estimated 34 matches for "vringh_notify".

2013 Mar 08
1
[PATCHv2] virtio: Introduce vringh wrappers in virtio_config
...pling between the virtio device and driver. A new struct vringh_config_ops with the functions find_vrhs() and del_vrhs() is added to the virtio_device struct. This enables virtio drivers to manage virtio host rings without detailed knowledge of how the vrings are created and deleted. The function vringh_notify() is added so vringh clients can notify the other side that buffers are added to the used-ring. Cc: Ohad Ben-Cohen <ohad at wizery.com> Cc: Rusty Russell <rusty at rustcorp.com.au> Signed-off-by: Sjur Br?ndeland <sjur.brandeland at stericsson.com> --- Hi Rusty, >It's weir...
2013 Mar 08
1
[PATCHv2] virtio: Introduce vringh wrappers in virtio_config
...pling between the virtio device and driver. A new struct vringh_config_ops with the functions find_vrhs() and del_vrhs() is added to the virtio_device struct. This enables virtio drivers to manage virtio host rings without detailed knowledge of how the vrings are created and deleted. The function vringh_notify() is added so vringh clients can notify the other side that buffers are added to the used-ring. Cc: Ohad Ben-Cohen <ohad at wizery.com> Cc: Rusty Russell <rusty at rustcorp.com.au> Signed-off-by: Sjur Br?ndeland <sjur.brandeland at stericsson.com> --- Hi Rusty, >It's weir...
2013 Mar 05
2
[PATCH vringh] virtio: Introduce vringh wrappers in virtio_config
From: Sjur Br?ndeland <sjur.brandeland at stericsson.com> Add wrappers for the host vrings to support loose coupling between the virtio device and driver. The functions find_vrhs() and del_vrhs() are added to struct virtio_config_ops to manage the host vrings. The function vringh_notify() is added so the guest can be kicked when buffers are added to the used-ring. This enables the virtio drivers to manage the virtio rings without knowledge of how the host vrings are managed. Cc: Ohad Ben-Cohen <ohad at wizery.com> Signed-off-by: Sjur Br?ndeland <sjur.brandeland at steri...
2013 Mar 05
2
[PATCH vringh] virtio: Introduce vringh wrappers in virtio_config
From: Sjur Br?ndeland <sjur.brandeland at stericsson.com> Add wrappers for the host vrings to support loose coupling between the virtio device and driver. The functions find_vrhs() and del_vrhs() are added to struct virtio_config_ops to manage the host vrings. The function vringh_notify() is added so the guest can be kicked when buffers are added to the used-ring. This enables the virtio drivers to manage the virtio rings without knowledge of how the host vrings are managed. Cc: Ohad Ben-Cohen <ohad at wizery.com> Signed-off-by: Sjur Br?ndeland <sjur.brandeland at steri...
2015 Apr 07
1
[PATCH v3 6/7] virtio: add explicit big-endian support to memory accessors
...+ return virtio_legacy_is_little_endian(); > } > > /* Memory accessors */ > diff --git a/include/linux/vringh.h b/include/linux/vringh.h > index 3ed62ef..d786c2d 100644 > --- a/include/linux/vringh.h > +++ b/include/linux/vringh.h > @@ -228,7 +228,9 @@ static inline void vringh_notify(struct vringh *vrh) > > static inline bool vringh_is_little_endian(const struct vringh *vrh) > { > - return vrh->little_endian; > + if (vrh->little_endian) > + return true; > + return virtio_legacy_is_little_endian(); > } > > static inline u16 vringh16_t...
2015 Apr 07
1
[PATCH v3 6/7] virtio: add explicit big-endian support to memory accessors
...+ return virtio_legacy_is_little_endian(); > } > > /* Memory accessors */ > diff --git a/include/linux/vringh.h b/include/linux/vringh.h > index 3ed62ef..d786c2d 100644 > --- a/include/linux/vringh.h > +++ b/include/linux/vringh.h > @@ -228,7 +228,9 @@ static inline void vringh_notify(struct vringh *vrh) > > static inline bool vringh_is_little_endian(const struct vringh *vrh) > { > - return vrh->little_endian; > + if (vrh->little_endian) > + return true; > + return virtio_legacy_is_little_endian(); > } > > static inline u16 vringh16_t...
2015 Apr 21
1
[PATCH v4 6/8] virtio: add explicit big-endian support to memory accessors
...+ return virtio_legacy_is_little_endian(); > } > > /* Memory accessors */ > diff --git a/include/linux/vringh.h b/include/linux/vringh.h > index 3ed62ef..d786c2d 100644 > --- a/include/linux/vringh.h > +++ b/include/linux/vringh.h > @@ -228,7 +228,9 @@ static inline void vringh_notify(struct vringh *vrh) > > static inline bool vringh_is_little_endian(const struct vringh *vrh) > { > - return vrh->little_endian; > + if (vrh->little_endian) > + return true; > + return virtio_legacy_is_little_endian(); > } > > static inline u16 vringh16_t...
2015 Apr 21
1
[PATCH v4 6/8] virtio: add explicit big-endian support to memory accessors
...+ return virtio_legacy_is_little_endian(); > } > > /* Memory accessors */ > diff --git a/include/linux/vringh.h b/include/linux/vringh.h > index 3ed62ef..d786c2d 100644 > --- a/include/linux/vringh.h > +++ b/include/linux/vringh.h > @@ -228,7 +228,9 @@ static inline void vringh_notify(struct vringh *vrh) > > static inline bool vringh_is_little_endian(const struct vringh *vrh) > { > - return vrh->little_endian; > + if (vrh->little_endian) > + return true; > + return virtio_legacy_is_little_endian(); > } > > static inline u16 vringh16_t...
2015 Apr 23
0
[PATCH v5 4/8] vringh: introduce vringh_is_little_endian() helper
...m> --- include/linux/vringh.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/linux/vringh.h b/include/linux/vringh.h index a3fa537..3ed62ef 100644 --- a/include/linux/vringh.h +++ b/include/linux/vringh.h @@ -226,33 +226,38 @@ static inline void vringh_notify(struct vringh *vrh) vrh->notify(vrh); } +static inline bool vringh_is_little_endian(const struct vringh *vrh) +{ + return vrh->little_endian; +} + static inline u16 vringh16_to_cpu(const struct vringh *vrh, __virtio16 val) { - return __virtio16_to_cpu(vrh->little_endian, val); + re...
2015 Apr 24
0
[PATCH v6 4/8] vringh: introduce vringh_is_little_endian() helper
...m> --- include/linux/vringh.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/linux/vringh.h b/include/linux/vringh.h index a3fa537..3ed62ef 100644 --- a/include/linux/vringh.h +++ b/include/linux/vringh.h @@ -226,33 +226,38 @@ static inline void vringh_notify(struct vringh *vrh) vrh->notify(vrh); } +static inline bool vringh_is_little_endian(const struct vringh *vrh) +{ + return vrh->little_endian; +} + static inline u16 vringh16_to_cpu(const struct vringh *vrh, __virtio16 val) { - return __virtio16_to_cpu(vrh->little_endian, val); + re...
2015 Apr 07
0
[PATCH v3 6/7] virtio: add explicit big-endian support to memory accessors
...v, VIRTIO_F_VERSION_1)) + return true; + return virtio_legacy_is_little_endian(); } /* Memory accessors */ diff --git a/include/linux/vringh.h b/include/linux/vringh.h index 3ed62ef..d786c2d 100644 --- a/include/linux/vringh.h +++ b/include/linux/vringh.h @@ -228,7 +228,9 @@ static inline void vringh_notify(struct vringh *vrh) static inline bool vringh_is_little_endian(const struct vringh *vrh) { - return vrh->little_endian; + if (vrh->little_endian) + return true; + return virtio_legacy_is_little_endian(); } static inline u16 vringh16_to_cpu(const struct vringh *vrh, __virtio16 val)
2015 Apr 10
0
[PATCH v4 6/8] virtio: add explicit big-endian support to memory accessors
...v, VIRTIO_F_VERSION_1)) + return true; + return virtio_legacy_is_little_endian(); } /* Memory accessors */ diff --git a/include/linux/vringh.h b/include/linux/vringh.h index 3ed62ef..d786c2d 100644 --- a/include/linux/vringh.h +++ b/include/linux/vringh.h @@ -228,7 +228,9 @@ static inline void vringh_notify(struct vringh *vrh) static inline bool vringh_is_little_endian(const struct vringh *vrh) { - return vrh->little_endian; + if (vrh->little_endian) + return true; + return virtio_legacy_is_little_endian(); } static inline u16 vringh16_to_cpu(const struct vringh *vrh, __virtio16 val)
2015 Apr 24
0
[PATCH v6 6/8] virtio: add explicit big-endian support to memory accessors
...rtio_has_feature(vdev, VIRTIO_F_VERSION_1) || + virtio_legacy_is_little_endian(); } /* Memory accessors */ diff --git a/include/linux/vringh.h b/include/linux/vringh.h index 3ed62ef..bc6c28d 100644 --- a/include/linux/vringh.h +++ b/include/linux/vringh.h @@ -228,7 +228,8 @@ static inline void vringh_notify(struct vringh *vrh) static inline bool vringh_is_little_endian(const struct vringh *vrh) { - return vrh->little_endian; + return vrh->little_endian || + virtio_legacy_is_little_endian(); } static inline u16 vringh16_to_cpu(const struct vringh *vrh, __virtio16 val)
2015 Apr 23
0
[PATCH v5 6/8] virtio: add explicit big-endian support to memory accessors
..._F_VERSION_1)) + return true; + else + return virtio_legacy_is_little_endian(); } /* Memory accessors */ diff --git a/include/linux/vringh.h b/include/linux/vringh.h index 3ed62ef..d070bbcd 100644 --- a/include/linux/vringh.h +++ b/include/linux/vringh.h @@ -228,7 +228,7 @@ static inline void vringh_notify(struct vringh *vrh) static inline bool vringh_is_little_endian(const struct vringh *vrh) { - return vrh->little_endian; + return vrh->little_endian ? true : virtio_legacy_is_little_endian(); } static inline u16 vringh16_to_cpu(const struct vringh *vrh, __virtio16 val)
2015 Apr 07
13
[PATCH v3 0/7] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. Patches 1-6 remain the same as the previous post. Patch 7 was heavily changed according to MST's comments. --- Greg Kurz (7): virtio: introduce virtio_is_little_endian() helper tun: add tun_is_little_endian() helper macvtap: introduce macvtap_is_little_endian()
2015 Apr 07
13
[PATCH v3 0/7] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. Patches 1-6 remain the same as the previous post. Patch 7 was heavily changed according to MST's comments. --- Greg Kurz (7): virtio: introduce virtio_is_little_endian() helper tun: add tun_is_little_endian() helper macvtap: introduce macvtap_is_little_endian()
2015 Apr 23
16
[PATCH v5 0/8] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. It is compatible with modern virtio and can be fully compiled out through kernel config. FWIW, I could flawlessly kexec/reboot guests from ppc64 to ppc64le and back. I could also migrate from a ppc64 to a ppc64le host and back. No regressions on x86 as expected. My experimental QEMU tree
2015 Apr 23
16
[PATCH v5 0/8] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. It is compatible with modern virtio and can be fully compiled out through kernel config. FWIW, I could flawlessly kexec/reboot guests from ppc64 to ppc64le and back. I could also migrate from a ppc64 to a ppc64le host and back. No regressions on x86 as expected. My experimental QEMU tree
2015 Apr 02
9
[PATCH v2 0/7] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. It is a complete rework of my initial post. Patches 1 to 5 are preliminary work: we move the endianness check out of all memory accessors to separate functions. Patch 6 changes the semantics of the accessors so that they have explicit big endian support. Patch 7 brings the cross-endian
2015 Apr 02
9
[PATCH v2 0/7] vhost: support for cross endian guests
Hi, This patchset allows vhost to be used with legacy virtio when guest and host have a different endianness. It is a complete rework of my initial post. Patches 1 to 5 are preliminary work: we move the endianness check out of all memory accessors to separate functions. Patch 6 changes the semantics of the accessors so that they have explicit big endian support. Patch 7 brings the cross-endian