libxl: Add a vkbd frontend/backend pair for HVM guests
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Tue, 22 Nov 2011 16:19:48 +0000 (16:19 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Tue, 22 Nov 2011 16:19:48 +0000 (16:19 +0000)
Linux PV on HVM guests can use vkbd, so add a vkbd frontend/backend
pair for HVM guests by default.  It is useful because it doesn't
require frequent qemu wakeups as the usb keyboard/mouse does.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxl/libxl_create.c

index ab7d901b6944a4f93119cd0518680c0c0fe715a3..ce6a55e959770e01d9ce5fa233a62e4c02feeb96 100644 (file)
@@ -545,6 +545,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
     case LIBXL_DOMAIN_TYPE_HVM:
     {
         libxl_device_console console;
+        libxl_device_vkb vkb;
 
         ret = init_console_info(&console, 0);
         if ( ret )
@@ -552,6 +553,12 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
         libxl__device_console_add(gc, domid, &console, &state);
         libxl_device_console_dispose(&console);
 
+        ret = libxl_device_vkb_init(ctx, &vkb);
+        if ( ret )
+            goto error_out;
+        libxl_device_vkb_add(ctx, domid, &vkb);
+        libxl_device_vkb_dispose(&vkb);
+
         dm_info->domid = domid;
         ret = libxl__create_device_model(gc, dm_info,
                                         d_config->disks, d_config->num_disks,