From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 63810FFA for ; Tue, 30 Jun 2015 05:27:17 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 29 Jun 2015 20:27:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,374,1432623600"; d="scan'208";a="720023372" Received: from kmsmsx153.gar.corp.intel.com ([172.21.73.88]) by orsmga001.jf.intel.com with ESMTP; 29 Jun 2015 20:27:16 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.110.14) by KMSMSX153.gar.corp.intel.com (172.21.73.88) with Microsoft SMTP Server (TLS) id 14.3.224.2; Tue, 30 Jun 2015 11:27:13 +0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.165]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.46]) with mapi id 14.03.0224.002; Tue, 30 Jun 2015 11:27:12 +0800 From: "He, Shaopeng" To: 'Thomas Monjalon' , 'Stephen Hemminger' Thread-Topic: [dpdk-dev] [PATCH] fm10k: support XEN domain0 Thread-Index: AQHQju0R4dHaa4L0okWP5aPaWkV2Cp2c2HSAgBypsMCACyePUA== Date: Tue, 30 Jun 2015 03:27:12 +0000 Message-ID: References: <1431680162-13704-1-git-send-email-shaopeng.he@intel.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC0575FDE4@SHSMSX101.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "'dev@dpdk.org'" Subject: Re: [dpdk-dev] [PATCH] fm10k: support XEN domain0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2015 03:27:18 -0000 Hi Thomas, Stephen, > -----Original Message----- > From: He, Shaopeng > Sent: Tuesday, June 23, 2015 9:21 AM > To: Thomas Monjalon > Cc: Liu, Jijiang; dev@dpdk.org; Stephen Hemminger > Subject: RE: [dpdk-dev] [PATCH] fm10k: support XEN domain0 >=20 > Hi Thomas, >=20 > > -----Original Message----- > > From: Liu, Jijiang > > Sent: Friday, June 05, 2015 11:18 AM > > To: dev@dpdk.org > > Cc: He, Shaopeng > > Subject: RE: [dpdk-dev] [PATCH] fm10k: support XEN domain0 > > > > > > Acked-by: Jijiang Liu > > > > 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 >=20 > Do you think we can accept this patch in current no-so-elegant way, so us= er > can > use XEN with fm10k from release 2.1; or better to wait for Stephen's patc= h? > Thank you in advance for your attention to this matter. >=20 > Best Regards, > --Shaopeng This patch is necessary for fm10k to use on XEN environment with DPDK. How = could we move forward, could you please kindly give some advice? Thanks, --Shaopeng >=20 > > > -----Original Message----- > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shaopeng He > > > Sent: Friday, May 15, 2015 4:56 PM > > > To: dev@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 D= MA > > > 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 > > > --- > > > 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 =3D mz->addr; > > > +#ifdef RTE_LIBRTE_XEN_DOM0 > > > + q->hw_ring_phys_addr =3D rte_mem_phy2mch(mz->memseg_id, mz- > > > >phys_addr); > > > +#else > > > q->hw_ring_phys_addr =3D mz->phys_addr; > > > +#endif > > > > > > dev->data->rx_queues[queue_id] =3D 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 =3D mz->addr; > > > +#ifdef RTE_LIBRTE_XEN_DOM0 > > > + q->hw_ring_phys_addr =3D rte_mem_phy2mch(mz->memseg_id, mz- > > > >phys_addr); > > > +#else > > > q->hw_ring_phys_addr =3D mz->phys_addr; > > > +#endif > > > > > > /* > > > * allocate memory for the RS bit tracker. Enough slots to hold the > > > -- > > > 1.9.3 > >