[dpdk-dev] [PATCH] xenvirt: fix compilation issues

Huawei Huawei
Thu Dec 10 16:15:58 CET 2015


Reported-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
Signed-off-by: Huawei Xie <huawei.xie at intel.com>
---
 drivers/net/xenvirt/rte_mempool_gntalloc.c | 6 +++---
 drivers/net/xenvirt/rte_xen_lib.c          | 4 ++--
 drivers/net/xenvirt/virtqueue.h            | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/xenvirt/rte_mempool_gntalloc.c b/drivers/net/xenvirt/rte_mempool_gntalloc.c
index 3a650e8..0585f08 100644
--- a/drivers/net/xenvirt/rte_mempool_gntalloc.c
+++ b/drivers/net/xenvirt/rte_mempool_gntalloc.c
@@ -184,10 +184,10 @@ _create_mempool(const char *name, unsigned elt_num, unsigned elt_size,
 				rv = ioctl(gntalloc_fd, IOCTL_GNTALLOC_DEALLOC_GREF, &arg);
 				if (rv) {
 					/* shouldn't fail here */
-					RTE_LOG(ERR, PMD, "va=%p pa=%p index=%p %s\n",
+					RTE_LOG(ERR, PMD, "va=%p pa=%"PRIu64"x index=%"PRIu64" %s\n",
 						gnt_arr[i].va,
-						(void *)gnt_arr[i].pa,
-						(void *)arg.index, strerror(errno));
+						gnt_arr[i].pa,
+						arg.index, strerror(errno));
 					rte_panic("gntdealloc failed when freeing pages\n");
 				}
 			}
diff --git a/drivers/net/xenvirt/rte_xen_lib.c b/drivers/net/xenvirt/rte_xen_lib.c
index 3e97c1a..de63cd3 100644
--- a/drivers/net/xenvirt/rte_xen_lib.c
+++ b/drivers/net/xenvirt/rte_xen_lib.c
@@ -115,8 +115,8 @@ get_phys_map(void *va, phys_addr_t pa[], uint32_t pg_num, uint32_t pg_sz)
 			(rc = pread(fd, pa, nb, ofs)) < 0 ||
 			(rc -= nb) != 0) {
 		RTE_LOG(ERR, PMD, "%s: failed read of %u bytes from \'%s\' "
-			"at offset %zu, error code: %d\n",
-			__func__, nb, PAGEMAP_FNAME, ofs, errno);
+			"at offset %lu, error code: %d\n",
+			__func__, nb, PAGEMAP_FNAME, (unsigned long)ofs, errno);
 		rc = ENOENT;
 	}
 
diff --git a/drivers/net/xenvirt/virtqueue.h b/drivers/net/xenvirt/virtqueue.h
index 6dcb0ef..5312347 100644
--- a/drivers/net/xenvirt/virtqueue.h
+++ b/drivers/net/xenvirt/virtqueue.h
@@ -55,7 +55,7 @@ struct rte_mbuf;
  * rather than gpa<->hva in virito spec.
  */
 #define RTE_MBUF_DATA_DMA_ADDR(mb) \
-	rte_pktmbuf_mtod(mb, uint64_t)
+	((uint64_t)(uintptr_t)rte_pktmbuf_mtod(mb, void *))
 
 enum { VTNET_RQ = 0, VTNET_TQ = 1, VTNET_CQ = 2 };
 
@@ -198,7 +198,7 @@ virtqueue_enqueue_recv_refill(struct virtqueue *rxvq, struct rte_mbuf *cookie)
 	dxp->ndescs = needed;
 
 	start_dp[head_idx].addr  =
-		(uint64_t) ((uint64_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM - sizeof(struct virtio_net_hdr));
+		(uint64_t) ((uintptr_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM - sizeof(struct virtio_net_hdr));
 	start_dp[head_idx].len   = cookie->buf_len - RTE_PKTMBUF_HEADROOM + sizeof(struct virtio_net_hdr);
 	start_dp[head_idx].flags = VRING_DESC_F_WRITE;
 	rxvq->vq_desc_head_idx   = start_dp[head_idx].next;
-- 
1.8.1.4



More information about the dev mailing list