]> xenbits.xensource.com Git - libvirt.git/commitdiff
Add a default USB keyboard and USB mouse for PPC64
authorLi Zhang <zhlcindy@linux.vnet.ibm.com>
Mon, 17 Feb 2014 10:17:58 +0000 (18:17 +0800)
committerJán Tomko <jtomko@redhat.com>
Wed, 19 Feb 2014 08:16:31 +0000 (09:16 +0100)
There is no keyboard working on PPC64 and PS2 mouse is only for X86
when graphics are enabled.

Add a USB keyboard and USB mouse for PPC64 when graphics are enabled.

Signed-off-by: Li Zhang <zhlcindy@linux.vnet.ibm.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_domain.c
tests/qemuxml2argvdata/qemuxml2argv-pseries-disk.xml

index addf3e98893eeabd751d8ebcc8cd46cb92e2b319..a788cf0742aab513e46fb2f974e1d99940bfaad6 100644 (file)
@@ -691,6 +691,8 @@ qemuDomainDefPostParse(virDomainDefPtr def,
     bool addPCIRoot = false;
     bool addPCIeRoot = false;
     bool addDefaultMemballoon = true;
+    bool addDefaultUSBKBD = false;
+    bool addDefaultUSBMouse = false;
 
     /* check for emulator and create a default one if needed */
     if (!def->emulator &&
@@ -732,9 +734,14 @@ qemuDomainDefPostParse(virDomainDefPtr def,
        addDefaultMemballoon = false;
        break;
 
+    case VIR_ARCH_PPC64:
+        addPCIRoot = true;
+        addDefaultUSBKBD = true;
+        addDefaultUSBMouse = true;
+        break;
+
     case VIR_ARCH_ALPHA:
     case VIR_ARCH_PPC:
-    case VIR_ARCH_PPC64:
     case VIR_ARCH_PPCEMB:
     case VIR_ARCH_SH4:
     case VIR_ARCH_SH4EB:
@@ -787,6 +794,20 @@ qemuDomainDefPostParse(virDomainDefPtr def,
         def->memballoon = memballoon;
     }
 
+    if (addDefaultUSBKBD &&
+        def->ngraphics > 0 &&
+        virDomainDefMaybeAddInput(def,
+                                  VIR_DOMAIN_INPUT_TYPE_KBD,
+                                  VIR_DOMAIN_INPUT_BUS_USB) < 0)
+        return -1;
+
+    if (addDefaultUSBMouse &&
+        def->ngraphics > 0 &&
+        virDomainDefMaybeAddInput(def,
+                                  VIR_DOMAIN_INPUT_TYPE_MOUSE,
+                                  VIR_DOMAIN_INPUT_BUS_USB) < 0)
+        return -1;
+
     return 0;
 }
 
index 8dde776a087972f34a225e6b5349c6c8219906a4..64b70f31257c53341734d0c1a3faa9267245eab6 100644 (file)
@@ -30,6 +30,8 @@
     <controller type='usb' index='0'/>
     <controller type='scsi' index='0'/>
     <controller type='pci' index='0' model='pci-root'/>
+    <input type='keyboard' bus='usb'/>
+    <input type='mouse' bus='usb'/>
     <graphics type='sdl'/>
     <video>
       <model type='cirrus' vram='9216' heads='1'/>