search for: vring_packed_desc_event

Displaying 20 results from an estimated 85 matches for "vring_packed_desc_event".

2019 Feb 01
2
[PATCH] virtio: drop internal struct from UAPI
...o_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -152,7 +152,12 @@ struct vring_virtqueue { /* Available for packed ring */ struct { /* Actual memory layout for this queue. */ - struct vring_packed vring; + struct { + unsigned int num; + struct vring_packed_desc *desc; + struct vring_packed_desc_event *driver; + struct vring_packed_desc_event *device; + } vring; /* Driver ring wrap counter. */ bool avail_wrap_counter; diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h index 2414f8af26b3..4c4e24c291a5 100644 --- a/include/uapi/linux/virtio_ring.h +++ b...
2018 Jul 04
2
[PATCH net-next 8/8] vhost: event suppression for packed ring
.../vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1115,10 +1115,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, > struct vring_used __user *used) > { > struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; > + struct vring_packed_desc_event *driver_event = > + (struct vring_packed_desc_event *)avail; > + struct vring_packed_desc_event *device_event = > + (struct vring_packed_desc_event *)used; > > - /* TODO: check device area and driver area */ > return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) &amp...
2018 Jul 04
2
[PATCH net-next 8/8] vhost: event suppression for packed ring
.../vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1115,10 +1115,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, > struct vring_used __user *used) > { > struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; > + struct vring_packed_desc_event *driver_event = > + (struct vring_packed_desc_event *)avail; > + struct vring_packed_desc_event *device_event = > + (struct vring_packed_desc_event *)used; > > - /* TODO: check device area and driver area */ > return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) &amp...
2018 Nov 30
4
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...ort indirect buffer descriptors */ > #define VIRTIO_RING_F_INDIRECT_DESC 28 > > @@ -171,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > } > > +struct vring_packed_desc_event { > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > + __le16 off_wrap; > + /* Descriptor Ring Change Event Flags. */ > + __le16 flags; > +}; > + > +struct vring_packed_desc { > + /* Buffer Address. */ > + __le64 addr; > + /* Buffer Length. */ > + __le32...
2018 Nov 30
4
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...ort indirect buffer descriptors */ > #define VIRTIO_RING_F_INDIRECT_DESC 28 > > @@ -171,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > } > > +struct vring_packed_desc_event { > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > + __le16 off_wrap; > + /* Descriptor Ring Change Event Flags. */ > + __le16 flags; > +}; > + > +struct vring_packed_desc { > + /* Buffer Address. */ > + __le64 addr; > + /* Buffer Length. */ > + __le32...
2018 Feb 23
0
[PATCH RFC 1/2] virtio: introduce packed ring defines
.../* The Host uses this in used->flags to advise the Guest: don't kick me when * you add a buffer. It's unreliable, so it's simply an optimization. Guest * will still kick if it's out of buffers. */ @@ -104,6 +107,36 @@ struct vring { struct vring_used *used; }; +struct vring_packed_desc_event { + /* Descriptor Event Offset */ + __virtio16 desc_event_off : 15, + /* Descriptor Event Wrap Counter */ + desc_event_wrap : 1; + /* Descriptor Event Flags */ + __virtio16 desc_event_flags : 2; +}; + +struct vring_packed_desc { + /* Buffer Address. */ + __virtio64 addr; + /* Buffer Length....
2018 Sep 07
2
[PATCH net-next v2 1/5] virtio: add packed ring definitions
...d ring, right? Pls prefix accordingly. Also, you likely need macros for the wrap counters. > @@ -171,4 +186,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > } > > +struct vring_packed_desc_event { > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > + __virtio16 off_wrap; > + /* Descriptor Ring Change Event Flags. */ > + __virtio16 flags; > +}; > + > +struct vring_packed_desc { > + /* Buffer Address. */ > + __virtio64 addr; > + /* Buffer Length. */ &g...
2018 Sep 07
2
[PATCH net-next v2 1/5] virtio: add packed ring definitions
...d ring, right? Pls prefix accordingly. Also, you likely need macros for the wrap counters. > @@ -171,4 +186,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > } > > +struct vring_packed_desc_event { > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > + __virtio16 off_wrap; > + /* Descriptor Ring Change Event Flags. */ > + __virtio16 flags; > +}; > + > +struct vring_packed_desc { > + /* Buffer Address. */ > + __virtio64 addr; > + /* Buffer Length. */ &g...
2018 May 16
0
[RFC V4 PATCH 8/8] vhost: event suppression for packed ring
.....afdf4c1 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -1108,10 +1108,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, struct vring_used __user *used) { struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; + struct vring_packed_desc_event *driver_event = + (struct vring_packed_desc_event *)avail; + struct vring_packed_desc_event *device_event = + (struct vring_packed_desc_event *)used; - /* FIXME: check device area and driver area */ return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) && - access_ok(VER...
2018 Mar 26
0
[RFC PATCH V2 8/8] vhost: event suppression for packed ring
.....ff83a2e 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -1143,10 +1143,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, struct vring_used __user *used) { struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; + struct vring_packed_desc_event *driver_event = + (struct vring_packed_desc_event *)avail; + struct vring_packed_desc_event *device_event = + (struct vring_packed_desc_event *)used; - /* FIXME: check device area and driver area */ return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) && - access_ok(VER...
2018 Mar 30
1
[RFC PATCH V2 8/8] vhost: event suppression for packed ring
...@ -96,8 +96,14 @@ struct vhost_virtqueue { > struct vring_desc __user *desc; > struct vring_desc_packed __user *desc_packed; Do you think it'd be better to name the desc type as struct vring_packed_desc? And it will be consistent with other names, like: struct vring_packed; struct vring_packed_desc_event; > }; > - struct vring_avail __user *avail; > - struct vring_used __user *used; > + union { > + struct vring_avail __user *avail; > + struct vring_packed_desc_event __user *driver_event; > + }; > + union { > + struct vring_used __user *used; > + struct vring_pac...
2018 May 29
0
[RFC V5 PATCH 8/8] vhost: event suppression for packed ring
.....112f680 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -1112,10 +1112,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, struct vring_used __user *used) { struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; + struct vring_packed_desc_event *driver_event = + (struct vring_packed_desc_event *)avail; + struct vring_packed_desc_event *device_event = + (struct vring_packed_desc_event *)used; - /* FIXME: check device area and driver area */ return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) && - access_ok(VER...
2018 Jul 04
0
[PATCH net-next 8/8] vhost: event suppression for packed ring
...b/drivers/vhost/vhost.c >> @@ -1115,10 +1115,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, >> struct vring_used __user *used) >> { >> struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; >> + struct vring_packed_desc_event *driver_event = >> + (struct vring_packed_desc_event *)avail; >> + struct vring_packed_desc_event *device_event = >> + (struct vring_packed_desc_event *)used; >> >> - /* TODO: check device area and driver area */ >> return access_ok(VERIFY_READ, packed, n...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...> > > > > @@ -171,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > > > > > > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > > > > > > } > > > > > > +struct vring_packed_desc_event { > > > > > > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > > > > > > + __le16 off_wrap; > > > > > > + /* Descriptor Ring Change Event Flags. */ > > > > > > + __le16 flags; > > > > > > +}; > &...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...> > > > > @@ -171,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > > > > > > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > > > > > > } > > > > > > +struct vring_packed_desc_event { > > > > > > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > > > > > > + __le16 off_wrap; > > > > > > + /* Descriptor Ring Change Event Flags. */ > > > > > > + __le16 flags; > > > > > > +}; > &...
2018 May 30
2
[RFC V5 PATCH 8/8] vhost: event suppression for packed ring
.../vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1112,10 +1112,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, > struct vring_used __user *used) > { > struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; > + struct vring_packed_desc_event *driver_event = > + (struct vring_packed_desc_event *)avail; > + struct vring_packed_desc_event *device_event = > + (struct vring_packed_desc_event *)used; > > - /* FIXME: check device area and driver area */ > return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) &am...
2018 May 30
2
[RFC V5 PATCH 8/8] vhost: event suppression for packed ring
.../vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1112,10 +1112,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, > struct vring_used __user *used) > { > struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; > + struct vring_packed_desc_event *driver_event = > + (struct vring_packed_desc_event *)avail; > + struct vring_packed_desc_event *device_event = > + (struct vring_packed_desc_event *)used; > > - /* FIXME: check device area and driver area */ > return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) &am...
2018 Jul 03
0
[PATCH net-next 8/8] vhost: event suppression for packed ring
.....cccbc82 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -1115,10 +1115,15 @@ static int vq_access_ok_packed(struct vhost_virtqueue *vq, unsigned int num, struct vring_used __user *used) { struct vring_desc_packed *packed = (struct vring_desc_packed *)desc; + struct vring_packed_desc_event *driver_event = + (struct vring_packed_desc_event *)avail; + struct vring_packed_desc_event *device_event = + (struct vring_packed_desc_event *)used; - /* TODO: check device area and driver area */ return access_ok(VERIFY_READ, packed, num * sizeof(*packed)) && - access_ok(VERI...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...71,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > > > > > > > > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > > > > > > > > } > > > > > > > > +struct vring_packed_desc_event { > > > > > > > > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > > > > > > > > + __le16 off_wrap; > > > > > > > > + /* Descriptor Ring Change Event Flags. */ > > > > > > > > + __le16 flags;...
2018 Nov 30
2
[PATCH net-next v3 01/13] virtio: add packed ring types and macros
...71,4 +195,32 @@ static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) > > > > > > > > return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old); > > > > > > > > } > > > > > > > > +struct vring_packed_desc_event { > > > > > > > > + /* Descriptor Ring Change Event Offset/Wrap Counter. */ > > > > > > > > + __le16 off_wrap; > > > > > > > > + /* Descriptor Ring Change Event Flags. */ > > > > > > > > + __le16 flags;...