From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arianna Avanzini Subject: [PATCH v5 7/8] tools, libxl: add helpers to establish if guest is auto-translated Date: Mon, 7 Apr 2014 01:31:59 +0200 Message-ID: <1396827120-30617-8-git-send-email-avanzini.arianna@gmail.com> References: <1396827120-30617-1-git-send-email-avanzini.arianna@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1396827120-30617-1-git-send-email-avanzini.arianna@gmail.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: xen-devel@lists.xen.org Cc: Ian.Campbell@eu.citrix.com, paolo.valente@unimore.it, keir@xen.org, stefano.stabellini@eu.citrix.com, Ian.Jackson@eu.citrix.com, dario.faggioli@citrix.com, tim@xen.org, julien.grall@citrix.com, etrudeau@broadcom.com, JBeulich@suse.com, avanzini.arianna@gmail.com, viktor.kleinik@globallogic.com List-Id: xen-devel@lists.xenproject.org This commit adds, for each architecture supported by libxl, a helper function which establishes if a domain uses an auto-translated physmap from the libxl_domain_config structure related to it. Signed-off-by: Arianna Avanzini Cc: Dario Faggioli Cc: Paolo Valente Cc: Stefano Stabellini Cc: Julien Grall Cc: Ian Campbell Cc: Jan Beulich Cc: Keir Fraser Cc: Tim Deegan Cc: Ian Jackson Cc: Eric Trudeau Cc: Viktor Kleinik --- tools/libxl/libxl_arch.h | 2 ++ tools/libxl/libxl_arm.c | 5 +++++ tools/libxl/libxl_x86.c | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/tools/libxl/libxl_arch.h b/tools/libxl/libxl_arch.h index aee0a91..963d98b 100644 --- a/tools/libxl/libxl_arch.h +++ b/tools/libxl/libxl_arch.h @@ -22,4 +22,6 @@ int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config, int libxl__arch_domain_configure(libxl__gc *gc, libxl_domain_build_info *info, struct xc_dom_image *dom); + +int libxl__arch_auto_translated_physmap(libxl_domain_config *d_config); #endif diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c index 0cfd0cf..637f906 100644 --- a/tools/libxl/libxl_arm.c +++ b/tools/libxl/libxl_arm.c @@ -11,6 +11,11 @@ int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config, return 0; } +int libxl__arch_auto_translated_physmap(libxl_domain_config *d_config) +{ + return 1; +} + static struct arch_info { const char *guest_type; const char *timer_compat; diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c index b11d036..c6f9c68 100644 --- a/tools/libxl/libxl_x86.c +++ b/tools/libxl/libxl_x86.c @@ -317,3 +317,9 @@ int libxl__arch_domain_configure(libxl__gc *gc, { return 0; } + +int libxl__arch_auto_translated_physmap(libxl_domain_config *d_config) +{ + return (d_config->b_info.type == LIBXL_DOMAIN_TYPE_HVM || + libxl_defbool_val(d_config->c_info.pvh)); +} -- 1.9.1