search for: vring_transport_features

Displaying 20 results from an estimated 317 matches for "vring_transport_features".

2014 Nov 27
0
[PATCH v5 04/45] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index 49d04d5..43ce390 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Nov 27
0
[PATCH v5 04/45] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index 49d04d5..43ce390 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Nov 30
0
[PATCH v7 05/46] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d81170a..9b77b66 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Dec 01
0
[PATCH v8 05/50] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d81170a..9b77b66 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Nov 30
0
[PATCH v7 05/46] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d81170a..9b77b66 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Dec 01
0
[PATCH v8 05/50] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d81170a..9b77b66 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Nov 27
2
[PATCH v6 05/46] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d81170a..9b77b66 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2014 Nov 27
2
[PATCH v6 05/46] virtio: assert 32 bit features in transports
...rs/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d81170a..9b77b66 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -136,6 +136,9 @@ static void lg_finalize_features(struct virtio_device *vdev) /* Give virtio_ring a chance to accept features. */ vring_transport_features(vdev); + /* Make sure we don't have any features > 32 bits! */ + BUG_ON((u32)vdev->features != vdev->features); + /* * Since lguest is currently x86-only, we're little-endian. That * means we could just memcpy. But it's not time critical, and in diff --git a/drivers...
2023 Apr 02
1
[PATCH v6] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...ING_PACKED_EVENT_F_WRAP_CTR; > + else > + next = vq->split.avail_idx_shadow; > + > + return next << 16 | _vq->index; > +} > +EXPORT_SYMBOL_GPL(vring_notification_data); > + > /* Manipulates transport-specific feature bits. */ > void vring_transport_features(struct virtio_device *vdev) > { > @@ -2771,6 +2788,8 @@ void vring_transport_features(struct virtio_device *vdev) > break; > case VIRTIO_F_ORDER_PLATFORM: > break; > + case VIRTIO_F_NOTIFICATION_DATA: &...
2018 Jul 10
1
[PATCH net-next v1 5/5] virtio_ring: enable packed ring
...static int virtio_ccw_finalize_features(struct virtio_device *vdev) > { > struct virtio_ccw_device *vcdev = to_vc_device(vdev); > @@ -791,6 +796,9 @@ static int virtio_ccw_finalize_features(struct virtio_device *vdev) > /* Give virtio_ring a chance to accept features. */ > vring_transport_features(vdev); > > + /* Give virtio_ccw a chance to accept features. */ > + ccw_transport_features(vdev); > + > features->index = 0; > features->features = cpu_to_le32((u32)vdev->features); > /* Write the first half of the feature bits to the host. */ > diff --g...
2018 May 16
2
[RFC v4 5/5] virtio_ring: enable packed ring
...irtio_ring.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index de3839f3621a..b158692263b0 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -1940,6 +1940,8 @@ void vring_transport_features(struct virtio_device *vdev) > break; > case VIRTIO_F_IOMMU_PLATFORM: > break; > + case VIRTIO_F_RING_PACKED: > + break; Why not just add this *case* under the previous *case*? > default: > /* We don't understand this bit. */ > __virt...
2018 May 16
1
[RFC v4 5/5] virtio_ring: enable packed ring
...sertions(+) >>> >>> diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c >>> index de3839f3621a..b158692263b0 100644 >>> --- a/drivers/virtio/virtio_ring.c >>> +++ b/drivers/virtio/virtio_ring.c >>> @@ -1940,6 +1940,8 @@ void vring_transport_features(struct virtio_device *vdev) >>> break; >>> case VIRTIO_F_IOMMU_PLATFORM: >>> break; >>> + case VIRTIO_F_RING_PACKED: >>> + break; >> >> Why not just add this *case* under the previous *case*? > > Do you mean fallthr...
2018 May 16
2
[RFC v4 5/5] virtio_ring: enable packed ring
...irtio_ring.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index de3839f3621a..b158692263b0 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -1940,6 +1940,8 @@ void vring_transport_features(struct virtio_device *vdev) > break; > case VIRTIO_F_IOMMU_PLATFORM: > break; > + case VIRTIO_F_RING_PACKED: > + break; Why not just add this *case* under the previous *case*? > default: > /* We don't understand this bit. */ > __virt...
2014 Nov 27
2
[PATCH v6 02/46] virtio: use u32, not bitmap for features
...c DEFINE_SPINLOCK(dma_bufs_lock); diff --git a/drivers/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d0a1d8a..97aeb7d 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -137,14 +137,14 @@ static void lg_finalize_features(struct virtio_device *vdev) vring_transport_features(vdev); /* - * The vdev->feature array is a Linux bitmask: this isn't the same as a - * the simple array of bits used by lguest devices for features. So we - * do this slow, manual conversion which is completely general. + * Since lguest is currently x86-only, we're little-endian...
2014 Nov 27
2
[PATCH v6 02/46] virtio: use u32, not bitmap for features
...c DEFINE_SPINLOCK(dma_bufs_lock); diff --git a/drivers/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d0a1d8a..97aeb7d 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -137,14 +137,14 @@ static void lg_finalize_features(struct virtio_device *vdev) vring_transport_features(vdev); /* - * The vdev->feature array is a Linux bitmask: this isn't the same as a - * the simple array of bits used by lguest devices for features. So we - * do this slow, manual conversion which is completely general. + * Since lguest is currently x86-only, we're little-endian...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...gt; + vq->packed.avail_wrap_counter << 15; > + else > + next = vq->split.avail_idx_shadow; > + > + return next << 16 | _vq->index; > +} > +EXPORT_SYMBOL_GPL(vring_notification_data); > + > /* Manipulates transport-specific feature bits. */ > void vring_transport_features(struct virtio_device *vdev) > { > @@ -2771,6 +2786,8 @@ void vring_transport_features(struct virtio_device *vdev) > break; > case VIRTIO_F_ORDER_PLATFORM: > break; > + case VIRTIO_F_NOTIFICATION_DATA: > + break; > default: > /* We don't understan...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...next = vq->split.avail_idx_shadow; > > > + > > > + return next << 16 | _vq->index; > > > +} > > > +EXPORT_SYMBOL_GPL(vring_notification_data); > > > + > > > /* Manipulates transport-specific feature bits. */ > > > void vring_transport_features(struct virtio_device *vdev) > > > { > > > @@ -2771,6 +2786,8 @@ void vring_transport_features(struct virtio_device *vdev) > > > break; > > > case VIRTIO_F_ORDER_PLATFORM: > > > break; > > &...
2018 May 03
6
[RFC] virtio: support VIRTIO_F_IO_BARRIER
...tio_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX); + if (virtio_has_feature(vdev, VIRTIO_F_IO_BARRIER)) + vq->weak_barriers = false; + /* No callback? Tell other side not to bother us. */ if (!callback) { vq->avail_flags_shadow |= VRING_AVAIL_F_NO_INTERRUPT; @@ -1164,6 +1167,8 @@ void vring_transport_features(struct virtio_device *vdev) break; case VIRTIO_F_IOMMU_PLATFORM: break; + case VIRTIO_F_IO_BARRIER: + break; default: /* We don't understand this bit. */ __virtio_clear_bit(vdev, i); diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h in...
2018 May 03
6
[RFC] virtio: support VIRTIO_F_IO_BARRIER
...tio_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX); + if (virtio_has_feature(vdev, VIRTIO_F_IO_BARRIER)) + vq->weak_barriers = false; + /* No callback? Tell other side not to bother us. */ if (!callback) { vq->avail_flags_shadow |= VRING_AVAIL_F_NO_INTERRUPT; @@ -1164,6 +1167,8 @@ void vring_transport_features(struct virtio_device *vdev) break; case VIRTIO_F_IOMMU_PLATFORM: break; + case VIRTIO_F_IO_BARRIER: + break; default: /* We don't understand this bit. */ __virtio_clear_bit(vdev, i); diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h in...
2014 Oct 07
0
[PATCH RFC 01/11] virtio: use u32, not bitmap for struct virtio_device's features
...c DEFINE_SPINLOCK(dma_bufs_lock); diff --git a/drivers/lguest/lguest_device.c b/drivers/lguest/lguest_device.c index d0a1d8a..c831c47 100644 --- a/drivers/lguest/lguest_device.c +++ b/drivers/lguest/lguest_device.c @@ -137,14 +137,14 @@ static void lg_finalize_features(struct virtio_device *vdev) vring_transport_features(vdev); /* - * The vdev->feature array is a Linux bitmask: this isn't the same as a - * the simple array of bits used by lguest devices for features. So we - * do this slow, manual conversion which is completely general. + * Since lguest is currently x86-only, we're little-endian...