[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 17/19] libxl: add PVH support to x86 functions
This also includes the x86 ACPI related functions. Remove support for device model "none" Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libxl/libxl_x86.c | 33 +++++++++++++++++---------------- tools/libxl/libxl_x86_acpi.c | 3 +-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c index 442854c5c2..d321b8349c 100644 --- a/tools/libxl/libxl_x86.c +++ b/tools/libxl/libxl_x86.c @@ -7,20 +7,22 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc, libxl_domain_config *d_config, xc_domain_configuration_t *xc_config) { - - if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM) { - if (d_config->b_info.device_model_version != - LIBXL_DEVICE_MODEL_VERSION_NONE) { - xc_config->emulation_flags = XEN_X86_EMU_ALL; - } else if (libxl_defbool_val(d_config->b_info.apic)) { - /* - * HVM guests without device model may want - * to have LAPIC emulation. - */ + switch(d_config->c_info.type) { + case LIBXL_DOMAIN_TYPE_HVM: + xc_config->emulation_flags = XEN_X86_EMU_ALL; + break; + case LIBXL_DOMAIN_TYPE_PVH: + if (libxl_defbool_val(d_config->b_info.apic)) + /* PVH guests may want to have LAPIC emulation. */ xc_config->emulation_flags = XEN_X86_EMU_LAPIC; - } - } else { + else + xc_config->emulation_flags = 0; + break; + case LIBXL_DOMAIN_TYPE_PV: xc_config->emulation_flags = 0; + break; + default: + abort(); } return 0; @@ -266,7 +268,7 @@ static int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, struct e820entry map[E820MAX]; libxl_domain_build_info *b_info; - if (d_config == NULL || d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM) + if (d_config == NULL || d_config->c_info.type != LIBXL_DOMAIN_TYPE_PV) return ERROR_INVAL; b_info = &d_config->b_info; @@ -338,7 +340,7 @@ int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config, if (rtc_timeoffset) xc_domain_set_time_offset(ctx->xch, domid, rtc_timeoffset); - if (d_config->b_info.type == LIBXL_DOMAIN_TYPE_HVM) { + if (d_config->b_info.type != LIBXL_DOMAIN_TYPE_PV) { unsigned long shadow = DIV_ROUNDUP(d_config->b_info.shadow_memkb, 1024); xc_shadow_control(ctx->xch, domid, XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION, @@ -381,8 +383,7 @@ int libxl__arch_domain_finalise_hw_description(libxl__gc *gc, { int rc = 0; - if ((info->type == LIBXL_DOMAIN_TYPE_HVM) && - (info->device_model_version == LIBXL_DEVICE_MODEL_VERSION_NONE)) { + if (info->type == LIBXL_DOMAIN_TYPE_PVH) { rc = libxl__dom_load_acpi(gc, info, dom); if (rc != 0) LOGE(ERROR, "libxl_dom_load_acpi failed"); diff --git a/tools/libxl/libxl_x86_acpi.c b/tools/libxl/libxl_x86_acpi.c index cd8f4f4779..523386053f 100644 --- a/tools/libxl/libxl_x86_acpi.c +++ b/tools/libxl/libxl_x86_acpi.c @@ -171,8 +171,7 @@ int libxl__dom_load_acpi(libxl__gc *gc, void *acpi_pages; unsigned long page_mask; - if ((b_info->type != LIBXL_DOMAIN_TYPE_HVM) || - (b_info->device_model_version != LIBXL_DEVICE_MODEL_VERSION_NONE)) + if (b_info->type != LIBXL_DOMAIN_TYPE_PVH) goto out; libxl_ctxt.page_size = XC_DOM_PAGE_SIZE(dom); -- 2.11.0 (Apple Git-81) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |