[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libxc: introduce the notion of a container type
commit 20dd1725e6bc80cff3c1c7c1b0d842e7dc6d3754 Author: Roger Pau Monne <roger.pau@xxxxxxxxxx> AuthorDate: Fri Oct 2 17:48:35 2015 +0200 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Thu Oct 8 12:12:05 2015 +0100 libxc: introduce the notion of a container type Introduce the notion of a container type into xc_dom_image. This will be needed by later changes that will also use xc_dom_image in order to build HVM guests. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libxc/include/xc_dom.h | 6 ++++++ tools/libxc/xc_dom_x86.c | 4 ++++ tools/libxl/libxl_dom.c | 1 + 3 files changed, 11 insertions(+), 0 deletions(-) diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h index e794a13..30fa8c5 100644 --- a/tools/libxc/include/xc_dom.h +++ b/tools/libxc/include/xc_dom.h @@ -177,6 +177,12 @@ struct xc_dom_image { struct xc_dom_arch *arch_hooks; /* allocate up to virt_alloc_end */ int (*allocate) (struct xc_dom_image * dom, xen_vaddr_t up_to); + + /* Container type (HVM or PV). */ + enum { + XC_DOM_PV_CONTAINER, + XC_DOM_HVM_CONTAINER, + } container_type; }; /* --- pluggable kernel loader ------------------------------------- */ diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c index f3962cd..d306475 100644 --- a/tools/libxc/xc_dom_x86.c +++ b/tools/libxc/xc_dom_x86.c @@ -1069,6 +1069,10 @@ int arch_setup_bootlate(struct xc_dom_image *dom) int xc_dom_feature_translated(struct xc_dom_image *dom) { + /* Guests running inside HVM containers are always auto-translated. */ + if ( dom->container_type == XC_DOM_HVM_CONTAINER ) + return 1; + return elf_xen_feature_get(XENFEAT_auto_translated_physmap, dom->f_active); } diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index 4c7698c..2b92d48 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -618,6 +618,7 @@ int libxl__build_pv(libxl__gc *gc, uint32_t domid, } dom->pvh_enabled = state->pvh_enabled; + dom->container_type = XC_DOM_PV_CONTAINER; LOG(DEBUG, "pv kernel mapped %d path %s", state->pv_kernel.mapped, state->pv_kernel.path); -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |