From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shaopeng.he@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id 63810FFA
 for <dev@dpdk.org>; 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" <shaopeng.he@intel.com>
To: 'Thomas Monjalon' <thomas.monjalon@6wind.com>, 'Stephen Hemminger'
 <stephen@networkplumber.org>
Thread-Topic: [dpdk-dev] [PATCH] fm10k: support XEN domain0
Thread-Index: AQHQju0R4dHaa4L0okWP5aPaWkV2Cp2c2HSAgBypsMCACyePUA==
Date: Tue, 30 Jun 2015 03:27:12 +0000
Message-ID: <FB82FCC69332B84596FE0CEC3C1310949EBFC9@shsmsx102.ccr.corp.intel.com>
References: <1431680162-13704-1-git-send-email-shaopeng.he@intel.com>
 <1ED644BD7E0A5F4091CF203DAFB8E4CC0575FDE4@SHSMSX101.ccr.corp.intel.com>
 <FB82FCC69332B84596FE0CEC3C1310949E2DC9@shsmsx102.ccr.corp.intel.com>
In-Reply-To: <FB82FCC69332B84596FE0CEC3C1310949E2DC9@shsmsx102.ccr.corp.intel.com>
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'" <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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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 <Jijiang.liu@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
>=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 <shaopeng.he@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 =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
> >