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: Mon, 28 Apr 2014 14:32:21 +0100 Message-ID: <535E5865.1000906@linaro.org> References: <1398087904-16594-1-git-send-email-avanzini.arianna@gmail.com> <1398087904-16594-11-git-send-email-avanzini.arianna@gmail.com> <5356CAF9.8010307@linaro.org> <1398691505.29700.95.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1398691505.29700.95.camel@kazak.uk.xensource.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: Ian Campbell Cc: 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, julien.grall@citrix.com, etrudeau@broadcom.com, JBeulich@suse.com, Arianna Avanzini , viktor.kleinik@globallogic.com List-Id: xen-devel@lists.xenproject.org On 04/28/2014 02:25 PM, Ian Campbell wrote: > On Tue, 2014-04-22 at 21:03 +0100, Julien Grall wrote: >> 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 path we've decided to go down is to separate the granting/revoking > of permissions from the establishment of mappings, isn't it? > > Doing as you suggest would be contrary to that plan I think. Hmmm right. Sorry, I start to get lost with all the mail. In another case, as the {,un}map code do nothing for translated domain (return 0). Shall we let the toolstack call this function unconditionally? Regards, -- Julien Grall