From: Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
There is no keyboard working on PPC64 when graphics are enabled.
It needs to add a USB keyboard for it.
This patch is to add a USB keyboard when graphics are enabled.
Signed-off-by: Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
---
src/qemu/qemu_domain.c | 9 +++++++++
tests/qemuxml2argvdata/qemuxml2argv-pseries-disk.xml | 1 +
2 files changed, 10 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 75e615a..68d9e0c 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -691,6 +691,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
bool addPCIRoot = false;
bool addPCIeRoot = false;
bool addDefaultMemballoon = true;
+ bool addDefaultUSBKBD = false;
bool addDefaultMouse = false;
int mouse_bus = VIR_DOMAIN_INPUT_BUS_XEN;
@@ -735,6 +736,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
case VIR_ARCH_PPC64:
addPCIRoot = true;
+ addDefaultUSBKBD = true;
addDefaultMouse = true;
if (STREQ(def->os.type, "hvm"))
mouse_bus = VIR_DOMAIN_INPUT_BUS_USB;
@@ -801,6 +803,13 @@ qemuDomainDefPostParse(virDomainDefPtr def,
return -1;
}
+ if (addDefaultUSBKBD &&
+ def->ngraphics > 0 &&
+ virDomainDefMaybeAddInput(def,
+ VIR_DOMAIN_INPUT_TYPE_KBD,
+ VIR_DOMAIN_INPUT_BUS_USB) < 0)
+ return -1;
+
return 0;
}
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-disk.xml
b/tests/qemuxml2argvdata/qemuxml2argv-pseries-disk.xml
index 117213d..8c87998 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pseries-disk.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-disk.xml
@@ -31,6 +31,7 @@
<controller type='scsi' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='usb'/>
+ <input type='kbd' bus='usb'/>
<graphics type='sdl'/>
<video>
<model type='cirrus' vram='9216' heads='1'/>
--
1.8.2.1