a41c76
From 171433e306e309374750477328de96f66410d13d Mon Sep 17 00:00:00 2001
a41c76
Message-Id: <171433e306e309374750477328de96f66410d13d@dist-git>
a41c76
From: Thomas Huth <thuth@redhat.com>
a41c76
Date: Mon, 8 Jun 2020 13:44:21 +0200
a41c76
Subject: [PATCH] qemu: Refuse to use "ps2" on machines that do not have this
a41c76
 bus
a41c76
a41c76
The "ps2" bus is only available on certain machines like x86. On
a41c76
machines like s390x, we should refuse to add a device to this bus
a41c76
instead of silently ignoring it.
a41c76
a41c76
Looking at the QEMU sources, PS/2 is only available if the QEMU binary
a41c76
has the "i8042" device, so let's check for that and only allow "ps2"
a41c76
devices if this QEMU device is available, or if we're on x86 anyway
a41c76
(so we don't have to fake the QEMU_CAPS_DEVICE_I8042 capability in
a41c76
all the tests that use <input ... bus='ps2'/> in their xml data).
a41c76
a41c76
Reported-by: Sebastian Mitterle <smitterl@redhat.com>
a41c76
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1763191
a41c76
Signed-off-by: Thomas Huth <thuth@redhat.com>
a41c76
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
a41c76
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
a41c76
(cherry picked from commit e7a65484ba7aa51c99ab3405117667a39b37e386)
a41c76
a41c76
Conflicts:
a41c76
src/qemu/qemu_capabilities.c: Context, because other caps were
a41c76
                              backported meanwhile
a41c76
src/qemu/qemu_capabilities.h: ditto
a41c76
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml: ditto
a41c76
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml: ditto
a41c76
a41c76
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1845055
a41c76
a41c76
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
a41c76
Message-Id: <89c778ca322240423dd81945daa165f5d6c803a9.1591616651.git.mprivozn@redhat.com>
a41c76
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
a41c76
---
a41c76
 src/qemu/qemu_capabilities.c                           |  2 ++
a41c76
 src/qemu/qemu_capabilities.h                           |  1 +
a41c76
 src/qemu/qemu_domain.c                                 | 10 +++++++++-
a41c76
 tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml      |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml      |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml      |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml        |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml        |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml        |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml        |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml        |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml        |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml       |  1 +
a41c76
 tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml       |  1 +
a41c76
 .../qemuhotplug-base-ccw-live+ccw-virtio.xml           |  6 ------
a41c76
 ...cw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml |  6 ------
a41c76
 ...ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml |  6 ------
a41c76
 .../qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml    |  6 ------
a41c76
 ...-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml |  6 ------
a41c76
 ...plug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml |  6 ------
a41c76
 .../qemuhotplug-base-ccw-live-with-ccw-virtio.xml      |  6 ------
a41c76
 .../qemuhotplug-base-ccw-live.xml                      |  6 ------
a41c76
 38 files changed, 39 insertions(+), 49 deletions(-)
a41c76
a41c76
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
a41c76
index 5b16796c6b..7609f44efb 100644
a41c76
--- a/src/qemu/qemu_capabilities.c
a41c76
+++ b/src/qemu/qemu_capabilities.c
a41c76
@@ -566,6 +566,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
a41c76
               "blockdev-reopen.__com.redhat_rhel-av-8_2_0-api",
a41c76
               "storage.werror",
a41c76
               "pcie-root-port.hotplug",
a41c76
+              "i8042",
a41c76
     );
a41c76
 
a41c76
 
a41c76
@@ -1281,6 +1282,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
a41c76
     { "ramfb", QEMU_CAPS_DEVICE_RAMFB },
a41c76
     { "max-arm-cpu", QEMU_CAPS_ARM_MAX_CPU },
a41c76
     { "vhost-user-fs-device", QEMU_CAPS_DEVICE_VHOST_USER_FS },
a41c76
+    { "i8042", QEMU_CAPS_DEVICE_I8042 },
a41c76
 };
a41c76
 
a41c76
 static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
a41c76
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
a41c76
index aad02fcda5..15ebcb5077 100644
a41c76
--- a/src/qemu/qemu_capabilities.h
a41c76
+++ b/src/qemu/qemu_capabilities.h
a41c76
@@ -547,6 +547,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
a41c76
     QEMU_CAPS_BLOCKDEV_REOPEN_COM_REDHAT_AV_8_2_0_API, /* downstream support for blockdev reopen in rhel-av-8.2.0 */
a41c76
     QEMU_CAPS_STORAGE_WERROR, /* virtio-blk,scsi-hd.werror */
a41c76
     QEMU_CAPS_PCIE_ROOT_PORT_HOTPLUG, /* pcie-root-port.hotplug */
a41c76
+    QEMU_CAPS_DEVICE_I8042, /* PS/2 controller */
a41c76
 
a41c76
     QEMU_CAPS_LAST /* this must always be the last item */
a41c76
 } virQEMUCapsFlags;
a41c76
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
a41c76
index cdf7b3e692..a92183334f 100644
a41c76
--- a/src/qemu/qemu_domain.c
a41c76
+++ b/src/qemu/qemu_domain.c
a41c76
@@ -8340,13 +8340,21 @@ qemuDomainDeviceDefValidateGraphics(const virDomainGraphicsDef *graphics,
a41c76
 
a41c76
 static int
a41c76
 qemuDomainDeviceDefValidateInput(const virDomainInputDef *input,
a41c76
-                                 const virDomainDef *def G_GNUC_UNUSED,
a41c76
+                                 const virDomainDef *def,
a41c76
                                  virQEMUCapsPtr qemuCaps)
a41c76
 {
a41c76
     const char *baseName;
a41c76
     int cap;
a41c76
     int ccwCap;
a41c76
 
a41c76
+    if (input->bus == VIR_DOMAIN_INPUT_BUS_PS2 && !ARCH_IS_X86(def->os.arch) &&
a41c76
+        !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_I8042)) {
a41c76
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
a41c76
+                       _("%s is not supported by this QEMU binary"),
a41c76
+                       virDomainInputBusTypeToString(input->bus));
a41c76
+        return -1;
a41c76
+    }
a41c76
+
a41c76
     if (input->bus != VIR_DOMAIN_INPUT_BUS_VIRTIO)
a41c76
         return 0;
a41c76
 
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
a41c76
index f2257d6bd2..b57cb2ab59 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
a41c76
@@ -84,6 +84,7 @@
a41c76
   <flag name='isa-serial'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>1005003</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100245</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
a41c76
index 3a70ec8146..5d0a14a5db 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
a41c76
@@ -89,6 +89,7 @@
a41c76
   <flag name='isa-serial'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>1006000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100243</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
a41c76
index cbb29ef2de..c196fe5e45 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
a41c76
@@ -91,6 +91,7 @@
a41c76
   <flag name='isa-serial'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>1007000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100244</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
a41c76
index a6d0981224..1edcaa4657 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
a41c76
@@ -107,6 +107,7 @@
a41c76
   <flag name='isa-serial'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2001001</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100240</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
a41c76
index 5a57cb7760..b95a9d42ad 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
a41c76
@@ -139,6 +139,7 @@
a41c76
   <flag name='vhost-vsock'/>
a41c76
   <flag name='egl-headless'/>
a41c76
   <flag name='iothread.poll-max-ns'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2010000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900287</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
a41c76
index 53872abf2f..7ebe97b6ab 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
a41c76
@@ -182,6 +182,7 @@
a41c76
   <flag name='egl-headless'/>
a41c76
   <flag name='iothread.poll-max-ns'/>
a41c76
   <flag name='x86-max-cpu'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2010000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100287</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
a41c76
index f70335db8f..b8eb3abd40 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
a41c76
@@ -188,6 +188,7 @@
a41c76
   <flag name='egl-headless'/>
a41c76
   <flag name='iothread.poll-max-ns'/>
a41c76
   <flag name='x86-max-cpu'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2011000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100288</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
a41c76
index 74c80d2fe9..38a3103c4a 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
a41c76
@@ -153,6 +153,7 @@
a41c76
   <flag name='iothread.poll-max-ns'/>
a41c76
   <flag name='memory-backend-file.align'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2011090</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900289</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
a41c76
index b51cee9f28..0c30cc75da 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
a41c76
@@ -197,6 +197,7 @@
a41c76
   <flag name='memory-backend-file.align'/>
a41c76
   <flag name='x86-max-cpu'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2011090</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100289</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
a41c76
index 86d85faa73..9b486effe1 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
a41c76
@@ -133,6 +133,7 @@
a41c76
   <flag name='sdl-gl'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2004000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100242</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
a41c76
index b217238307..147b179fdb 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
a41c76
@@ -139,6 +139,7 @@
a41c76
   <flag name='sdl-gl'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2005000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100243</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
a41c76
index 862464c2f0..deb5c28790 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
a41c76
@@ -118,6 +118,7 @@
a41c76
   <flag name='nbd-tls'/>
a41c76
   <flag name='sdl-gl'/>
a41c76
   <flag name='hda-output'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2006000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900244</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
a41c76
index 6b96e37a16..fc508aba8a 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
a41c76
@@ -151,6 +151,7 @@
a41c76
   <flag name='sdl-gl'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2006000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100244</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
a41c76
index bc1359b0dd..ed199057dc 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
a41c76
@@ -156,6 +156,7 @@
a41c76
   <flag name='sdl-gl'/>
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2007000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100245</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
a41c76
index c7f3be3a1b..489b67f99a 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
a41c76
@@ -159,6 +159,7 @@
a41c76
   <flag name='hda-output'/>
a41c76
   <flag name='vhost-vsock'/>
a41c76
   <flag name='mch'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2008000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100246</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
a41c76
index a00d4b3d4c..3bc6ec8dab 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
a41c76
@@ -131,6 +131,7 @@
a41c76
   <flag name='blockdev-del'/>
a41c76
   <flag name='vhost-vsock'/>
a41c76
   <flag name='iothread.poll-max-ns'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2009000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900247</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
a41c76
index 3d96f5f5b3..83fc6cde97 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
a41c76
@@ -176,6 +176,7 @@
a41c76
   <flag name='mch'/>
a41c76
   <flag name='iothread.poll-max-ns'/>
a41c76
   <flag name='x86-max-cpu'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2009000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100247</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
a41c76
index 3b5a021dcf..9a0b9c05c2 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
a41c76
@@ -155,6 +155,7 @@
a41c76
   <flag name='bochs-display'/>
a41c76
   <flag name='ramfb'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>2012050</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900239</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
a41c76
index 575b1c2a43..aa134f7da1 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
a41c76
@@ -203,6 +203,7 @@
a41c76
   <flag name='ramfb'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>3000000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100239</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
a41c76
index 591f054193..06bcba57bc 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
a41c76
@@ -160,6 +160,7 @@
a41c76
   <flag name='bochs-display'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>3000091</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900240</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
a41c76
index 6e434579ff..aa0219816d 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
a41c76
@@ -206,6 +206,7 @@
a41c76
   <flag name='ramfb'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>3000092</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100240</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
a41c76
index aa22eccc6f..9f7d322d07 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
a41c76
@@ -174,6 +174,7 @@
a41c76
   <flag name='machine.pseries.cap-ccf-assist'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>4000000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900240</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
a41c76
index 3c1baf9560..f54f15b23e 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
a41c76
@@ -211,6 +211,7 @@
a41c76
   <flag name='ramfb'/>
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>4000000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100240</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
a41c76
index d5f2673fb6..961a13818b 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
a41c76
@@ -217,6 +217,7 @@
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='smp-dies'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>4001000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100241</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
a41c76
index f5121fca94..0dc7503a07 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
a41c76
@@ -178,6 +178,7 @@
a41c76
   <flag name='drive-nvme'/>
a41c76
   <flag name='smp-dies'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>4001050</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>42900242</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
a41c76
index f6df71ff3e..452753b103 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
a41c76
@@ -222,6 +222,7 @@
a41c76
   <flag name='virtio-net.failover'/>
a41c76
   <flag name='vhost-user-fs'/>
a41c76
   <flag name='storage.werror'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>4002000</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100242</microcodeVersion>
a41c76
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
a41c76
index d0b5f18c02..733e6b1eb4 100644
a41c76
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
a41c76
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
a41c76
@@ -225,6 +225,7 @@
a41c76
   <flag name='blockdev-snapshot.allow-write-only-overlay'/>
a41c76
   <flag name='storage.werror'/>
a41c76
   <flag name='pcie-root-port.hotplug'/>
a41c76
+  <flag name='i8042'/>
a41c76
   <version>4002091</version>
a41c76
   <kvmVersion>0</kvmVersion>
a41c76
   <microcodeVersion>43100241</microcodeVersion>
a41c76
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
a41c76
index f501cde333..59c969e0f2 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml
a41c76
@@ -44,12 +44,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
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
a41c76
index 301658178f..d10b29be7e 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-explicit.xml
a41c76
@@ -54,12 +54,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'>
a41c76
       <alias name='balloon0'/>
a41c76
     </memballoon>
a41c76
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
a41c76
index 223e929ad5..6eadbdcd18 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml
a41c76
@@ -54,12 +54,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
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
a41c76
index c745d48558..68561b50a3 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml
a41c76
@@ -44,12 +44,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
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
a41c76
index 3189294b65..0900f3c8e3 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml
a41c76
@@ -53,12 +53,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
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
a41c76
index 3189294b65..0900f3c8e3 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml
a41c76
@@ -53,12 +53,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml
a41c76
index edf57fcd3f..31979c40f0 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio.xml
a41c76
@@ -43,12 +43,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml
a41c76
index b97bba78c6..844b951940 100644
a41c76
--- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml
a41c76
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live.xml
a41c76
@@ -34,12 +34,6 @@
a41c76
       <alias name='virtio-serial0'/>
a41c76
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
a41c76
     </controller>
a41c76
-    <input type='mouse' bus='ps2'>
a41c76
-      <alias name='input0'/>
a41c76
-    </input>
a41c76
-    <input type='keyboard' bus='ps2'>
a41c76
-      <alias name='input1'/>
a41c76
-    </input>
a41c76
     <memballoon model='none'/>
a41c76
     <panic model='s390'/>
a41c76
   </devices>
a41c76
-- 
a41c76
2.27.0
a41c76