|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 09/24] libxl: x86: factor out e820_host_sanitize
On 12/02/15 19:44, Wei Liu wrote:
> This function gets the machine E820 map and sanitize it according to PV
> guest configuration.
>
> This will be used in later patch. No functional change introduced in
> this patch.
>
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> Cc: Elena Ufimtseva <ufimtseva@xxxxxxxxx>
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Looks to have addressed my previous concerns.
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> Changes in v4:
> 1. Use actual size of the map instead of using E820MAX.
> ---
> tools/libxl/libxl_x86.c | 32 +++++++++++++++++++++++---------
> 1 file changed, 23 insertions(+), 9 deletions(-)
>
> diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
> index 9ceb373..d012b4d 100644
> --- a/tools/libxl/libxl_x86.c
> +++ b/tools/libxl/libxl_x86.c
> @@ -207,6 +207,27 @@ static int e820_sanitize(libxl_ctx *ctx, struct
> e820entry src[],
> return 0;
> }
>
> +static int e820_host_sanitize(libxl__gc *gc,
> + libxl_domain_build_info *b_info,
> + struct e820entry map[],
> + uint32_t *nr)
> +{
> + int rc;
> +
> + rc = xc_get_machine_memory_map(CTX->xch, map, *nr);
> + if (rc < 0) {
> + errno = rc;
> + return ERROR_FAIL;
> + }
> +
> + *nr = rc;
> +
> + rc = e820_sanitize(CTX, map, nr, b_info->target_memkb,
> + (b_info->max_memkb - b_info->target_memkb) +
> + b_info->u.pv.slack_memkb);
> + return rc;
> +}
> +
> static int libxl__e820_alloc(libxl__gc *gc, uint32_t domid,
> libxl_domain_config *d_config)
> {
> @@ -223,15 +244,8 @@ static int libxl__e820_alloc(libxl__gc *gc, uint32_t
> domid,
> if (!libxl_defbool_val(b_info->u.pv.e820_host))
> return ERROR_INVAL;
>
> - rc = xc_get_machine_memory_map(ctx->xch, map, E820MAX);
> - if (rc < 0) {
> - errno = rc;
> - return ERROR_FAIL;
> - }
> - nr = rc;
> - rc = e820_sanitize(ctx, map, &nr, b_info->target_memkb,
> - (b_info->max_memkb - b_info->target_memkb) +
> - b_info->u.pv.slack_memkb);
> + nr = E820MAX;
> + rc = e820_host_sanitize(gc, b_info, map, &nr);
> if (rc)
> return ERROR_FAIL;
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |