[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 5/5] tools, libxl: handle the iomem parameter with the memory_mapping hcall

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.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.