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