@@ -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");
@@ -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);
This also includes the x86 ACPI related functions. Remove support for device model "none" Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Wei Liu <wei.liu2@citrix.com> --- tools/libxl/libxl_x86.c | 33 +++++++++++++++++---------------- tools/libxl/libxl_x86_acpi.c | 3 +-- 2 files changed, 18 insertions(+), 18 deletions(-)