]> xenbits.xensource.com Git - libvirt.git/commitdiff
extend usb controller model to support xen pvusb
authorChunyan Liu <cyliu@suse.com>
Wed, 15 Jun 2016 06:00:08 +0000 (14:00 +0800)
committerCédric Bosdonnat <cbosdonnat@suse.com>
Tue, 2 Aug 2016 12:02:21 +0000 (14:02 +0200)
According to libxl implementation, it supports pvusb
controller of version 1.1 and version 2.0, and it
supports two types of backend, 'pvusb' (dom0 backend)
and 'qusb' (qemu backend). But currently pvusb backend
is not checked in yet.

To match libxl support, extend usb controller schema
to support two more models: qusb1 (qusb, version 1.1)
and 'qusb2' (qusb version 2.0).

Signed-off-by: Chunyan Liu <cyliu@suse.com>
docs/formatdomain.html.in
docs/schemas/domaincommon.rng
src/conf/domain_addr.c
src/conf/domain_conf.c
src/conf/domain_conf.h
src/qemu/qemu_command.c

index 8efd6af01d564bd972ba1fc4c9a930e06173a8e0..c4198360b4de9322c1667ca1d69df5d10457658d 100644 (file)
         <dd>A <code>usb</code> controller has an optional attribute
         <code>model</code>, which is one of "piix3-uhci", "piix4-uhci",
         "ehci", "ich9-ehci1", "ich9-uhci1", "ich9-uhci2", "ich9-uhci3",
-        "vt82c686b-uhci", "pci-ohci" or "nec-xhci".  Additionally,
+        "vt82c686b-uhci", "pci-ohci", "nec-xhci", "qusb1" (xen pvusb
+        with qemu backend, version 1.1) or "qusb2" (xen pvusb with qemu
+        backend, version 2.0). Additionally,
          <span class="since">since 0.10.0</span>, if the USB bus needs to
          be explicitly disabled for the guest, <code>model='none'</code>
          may be used.  <span class="since">Since 1.0.5</span>, no default
index ac9fd21816ba55328b524f6fa98cf8e98cfe56df..727014014ecee023ee5f66391ee6a5ffd75a0eac 100644 (file)
                   <value>pci-ohci</value>
                   <value>nec-xhci</value>
                   <value>none</value>
+                  <value>qusb1</value>
+                  <value>qusb2</value>
                 </choice>
               </attribute>
             </optional>
index 9148ca65fa1b89c2786f27a52f5345bbd22deab9..a0c2f88076aeb729200704e6086e116d4b8bd2ce 100644 (file)
@@ -1393,6 +1393,12 @@ virDomainUSBAddressControllerModelToPorts(virDomainControllerDefPtr cont)
             return cont->opts.usbopts.ports;
         return 4;
 
+    case VIR_DOMAIN_CONTROLLER_MODEL_USB_QUSB1:
+    case VIR_DOMAIN_CONTROLLER_MODEL_USB_QUSB2:
+        if (cont->opts.usbopts.ports != -1)
+            return cont->opts.usbopts.ports;
+        return 8;
+
     case VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE:
     case VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST:
         break;
index 7f876de878915f2c78d40321a1e1a3bf15439c47..0d6a1541770f9f6eb1c392c4072176e8128abdfb 100644 (file)
@@ -359,6 +359,8 @@ VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST,
               "vt82c686b-uhci",
               "pci-ohci",
               "nec-xhci",
+              "qusb1",
+              "qusb2",
               "none")
 
 VIR_ENUM_IMPL(virDomainFS, VIR_DOMAIN_FS_TYPE_LAST,
index 3c2f18231f85fc047a7036ba5f866347eaa8902c..da61ee09aa13fcbd379d98b97cb0d22d6795b2cc 100644 (file)
@@ -681,6 +681,8 @@ typedef enum {
     VIR_DOMAIN_CONTROLLER_MODEL_USB_VT82C686B_UHCI,
     VIR_DOMAIN_CONTROLLER_MODEL_USB_PCI_OHCI,
     VIR_DOMAIN_CONTROLLER_MODEL_USB_NEC_XHCI,
+    VIR_DOMAIN_CONTROLLER_MODEL_USB_QUSB1,
+    VIR_DOMAIN_CONTROLLER_MODEL_USB_QUSB2,
     VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE,
 
     VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST
index 5325f48dbbfa5b29bd7078bf095a0f2dfa9144b3..526b54c00ad84d4b80285330c26540710d40e914 100644 (file)
@@ -133,6 +133,8 @@ VIR_ENUM_IMPL(qemuControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST,
               "vt82c686b-usb-uhci",
               "pci-ohci",
               "nec-usb-xhci",
+              "qusb1",
+              "qusb2",
               "none");
 
 VIR_ENUM_DECL(qemuDomainFSDriver)