Re: [libvirt] [RFC 01/12] Add various USB devices QEMU_CAPS

2011-08-23 Thread Daniel P. Berrange
On Sun, Aug 21, 2011 at 10:01:12PM +0300, Marc-André Lureau wrote:
 ---
  src/qemu/qemu_capabilities.c |   31 +++
  src/qemu/qemu_capabilities.h |   10 ++
  tests/qemuhelptest.c |   13 ++---
  3 files changed, 51 insertions(+), 3 deletions(-)
 
 diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
 index f665de4..a33ad4e 100644
 --- a/src/qemu/qemu_capabilities.c
 +++ b/src/qemu/qemu_capabilities.c
 @@ -125,6 +125,17 @@ VIR_ENUM_IMPL(qemuCaps, QEMU_CAPS_LAST,
sga,
virtio-blk-pci.event_idx,
virtio-net-pci.event_idx,
 +
 +  piix3-usb-uhci, /* 65 */
 +  piix4-usb-uhci,
 +  usb-ehci,
 +  ich9-usb-ehci1,
 +  ich9-usb-uhci1,
 +
 +  ich9-usb-uhci2, /* 70 */
 +  ich9-usb-uhci3,
 +  vt82c686b-usb-uhci,
 +  usb-redir,
  );

IMHO this is a little bit overkill. If bunch of things were introduced
at the same time there is no need to probe for each one of them. ie
you'll never find that you have 'ich9-usb-echi', but not also have
'ich9-usb-uhci1,2,3', so probing for all 4 individually just bloats
our capabilities.

Likewise we don't generally bother probing for things which have been
around since 0.9.0 (our min version) ie the piix USB controllers.

Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [RFC 01/12] Add various USB devices QEMU_CAPS

2011-08-22 Thread Gerd Hoffmann

+  piix3-usb-uhci, /* 65 */
+  piix4-usb-uhci,
+  usb-ehci,
+  ich9-usb-ehci1,
+  ich9-usb-uhci1,
+
+  ich9-usb-uhci2, /* 70 */
+  ich9-usb-uhci3,
+  vt82c686b-usb-uhci,
+  usb-redir,


There is also pci-ohci

cheers,
  Gerd

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [RFC 01/12] Add various USB devices QEMU_CAPS

2011-08-21 Thread Marc-André Lureau
---
 src/qemu/qemu_capabilities.c |   31 +++
 src/qemu/qemu_capabilities.h |   10 ++
 tests/qemuhelptest.c |   13 ++---
 3 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index f665de4..a33ad4e 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -125,6 +125,17 @@ VIR_ENUM_IMPL(qemuCaps, QEMU_CAPS_LAST,
   sga,
   virtio-blk-pci.event_idx,
   virtio-net-pci.event_idx,
+
+  piix3-usb-uhci, /* 65 */
+  piix4-usb-uhci,
+  usb-ehci,
+  ich9-usb-ehci1,
+  ich9-usb-uhci1,
+
+  ich9-usb-uhci2, /* 70 */
+  ich9-usb-uhci3,
+  vt82c686b-usb-uhci,
+  usb-redir,
 );
 
 struct qemu_feature_flags {
@@ -1196,6 +1207,26 @@ qemuCapsParseDeviceStr(const char *str, virBitmapPtr 
flags)
 qemuCapsSet(flags, QEMU_CAPS_CCID_EMULATED);
 if (strstr(str, name \ccid-card-passthru\))
 qemuCapsSet(flags, QEMU_CAPS_CCID_PASSTHRU);
+
+if (strstr(str, name \piix3-usb-uhci\))
+qemuCapsSet(flags, QEMU_CAPS_PIIX3_USB_UHCI);
+if (strstr(str, name \piix4-usb-uhci\))
+qemuCapsSet(flags, QEMU_CAPS_PIIX4_USB_UHCI);
+if (strstr(str, name \usb-ehci\))
+qemuCapsSet(flags, QEMU_CAPS_USB_EHCI);
+if (strstr(str, name \ich9-usb-ehci1\))
+qemuCapsSet(flags, QEMU_CAPS_ICH9_USB_EHCI1);
+if (strstr(str, name \ich9-usb-uhci1\))
+qemuCapsSet(flags, QEMU_CAPS_ICH9_USB_UHCI1);
+if (strstr(str, name \ich9-usb-uhci2\))
+qemuCapsSet(flags, QEMU_CAPS_ICH9_USB_UHCI2);
+if (strstr(str, name \ich9-usb-uhci3\))
+qemuCapsSet(flags, QEMU_CAPS_ICH9_USB_UHCI3);
+if (strstr(str, name \vt82c686b-usb-uhci\))
+qemuCapsSet(flags, QEMU_CAPS_VT82C686B_USB_UHCI);
+if (strstr(str, name \usb-redir\))
+qemuCapsSet(flags, QEMU_CAPS_USB_REDIR);
+
 /* Prefer -chardev spicevmc (detected earlier) over -device spicevmc */
 if (!qemuCapsGet(flags, QEMU_CAPS_CHARDEV_SPICEVMC) 
 strstr(str, name \spicevmc\))
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 13af0b9..7f94392 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -101,6 +101,16 @@ enum qemuCapsFlags {
 QEMU_CAPS_VIRTIO_BLK_EVENT_IDX = 63, /* virtio-blk-pci.event_idx */
 QEMU_CAPS_VIRTIO_NET_EVENT_IDX = 64, /* virtio-net-pci.event_idx */
 
+QEMU_CAPS_PIIX3_USB_UHCI= 65, /* -device piix3-usb-uhci */
+QEMU_CAPS_PIIX4_USB_UHCI= 66, /* -device piix4-usb-uhci */
+QEMU_CAPS_USB_EHCI  = 67, /* -device usb-ehci */
+QEMU_CAPS_ICH9_USB_EHCI1= 68, /* -device ich9-usb-ehci1 */
+QEMU_CAPS_ICH9_USB_UHCI1= 69, /* -device ich9-usb-uhci1 */
+QEMU_CAPS_ICH9_USB_UHCI2= 70, /* -device ich9-usb-uhci2 */
+QEMU_CAPS_ICH9_USB_UHCI3= 71, /* -device ich9-usb-uhci3 */
+QEMU_CAPS_VT82C686B_USB_UHCI = 72, /* -device vt82c686b-usb-uhci */
+QEMU_CAPS_USB_REDIR = 73, /* -device usb-redir */
+
 QEMU_CAPS_LAST,   /* this must always be the last item */
 };
 
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
index 102dd22..7002cdb 100644
--- a/tests/qemuhelptest.c
+++ b/tests/qemuhelptest.c
@@ -347,7 +347,9 @@ mymain(void)
 QEMU_CAPS_VGA_NONE,
 QEMU_CAPS_MIGRATE_QEMU_FD,
 QEMU_CAPS_DRIVE_AIO,
-QEMU_CAPS_DEVICE_SPICEVMC);
+QEMU_CAPS_DEVICE_SPICEVMC,
+QEMU_CAPS_PIIX3_USB_UHCI,
+QEMU_CAPS_PIIX4_USB_UHCI);
 DO_TEST(qemu-kvm-0.12.3, 12003, 1, 0,
 QEMU_CAPS_VNC_COLON,
 QEMU_CAPS_NO_REBOOT,
@@ -431,7 +433,10 @@ mymain(void)
 QEMU_CAPS_MIGRATE_QEMU_FD,
 QEMU_CAPS_DRIVE_AIO,
 QEMU_CAPS_DEVICE_SPICEVMC,
-QEMU_CAPS_PCI_MULTIFUNCTION);
+QEMU_CAPS_PCI_MULTIFUNCTION,
+QEMU_CAPS_PIIX3_USB_UHCI,
+QEMU_CAPS_PIIX4_USB_UHCI,
+QEMU_CAPS_VT82C686B_USB_UHCI);
 DO_TEST(qemu-kvm-0.12.1.2-rhel61, 12001, 1, 0,
 QEMU_CAPS_VNC_COLON,
 QEMU_CAPS_NO_REBOOT,
@@ -476,7 +481,9 @@ mymain(void)
 QEMU_CAPS_CHARDEV_SPICEVMC,
 QEMU_CAPS_DEVICE_QXL_VGA,
 QEMU_CAPS_VIRTIO_TX_ALG,
-QEMU_CAPS_VIRTIO_IOEVENTFD);
+QEMU_CAPS_VIRTIO_IOEVENTFD,
+QEMU_CAPS_PIIX3_USB_UHCI,
+QEMU_CAPS_PIIX4_USB_UHCI);
 
 return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
-- 
1.7.6

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list