qemu-kvm/kvm-redhat-Add-new-rhel9.8.0-and-rhel10.2.0-machine-type.patch
Miroslav Rezanina 9a3e1e2331 * Mon Nov 03 2025 Miroslav Rezanina <mrezanin@redhat.com> - 10.1.0-4
- kvm-qapi-machine-s390x-add-QAPI-event-SCLP_CPI_INFO_AVAI.patch [RHEL-104009 RHEL-105823 RHEL-73008]
- kvm-tests-functional-add-tests-for-SCLP-event-CPI.patch [RHEL-104009 RHEL-105823 RHEL-73008]
- kvm-redhat-Add-new-rhel9.8.0-and-rhel10.2.0-machine-type.patch [RHEL-104009 RHEL-105823 RHEL-73008]
- kvm-vfio-rename-field-to-num_initial_regions.patch [RHEL-118810]
- kvm-vfio-only-check-region-info-cache-for-initial-region.patch [RHEL-118810]
- kvm-arm-create-new-rhel-10.2-specific-virt-machine-type.patch [RHEL-105826 RHEL-105828]
- kvm-arm-create-new-rhel-9.8-specific-virt-machine-type.patch [RHEL-105826 RHEL-105828]
- kvm-x86-create-new-rhel-10.2-specific-pc-q35-machine-typ.patch [RHEL-105826 RHEL-105828]
- kvm-x86-create-new-rhel-9.8-specific-pc-q35-machine-type.patch [RHEL-105826 RHEL-105828]
- kvm-rh-enable-CONFIG_USB_STORAGE_BOT.patch [RHEL-101929]
- Resolves: RHEL-104009
  ([IBM 10.2 FEAT] KVM: Enhance machine type definition to include CPI and PCI passthru capabilities (qemu))
- Resolves: RHEL-105823
  (Add new -rhel10.2.0 machine type to qemu-kvm [s390x])
- Resolves: RHEL-73008
  ([IBM 10.2 FEAT] KVM: Implement Control Program Identification (qemu))
- Resolves: RHEL-118810
  ([RHEL 10.2] Windows 11 VM fails to boot up with ramfb='on' with QEMU 10.1)
- Resolves: RHEL-105826
  (Add new -rhel10.2.0 machine type to qemu-kvm [aarch64])
- Resolves: RHEL-105828
  (Add new -rhel10.2.0 machine type to qemu-kvm [x86_64])
- Resolves: RHEL-101929
  (enable 'usb-bot' device for proper support of USB CD-ROM drives via libvirt  )
2025-11-03 13:29:51 +01:00

100 lines
3.4 KiB
Diff

From 5c61c4d31ea23e30d79fb7d25d078d47701b2378 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Thu, 18 Sep 2025 17:41:25 +0200
Subject: [PATCH 03/10] redhat: Add new -rhel9.8.0 and -rhel10.2.0 machine
types on s390x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Thomas Huth <thuth@redhat.com>
RH-MergeRequest: 412: Add -rhel9.8.0 and -rhel10.2.0 s390x machine types and enable the CPI feature
RH-Jira: RHEL-104009 RHEL-105823 RHEL-73008
RH-Acked-by: Cédric Le Goater <clg@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Commit: [3/3] e9ad89069cb4b9badb1b5f57d78a043c64411b65 (thuth/qemu-kvm-cs)
Upstream Status: RHEL only
JIRA: https://issues.redhat.com/browse/RHEL-105823
JIRA: https://issues.redhat.com/browse/RHEL-104009
Add new -rhel9.8.0 and -rhel10.2.0 machine types that enable the
CPI feature and have the "relaxed-translation" for PCI passthrough
devices enabled by default.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 34 +++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 9be423858d..4937a0c3b8 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1172,8 +1172,18 @@ DEFINE_CCW_MACHINE(4, 2);
#endif /* disabled for RHEL */
+static void ccw_rhel_machine_10_2_0_instance_options(MachineState *machine)
+{
+}
+
+static void ccw_rhel_machine_10_2_0_class_options(MachineClass *mc)
+{
+}
+DEFINE_CCW_MACHINE_AS_LATEST(10, 2, 0);
+
static void ccw_rhel_machine_10_0_0_instance_options(MachineState *machine)
{
+ ccw_rhel_machine_10_2_0_instance_options(machine);
}
static void ccw_rhel_machine_10_0_0_class_options(MachineClass *mc)
@@ -1183,12 +1193,28 @@ static void ccw_rhel_machine_10_0_0_class_options(MachineClass *mc)
{ TYPE_S390_PCI_DEVICE, "relaxed-translation", "off", },
};
+ ccw_rhel_machine_10_2_0_class_options(mc);
+
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
compat_props_add(mc->compat_props, hw_compat_rhel_10_2, hw_compat_rhel_10_2_len);
compat_props_add(mc->compat_props, hw_compat_rhel_10_1, hw_compat_rhel_10_1_len);
s390mc->use_cpi = false;
}
-DEFINE_CCW_MACHINE_AS_LATEST(10, 0, 0);
+DEFINE_CCW_MACHINE(10, 0, 0);
+
+static void ccw_rhel_machine_9_8_0_instance_options(MachineState *machine)
+{
+ ccw_rhel_machine_10_2_0_instance_options(machine);
+}
+
+static void ccw_rhel_machine_9_8_0_class_options(MachineClass *mc)
+{
+ ccw_rhel_machine_10_2_0_class_options(mc);
+
+ /* NB: remember to copy this line to the *latest* RHEL 9 machine */
+ compat_props_add(mc->compat_props, hw_compat_rhel_9, hw_compat_rhel_9_len);
+}
+DEFINE_CCW_MACHINE(9, 8, 0);
static void ccw_rhel_machine_9_6_0_instance_options(MachineState *machine)
{
@@ -1197,9 +1223,11 @@ static void ccw_rhel_machine_9_6_0_instance_options(MachineState *machine)
static void ccw_rhel_machine_9_6_0_class_options(MachineClass *mc)
{
+ /*
+ * NB: -rhel9.6 was on a par with -rhel10.0, so we derive from that
+ * instead of deriving from the 9.8 machine type
+ */
ccw_rhel_machine_10_0_0_class_options(mc);
-
- /* NB: remember to move this line to the *latest* RHEL 9 machine */
compat_props_add(mc->compat_props, hw_compat_rhel_9, hw_compat_rhel_9_len);
}
DEFINE_CCW_MACHINE(9, 6, 0);
--
2.47.3