diff options
Diffstat (limited to 'middleware/multicore/open-amp/virtio/virtio_ring.h')
-rw-r--r-- | middleware/multicore/open-amp/virtio/virtio_ring.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/middleware/multicore/open-amp/virtio/virtio_ring.h b/middleware/multicore/open-amp/virtio/virtio_ring.h index 5bea08b..3f1cf50 100644 --- a/middleware/multicore/open-amp/virtio/virtio_ring.h +++ b/middleware/multicore/open-amp/virtio/virtio_ring.h @@ -38,7 +38,7 @@ /* This marks a buffer as write-only (otherwise read-only). */ #define VRING_DESC_F_WRITE 2 /* This means the buffer contains a list of buffer descriptors. */ -#define VRING_DESC_F_INDIRECT 4 /*not used?*/ +#define VRING_DESC_F_INDIRECT 4 /* 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 @@ -65,7 +65,7 @@ struct vring_desc { struct vring_avail { uint16_t flags; uint16_t idx; - uint16_t ring[0]; + uint16_t ring[1]; }; /* uint32_t is used here for ids for padding reasons. */ @@ -79,7 +79,7 @@ struct vring_used_elem { struct vring_used { uint16_t flags; uint16_t idx; - struct vring_used_elem ring[0]; + struct vring_used_elem ring[1]; }; struct vring { @@ -145,7 +145,7 @@ vring_init(struct vring *vr, unsigned int num, uint8_t *p, vr->desc = (struct vring_desc *) p; vr->avail = (struct vring_avail *) (p + num * sizeof(struct vring_desc)); - vr->used = (void *) + vr->used = (struct vring_used *) (((unsigned long) &vr->avail->ring[num] + align-1) & ~(align-1)); } |