summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2017-04-07 18:25:24 -0700
committerStefan Agner <stefan.agner@toradex.com>2017-04-07 18:25:24 -0700
commit23958fc05fe76b0d91e156da0a3b5619c81fe3c0 (patch)
tree49e0376550ea422ee62c9b192a415bbaf3cfbff2
parent3fd18eead7b265bd0f72630473b08354c5a1a4e3 (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.h2
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)