From c0f896810b6ec0117f69a5b1b8747aed93b76521 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Wed, 24 Sep 2014 07:20:02 +0200 Subject: [PATCH] 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 Reviewed-by: Markus Armbruster Reviewed-by: Fam Zheng Reviewed-by: Stefan Hajnoczi Message-id: 1411536002-14088-1-git-send-email-sw@weilnetz.de Signed-off-by: Peter Maydell --- include/hw/virtio/virtio_ring.h | 4 ++-- 1 file 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)