From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sahita, Ravi" Subject: Re: [PATCH] libxl: check nesthvm and altp2m in libxl level Date: Fri, 24 Jul 2015 16:02:39 +0000 Message-ID: References: <1437752378-14603-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZIfQp-0005Fa-Ic for xen-devel@lists.xenproject.org; Fri, 24 Jul 2015 16:02:43 +0000 In-Reply-To: <1437752378-14603-1-git-send-email-wei.liu2@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Wei Liu , Xen-devel Cc: Ian Jackson , Ian Campbell , "White, Edmund H" List-Id: xen-devel@lists.xenproject.org >From: Wei Liu [mailto:wei.liu2@citrix.com] >Sent: Friday, July 24, 2015 8:40 AM > >In ea214001 ("x86/altp2m: add altp2mhvm HVM domain parameter"), a check >was added to ensure nestedhvm and altp2m cannot be enabled at the same >time. That check was added in xl, but in fact it should be in libxl because it >should be the entity that decides whether the provided configuration is valid. > >This patch moves the check to libxl. The code snippet is moved after calling >libxl__domain_build_info_setdefault so that we can: >1. remove libxl_defbool_is_default in `if()'; 2. detect mistake in >libxl__domain_build_info_setdefault. > >Signed-off-by: Wei Liu >--- >Cc: Ed White >Cc: "Sahita, Ravi" > >I said I discovered an issue during review but also volunteered to fix it after >the series is merged. Here is the patch to do that. >--- > tools/libxl/libxl_create.c | 6 ++++++ > tools/libxl/xl_cmdimpl.c | 8 -------- > 2 files changed, 6 insertions(+), 8 deletions(-) > >diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index >855b42c..de536ba 100644 >--- a/tools/libxl/libxl_create.c >+++ b/tools/libxl/libxl_create.c >@@ -883,6 +883,12 @@ static void initiate_domain_create(libxl__egc *egc, > goto error_out; > } > >+ if (libxl_defbool_val(d_config->b_info.u.hvm.nested_hvm) && >+ libxl_defbool_val(d_config->b_info.u.hvm.altp2m)) { >+ LOG(ERROR, "nestedhvm and altp2mhvm cannot be used together"); >+ goto error_out; >+ } >+ > for (i = 0; i < d_config->num_disks; i++) { > ret = libxl__device_disk_setdefault(gc, &d_config->disks[i]); > if (ret) { >diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index >d0bf0cb..9755d55 100644 >--- a/tools/libxl/xl_cmdimpl.c >+++ b/tools/libxl/xl_cmdimpl.c >@@ -1568,14 +1568,6 @@ static void parse_config_data(const char >*config_source, > > xlu_cfg_get_defbool(config, "altp2mhvm", &b_info->u.hvm.altp2m, 0); > >- if (!libxl_defbool_is_default(b_info->u.hvm.nested_hvm) && >- libxl_defbool_val(b_info->u.hvm.nested_hvm) && >- !libxl_defbool_is_default(b_info->u.hvm.altp2m) && >- libxl_defbool_val(b_info->u.hvm.altp2m)) { >- fprintf(stderr, "ERROR: nestedhvm and altp2mhvm cannot be used >together\n"); >- exit(1); >- } >- > xlu_cfg_replace_string(config, "smbios_firmware", > &b_info->u.hvm.smbios_firmware, 0); > xlu_cfg_replace_string(config, "acpi_firmware", >-- >2.1.4 Thanks Wei Ravi