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

Tan, Jianfeng jianfeng.tan at intel.com
Sat Dec 12 08:15:05 CET 2015



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei at dpdk.org
> Sent: Thursday, December 10, 2015 11:16 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH] xenvirt: fix compilation issues
> 
> 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


Looks good to me. Just one thing, shall we keep unified on printing out either errno, or strerror(errno)?

Acked-by: Jianfeng Tan <jianfeng.tan at intel.com>

Thanks,
Jianfeng


More information about the dev mailing list