mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com> Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
1 parent
2637d04d3b
commit
20dd1725e6
3 files changed
+11
No files matched your search
@@ -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 ------------------------------------- */
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||