[PATCH v3 3/6] qemucapabilitiesdata: Add data for QEMU_CAPS_MACHINE_I8042_OPT

Kamil Szczęk posted 6 patches 3 months, 1 week ago
[PATCH v3 3/6] qemucapabilitiesdata: Add data for QEMU_CAPS_MACHINE_I8042_OPT
Posted by Kamil Szczęk 3 months, 1 week ago
The new QEMU_CAPS_MACHINE_I8042_OPT capability introduced a necessity to
perform a QEMU monitor query for properties of the generic PC machine
type. Below is an overview of how these properties changed over time in
QEMU versions currently supported by libvirt:

5.2 -> 6.0
+ x-oem-table-id
+ x-oem-id
+ max-fw-size
+ confidential-guest-support

6.0 -> 6.1
+ smp
+ bus-lock-ratelimit
+ default_bus_bypass_iommu

6.1 -> 6.2
+ sgx-epc
+ default-bus-bypass-iommu
- default_bus_bypass_iommu

6.2 -> 7.0
+ smbios-entry-point-type
+ i8042

7.0 -> 7.1
+ pic
+ boot
+ memory

7.1 -> 8.0
no changes

8.0 -> 8.1
- device-memory-region-size

8.1 -> 8.2
no changes

8.2 -> 9.0
+ fd-bootchk

9.0 -> 9.1
no changes

Signed-off-by: Kamil Szczęk <kamil@szczek.dev>
---
 .../caps_5.2.0_x86_64.replies                 | 169 ++++++++++--
 .../caps_6.0.0_x86_64.replies                 | 189 ++++++++++++--
 .../caps_6.1.0_x86_64.replies                 | 203 +++++++++++++--
 .../caps_6.2.0_x86_64.replies                 | 212 ++++++++++++++--
 .../caps_7.0.0_x86_64.replies                 | 225 ++++++++++++++--
 .../caps_7.0.0_x86_64.xml                     |   1 +
 .../caps_7.1.0_x86_64.replies                 | 240 ++++++++++++++++--
 .../caps_7.1.0_x86_64.xml                     |   1 +
 .../caps_7.2.0_x86_64+hvf.replies             | 240 ++++++++++++++++--
 .../caps_7.2.0_x86_64+hvf.xml                 |   1 +
 .../caps_7.2.0_x86_64.replies                 | 240 ++++++++++++++++--
 .../caps_7.2.0_x86_64.xml                     |   1 +
 .../caps_8.0.0_x86_64.replies                 | 240 ++++++++++++++++--
 .../caps_8.0.0_x86_64.xml                     |   1 +
 .../caps_8.1.0_x86_64.replies                 | 236 +++++++++++++++--
 .../caps_8.1.0_x86_64.xml                     |   1 +
 .../caps_8.2.0_x86_64.replies                 | 236 +++++++++++++++--
 .../caps_8.2.0_x86_64.xml                     |   1 +
 .../caps_9.0.0_x86_64.replies                 | 240 ++++++++++++++++--
 .../caps_9.0.0_x86_64.xml                     |   1 +
 .../caps_9.1.0_x86_64.replies                 | 240 ++++++++++++++++--
 .../caps_9.1.0_x86_64.xml                     |   1 +
 22 files changed, 2665 insertions(+), 254 deletions(-)

diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.replies
index 58ac2c0eaa..3f5405d83e 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.replies
@@ -22907,10 +22907,143 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
+  "id": "libvirt-41"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "string"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "smbus",
+      "type": "bool"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "pit",
+      "type": "bool"
+    },
+    {
+      "name": "sata",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "hpet",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-41"
 }
 
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -24689,12 +24822,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -24702,12 +24835,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -24715,12 +24848,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -26004,12 +26137,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -26087,16 +26220,16 @@
       "capability": "validate-uuid"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV is not enabled in KVM"
@@ -26111,7 +26244,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -26420,7 +26553,7 @@
       }
     }
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -26434,7 +26567,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -26743,7 +26876,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -26758,7 +26891,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -27067,7 +27200,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.replies
index 88948d306a..5380b322d2 100644
--- a/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.replies
@@ -24735,10 +24735,163 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
+  "id": "libvirt-41"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "string"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "type": "bool"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-41"
 }
 
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -26560,12 +26713,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -26573,12 +26726,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -26586,12 +26739,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -27899,12 +28052,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -27986,12 +28139,12 @@
       "capability": "background-snapshot"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
@@ -28001,7 +28154,7 @@
     "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA",
     "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA"
   },
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
@@ -28012,7 +28165,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -28333,7 +28486,7 @@
       }
     }
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -28347,7 +28500,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -28668,7 +28821,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -28683,7 +28836,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -29004,7 +29157,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.replies
index 5872007954..6fb37d63d5 100644
--- a/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.replies
@@ -25009,10 +25009,177 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
+  "id": "libvirt-41"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "string"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "type": "bool"
+    },
+    {
+      "name": "default_bus_bypass_iommu",
+      "type": "bool"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-41"
 }
 
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -27022,12 +27189,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -27035,12 +27202,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -27048,12 +27215,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -28373,12 +28540,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -28460,16 +28627,16 @@
       "capability": "background-snapshot"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "Failed to open /dev/sev: No such file or directory"
@@ -28484,7 +28651,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -28807,7 +28974,7 @@
       }
     }
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -28821,7 +28988,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -29144,7 +29311,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -29159,7 +29326,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -29482,7 +29649,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.replies
index bd7e1f00a4..b2b6bcdf0d 100644
--- a/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.replies
@@ -28257,10 +28257,182 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "string"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "type": "bool"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -30282,12 +30454,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -30295,12 +30467,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -30308,12 +30480,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -31633,12 +31805,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -31720,16 +31892,16 @@
       "capability": "background-snapshot"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -31738,11 +31910,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -31757,7 +31929,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -32090,7 +32262,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -32104,7 +32276,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -32437,7 +32609,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -32452,7 +32624,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -32785,7 +32957,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.replies
index 9c639b3c31..1ad960c99b 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.replies
@@ -28827,10 +28827,195 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
+  "id": "libvirt-41"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "string"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "pit",
+      "description": "Enable/disable Intel 8254 programmable interval timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-41"
 }
 
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -30888,12 +31073,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -30901,12 +31086,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -30914,12 +31099,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -32243,12 +32428,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -32330,16 +32515,16 @@
       "capability": "background-snapshot"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -32348,7 +32533,7 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -32369,7 +32554,7 @@
       }
     ]
   },
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
@@ -32380,7 +32565,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -32717,7 +32902,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -32731,7 +32916,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -33068,7 +33253,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -33083,7 +33268,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -33420,7 +33605,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml
index fea02f7728..23b626aa16 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml
@@ -188,6 +188,7 @@
   <flag name='usb-mtp'/>
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
+  <flag name='machine-i8042-opt'/>
   <version>7000000</version>
   <microcodeVersion>43100243</microcodeVersion>
   <package>v7.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.replies
index 302a34fd49..cd2116d05a 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.replies
@@ -29615,10 +29615,210 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -31555,12 +31755,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -31568,12 +31768,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -31581,12 +31781,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -32910,12 +33110,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -33005,16 +33205,16 @@
       "capability": "postcopy-preempt"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -33023,11 +33223,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -33042,7 +33242,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -33380,7 +33580,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -33394,7 +33594,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -33732,7 +33932,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -33747,7 +33947,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -34085,7 +34285,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml
index 9737e3d083..81c4cc474b 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml
@@ -193,6 +193,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>7001000</version>
   <microcodeVersion>43100244</microcodeVersion>
   <package>v7.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.replies b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.replies
index 0cfbbb7aa0..c85be45cd1 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.replies
+++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.replies
@@ -30612,10 +30612,210 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -32552,12 +32752,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -32565,12 +32765,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -32578,12 +32778,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -33907,12 +34107,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -34002,16 +34202,16 @@
       "capability": "postcopy-preempt"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -34020,11 +34220,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -34039,7 +34239,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -34377,7 +34577,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -34391,7 +34591,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -34729,7 +34929,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -34744,7 +34944,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -35082,7 +35282,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml
index 55dcbf203e..18d74d6e8c 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml
@@ -197,6 +197,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>7002000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v7.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.replies
index 0f4ba1722f..4b56adeafa 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.replies
@@ -30612,10 +30612,210 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -32552,12 +32752,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -32565,12 +32765,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -32578,12 +32778,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -33907,12 +34107,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -34002,16 +34202,16 @@
       "capability": "postcopy-preempt"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -34020,11 +34220,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -34039,7 +34239,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -34377,7 +34577,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -34391,7 +34591,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -34729,7 +34929,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -34744,7 +34944,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -35082,7 +35282,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml
index 1253c860ee..fb52a30f04 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml
@@ -197,6 +197,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>7002000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v7.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.replies
index fc5aab3828..4cad376388 100644
--- a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.replies
@@ -32086,10 +32086,210 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "device-memory-region-size",
+      "type": "int"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -34133,12 +34333,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -34146,12 +34346,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -34159,12 +34359,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -35605,12 +35805,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -35700,16 +35900,16 @@
       "capability": "postcopy-preempt"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -35718,11 +35918,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -35737,7 +35937,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -36080,7 +36280,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -36094,7 +36294,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -36437,7 +36637,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -36452,7 +36652,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -36901,7 +37101,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml
index d3901fef05..91a4ca7f4a 100644
--- a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml
@@ -201,6 +201,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>8000000</version>
   <microcodeVersion>43100244</microcodeVersion>
   <package>v8.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.replies
index 3972c34b48..888a5d3b6a 100644
--- a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.replies
@@ -32946,10 +32946,206 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
+  "id": "libvirt-41"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-41"
 }
 
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -35329,12 +35525,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -35342,12 +35538,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -35355,12 +35551,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -36818,12 +37014,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -36921,16 +37117,16 @@
       "capability": "dirty-limit"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -36939,11 +37135,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -36958,7 +37154,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -37321,7 +37517,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -37335,7 +37531,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -37698,7 +37894,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -37713,7 +37909,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -38182,7 +38378,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml
index f8a9993ede..a792c0e365 100644
--- a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml
@@ -203,6 +203,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>8001000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v8.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.replies
index cc2190dfd3..33e4978c38 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.replies
@@ -33638,10 +33638,206 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
+  "id": "libvirt-41"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-41"
 }
 
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -36021,12 +36217,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -36034,12 +36230,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -36047,12 +36243,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37523,12 +37719,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -37626,16 +37822,16 @@
       "capability": "dirty-limit"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -37644,11 +37840,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -37663,7 +37859,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -38030,7 +38226,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -38044,7 +38240,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -38411,7 +38607,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -38426,7 +38622,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -38899,7 +39095,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml
index 43d7105c2d..c049500cbc 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml
@@ -206,6 +206,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>8002000</version>
   <microcodeVersion>43100246</microcodeVersion>
   <package>v8.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.replies
index 5d36853ce3..89fefb863b 100644
--- a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.replies
@@ -33880,10 +33880,210 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "fd-bootchk",
+      "type": "bool"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -36263,12 +36463,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -36276,12 +36476,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -36289,12 +36489,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37769,12 +37969,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -37876,16 +38076,16 @@
       "capability": "mapped-ram"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -37894,11 +38094,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "SGX is not enabled in KVM"
@@ -37913,7 +38113,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -38281,7 +38481,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -38295,7 +38495,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -38663,7 +38863,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -38678,7 +38878,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -39152,7 +39352,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml
index e96af86a92..ea0ff8d444 100644
--- a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml
@@ -208,6 +208,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>9000000</version>
   <microcodeVersion>43100245</microcodeVersion>
   <package>v9.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.replies
index 73fb8f195b..771ec5b0cd 100644
--- a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.replies
@@ -34379,10 +34379,210 @@
 }
 
 {
-  "execute": "query-cpu-definitions",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "generic-pc-machine"
+  },
   "id": "libvirt-41"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "kernel",
+      "description": "Linux kernel image file",
+      "type": "string"
+    },
+    {
+      "name": "dt-compatible",
+      "description": "Overrides the \"compatible\" property of the dt root node",
+      "type": "string"
+    },
+    {
+      "name": "boot",
+      "description": "Boot configuration",
+      "type": "BootConfiguration"
+    },
+    {
+      "name": "memory",
+      "description": "Memory size configuration",
+      "type": "MemorySizeConfiguration"
+    },
+    {
+      "name": "initrd",
+      "description": "Linux initial ramdisk file",
+      "type": "string"
+    },
+    {
+      "name": "confidential-guest-support",
+      "description": "Set confidential guest scheme to support",
+      "type": "link<confidential-guest-support>"
+    },
+    {
+      "name": "graphics",
+      "description": "Set on/off to enable/disable graphics emulation",
+      "type": "bool"
+    },
+    {
+      "name": "usb",
+      "description": "Set on/off to enable/disable usb",
+      "type": "bool"
+    },
+    {
+      "name": "firmware",
+      "description": "Firmware image",
+      "type": "string"
+    },
+    {
+      "name": "memory-encryption",
+      "description": "Set memory encryption object to use",
+      "type": "string"
+    },
+    {
+      "name": "smp",
+      "description": "CPU topology",
+      "type": "SMPConfiguration"
+    },
+    {
+      "name": "dump-guest-core",
+      "description": "Include guest memory in a core dump",
+      "type": "bool"
+    },
+    {
+      "name": "phandle-start",
+      "description": "The first phandle ID we may generate dynamically",
+      "type": "int"
+    },
+    {
+      "name": "dumpdtb",
+      "description": "Dump current dtb to a file and quit",
+      "type": "string"
+    },
+    {
+      "name": "memory-backend",
+      "description": "Set RAM backendValid value is ID of hostmem based backend",
+      "type": "link<memory-backend>"
+    },
+    {
+      "name": "dtb",
+      "description": "Linux kernel device tree file",
+      "type": "string"
+    },
+    {
+      "name": "mem-merge",
+      "description": "Enable/disable memory merge support",
+      "type": "bool"
+    },
+    {
+      "name": "append",
+      "description": "Linux kernel command line",
+      "type": "string"
+    },
+    {
+      "name": "suppress-vmdesc",
+      "description": "Set on to disable self-describing migration",
+      "type": "bool"
+    },
+    {
+      "name": "smm",
+      "description": "Enable SMM",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "acpi",
+      "description": "Enable ACPI",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pit",
+      "description": "Enable i8254 PIT",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "pic",
+      "description": "Enable i8259 PIC",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "x-oem-table-id",
+      "description": "Override the default value of field OEM Table ID in ACPI table header.The string may be up to 8 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "bus-lock-ratelimit",
+      "description": "Set the ratelimit for the bus locks acquired in VMs",
+      "type": "uint64_t"
+    },
+    {
+      "name": "sgx-epc",
+      "description": "SGX EPC device",
+      "type": "SgxEPC"
+    },
+    {
+      "name": "x-oem-id",
+      "description": "Override the default value of field OEMID in ACPI table header.The string may be up to 6 bytes in size",
+      "type": "string"
+    },
+    {
+      "name": "max-fw-size",
+      "description": "Maximum combined firmware size",
+      "type": "size"
+    },
+    {
+      "name": "default-bus-bypass-iommu",
+      "type": "bool"
+    },
+    {
+      "name": "sata",
+      "description": "Enable/disable Serial ATA bus",
+      "type": "bool"
+    },
+    {
+      "name": "vmport",
+      "description": "Enable vmport (pc & q35)",
+      "type": "OnOffAuto"
+    },
+    {
+      "name": "i8042",
+      "type": "bool"
+    },
+    {
+      "name": "hpet",
+      "description": "Enable/disable high precision event timer emulation",
+      "type": "bool"
+    },
+    {
+      "name": "smbios-entry-point-type",
+      "description": "SMBIOS Entry Point type [32, 64]",
+      "type": "str"
+    },
+    {
+      "name": "max-ram-below-4g",
+      "description": "Maximum ram below the 4G boundary (32bit boundary)",
+      "type": "size"
+    },
+    {
+      "name": "fd-bootchk",
+      "type": "bool"
+    },
+    {
+      "name": "smbus",
+      "description": "Enable/disable system management bus",
+      "type": "bool"
+    }
+  ],
+  "id": "libvirt-41"
+}
+
+{
+  "execute": "query-cpu-definitions",
+  "id": "libvirt-42"
+}
+
 {
   "return": [
     {
@@ -36931,12 +37131,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -36944,12 +37144,12 @@
     "tpm-crb",
     "tpm-tis"
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -36957,12 +37157,12 @@
     "passthrough",
     "emulator"
   ],
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -38445,12 +38645,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
@@ -38544,16 +38744,16 @@
       "capability": "mapped-ram"
     }
   ],
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
   "execute": "query-sev-capabilities",
-  "id": "libvirt-46"
+  "id": "libvirt-47"
 }
 
 {
-  "id": "libvirt-46",
+  "id": "libvirt-47",
   "error": {
     "class": "GenericError",
     "desc": "SEV: Failed to open /dev/sev: No such file or directory"
@@ -38562,11 +38762,11 @@
 
 {
   "execute": "query-sgx-capabilities",
-  "id": "libvirt-47"
+  "id": "libvirt-48"
 }
 
 {
-  "id": "libvirt-47",
+  "id": "libvirt-48",
   "error": {
     "class": "GenericError",
     "desc": "Could not open '/dev/sgx_vepc': No such file or directory"
@@ -38581,7 +38781,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -38959,7 +39159,7 @@
       }
     }
   },
-  "id": "libvirt-48"
+  "id": "libvirt-49"
 }
 
 {
@@ -38973,7 +39173,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -39351,7 +39551,7 @@
       }
     }
   },
-  "id": "libvirt-49"
+  "id": "libvirt-50"
 }
 
 {
@@ -39366,7 +39566,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
@@ -39854,7 +40054,7 @@
       }
     }
   },
-  "id": "libvirt-50"
+  "id": "libvirt-51"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml
index c3cb6efc61..612a68e468 100644
--- a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml
@@ -206,6 +206,7 @@
   <flag name='netdev.user'/>
   <flag name='acpi-erst'/>
   <flag name='intel-iommu.dma-translation'/>
+  <flag name='machine-i8042-opt'/>
   <version>9000090</version>
   <microcodeVersion>43100246</microcodeVersion>
   <package>v9.1.0-rc0-121-g75c7f57403</package>
-- 
2.45.0