diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 2b93565ee5..33e5a2a95d 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -3026,7 +3026,7 @@ int libxl_domain_need_memory(libxl_ctx *ctx, libxl_domain_build_info *b_info, if (strstr(dm_info->device_model, "stubdom-dm")) *need_memkb += 32 * 1024; } else - *need_memkb += LIBXL_PV_EXTRA_MEMORY; + *need_memkb += b_info->shadow_memkb + LIBXL_PV_EXTRA_MEMORY; if (*need_memkb % (2 * 1024)) *need_memkb += (2 * 1024) - (*need_memkb % (2 * 1024)); return 0; diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index a1301d345d..352a8db599 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -332,8 +332,8 @@ static void init_build_info(libxl_domain_build_info *b_info, libxl_domain_create b_info->target_memkb = b_info->max_memkb; b_info->disable_migrate = 0; b_info->cpuid = NULL; + b_info->shadow_memkb = 0; if (c_info->hvm) { - b_info->shadow_memkb = 0; /* Set later */ b_info->video_memkb = 8 * 1024; b_info->kernel.path = strdup("hvmloader"); b_info->hvm = 1;