|
[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 |