summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStefan Weil <sw@weilnetz.de>2014-09-24 07:20:02 +0200
committerPeter Maydell <peter.maydell@linaro.org>2014-09-24 12:51:38 +0100
commitc0f896810b6ec0117f69a5b1b8747aed93b76521 (patch)
treea96ec7a5f10531c7dee51590c82cea5b53524fe9
parentca976d1803a16e8f9d4a657634823a8c5b9d661a (diff)
downloadfocaccia-qemu-c0f896810b6ec0117f69a5b1b8747aed93b76521.tar.gz
focaccia-qemu-c0f896810b6ec0117f69a5b1b8747aed93b76521.zip
virtio: Fix wrong type cast from pointer to long
Compiler warning (w32, w64):

include/hw/virtio/virtio_ring.h:142:26: warning:
 cast from pointer to integer of different size [-Wpointer-to-int-cast]

When sizeof(long) < sizeof(void *), this is not only a warning but a
real program error.

Add also missing blanks in the same statement.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1411536002-14088-1-git-send-email-sw@weilnetz.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--include/hw/virtio/virtio_ring.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/hw/virtio/virtio_ring.h b/include/hw/virtio/virtio_ring.h
index 8f58bc975e..0b42e6eae5 100644
--- a/include/hw/virtio/virtio_ring.h
+++ b/include/hw/virtio/virtio_ring.h
@@ -139,8 +139,8 @@ static inline void vring_init(struct vring *vr, unsigned int num, void *p,
     vr->num = num;
     vr->desc = p;
     vr->avail = p + num*sizeof(struct vring_desc);
-    vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(uint16_t)
-        + align-1) & ~(align - 1));
+    vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(uint16_t)
+        + align - 1) & ~(align - 1));
 }
 
 static inline unsigned vring_size(unsigned int num, unsigned long align)