[dpdk-dev] [PATCH] fm10k: support XEN domain0

Liu, Jijiang jijiang.liu at intel.com
Fri Jun 5 05:17:53 CEST 2015


Acked-by: Jijiang Liu <Jijiang.liu at intel.com>

I think this patch could be merged before Stephen's following patch[1] is merged, then Stephen should rework the patch[1].
Thanks.

[1]http://dpdk.org/ml/archives/dev/2015-March/014992.html

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Shaopeng He
> Sent: Friday, May 15, 2015 4:56 PM
> To: dev at dpdk.org
> Cc: He, Shaopeng
> Subject: [dpdk-dev] [PATCH] fm10k: support XEN domain0
> 
> fm10k was failing to run in XEN domain0, as the physical memory for DMA
> should be allocated and translated in a different way for XEN domain0. So
> rte_memzone_reserve_bounded() should be used for DMA memory
> allocation, and rte_mem_phy2mch() should be used for DMA memory
> address translation to support running fm10k PMD in XEN domain0.
> 
> Signed-off-by: Shaopeng He <shaopeng.he at intel.com>
> ---
>  lib/librte_pmd_fm10k/fm10k_ethdev.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/lib/librte_pmd_fm10k/fm10k_ethdev.c
> b/lib/librte_pmd_fm10k/fm10k_ethdev.c
> index 275c19c..c85c856 100644
> --- a/lib/librte_pmd_fm10k/fm10k_ethdev.c
> +++ b/lib/librte_pmd_fm10k/fm10k_ethdev.c
> @@ -1004,7 +1004,11 @@ fm10k_rx_queue_setup(struct rte_eth_dev *dev,
> uint16_t queue_id,
>  		return (-ENOMEM);
>  	}
>  	q->hw_ring = mz->addr;
> +#ifdef RTE_LIBRTE_XEN_DOM0
> +	q->hw_ring_phys_addr = rte_mem_phy2mch(mz->memseg_id, mz-
> >phys_addr);
> +#else
>  	q->hw_ring_phys_addr = mz->phys_addr;
> +#endif
> 
>  	dev->data->rx_queues[queue_id] = q;
>  	return 0;
> @@ -1150,7 +1154,11 @@ fm10k_tx_queue_setup(struct rte_eth_dev *dev,
> uint16_t queue_id,
>  		return (-ENOMEM);
>  	}
>  	q->hw_ring = mz->addr;
> +#ifdef RTE_LIBRTE_XEN_DOM0
> +	q->hw_ring_phys_addr = rte_mem_phy2mch(mz->memseg_id, mz-
> >phys_addr);
> +#else
>  	q->hw_ring_phys_addr = mz->phys_addr;
> +#endif
> 
>  	/*
>  	 * allocate memory for the RS bit tracker. Enough slots to hold the
> --
> 1.9.3




More information about the dev mailing list