summaryrefslogtreecommitdiff
path: root/xen-hvm.c
diff options
context:
space:
mode:
authorPaul Durrant <paul.durrant@citrix.com>2016-08-01 10:16:25 +0100
committerStefano Stabellini <sstabellini@kernel.org>2016-08-12 16:38:30 -0700
commitb7665c6027c972c23668ee74b878b5c617218514 (patch)
tree19e37bd685e3a9c46805d2b86a727ea9fd59263a /xen-hvm.c
parentc4f68f0b52f4d84658ee977eb7e44a80857e0b50 (diff)
downloadqemu-b7665c6027c972c23668ee74b878b5c617218514.tar.gz
qemu-b7665c6027c972c23668ee74b878b5c617218514.tar.bz2
qemu-b7665c6027c972c23668ee74b878b5c617218514.zip
xen: handle inbound migration of VMs without ioreq server pages
VMs created on older versions on Xen will not have been provisioned with pages to support creation of non-default ioreq servers. In this case the ioreq server API is not supported and QEMU's only option is to fall back to using the default ioreq server pages as it did prior to commit 3996e85c ("Xen: Use the ioreq-server API when available"). This patch therefore changes the code in xen_common.h to stop considering a failure of xc_hvm_create_ioreq_server() as a hard failure but simply as an indication that the guest is too old to support the ioreq server API. Instead a boolean is set to cause reversion to old behaviour such that the default ioreq server is then used. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Acked-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Diffstat (limited to 'xen-hvm.c')
-rw-r--r--xen-hvm.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/xen-hvm.c b/xen-hvm.c
index 3b0343a8e6..2f348edf86 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -1203,11 +1203,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory)
goto err;
}
- rc = xen_create_ioreq_server(xen_xc, xen_domid, &state->ioservid);
- if (rc < 0) {
- perror("xen: ioreq server create");
- goto err;
- }
+ xen_create_ioreq_server(xen_xc, xen_domid, &state->ioservid);
state->exit.notify = xen_exit_notifier;
qemu_add_exit_notifier(&state->exit);