From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v3 5/5] tools, libxl: handle the iomem parameter with the memory_mapping hcall Date: Mon, 17 Mar 2014 12:35:05 +0000 Message-ID: <5326EBF9.3060004@linaro.org> References: <1394914286-29713-1-git-send-email-avanzini.arianna@gmail.com> <1394914286-29713-6-git-send-email-avanzini.arianna@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1394914286-29713-6-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 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, xen-devel@lists.xen.org, Ian.Campbell@eu.citrix.com, etrudeau@broadcom.com, JBeulich@suse.com, viktor.kleinik@globallogic.com List-Id: xen-devel@lists.xenproject.org Hello Arianna, (Adding Mukesh for PVH) Thanks for the patch. On 03/15/2014 08:11 PM, Arianna Avanzini wrote: > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index d015cf4..dda4df3 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -1107,7 +1107,24 @@ 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 defined(__x86_32__) || defined(__x86_64__) > + if (b_info->type != LIBXL_DOMAIN_TYPE_HVM) Calling xc_domain_memory_memory_mapping might be also useful for PVH. AFAIK, on x86 PVH is consider as LIBXL_DOMAIN_TYPE_PV. The best solution is to check if the domain use auto-translated physmap (e.g translation between PFN and MFN is done by Xen). But, after talking with Ian C. it's not possible to know it on libxl. You might need to introduce an architecture helper (libxl_arm.c and libxl_x86.c are respectively only compiled on ARM and x86), which check if you can call xc_domain_memory_mapping or not. > + continue; > +#endif /* __x86_32__ || __x86_64__ */ > +#if defined(__arm__) || defined(__x86_32__) || defined(__x86_64__) You don't need to ifdef this part. Libxl doesn't support other arch for now. Regards, -- Julien Grall