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: Tue, 18 Mar 2014 21:01:06 +0000 Message-ID: <5328B412.7000904@linaro.org> References: <1394914286-29713-1-git-send-email-avanzini.arianna@gmail.com> <1394914286-29713-6-git-send-email-avanzini.arianna@gmail.com> <5326EBF9.3060004@linaro.org> <53287136.70502@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <53287136.70502@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, On 03/18/2014 04:15 PM, Arianna Avanzini wrote: > On 03/17/2014 01:35 PM, Julien Grall wrote: >> 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. >> > > Sorry if I bother you with a question to see if I understood correctly, the > helper should determine whether the guest domain is auto-translated, right? Right, and we will have to call xc_domain_memory_mapping only if the domain is auto-translated. > >>> + 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. >> > > I think it was Jan Beulich who suggested using a whitelist approach here during > the review of the v2 patchset. Is it / is he OK to drop this by now? I think we can remove it as long as we have an arch-function to check whether this is needed to be called. If Xen will be ported to a new architecture, the developper will have to implement the new helper for its architecture. Regards, -- Julien Grall