[libvirt] [PATCH 1/1] Clear PIIX3/PIIX4_USB capabilities for non-X86 platforms

Li Zhang zhlcindy at gmail.com
Wed Feb 27 11:52:22 UTC 2013


From: Li Zhang <zhlcindy at linux.vnet.ibm.com>

Currently, PIIX3/PIIX4_USB capabilities are enabled for other platforms.
Actually, it is only supported for X86.

So this patch is to clear the capabilities for non-X86 platforms.

Signed-off-by: Li Zhang <zhlcindy at linux.vnet.ibm.com>
---
 src/conf/domain_conf.c       |    1 +
 src/qemu/qemu_capabilities.c |    3 +++
 src/qemu/qemu_command.c      |    2 ++
 3 files changed, 6 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 995cf0c..d57334a 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -10453,6 +10453,7 @@ virDomainDefParseXML(virCapsPtr caps,
     VIR_FREE(nodes);
 
     /* If graphics are enabled, there's an implicit PS2 mouse */
+    /* Todo: Add implicit USB mouse and keyboard for ppc64 */
     if (def->ngraphics > 0) {
         virDomainInputDefPtr input;
 
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 40022c1..ef5c69a 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1307,8 +1307,11 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "hda-micro", QEMU_CAPS_HDA_MICRO },
     { "ccid-card-emulated", QEMU_CAPS_CCID_EMULATED },
     { "ccid-card-passthru", QEMU_CAPS_CCID_PASSTHRU },
+#if defined (__x86_64__) || \
+    defined (__i386__)
     { "piix3-usb-uhci", QEMU_CAPS_PIIX3_USB_UHCI },
     { "piix4-usb-uhci", QEMU_CAPS_PIIX4_USB_UHCI },
+#endif
     { "usb-ehci", QEMU_CAPS_USB_EHCI },
     { "ich9-usb-ehci1", QEMU_CAPS_ICH9_USB_EHCI1 },
     { "vt82c686b-usb-uhci", QEMU_CAPS_VT82C686B_USB_UHCI },
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1c9bfc9..0b18be0 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -5784,6 +5784,8 @@ qemuBuildCommandLine(virConnectPtr conn,
                 } else if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
                            cont->model == -1 &&
                            !virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI)) {
+                    /* usblegacy is used for ppc64 temporarily */
+                    /* Todo: support -device xxx on ppc64 platform */
                     if (usblegacy) {
                         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                                        _("Multiple legacy USB controllers are "
-- 
1.7.10.1




More information about the libvir-list mailing list