diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2017-04-07 18:25:24 -0700 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2017-04-07 18:25:24 -0700 |
commit | 23958fc05fe76b0d91e156da0a3b5619c81fe3c0 (patch) | |
tree | 49e0376550ea422ee62c9b192a415bbaf3cfbff2 | |
parent | 3fd18eead7b265bd0f72630473b08354c5a1a4e3 (diff) |
virtio: Redefine vring_avail_eventColibri-VF61-M4_FreeRTOS_1.2-20170407
Redefine vring_avail_event to avoid accessing ring.id as
a 16bit integer and breaking the C aliasing rules.
This fixes a build warning:
virtio/virtqueue.c: In function ‘vq_ring_must_notify_host’:
virtio/virtqueue.c:658:9: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
event_idx = vring_avail_event(&vq->vq_ring);
^
No functional change.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
-rw-r--r-- | middleware/multicore/open-amp/virtio/virtio_ring.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/middleware/multicore/open-amp/virtio/virtio_ring.h b/middleware/multicore/open-amp/virtio/virtio_ring.h index 5bea08b..fc3eb08 100644 --- a/middleware/multicore/open-amp/virtio/virtio_ring.h +++ b/middleware/multicore/open-amp/virtio/virtio_ring.h @@ -121,7 +121,7 @@ struct vring { * versa. They are at the end for backwards compatibility. */ #define vring_used_event(vr) ((vr)->avail->ring[(vr)->num]) -#define vring_avail_event(vr) (*(uint16_t *)&(vr)->used->ring[(vr)->num]) +#define vring_avail_event(vr) ((vr)->used->ring[(vr)->num].id & 0xFFFF) static inline int vring_size(unsigned int num, unsigned long align) |