diff options
author | Juergen Gross | 2016-08-02 08:32:32 +0200 |
---|---|---|
committer | Gerd Hoffmann | 2016-08-03 14:52:11 +0200 |
commit | 0e39bb022b5fa8c11964968885f3263c02ce42b0 (patch) | |
tree | 535f76c81af91d39a619afee1e3044c7dcdbcad8 /hw | |
parent | xen: drain submit queue in xen-usb before removing device (diff) | |
download | qemu-0e39bb022b5fa8c11964968885f3263c02ce42b0.tar.gz qemu-0e39bb022b5fa8c11964968885f3263c02ce42b0.tar.xz qemu-0e39bb022b5fa8c11964968885f3263c02ce42b0.zip |
xen: use a common function for pv and hvm guest backend register calls
Instead of calling xen_be_register() for each supported backend type
for hvm and pv guests in their machine init functions use a common
function in order not to have to add new backends twice.
This at once fixes the error that hvm domains couldn't use the qusb
backend.
Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Message-id: 1470119552-16170-1-git-send-email-jgross@suse.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xen/xen_backend.c | 10 | ||||
-rw-r--r-- | hw/xenpv/xen_machine_pv.c | 7 |
2 files changed, 11 insertions, 6 deletions
diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c index 3ceb778326..69a238817e 100644 --- a/hw/xen/xen_backend.c +++ b/hw/xen/xen_backend.c @@ -780,6 +780,16 @@ int xen_be_register(const char *type, struct XenDevOps *ops) return xenstore_scan(type, xen_domid, ops); } +void xen_be_register_common(void) +{ + xen_be_register("console", &xen_console_ops); + xen_be_register("vkbd", &xen_kbdmouse_ops); + xen_be_register("qdisk", &xen_blkdev_ops); +#ifdef CONFIG_USB_LIBUSB + xen_be_register("qusb", &xen_usb_ops); +#endif +} + int xen_be_bind_evtchn(struct XenDevice *xendev) { if (xendev->local_port != -1) { diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c index 48f725c9cd..79aef4ecc3 100644 --- a/hw/xenpv/xen_machine_pv.c +++ b/hw/xenpv/xen_machine_pv.c @@ -67,14 +67,9 @@ static void xen_init_pv(MachineState *machine) break; } - xen_be_register("console", &xen_console_ops); - xen_be_register("vkbd", &xen_kbdmouse_ops); + xen_be_register_common(); xen_be_register("vfb", &xen_framebuffer_ops); - xen_be_register("qdisk", &xen_blkdev_ops); xen_be_register("qnic", &xen_netdev_ops); -#ifdef CONFIG_USB_LIBUSB - xen_be_register("qusb", &xen_usb_ops); -#endif /* configure framebuffer */ if (xenfb_enabled) { |