render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
Blob Blame History Raw
From 171433e306e309374750477328de96f66410d13d Mon Sep 17 00:00:00 2001
Message-Id: <171433e306e309374750477328de96f66410d13d@dist-git>
From: Thomas Huth <thuth@redhat.com>
Date: Mon, 8 Jun 2020 13:44:21 +0200
Subject: [PATCH] qemu: Refuse to use "ps2" on machines that do not have this
 bus

The "ps2" bus is only available on certain machines like x86. On
machines like s390x, we should refuse to add a device to this bus
instead of silently ignoring it.

Looking at the QEMU sources, PS/2 is only available if the QEMU binary
has the "i8042" device, so let's check for that and only allow "ps2"
devices if this QEMU device is available, or if we're on x86 anyway
(so we don't have to fake the QEMU_CAPS_DEVICE_I8042 capability in
all the tests that use <input ... bus='ps2'/> in their xml data).

Reported-by: Sebastian Mitterle <smitterl@redhat.com>
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1763191
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit e7a65484ba7aa51c99ab3405117667a39b37e386)

Conflicts:
src/qemu/qemu_capabilities.c: Context, because other caps were
                              backported meanwhile
src/qemu/qemu_capabilities.h: ditto
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml: ditto
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml: ditto
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml: ditto
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml: ditto
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml: ditto
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml: ditto
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml: ditto
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml: ditto

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1845055

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Message-Id: <89c778ca322240423dd81945daa165f5d6c803a9.1591616651.git.mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
---
 src/qemu/qemu_capabilities.c                           |  2 ++
 src/qemu/qemu_capabilities.h                           |  1 +
 src/qemu/qemu_domain.c                                 | 10 +++++++++-
 tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml      |  1 +
 tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml      |  1 +
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml      |  1 +
 tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml        |  1 +
 tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml        |  1 +
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml        |  1 +
 tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml        |  1 +
 tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml        |  1 +
 tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml        |  1 +
 tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml       |  1 +
 tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml       |  1 +
 .../qemuhotplug-base-ccw-live+ccw-virtio.xml           |  6 ------
 ...cw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml |  6 ------
 ...ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml |  6 ------
 .../qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml    |  6 ------
 ...-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml |  6 ------
 ...plug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml |  6 ------
 .../qemuhotplug-base-ccw-live-with-ccw-virtio.xml      |  6 ------
 .../qemuhotplug-base-ccw-live.xml                      |  6 ------
 38 files changed, 39 insertions(+), 49 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 5b16796c6b..7609f44efb 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -566,6 +566,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "blockdev-reopen.__com.redhat_rhel-av-8_2_0-api",
               "storage.werror",
               "pcie-root-port.hotplug",
+              "i8042",
     );
 
 
@@ -1281,6 +1282,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "ramfb", QEMU_CAPS_DEVICE_RAMFB },
     { "max-arm-cpu", QEMU_CAPS_ARM_MAX_CPU },
     { "vhost-user-fs-device", QEMU_CAPS_DEVICE_VHOST_USER_FS },
+    { "i8042", QEMU_CAPS_DEVICE_I8042 },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index aad02fcda5..15ebcb5077 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -547,6 +547,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_BLOCKDEV_REOPEN_COM_REDHAT_AV_8_2_0_API, /* downstream support for blockdev reopen in rhel-av-8.2.0 */
     QEMU_CAPS_STORAGE_WERROR, /* virtio-blk,scsi-hd.werror */
     QEMU_CAPS_PCIE_ROOT_PORT_HOTPLUG, /* pcie-root-port.hotplug */
+    QEMU_CAPS_DEVICE_I8042, /* PS/2 controller */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index cdf7b3e692..a92183334f 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -8340,13 +8340,21 @@ qemuDomainDeviceDefValidateGraphics(const virDomainGraphicsDef *graphics,
 
 static int
 qemuDomainDeviceDefValidateInput(const virDomainInputDef *input,
-                                 const virDomainDef *def G_GNUC_UNUSED,
+                                 const virDomainDef *def,
                                  virQEMUCapsPtr qemuCaps)
 {
     const char *baseName;
     int cap;
     int ccwCap;
 
+    if (input->bus == VIR_DOMAIN_INPUT_BUS_PS2 && !ARCH_IS_X86(def->os.arch) &&
+        !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_I8042)) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                       _("%s is not supported by this QEMU binary"),
+                       virDomainInputBusTypeToString(input->bus));
+        return -1;
+    }
+
     if (input->bus != VIR_DOMAIN_INPUT_BUS_VIRTIO)
         return 0;
 
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
index f2257d6bd2..b57cb2ab59 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
@@ -84,6 +84,7 @@
   <flag name='isa-serial'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>1005003</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100245</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
index 3a70ec8146..5d0a14a5db 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
@@ -89,6 +89,7 @@
   <flag name='isa-serial'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>1006000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
index cbb29ef2de..c196fe5e45 100644
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
@@ -91,6 +91,7 @@
   <flag name='isa-serial'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>1007000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
index a6d0981224..1edcaa4657 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
@@ -107,6 +107,7 @@
   <flag name='isa-serial'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>2001001</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
index 5a57cb7760..b95a9d42ad 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
@@ -139,6 +139,7 @@
   <flag name='vhost-vsock'/>
   <flag name='egl-headless'/>
   <flag name='iothread.poll-max-ns'/>
+  <flag name='i8042'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index 53872abf2f..7ebe97b6ab 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -182,6 +182,7 @@
   <flag name='egl-headless'/>
   <flag name='iothread.poll-max-ns'/>
   <flag name='x86-max-cpu'/>
+  <flag name='i8042'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
index f70335db8f..b8eb3abd40 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
@@ -188,6 +188,7 @@
   <flag name='egl-headless'/>
   <flag name='iothread.poll-max-ns'/>
   <flag name='x86-max-cpu'/>
+  <flag name='i8042'/>
   <version>2011000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100288</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index 74c80d2fe9..38a3103c4a 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -153,6 +153,7 @@
   <flag name='iothread.poll-max-ns'/>
   <flag name='memory-backend-file.align'/>
   <flag name='drive-nvme'/>
+  <flag name='i8042'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index b51cee9f28..0c30cc75da 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -197,6 +197,7 @@
   <flag name='memory-backend-file.align'/>
   <flag name='x86-max-cpu'/>
   <flag name='drive-nvme'/>
+  <flag name='i8042'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
index 86d85faa73..9b486effe1 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
@@ -133,6 +133,7 @@
   <flag name='sdl-gl'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>2004000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
index b217238307..147b179fdb 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
@@ -139,6 +139,7 @@
   <flag name='sdl-gl'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>2005000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
index 862464c2f0..deb5c28790 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
@@ -118,6 +118,7 @@
   <flag name='nbd-tls'/>
   <flag name='sdl-gl'/>
   <flag name='hda-output'/>
+  <flag name='i8042'/>
   <version>2006000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
index 6b96e37a16..fc508aba8a 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
@@ -151,6 +151,7 @@
   <flag name='sdl-gl'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>2006000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
index bc1359b0dd..ed199057dc 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
@@ -156,6 +156,7 @@
   <flag name='sdl-gl'/>
   <flag name='hda-output'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>2007000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100245</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
index c7f3be3a1b..489b67f99a 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
@@ -159,6 +159,7 @@
   <flag name='hda-output'/>
   <flag name='vhost-vsock'/>
   <flag name='mch'/>
+  <flag name='i8042'/>
   <version>2008000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100246</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
index a00d4b3d4c..3bc6ec8dab 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
@@ -131,6 +131,7 @@
   <flag name='blockdev-del'/>
   <flag name='vhost-vsock'/>
   <flag name='iothread.poll-max-ns'/>
+  <flag name='i8042'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 3d96f5f5b3..83fc6cde97 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -176,6 +176,7 @@
   <flag name='mch'/>
   <flag name='iothread.poll-max-ns'/>
   <flag name='x86-max-cpu'/>
+  <flag name='i8042'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
index 3b5a021dcf..9a0b9c05c2 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
@@ -155,6 +155,7 @@
   <flag name='bochs-display'/>
   <flag name='ramfb'/>
   <flag name='drive-nvme'/>
+  <flag name='i8042'/>
   <version>2012050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index 575b1c2a43..aa134f7da1 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -203,6 +203,7 @@
   <flag name='ramfb'/>
   <flag name='drive-nvme'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>3000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
index 591f054193..06bcba57bc 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
@@ -160,6 +160,7 @@
   <flag name='bochs-display'/>
   <flag name='drive-nvme'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>3000091</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
index 6e434579ff..aa0219816d 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
@@ -206,6 +206,7 @@
   <flag name='ramfb'/>
   <flag name='drive-nvme'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>3000092</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
index aa22eccc6f..9f7d322d07 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
@@ -174,6 +174,7 @@
   <flag name='machine.pseries.cap-ccf-assist'/>
   <flag name='drive-nvme'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
index 3c1baf9560..f54f15b23e 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
@@ -211,6 +211,7 @@
   <flag name='ramfb'/>
   <flag name='drive-nvme'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
index d5f2673fb6..961a13818b 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
@@ -217,6 +217,7 @@
   <flag name='drive-nvme'/>
   <flag name='smp-dies'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>4001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
index f5121fca94..0dc7503a07 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
@@ -178,6 +178,7 @@
   <flag name='drive-nvme'/>
   <flag name='smp-dies'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>4001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
index f6df71ff3e..452753b103 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
@@ -222,6 +222,7 @@
   <flag name='virtio-net.failover'/>
   <flag name='vhost-user-fs'/>
   <flag name='storage.werror'/>
+  <flag name='i8042'/>
   <version>4002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
index d0b5f18c02..733e6b1eb4 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
@@ -225,6 +225,7 @@
   <flag name='blockdev-snapshot.allow-write-only-overlay'/>
   <flag name='storage.werror'/>
   <flag name='pcie-root-port.hotplug'/>
+  <flag name='i8042'/>
   <version>4002091</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
index f501cde333..59c969e0f2 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
@@ -44,12 +44,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml
index 301658178f..d10b29be7e 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml
@@ -54,12 +54,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'>
       <alias name='balloon0'/>
     </memballoon>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
index 223e929ad5..6eadbdcd18 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
@@ -54,12 +54,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
index c745d48558..68561b50a3 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
@@ -44,12 +44,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
index 3189294b65..0900f3c8e3 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
@@ -53,12 +53,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
index 3189294b65..0900f3c8e3 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
@@ -53,12 +53,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml
index edf57fcd3f..31979c40f0 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml
@@ -43,12 +43,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml
index b97bba78c6..844b951940 100644
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml
@@ -34,12 +34,6 @@
       <alias name='virtio-serial0'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </controller>
-    <input type='mouse' bus='ps2'>
-      <alias name='input0'/>
-    </input>
-    <input type='keyboard' bus='ps2'>
-      <alias name='input1'/>
-    </input>
     <memballoon model='none'/>
     <panic model='s390'/>
   </devices>
-- 
2.27.0