From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v6 10/11] tools, libxl: handle the iomem parameter with the memory_mapping hcall Date: Tue, 22 Apr 2014 21:03:05 +0100 Message-ID: <5356CAF9.8010307@linaro.org> References: <1398087904-16594-1-git-send-email-avanzini.arianna@gmail.com> <1398087904-16594-11-git-send-email-avanzini.arianna@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1398087904-16594-11-git-send-email-avanzini.arianna@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Arianna Avanzini , xen-devel@lists.xen.org Cc: julien.grall@citrix.com, paolo.valente@unimore.it, keir@xen.org, stefano.stabellini@eu.citrix.com, tim@xen.org, dario.faggioli@citrix.com, Ian.Jackson@eu.citrix.com, Ian.Campbell@eu.citrix.com, etrudeau@broadcom.com, JBeulich@suse.com, viktor.kleinik@globallogic.com List-Id: xen-devel@lists.xenproject.org Hi Arianna, On 21/04/14 14:45, Arianna Avanzini wrote: > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index 6aa630e..cdf03cd 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -1113,6 +1113,19 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev, > "failed give dom%d access to iomem range %"PRIx64"-%"PRIx64, > domid, io->start, io->start + io->number - 1); > ret = ERROR_FAIL; > + continue; > + } > + if (!libxl__arch_auto_translated_physmap(d_config)) > + continue; > + ret = xc_domain_memory_mapping(CTX->xch, domid, > + io->gfn, io->start, > + io->number, 1); > + if (ret < 0) { > + LOGE(ERROR, > + "failed to map to dom%d iomem range %"PRIx64"-%"PRIx64 > + " to guest address %"PRIx64, > + domid, io->start, io->start + io->number - 1, io->gfn); > + ret = ERROR_FAIL; I know I've asked you to create the small helper "libxl__arch_auto_translated_physmap" in libxl. I'm wondering if we can replace xc_domain_iomem_permission by xc_domain_memory_mapping. The latter function won't do anything for PV. It will also avoid to call 2 hypercalls. Regards, -- Julien Grall