public inbox for qemu-devel@nongnu.org
 help / color / mirror / Atom feed
* [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12
@ 2026-03-05 10:51 Thomas Huth
  2026-03-05 10:51 ` [PULL 01/28] hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines Thomas Huth
                   ` (28 more replies)
  0 siblings, 29 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel

 Hi Peter!

The following changes since commit 3fb456e9a0e9eef6a71d9b49bfff596a0f0046e9:

  Merge tag 'pull-request-2026-03-02' of https://gitlab.com/thuth/qemu into staging (2026-03-02 14:01:46 +0000)

are available in the Git repository at:

  https://gitlab.com/thuth/qemu.git tags/pull-request-2026-03-05

for you to fetch changes up to 711de639d571b6ac6981020536ff816130768f58:

  hw/display/vga-pci: Do not expose the 'global-vmstate' property (2026-03-05 10:33:25 +0100)

----------------------------------------------------------------
* Remove deprecated i440fx and q35 machine types -2.8 up to -2.12
* Remove the related hw_compat handling in various devices

----------------------------------------------------------------
Philippe Mathieu-Daudé (27):
      hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines
      hw/i386/pc: Remove pc_compat_2_8[] array
      hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field
      hw/core/machine: Remove hw_compat_2_8[] array
      hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field
      hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition
      hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition
      hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition
      hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition
      hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines
      hw/i386/pc: Remove pc_compat_2_9[] array
      hw/core/machine: Remove hw_compat_2_9[] array
      hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field
      hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field
      hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
      hw/i386/pc: Remove deprecated pc-q35-2.10 and pc-i440fx-2.10 machines
      hw/i386/pc: Remove pc_compat_2_10[] array
      hw/i386/pc: Remove deprecated pc-q35-2.11 and pc-i440fx-2.11 machines
      hw/i386/pc: Remove pc_compat_2_11[] array
      hw/i386/pc: Remove deprecated pc-q35-2.12 and pc-i440fx-2.12 machines
      hw/i386/pc: Remove pc_compat_2_12[] array
      hw/core/machine: Remove hw_compat_2_10[] array
      hw/input/virtio-input: Remove VirtIOInputHID::wheel_axis field
      hw/core/machine: Remove hw_compat_2_11[] array
      hw/core/machine: Remove hw_compat_2_12[] array
      hw/audio/hda-codec: Remove HDAAudioState::use_timer field
      hw/display/vga-pci: Do not expose the 'global-vmstate' property

Thomas Huth (1):
      tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine

 include/hw/core/boards.h            |  15 ------
 include/hw/i386/pc.h                |  15 ------
 include/hw/i386/x86-iommu.h         |   1 -
 include/hw/pci/pci.h                |   2 -
 include/hw/virtio/virtio-input.h    |   1 -
 include/hw/virtio/virtio-net.h      |   1 -
 include/hw/virtio/virtio-pci.h      |  12 -----
 hw/audio/hda-codec.c                |  93 +++++---------------------------
 hw/block/pflash_cfi01.c             |  14 ++---
 hw/core/machine.c                   |  45 ----------------
 hw/display/cirrus_vga.c             |   2 -
 hw/display/qxl.c                    |   1 -
 hw/display/vga-pci.c                |   1 -
 hw/display/vmware_vga.c             |   2 -
 hw/i386/intel_iommu.c               |  13 +----
 hw/i386/kvm/clock.c                 |  18 -------
 hw/i386/pc.c                        |  35 -------------
 hw/i386/pc_piix.c                   |  46 ----------------
 hw/i386/pc_q35.c                    |  47 -----------------
 hw/i386/x86-iommu.c                 |   1 -
 hw/input/virtio-input-hid.c         | 102 ++----------------------------------
 hw/net/virtio-net.c                 |   8 +--
 hw/pci-bridge/gen_pcie_root_port.c  |  16 +-----
 hw/pci/pci.c                        |   2 -
 hw/pci/pcie.c                       |   6 +--
 hw/virtio/virtio-pci.c              |  35 ++++---------
 tests/qtest/test-x86-cpuid-compat.c |  11 ----
 27 files changed, 38 insertions(+), 507 deletions(-)



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PULL 01/28] hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 02/28] hw/i386/pc: Remove pc_compat_2_8[] array Thomas Huth
                   ` (27 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

These machines has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") they can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-2-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-2-thuth@redhat.com>
---
 hw/i386/pc_piix.c | 9 ---------
 hw/i386/pc_q35.c  | 9 ---------
 2 files changed, 18 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index f9e0bca9743..58d76d2d410 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -714,15 +714,6 @@ static void pc_i440fx_machine_2_9_options(MachineClass *m)
 
 DEFINE_I440FX_MACHINE(2, 9);
 
-static void pc_i440fx_machine_2_8_options(MachineClass *m)
-{
-    pc_i440fx_machine_2_9_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_8, hw_compat_2_8_len);
-    compat_props_add(m->compat_props, pc_compat_2_8, pc_compat_2_8_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 8);
-
 #ifdef CONFIG_XEN
 static void xenfv_machine_4_2_options(MachineClass *m)
 {
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 9158631f761..7fe6ca64f9d 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -661,12 +661,3 @@ static void pc_q35_machine_2_9_options(MachineClass *m)
 }
 
 DEFINE_Q35_MACHINE(2, 9);
-
-static void pc_q35_machine_2_8_options(MachineClass *m)
-{
-    pc_q35_machine_2_9_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_8, hw_compat_2_8_len);
-    compat_props_add(m->compat_props, pc_compat_2_8, pc_compat_2_8_len);
-}
-
-DEFINE_Q35_MACHINE(2, 8);
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 02/28] hw/i386/pc: Remove pc_compat_2_8[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
  2026-03-05 10:51 ` [PULL 01/28] hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 03/28] hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field Thomas Huth
                   ` (26 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The pc_compat_2_8[] array was only used by the pc-q35-2.8
and pc-i440fx-2.8 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-3-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-3-thuth@redhat.com>
---
 include/hw/i386/pc.h | 3 ---
 hw/i386/pc.c         | 9 ---------
 2 files changed, 12 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 1cf88c16975..d8fe1c3c8e5 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -292,9 +292,6 @@ extern const size_t pc_compat_2_10_len;
 extern GlobalProperty pc_compat_2_9[];
 extern const size_t pc_compat_2_9_len;
 
-extern GlobalProperty pc_compat_2_8[];
-extern const size_t pc_compat_2_8_len;
-
 #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
     static void pc_machine_##suffix##_class_init(ObjectClass *oc, \
                                                  const void *data) \
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 0dd3fd01d98..d36b4917b31 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -247,15 +247,6 @@ GlobalProperty pc_compat_2_9[] = {
 };
 const size_t pc_compat_2_9_len = G_N_ELEMENTS(pc_compat_2_9);
 
-GlobalProperty pc_compat_2_8[] = {
-    { TYPE_X86_CPU, "tcg-cpuid", "off" },
-    { "kvmclock", "x-mach-use-reliable-get-clock", "off" },
-    { "ICH9-LPC", "x-smi-broadcast", "off" },
-    { TYPE_X86_CPU, "vmware-cpuid-freq", "off" },
-    { "Haswell-" TYPE_X86_CPU, "stepping", "1" },
-};
-const size_t pc_compat_2_8_len = G_N_ELEMENTS(pc_compat_2_8);
-
 /*
  * @PC_FW_DATA:
  * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 03/28] hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
  2026-03-05 10:51 ` [PULL 01/28] hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines Thomas Huth
  2026-03-05 10:51 ` [PULL 02/28] hw/i386/pc: Remove pc_compat_2_8[] array Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 04/28] hw/core/machine: Remove hw_compat_2_8[] array Thomas Huth
                   ` (25 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The KVMClockState::mach_use_reliable_get_clock boolean was only
used by the pc-q35-2.8 and pc-i440fx-2.8 machines, which got removed.
Remove it, along with the 'x-mach-use-reliable-get-clock' property.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-5-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-4-thuth@redhat.com>
---
 hw/i386/kvm/clock.c | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/hw/i386/kvm/clock.c b/hw/i386/kvm/clock.c
index 10d34254f02..7d167c8b006 100644
--- a/hw/i386/kvm/clock.c
+++ b/hw/i386/kvm/clock.c
@@ -23,7 +23,6 @@
 #include "migration/vmstate.h"
 #include "hw/core/sysbus.h"
 #include "hw/i386/kvm/clock.h"
-#include "hw/core/qdev-properties.h"
 #include "exec/cpu-common.h"
 #include "qapi/error.h"
 
@@ -44,9 +43,6 @@ struct KVMClockState {
     /* whether the 'clock' value was obtained in the 'paused' state */
     bool runstate_paused;
 
-    /* whether machine type supports reliable KVM_GET_CLOCK */
-    bool mach_use_reliable_get_clock;
-
     /* whether the 'clock' value was obtained in a host with
      * reliable KVM_GET_CLOCK */
     bool clock_is_reliable;
@@ -292,18 +288,10 @@ static void kvmclock_realize(DeviceState *dev, Error **errp)
     kvm_vmfd_add_change_notifier(&s->kvmclock_vmfd_change_notifier);
 }
 
-static bool kvmclock_clock_is_reliable_needed(void *opaque)
-{
-    KVMClockState *s = opaque;
-
-    return s->mach_use_reliable_get_clock;
-}
-
 static const VMStateDescription kvmclock_reliable_get_clock = {
     .name = "kvmclock/clock_is_reliable",
     .version_id = 1,
     .minimum_version_id = 1,
-    .needed = kvmclock_clock_is_reliable_needed,
     .fields = (const VMStateField[]) {
         VMSTATE_BOOL(clock_is_reliable, KVMClockState),
         VMSTATE_END_OF_LIST()
@@ -364,18 +352,12 @@ static const VMStateDescription kvmclock_vmsd = {
     }
 };
 
-static const Property kvmclock_properties[] = {
-    DEFINE_PROP_BOOL("x-mach-use-reliable-get-clock", KVMClockState,
-                      mach_use_reliable_get_clock, true),
-};
-
 static void kvmclock_class_init(ObjectClass *klass, const void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
 
     dc->realize = kvmclock_realize;
     dc->vmsd = &kvmclock_vmsd;
-    device_class_set_props(dc, kvmclock_properties);
 }
 
 static const TypeInfo kvmclock_info = {
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 04/28] hw/core/machine: Remove hw_compat_2_8[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (2 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 03/28] hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 05/28] hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field Thomas Huth
                   ` (24 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The hw_compat_2_8[] array was only used by the pc-q35-2.8 and
pc-i440fx-2.8 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-6-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-5-thuth@redhat.com>
---
 include/hw/core/boards.h |  3 ---
 hw/core/machine.c        | 14 --------------
 2 files changed, 17 deletions(-)

diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h
index 12b21493789..a81c755541b 100644
--- a/include/hw/core/boards.h
+++ b/include/hw/core/boards.h
@@ -886,7 +886,4 @@ extern const size_t hw_compat_2_10_len;
 extern GlobalProperty hw_compat_2_9[];
 extern const size_t hw_compat_2_9_len;
 
-extern GlobalProperty hw_compat_2_8[];
-extern const size_t hw_compat_2_8_len;
-
 #endif
diff --git a/hw/core/machine.c b/hw/core/machine.c
index eae1f6be8d5..81f806a1ba3 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -272,20 +272,6 @@ GlobalProperty hw_compat_2_9[] = {
 };
 const size_t hw_compat_2_9_len = G_N_ELEMENTS(hw_compat_2_9);
 
-GlobalProperty hw_compat_2_8[] = {
-    { "fw_cfg_mem", "x-file-slots", "0x10" },
-    { "fw_cfg_io", "x-file-slots", "0x10" },
-    { "pflash_cfi01", "old-multiple-chip-handling", "on" },
-    { "pci-bridge", "shpc", "on" },
-    { TYPE_PCI_DEVICE, "x-pcie-extcap-init", "off" },
-    { "virtio-pci", "x-pcie-deverr-init", "off" },
-    { "virtio-pci", "x-pcie-lnkctl-init", "off" },
-    { "virtio-pci", "x-pcie-pm-init", "off" },
-    { "cirrus-vga", "vgamem_mb", "8" },
-    { "isa-cirrus-vga", "vgamem_mb", "8" },
-};
-const size_t hw_compat_2_8_len = G_N_ELEMENTS(hw_compat_2_8);
-
 MachineState *current_machine;
 
 static char *machine_get_kernel(Object *obj, Error **errp)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 05/28] hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (3 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 04/28] hw/core/machine: Remove hw_compat_2_8[] array Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 06/28] hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition Thomas Huth
                   ` (23 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The PFlashCFI01::old_multiple_chip_handling boolean was only set
in the hw_compat_2_8[] array, via the 'old-multiple-chip-handling=on'
property. We removed all machines using that array, let's remove that
property and all the code around it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-7-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-6-thuth@redhat.com>
---
 hw/block/pflash_cfi01.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/hw/block/pflash_cfi01.c b/hw/block/pflash_cfi01.c
index c0f5b9d8fad..5b9ddb20b18 100644
--- a/hw/block/pflash_cfi01.c
+++ b/hw/block/pflash_cfi01.c
@@ -84,7 +84,6 @@ struct PFlashCFI01 {
     char *name;
     void *storage;
     VMChangeStateEntry *vmstate;
-    bool old_multiple_chip_handling;
 
     /* block update buffer */
     unsigned char *blk_bytes;
@@ -703,13 +702,8 @@ static void pflash_cfi01_fill_cfi_table(PFlashCFI01 *pfl)
      * in the cfi_table[].
      */
     num_devices = pfl->device_width ? (pfl->bank_width / pfl->device_width) : 1;
-    if (pfl->old_multiple_chip_handling) {
-        blocks_per_device = pfl->nb_blocs / num_devices;
-        sector_len_per_device = pfl->sector_len;
-    } else {
-        blocks_per_device = pfl->nb_blocs;
-        sector_len_per_device = pfl->sector_len / num_devices;
-    }
+    blocks_per_device = pfl->nb_blocs;
+    sector_len_per_device = pfl->sector_len / num_devices;
     device_len = sector_len_per_device * blocks_per_device;
 
     /* Hardcoded CFI table */
@@ -765,7 +759,7 @@ static void pflash_cfi01_fill_cfi_table(PFlashCFI01 *pfl)
         pfl->cfi_table[0x2A] = 0x0B;
     }
     pfl->writeblock_size = 1 << pfl->cfi_table[0x2A];
-    if (!pfl->old_multiple_chip_handling && num_devices > 1) {
+    if (num_devices > 1) {
         pfl->writeblock_size *= num_devices;
     }
 
@@ -930,8 +924,6 @@ static const Property pflash_cfi01_properties[] = {
     DEFINE_PROP_UINT16("id2", PFlashCFI01, ident2, 0),
     DEFINE_PROP_UINT16("id3", PFlashCFI01, ident3, 0),
     DEFINE_PROP_STRING("name", PFlashCFI01, name),
-    DEFINE_PROP_BOOL("old-multiple-chip-handling", PFlashCFI01,
-                     old_multiple_chip_handling, false),
 };
 
 static void pflash_cfi01_class_init(ObjectClass *klass, const void *data)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 06/28] hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (4 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 05/28] hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 07/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition Thomas Huth
                   ` (22 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

QEMU_PCIE_EXTCAP_INIT was only used by the hw_compat_2_8[]
array, via the 'x-pcie-extcap-init=off' property. We removed
all machines using that array, let's remove all the code around
QEMU_PCIE_EXTCAP_INIT.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-8-philmd@linaro.org>
[thuth: Don't remove pci_set_long(), execute it always instead]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-7-thuth@redhat.com>
---
 include/hw/pci/pci.h | 2 --
 hw/pci/pci.c         | 2 --
 hw/pci/pcie.c        | 6 ++----
 3 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index d9835dfd0dd..64141e92fec 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -219,8 +219,6 @@ enum {
     /* Link active status in endpoint capability is always set */
 #define QEMU_PCIE_LNKSTA_DLLLA_BITNR 8
     QEMU_PCIE_LNKSTA_DLLLA = (1 << QEMU_PCIE_LNKSTA_DLLLA_BITNR),
-#define QEMU_PCIE_EXTCAP_INIT_BITNR 9
-    QEMU_PCIE_EXTCAP_INIT = (1 << QEMU_PCIE_EXTCAP_INIT_BITNR),
 #define QEMU_PCIE_CXL_BITNR 10
     QEMU_PCIE_CAP_CXL = (1 << QEMU_PCIE_CXL_BITNR),
 #define QEMU_PCIE_ERR_UNC_MASK_BITNR 11
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 90d6d71efdc..6399ebd41cb 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -84,8 +84,6 @@ static const Property pci_props[] = {
                     QEMU_PCI_CAP_MULTIFUNCTION_BITNR, false),
     DEFINE_PROP_BIT("x-pcie-lnksta-dllla", PCIDevice, cap_present,
                     QEMU_PCIE_LNKSTA_DLLLA_BITNR, true),
-    DEFINE_PROP_BIT("x-pcie-extcap-init", PCIDevice, cap_present,
-                    QEMU_PCIE_EXTCAP_INIT_BITNR, true),
     DEFINE_PROP_STRING("failover_pair_id", PCIDevice,
                        failover_pair_id),
     DEFINE_PROP_UINT32("acpi-index",  PCIDevice, acpi_index, 0),
diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c
index cae5061e69c..4622c75e48c 100644
--- a/hw/pci/pcie.c
+++ b/hw/pci/pcie.c
@@ -250,10 +250,8 @@ int pcie_cap_init(PCIDevice *dev, uint8_t offset,
 
     pci_set_word(dev->wmask + pos + PCI_EXP_DEVCTL2, PCI_EXP_DEVCTL2_EETLPPB);
 
-    if (dev->cap_present & QEMU_PCIE_EXTCAP_INIT) {
-        /* read-only to behave like a 'NULL' Extended Capability Header */
-        pci_set_long(dev->wmask + PCI_CONFIG_SPACE_SIZE, 0);
-    }
+    /* read-only to behave like a 'NULL' Extended Capability Header */
+    pci_set_long(dev->wmask + PCI_CONFIG_SPACE_SIZE, 0);
 
     return pos;
 }
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 07/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (5 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 06/28] hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 08/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition Thomas Huth
                   ` (21 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

VIRTIO_PCI_FLAG_INIT_DEVERR was only used by the hw_compat_2_8[]
array, via the 'x-pcie-deverr-init=off' property. We removed all
machines using that array, lets remove all the code around
VIRTIO_PCI_FLAG_INIT_DEVERR (see commit 9a4c0e220d8 for similar
VIRTIO_PCI_FLAG_* enum removal).

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-9-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-8-thuth@redhat.com>
---
 include/hw/virtio/virtio-pci.h | 4 ----
 hw/virtio/virtio-pci.c         | 8 ++------
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/include/hw/virtio/virtio-pci.h b/include/hw/virtio/virtio-pci.h
index 581bb830b79..405e33a3165 100644
--- a/include/hw/virtio/virtio-pci.h
+++ b/include/hw/virtio/virtio-pci.h
@@ -35,7 +35,6 @@ enum {
     VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT,
     VIRTIO_PCI_FLAG_PAGE_PER_VQ_BIT,
     VIRTIO_PCI_FLAG_ATS_BIT,
-    VIRTIO_PCI_FLAG_INIT_DEVERR_BIT,
     VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT,
     VIRTIO_PCI_FLAG_INIT_PM_BIT,
     VIRTIO_PCI_FLAG_INIT_FLR_BIT,
@@ -63,9 +62,6 @@ enum {
 /* address space translation service */
 #define VIRTIO_PCI_FLAG_ATS (1 << VIRTIO_PCI_FLAG_ATS_BIT)
 
-/* Init error enabling flags */
-#define VIRTIO_PCI_FLAG_INIT_DEVERR (1 << VIRTIO_PCI_FLAG_INIT_DEVERR_BIT)
-
 /* Init Link Control register */
 #define VIRTIO_PCI_FLAG_INIT_LNKCTL (1 << VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT)
 
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index c7b5a79b936..91d736d71c1 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -2307,10 +2307,8 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp)
             proxy->last_pcie_cap_offset += PCI_ERR_SIZEOF;
         }
 
-        if (proxy->flags & VIRTIO_PCI_FLAG_INIT_DEVERR) {
-            /* Init error enabling flags */
-            pcie_cap_deverr_init(pci_dev);
-        }
+        /* Init error enabling flags */
+        pcie_cap_deverr_init(pci_dev);
 
         if (proxy->flags & VIRTIO_PCI_FLAG_INIT_LNKCTL) {
             /* Init Link Control Register */
@@ -2446,8 +2444,6 @@ static const Property virtio_pci_properties[] = {
                     VIRTIO_PCI_FLAG_ATS_BIT, false),
     DEFINE_PROP_BIT("x-ats-page-aligned", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_ATS_PAGE_ALIGNED_BIT, true),
-    DEFINE_PROP_BIT("x-pcie-deverr-init", VirtIOPCIProxy, flags,
-                    VIRTIO_PCI_FLAG_INIT_DEVERR_BIT, true),
     DEFINE_PROP_BIT("x-pcie-lnkctl-init", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT, true),
     DEFINE_PROP_BIT("x-pcie-pm-init", VirtIOPCIProxy, flags,
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 08/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (6 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 07/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 09/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition Thomas Huth
                   ` (20 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

VIRTIO_PCI_FLAG_INIT_LNKCTL was only used by the hw_compat_2_8[]
array, via the 'x-pcie-lnkctl-init=off' property. We removed all
machines using that array, lets remove all the code around
VIRTIO_PCI_FLAG_INIT_LNKCTL (see commit 9a4c0e220d8 for similar
VIRTIO_PCI_FLAG_* enum removal).

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-10-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-9-thuth@redhat.com>
---
 include/hw/virtio/virtio-pci.h | 4 ----
 hw/virtio/virtio-pci.c         | 8 ++------
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/include/hw/virtio/virtio-pci.h b/include/hw/virtio/virtio-pci.h
index 405e33a3165..9760a3837fa 100644
--- a/include/hw/virtio/virtio-pci.h
+++ b/include/hw/virtio/virtio-pci.h
@@ -35,7 +35,6 @@ enum {
     VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT,
     VIRTIO_PCI_FLAG_PAGE_PER_VQ_BIT,
     VIRTIO_PCI_FLAG_ATS_BIT,
-    VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT,
     VIRTIO_PCI_FLAG_INIT_PM_BIT,
     VIRTIO_PCI_FLAG_INIT_FLR_BIT,
     VIRTIO_PCI_FLAG_AER_BIT,
@@ -62,9 +61,6 @@ enum {
 /* address space translation service */
 #define VIRTIO_PCI_FLAG_ATS (1 << VIRTIO_PCI_FLAG_ATS_BIT)
 
-/* Init Link Control register */
-#define VIRTIO_PCI_FLAG_INIT_LNKCTL (1 << VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT)
-
 /* Init Power Management */
 #define VIRTIO_PCI_FLAG_INIT_PM (1 << VIRTIO_PCI_FLAG_INIT_PM_BIT)
 
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 91d736d71c1..9e2201be13c 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -2310,10 +2310,8 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp)
         /* Init error enabling flags */
         pcie_cap_deverr_init(pci_dev);
 
-        if (proxy->flags & VIRTIO_PCI_FLAG_INIT_LNKCTL) {
-            /* Init Link Control Register */
-            pcie_cap_lnkctl_init(pci_dev);
-        }
+        /* Init Link Control Register */
+        pcie_cap_lnkctl_init(pci_dev);
 
         if (proxy->flags & VIRTIO_PCI_FLAG_PM_NO_SOFT_RESET) {
             pci_set_word(pci_dev->config + pos + PCI_PM_CTRL,
@@ -2444,8 +2442,6 @@ static const Property virtio_pci_properties[] = {
                     VIRTIO_PCI_FLAG_ATS_BIT, false),
     DEFINE_PROP_BIT("x-ats-page-aligned", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_ATS_PAGE_ALIGNED_BIT, true),
-    DEFINE_PROP_BIT("x-pcie-lnkctl-init", VirtIOPCIProxy, flags,
-                    VIRTIO_PCI_FLAG_INIT_LNKCTL_BIT, true),
     DEFINE_PROP_BIT("x-pcie-pm-init", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_INIT_PM_BIT, true),
     DEFINE_PROP_BIT("x-pcie-pm-no-soft-reset", VirtIOPCIProxy, flags,
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 09/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (7 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 08/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 10/28] hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines Thomas Huth
                   ` (19 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

VIRTIO_PCI_FLAG_INIT_PM was only used by the hw_compat_2_8[]
array, via the 'x-pcie-pm-init=off' property. We removed all
machines using that array, lets remove all the code around
VIRTIO_PCI_FLAG_INIT_PM (see commit 9a4c0e220d8 for similar
VIRTIO_PCI_FLAG_* enum removal).

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-11-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-10-thuth@redhat.com>
---
 include/hw/virtio/virtio-pci.h |  4 ----
 hw/virtio/virtio-pci.c         | 19 +++++--------------
 2 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/include/hw/virtio/virtio-pci.h b/include/hw/virtio/virtio-pci.h
index 9760a3837fa..5cb20b73f62 100644
--- a/include/hw/virtio/virtio-pci.h
+++ b/include/hw/virtio/virtio-pci.h
@@ -35,7 +35,6 @@ enum {
     VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT,
     VIRTIO_PCI_FLAG_PAGE_PER_VQ_BIT,
     VIRTIO_PCI_FLAG_ATS_BIT,
-    VIRTIO_PCI_FLAG_INIT_PM_BIT,
     VIRTIO_PCI_FLAG_INIT_FLR_BIT,
     VIRTIO_PCI_FLAG_AER_BIT,
     VIRTIO_PCI_FLAG_ATS_PAGE_ALIGNED_BIT,
@@ -61,9 +60,6 @@ enum {
 /* address space translation service */
 #define VIRTIO_PCI_FLAG_ATS (1 << VIRTIO_PCI_FLAG_ATS_BIT)
 
-/* Init Power Management */
-#define VIRTIO_PCI_FLAG_INIT_PM (1 << VIRTIO_PCI_FLAG_INIT_PM_BIT)
-
 /* Init The No_Soft_Reset bit of Power Management */
 #define VIRTIO_PCI_FLAG_PM_NO_SOFT_RESET \
   (1 << VIRTIO_PCI_FLAG_PM_NO_SOFT_RESET_BIT)
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 9e2201be13c..0f5654f459e 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -2318,11 +2318,9 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp)
                          PCI_PM_CTRL_NO_SOFT_RESET);
         }
 
-        if (proxy->flags & VIRTIO_PCI_FLAG_INIT_PM) {
-            /* Init Power Management Control Register */
-            pci_set_word(pci_dev->wmask + pos + PCI_PM_CTRL,
-                         PCI_PM_CTRL_STATE_MASK);
-        }
+        /* Init Power Management Control Register */
+        pci_set_word(pci_dev->wmask + pos + PCI_PM_CTRL,
+                     PCI_PM_CTRL_STATE_MASK);
 
         if (proxy->flags & VIRTIO_PCI_FLAG_ATS) {
             pcie_ats_init(pci_dev, proxy->last_pcie_cap_offset,
@@ -2418,16 +2416,11 @@ static void virtio_pci_bus_reset_hold(Object *obj, ResetType type)
     virtio_pci_reset(qdev);
 
     if (pci_is_express(dev)) {
-        VirtIOPCIProxy *proxy = VIRTIO_PCI(dev);
-
         pcie_cap_deverr_reset(dev);
         pcie_cap_lnkctl_reset(dev);
 
-        if (proxy->flags & VIRTIO_PCI_FLAG_INIT_PM) {
-            pci_word_test_and_clear_mask(
-                dev->config + dev->pm_cap + PCI_PM_CTRL,
-                PCI_PM_CTRL_STATE_MASK);
-        }
+        pci_word_test_and_clear_mask(dev->config + dev->pm_cap + PCI_PM_CTRL,
+                                     PCI_PM_CTRL_STATE_MASK);
     }
 }
 
@@ -2442,8 +2435,6 @@ static const Property virtio_pci_properties[] = {
                     VIRTIO_PCI_FLAG_ATS_BIT, false),
     DEFINE_PROP_BIT("x-ats-page-aligned", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_ATS_PAGE_ALIGNED_BIT, true),
-    DEFINE_PROP_BIT("x-pcie-pm-init", VirtIOPCIProxy, flags,
-                    VIRTIO_PCI_FLAG_INIT_PM_BIT, true),
     DEFINE_PROP_BIT("x-pcie-pm-no-soft-reset", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_PM_NO_SOFT_RESET_BIT, false),
     DEFINE_PROP_BIT("x-pcie-flr-init", VirtIOPCIProxy, flags,
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 10/28] hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (8 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 09/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 11/28] hw/i386/pc: Remove pc_compat_2_9[] array Thomas Huth
                   ` (18 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

These machines has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") they can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-14-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-11-thuth@redhat.com>
---
 hw/i386/pc_piix.c | 9 ---------
 hw/i386/pc_q35.c  | 9 ---------
 2 files changed, 18 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 58d76d2d410..d8417d1824f 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -705,15 +705,6 @@ static void pc_i440fx_machine_2_10_options(MachineClass *m)
 
 DEFINE_I440FX_MACHINE(2, 10);
 
-static void pc_i440fx_machine_2_9_options(MachineClass *m)
-{
-    pc_i440fx_machine_2_10_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_9, hw_compat_2_9_len);
-    compat_props_add(m->compat_props, pc_compat_2_9, pc_compat_2_9_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 9);
-
 #ifdef CONFIG_XEN
 static void xenfv_machine_4_2_options(MachineClass *m)
 {
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 7fe6ca64f9d..b94d1839e3f 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -652,12 +652,3 @@ static void pc_q35_machine_2_10_options(MachineClass *m)
 }
 
 DEFINE_Q35_MACHINE(2, 10);
-
-static void pc_q35_machine_2_9_options(MachineClass *m)
-{
-    pc_q35_machine_2_10_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_9, hw_compat_2_9_len);
-    compat_props_add(m->compat_props, pc_compat_2_9, pc_compat_2_9_len);
-}
-
-DEFINE_Q35_MACHINE(2, 9);
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 11/28] hw/i386/pc: Remove pc_compat_2_9[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (9 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 10/28] hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:51 ` [PULL 12/28] hw/core/machine: Remove hw_compat_2_9[] array Thomas Huth
                   ` (17 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The pc_compat_2_9[] array was only used by the pc-q35-2.9
and pc-i440fx-2.9 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-15-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-12-thuth@redhat.com>
---
 include/hw/i386/pc.h | 3 ---
 hw/i386/pc.c         | 5 -----
 2 files changed, 8 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index d8fe1c3c8e5..307c120b8a2 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -289,9 +289,6 @@ extern const size_t pc_compat_2_11_len;
 extern GlobalProperty pc_compat_2_10[];
 extern const size_t pc_compat_2_10_len;
 
-extern GlobalProperty pc_compat_2_9[];
-extern const size_t pc_compat_2_9_len;
-
 #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
     static void pc_machine_##suffix##_class_init(ObjectClass *oc, \
                                                  const void *data) \
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index d36b4917b31..8329988013e 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -242,11 +242,6 @@ GlobalProperty pc_compat_2_10[] = {
 };
 const size_t pc_compat_2_10_len = G_N_ELEMENTS(pc_compat_2_10);
 
-GlobalProperty pc_compat_2_9[] = {
-    { "mch", "extended-tseg-mbytes", "0" },
-};
-const size_t pc_compat_2_9_len = G_N_ELEMENTS(pc_compat_2_9);
-
 /*
  * @PC_FW_DATA:
  * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 12/28] hw/core/machine: Remove hw_compat_2_9[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (10 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 11/28] hw/i386/pc: Remove pc_compat_2_9[] array Thomas Huth
@ 2026-03-05 10:51 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 13/28] hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field Thomas Huth
                   ` (16 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The hw_compat_2_9[] array was only used by the pc-q35-2.9 and
pc-i440fx-2.9 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-16-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-13-thuth@redhat.com>
---
 include/hw/core/boards.h | 3 ---
 hw/core/machine.c        | 8 --------
 2 files changed, 11 deletions(-)

diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h
index a81c755541b..bc3193ecbd3 100644
--- a/include/hw/core/boards.h
+++ b/include/hw/core/boards.h
@@ -883,7 +883,4 @@ extern const size_t hw_compat_2_11_len;
 extern GlobalProperty hw_compat_2_10[];
 extern const size_t hw_compat_2_10_len;
 
-extern GlobalProperty hw_compat_2_9[];
-extern const size_t hw_compat_2_9_len;
-
 #endif
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 81f806a1ba3..b47bb411b64 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -264,14 +264,6 @@ GlobalProperty hw_compat_2_10[] = {
 };
 const size_t hw_compat_2_10_len = G_N_ELEMENTS(hw_compat_2_10);
 
-GlobalProperty hw_compat_2_9[] = {
-    { "pci-bridge", "shpc", "off" },
-    { "intel-iommu", "pt", "off" },
-    { "virtio-net-device", "x-mtu-bypass-backend", "off" },
-    { "pcie-root-port", "x-migrate-msix", "false" },
-};
-const size_t hw_compat_2_9_len = G_N_ELEMENTS(hw_compat_2_9);
-
 MachineState *current_machine;
 
 static char *machine_get_kernel(Object *obj, Error **errp)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 13/28] hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (11 preceding siblings ...)
  2026-03-05 10:51 ` [PULL 12/28] hw/core/machine: Remove hw_compat_2_9[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 14/28] hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field Thomas Huth
                   ` (15 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The VirtIONet::mtu_bypass_backend boolean was only set in
the hw_compat_2_9[] array, via the 'x-mtu-bypass-backend=off'
property. We removed all machines using that array, lets remove
that property and all the code around it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-17-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
[thuth: Adjusted patch for latest changes in the master branch]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-14-thuth@redhat.com>
---
 include/hw/virtio/virtio-net.h | 1 -
 hw/net/virtio-net.c            | 8 ++------
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index 5b8ab7bda79..371e3764282 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -218,7 +218,6 @@ struct VirtIONet {
     uint64_t saved_guest_offloads;
     AnnounceTimer announce_timer;
     bool needs_vnet_hdr_swap;
-    bool mtu_bypass_backend;
     /* primary failover device is hidden*/
     bool failover_primary_hidden;
     bool failover;
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index eccb48ad426..2a5d642a647 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -935,8 +935,7 @@ static void virtio_net_set_features(VirtIODevice *vdev,
     int i;
 
     virtio_features_copy(features, in_features);
-    if (n->mtu_bypass_backend &&
-            !virtio_has_feature(vdev->backend_features, VIRTIO_NET_F_MTU)) {
+    if (!virtio_has_feature(vdev->backend_features, VIRTIO_NET_F_MTU)) {
         virtio_clear_feature_ex(features, VIRTIO_NET_F_MTU);
     }
 
@@ -3160,8 +3159,7 @@ static void virtio_net_get_features(VirtIODevice *vdev, uint64_t *features,
     vhost_net_get_features_ex(get_vhost_net(nc->peer), features);
     virtio_features_copy(vdev->backend_features_ex, features);
 
-    if (n->mtu_bypass_backend &&
-            (n->host_features & 1ULL << VIRTIO_NET_F_MTU)) {
+    if ((n->host_features & 1ULL << VIRTIO_NET_F_MTU) != 0) {
         virtio_add_feature_ex(features, VIRTIO_NET_F_MTU);
     }
 
@@ -4251,8 +4249,6 @@ static const Property virtio_net_properties[] = {
     DEFINE_PROP_UINT16("tx_queue_size", VirtIONet, net_conf.tx_queue_size,
                        VIRTIO_NET_TX_QUEUE_DEFAULT_SIZE),
     DEFINE_PROP_UINT16("host_mtu", VirtIONet, net_conf.mtu, 0),
-    DEFINE_PROP_BOOL("x-mtu-bypass-backend", VirtIONet, mtu_bypass_backend,
-                     true),
     DEFINE_PROP_INT32("speed", VirtIONet, net_conf.speed, SPEED_UNKNOWN),
     DEFINE_PROP_STRING("duplex", VirtIONet, net_conf.duplex_str),
     DEFINE_PROP_BOOL("failover", VirtIONet, failover, false),
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 14/28] hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (12 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 13/28] hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field Thomas Huth
                   ` (14 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The GenPCIERootPort::migrate_msix boolean was only set in
the hw_compat_2_9[] array, via the 'x-migrate-msix=false'
property. We removed all machines using that array, lets
remove that property and all the code around it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-18-philmd@linaro.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-15-thuth@redhat.com>
---
 hw/pci-bridge/gen_pcie_root_port.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/hw/pci-bridge/gen_pcie_root_port.c b/hw/pci-bridge/gen_pcie_root_port.c
index 2f7257d166a..5434d693d92 100644
--- a/hw/pci-bridge/gen_pcie_root_port.c
+++ b/hw/pci-bridge/gen_pcie_root_port.c
@@ -35,8 +35,6 @@ struct GenPCIERootPort {
     PCIESlot parent_obj;
     /*< public >*/
 
-    bool migrate_msix;
-
     /* additional resources to reserve */
     PCIResReserve res_reserve;
 };
@@ -66,13 +64,6 @@ static void gen_rp_interrupts_uninit(PCIDevice *d)
     msix_uninit_exclusive_bar(d);
 }
 
-static bool gen_rp_test_migrate_msix(void *opaque, int version_id)
-{
-    GenPCIERootPort *rp = opaque;
-
-    return rp->migrate_msix;
-}
-
 static void gen_rp_realize(DeviceState *dev, Error **errp)
 {
     PCIDevice *d = PCI_DEVICE(dev);
@@ -121,16 +112,13 @@ static const VMStateDescription vmstate_rp_dev = {
         VMSTATE_PCI_DEVICE(parent_obj.parent_obj.parent_obj, PCIESlot),
         VMSTATE_STRUCT(parent_obj.parent_obj.parent_obj.exp.aer_log,
                        PCIESlot, 0, vmstate_pcie_aer_log, PCIEAERLog),
-        VMSTATE_MSIX_TEST(parent_obj.parent_obj.parent_obj.parent_obj,
-                          GenPCIERootPort,
-                          gen_rp_test_migrate_msix),
+        VMSTATE_MSIX(parent_obj.parent_obj.parent_obj.parent_obj,
+                     GenPCIERootPort),
         VMSTATE_END_OF_LIST()
     }
 };
 
 static const Property gen_rp_props[] = {
-    DEFINE_PROP_BOOL("x-migrate-msix", GenPCIERootPort,
-                     migrate_msix, true),
     DEFINE_PROP_UINT32("bus-reserve", GenPCIERootPort,
                        res_reserve.bus, -1),
     DEFINE_PROP_SIZE("io-reserve", GenPCIERootPort,
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (13 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 14/28] hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 16/28] tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine Thomas Huth
                   ` (13 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Igor Mammedov

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The X86IOMMUState::pt_supported boolean was only set in
the hw_compat_2_9[] array, via the 'pt=off' property. We
removed all machines using that array, lets remove that
property and all the code around it, always setting the
VTD_ECAP_PT capability.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-19-philmd@linaro.org>
[thuth: Dropped the hunks that were already merged via commit 31753d5a336f]
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-16-thuth@redhat.com>
---
 include/hw/i386/x86-iommu.h |  1 -
 hw/i386/intel_iommu.c       | 13 ++-----------
 hw/i386/x86-iommu.c         |  1 -
 3 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/include/hw/i386/x86-iommu.h b/include/hw/i386/x86-iommu.h
index c526a047ab6..0a1e1ba7257 100644
--- a/include/hw/i386/x86-iommu.h
+++ b/include/hw/i386/x86-iommu.h
@@ -63,7 +63,6 @@ struct X86IOMMUState {
     SysBusDevice busdev;
     OnOffAuto intr_supported;   /* Whether vIOMMU supports IR */
     bool dt_supported;          /* Whether vIOMMU supports DT */
-    bool pt_supported;          /* Whether vIOMMU supports pass-through */
     bool dma_translation;       /* Whether vIOMMU supports DMA translation */
     QLIST_HEAD(, IEC_Notifier) iec_notifiers; /* IEC notify list */
 };
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 4924aa43750..d24ba989bfc 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -1072,6 +1072,7 @@ static inline bool vtd_ce_type_check(X86IOMMUState *x86_iommu,
 {
     switch (vtd_ce_get_type(ce)) {
     case VTD_CONTEXT_TT_MULTI_LEVEL:
+    case VTD_CONTEXT_TT_PASS_THROUGH:
         /* Always supported */
         break;
     case VTD_CONTEXT_TT_DEV_IOTLB:
@@ -1080,12 +1081,6 @@ static inline bool vtd_ce_type_check(X86IOMMUState *x86_iommu,
             return false;
         }
         break;
-    case VTD_CONTEXT_TT_PASS_THROUGH:
-        if (!x86_iommu->pt_supported) {
-            error_report_once("%s: PT specified but not supported", __func__);
-            return false;
-        }
-        break;
     default:
         /* Unknown type */
         error_report_once("%s: unknown ce type: %"PRIu32, __func__,
@@ -5004,7 +4999,7 @@ static void vtd_cap_init(IntelIOMMUState *s)
 {
     X86IOMMUState *x86_iommu = X86_IOMMU_DEVICE(s);
 
-    s->cap = VTD_CAP_FRO | VTD_CAP_NFR | VTD_CAP_ND |
+    s->cap = VTD_CAP_FRO | VTD_CAP_NFR | VTD_CAP_ND | VTD_ECAP_PT |
              VTD_CAP_MAMV | VTD_CAP_PSI | VTD_CAP_SSLPS |
              VTD_CAP_ESRTPS | VTD_CAP_MGAW(s->aw_bits);
     if (s->dma_drain) {
@@ -5032,10 +5027,6 @@ static void vtd_cap_init(IntelIOMMUState *s)
         s->ecap |= VTD_ECAP_DT;
     }
 
-    if (x86_iommu->pt_supported) {
-        s->ecap |= VTD_ECAP_PT;
-    }
-
     if (s->caching_mode) {
         s->cap |= VTD_CAP_CM;
     }
diff --git a/hw/i386/x86-iommu.c b/hw/i386/x86-iommu.c
index 33ac0bfc97e..a57445404ef 100644
--- a/hw/i386/x86-iommu.c
+++ b/hw/i386/x86-iommu.c
@@ -129,7 +129,6 @@ static const Property x86_iommu_properties[] = {
     DEFINE_PROP_ON_OFF_AUTO("intremap", X86IOMMUState,
                             intr_supported, ON_OFF_AUTO_AUTO),
     DEFINE_PROP_BOOL("device-iotlb", X86IOMMUState, dt_supported, false),
-    DEFINE_PROP_BOOL("pt", X86IOMMUState, pt_supported, true),
     DEFINE_PROP_BOOL("dma-translation", X86IOMMUState, dma_translation, true),
 };
 
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 16/28] tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (14 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 17/28] hw/i386/pc: Remove deprecated pc-q35-2.10 and pc-i440fx-2.10 machines Thomas Huth
                   ` (12 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Fabiano Rosas, Igor Mammedov

From: Thomas Huth <thuth@redhat.com>

The machine has been removed, so the related test can now be removed, too.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-17-thuth@redhat.com>
---
 tests/qtest/test-x86-cpuid-compat.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/tests/qtest/test-x86-cpuid-compat.c b/tests/qtest/test-x86-cpuid-compat.c
index 5e0547e81b7..c534e764f82 100644
--- a/tests/qtest/test-x86-cpuid-compat.c
+++ b/tests/qtest/test-x86-cpuid-compat.c
@@ -343,17 +343,6 @@ int main(int argc, char **argv)
                    "486", "xlevel2=0xC0000002,xstore=on",
                    NULL, "xlevel2", 0xC0000002);
 
-    /* Check compatibility of old machine-types that didn't
-     * auto-increase level/xlevel/xlevel2: */
-    if (qtest_has_machine("pc-i440fx-2.9")) {
-        add_cpuid_test("x86/cpuid/auto-level7/pc-i440fx-2.9/off",
-                       "Conroe", NULL, "pc-i440fx-2.9",
-                       "level", 10);
-        add_cpuid_test("x86/cpuid/auto-level7/pc-i440fx-2.9/on",
-                       "Conroe", "erms=on", "pc-i440fx-2.9",
-                       "level", 10);
-    }
-
     /* Test feature parsing */
     add_feature_test("x86/cpuid/features/plus",
                      "486", "+arat",
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 17/28] hw/i386/pc: Remove deprecated pc-q35-2.10 and pc-i440fx-2.10 machines
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (15 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 16/28] tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 18/28] hw/i386/pc: Remove pc_compat_2_10[] array Thomas Huth
                   ` (11 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Xiaoyao Li

From: Philippe Mathieu-Daudé <philmd@linaro.org>

These machines has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") they can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501223522.99772-2-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/i386/pc_piix.c | 10 ----------
 hw/i386/pc_q35.c  | 10 ----------
 2 files changed, 20 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index d8417d1824f..64927b47d92 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -695,16 +695,6 @@ static void pc_i440fx_machine_2_11_options(MachineClass *m)
 
 DEFINE_I440FX_MACHINE(2, 11);
 
-static void pc_i440fx_machine_2_10_options(MachineClass *m)
-{
-    pc_i440fx_machine_2_11_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_10, hw_compat_2_10_len);
-    compat_props_add(m->compat_props, pc_compat_2_10, pc_compat_2_10_len);
-    m->auto_enable_numa_with_memhp = false;
-}
-
-DEFINE_I440FX_MACHINE(2, 10);
-
 #ifdef CONFIG_XEN
 static void xenfv_machine_4_2_options(MachineClass *m)
 {
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index b94d1839e3f..ad40e9045b2 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -642,13 +642,3 @@ static void pc_q35_machine_2_11_options(MachineClass *m)
 }
 
 DEFINE_Q35_MACHINE(2, 11);
-
-static void pc_q35_machine_2_10_options(MachineClass *m)
-{
-    pc_q35_machine_2_11_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_10, hw_compat_2_10_len);
-    compat_props_add(m->compat_props, pc_compat_2_10, pc_compat_2_10_len);
-    m->auto_enable_numa_with_memhp = false;
-}
-
-DEFINE_Q35_MACHINE(2, 10);
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 18/28] hw/i386/pc: Remove pc_compat_2_10[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (16 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 17/28] hw/i386/pc: Remove deprecated pc-q35-2.10 and pc-i440fx-2.10 machines Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 19/28] hw/i386/pc: Remove deprecated pc-q35-2.11 and pc-i440fx-2.11 machines Thomas Huth
                   ` (10 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Xiaoyao Li

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The pc_compat_2_10[] array was only used by the pc-q35-2.10
and pc-i440fx-2.10 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501223522.99772-3-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/i386/pc.h | 3 ---
 hw/i386/pc.c         | 7 -------
 2 files changed, 10 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 307c120b8a2..03ef7ba2494 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -286,9 +286,6 @@ extern const size_t pc_compat_2_12_len;
 extern GlobalProperty pc_compat_2_11[];
 extern const size_t pc_compat_2_11_len;
 
-extern GlobalProperty pc_compat_2_10[];
-extern const size_t pc_compat_2_10_len;
-
 #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
     static void pc_machine_##suffix##_class_init(ObjectClass *oc, \
                                                  const void *data) \
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 8329988013e..59cfe4f01cd 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -235,13 +235,6 @@ GlobalProperty pc_compat_2_11[] = {
 };
 const size_t pc_compat_2_11_len = G_N_ELEMENTS(pc_compat_2_11);
 
-GlobalProperty pc_compat_2_10[] = {
-    { TYPE_X86_CPU, "x-hv-max-vps", "0x40" },
-    { "i440FX-pcihost", "x-pci-hole64-fix", "off" },
-    { "q35-pcihost", "x-pci-hole64-fix", "off" },
-};
-const size_t pc_compat_2_10_len = G_N_ELEMENTS(pc_compat_2_10);
-
 /*
  * @PC_FW_DATA:
  * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 19/28] hw/i386/pc: Remove deprecated pc-q35-2.11 and pc-i440fx-2.11 machines
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (17 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 18/28] hw/i386/pc: Remove pc_compat_2_10[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 20/28] hw/i386/pc: Remove pc_compat_2_11[] array Thomas Huth
                   ` (9 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Xiaoyao Li

From: Philippe Mathieu-Daudé <philmd@linaro.org>

These machines has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") they can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501223522.99772-6-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/i386/pc_piix.c |  9 ---------
 hw/i386/pc_q35.c  | 10 ----------
 2 files changed, 19 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 64927b47d92..8a4b6509444 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -686,15 +686,6 @@ static void pc_i440fx_machine_2_12_options(MachineClass *m)
 
 DEFINE_I440FX_MACHINE(2, 12);
 
-static void pc_i440fx_machine_2_11_options(MachineClass *m)
-{
-    pc_i440fx_machine_2_12_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_11, hw_compat_2_11_len);
-    compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 11);
-
 #ifdef CONFIG_XEN
 static void xenfv_machine_4_2_options(MachineClass *m)
 {
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index ad40e9045b2..60a1b75b450 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -632,13 +632,3 @@ static void pc_q35_machine_2_12_options(MachineClass *m)
 }
 
 DEFINE_Q35_MACHINE(2, 12);
-
-static void pc_q35_machine_2_11_options(MachineClass *m)
-{
-    pc_q35_machine_2_12_options(m);
-    m->default_nic = "e1000";
-    compat_props_add(m->compat_props, hw_compat_2_11, hw_compat_2_11_len);
-    compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len);
-}
-
-DEFINE_Q35_MACHINE(2, 11);
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 20/28] hw/i386/pc: Remove pc_compat_2_11[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (18 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 19/28] hw/i386/pc: Remove deprecated pc-q35-2.11 and pc-i440fx-2.11 machines Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 21/28] hw/i386/pc: Remove deprecated pc-q35-2.12 and pc-i440fx-2.12 machines Thomas Huth
                   ` (8 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Xiaoyao Li

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The pc_compat_2_11[] array was only used by the pc-q35-2.11
and pc-i440fx-2.11 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501223522.99772-7-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/i386/pc.h | 3 ---
 hw/i386/pc.c         | 6 ------
 2 files changed, 9 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 03ef7ba2494..a3b270ccc97 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -283,9 +283,6 @@ extern const size_t pc_compat_3_0_len;
 extern GlobalProperty pc_compat_2_12[];
 extern const size_t pc_compat_2_12_len;
 
-extern GlobalProperty pc_compat_2_11[];
-extern const size_t pc_compat_2_11_len;
-
 #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
     static void pc_machine_##suffix##_class_init(ObjectClass *oc, \
                                                  const void *data) \
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 59cfe4f01cd..6427c62dbcd 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -229,12 +229,6 @@ GlobalProperty pc_compat_2_12[] = {
 };
 const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12);
 
-GlobalProperty pc_compat_2_11[] = {
-    { TYPE_X86_CPU, "x-migrate-smi-count", "off" },
-    { "Skylake-Server" "-" TYPE_X86_CPU, "clflushopt", "off" },
-};
-const size_t pc_compat_2_11_len = G_N_ELEMENTS(pc_compat_2_11);
-
 /*
  * @PC_FW_DATA:
  * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 21/28] hw/i386/pc: Remove deprecated pc-q35-2.12 and pc-i440fx-2.12 machines
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (19 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 20/28] hw/i386/pc: Remove pc_compat_2_11[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array Thomas Huth
                   ` (7 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Xiaoyao Li

From: Philippe Mathieu-Daudé <philmd@linaro.org>

These machines has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") they can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501223522.99772-8-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/i386/pc_piix.c | 9 ---------
 hw/i386/pc_q35.c  | 9 ---------
 2 files changed, 18 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 8a4b6509444..961432176cf 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -677,15 +677,6 @@ static void pc_i440fx_machine_3_0_options(MachineClass *m)
 
 DEFINE_I440FX_MACHINE(3, 0);
 
-static void pc_i440fx_machine_2_12_options(MachineClass *m)
-{
-    pc_i440fx_machine_3_0_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_12, hw_compat_2_12_len);
-    compat_props_add(m->compat_props, pc_compat_2_12, pc_compat_2_12_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 12);
-
 #ifdef CONFIG_XEN
 static void xenfv_machine_4_2_options(MachineClass *m)
 {
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 60a1b75b450..261d759a223 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -623,12 +623,3 @@ static void pc_q35_machine_3_0_options(MachineClass *m)
 }
 
 DEFINE_Q35_MACHINE(3, 0);
-
-static void pc_q35_machine_2_12_options(MachineClass *m)
-{
-    pc_q35_machine_3_0_options(m);
-    compat_props_add(m->compat_props, hw_compat_2_12, hw_compat_2_12_len);
-    compat_props_add(m->compat_props, pc_compat_2_12, pc_compat_2_12_len);
-}
-
-DEFINE_Q35_MACHINE(2, 12);
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (20 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 21/28] hw/i386/pc: Remove deprecated pc-q35-2.12 and pc-i440fx-2.12 machines Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-10 10:10   ` Zhao Liu
  2026-03-05 10:52 ` [PULL 23/28] hw/core/machine: Remove hw_compat_2_10[] array Thomas Huth
                   ` (6 subsequent siblings)
  28 siblings, 1 reply; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé, Xiaoyao Li

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The pc_compat_2_12[] array was only used by the pc-q35-2.12
and pc-i440fx-2.12 machines, which got removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501223522.99772-9-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/i386/pc.h | 3 ---
 hw/i386/pc.c         | 8 --------
 2 files changed, 11 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index a3b270ccc97..113813c07d7 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -280,9 +280,6 @@ extern const size_t pc_compat_3_1_len;
 extern GlobalProperty pc_compat_3_0[];
 extern const size_t pc_compat_3_0_len;
 
-extern GlobalProperty pc_compat_2_12[];
-extern const size_t pc_compat_2_12_len;
-
 #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
     static void pc_machine_##suffix##_class_init(ObjectClass *oc, \
                                                  const void *data) \
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 6427c62dbcd..819e729a6e3 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -221,14 +221,6 @@ GlobalProperty pc_compat_3_0[] = {
 };
 const size_t pc_compat_3_0_len = G_N_ELEMENTS(pc_compat_3_0);
 
-GlobalProperty pc_compat_2_12[] = {
-    { TYPE_X86_CPU, "legacy-cache", "on" },
-    { TYPE_X86_CPU, "topoext", "off" },
-    { "EPYC-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
-    { "EPYC-IBPB-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
-};
-const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12);
-
 /*
  * @PC_FW_DATA:
  * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 23/28] hw/core/machine: Remove hw_compat_2_10[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (21 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 24/28] hw/input/virtio-input: Remove VirtIOInputHID::wheel_axis field Thomas Huth
                   ` (5 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The hw_compat_2_10[] array was only used by the pc-q35-2.10,
pc-i440fx-2.10 and s390-ccw-virtio-2.10 machines, which got
removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501230129.2596-3-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/core/boards.h | 3 ---
 hw/core/machine.c        | 6 ------
 2 files changed, 9 deletions(-)

diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h
index bc3193ecbd3..54988ecbcfb 100644
--- a/include/hw/core/boards.h
+++ b/include/hw/core/boards.h
@@ -880,7 +880,4 @@ extern const size_t hw_compat_2_12_len;
 extern GlobalProperty hw_compat_2_11[];
 extern const size_t hw_compat_2_11_len;
 
-extern GlobalProperty hw_compat_2_10[];
-extern const size_t hw_compat_2_10_len;
-
 #endif
diff --git a/hw/core/machine.c b/hw/core/machine.c
index b47bb411b64..285adf1e07d 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -258,12 +258,6 @@ GlobalProperty hw_compat_2_11[] = {
 };
 const size_t hw_compat_2_11_len = G_N_ELEMENTS(hw_compat_2_11);
 
-GlobalProperty hw_compat_2_10[] = {
-    { "virtio-mouse-device", "wheel-axis", "false" },
-    { "virtio-tablet-device", "wheel-axis", "false" },
-};
-const size_t hw_compat_2_10_len = G_N_ELEMENTS(hw_compat_2_10);
-
 MachineState *current_machine;
 
 static char *machine_get_kernel(Object *obj, Error **errp)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 24/28] hw/input/virtio-input: Remove VirtIOInputHID::wheel_axis field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (22 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 23/28] hw/core/machine: Remove hw_compat_2_10[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 25/28] hw/core/machine: Remove hw_compat_2_11[] array Thomas Huth
                   ` (4 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The VirtIOInputHID::wheel_axis boolean was only set in the
hw_compat_2_10[] array, via the 'wheel-axis=false' property.
We removed all machines using that array, lets remove that
property and all the code around it. There is only one
virtio_input_config[] version for each device, rename it
removing the '_v2' suffix.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501230129.2596-4-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/virtio/virtio-input.h |   1 -
 hw/input/virtio-input-hid.c      | 102 ++-----------------------------
 2 files changed, 5 insertions(+), 98 deletions(-)

diff --git a/include/hw/virtio/virtio-input.h b/include/hw/virtio/virtio-input.h
index e097b0b5217..1e94f8a03db 100644
--- a/include/hw/virtio/virtio-input.h
+++ b/include/hw/virtio/virtio-input.h
@@ -89,7 +89,6 @@ struct VirtIOInputHID {
     const QemuInputHandler            *handler;
     QemuInputHandlerState             *hs;
     int                               ledstate;
-    bool                              wheel_axis;
 };
 
 struct VirtIOInputHost {
diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c
index bcbfef0b905..14dde90a48b 100644
--- a/hw/input/virtio-input-hid.c
+++ b/hw/input/virtio-input-hid.c
@@ -81,7 +81,6 @@ static void virtio_input_extend_config(VirtIOInput *vinput,
 static void virtio_input_handle_event(DeviceState *dev, QemuConsole *src,
                                       InputEvent *evt)
 {
-    VirtIOInputHID *vhid = VIRTIO_INPUT_HID(dev);
     VirtIOInput *vinput = VIRTIO_INPUT(dev);
     virtio_input_event event;
     int qcode;
@@ -109,8 +108,7 @@ static void virtio_input_handle_event(DeviceState *dev, QemuConsole *src,
         break;
     case INPUT_EVENT_KIND_BTN:
         btn = evt->u.btn.data;
-        if (vhid->wheel_axis &&
-            (btn->button == INPUT_BUTTON_WHEEL_UP ||
+        if ((btn->button == INPUT_BUTTON_WHEEL_UP ||
              btn->button == INPUT_BUTTON_WHEEL_DOWN) &&
             btn->down) {
             event.type  = cpu_to_le16(EV_REL);
@@ -328,32 +326,7 @@ static const QemuInputHandler virtio_mouse_handler = {
     .sync  = virtio_input_handle_sync,
 };
 
-static struct virtio_input_config virtio_mouse_config_v1[] = {
-    {
-        .select    = VIRTIO_INPUT_CFG_ID_NAME,
-        .size      = sizeof(VIRTIO_ID_NAME_MOUSE),
-        .u.string  = VIRTIO_ID_NAME_MOUSE,
-    },{
-        .select    = VIRTIO_INPUT_CFG_ID_DEVIDS,
-        .size      = sizeof(struct virtio_input_devids),
-        .u.ids     = {
-            .bustype = const_le16(BUS_VIRTUAL),
-            .vendor  = const_le16(0x0627), /* same we use for usb hid devices */
-            .product = const_le16(0x0002),
-            .version = const_le16(0x0001),
-        },
-    },{
-        .select    = VIRTIO_INPUT_CFG_EV_BITS,
-        .subsel    = EV_REL,
-        .size      = 1,
-        .u.bitmap  = {
-            (1 << REL_X) | (1 << REL_Y),
-        },
-    },
-    { /* end of list */ },
-};
-
-static struct virtio_input_config virtio_mouse_config_v2[] = {
+static struct virtio_input_config virtio_mouse_config[] = {
     {
         .select    = VIRTIO_INPUT_CFG_ID_NAME,
         .size      = sizeof(VIRTIO_ID_NAME_MOUSE),
@@ -379,26 +352,13 @@ static struct virtio_input_config virtio_mouse_config_v2[] = {
     { /* end of list */ },
 };
 
-static const Property virtio_mouse_properties[] = {
-    DEFINE_PROP_BOOL("wheel-axis", VirtIOInputHID, wheel_axis, true),
-};
-
-static void virtio_mouse_class_init(ObjectClass *klass, const void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-
-    device_class_set_props(dc, virtio_mouse_properties);
-}
-
 static void virtio_mouse_init(Object *obj)
 {
     VirtIOInputHID *vhid = VIRTIO_INPUT_HID(obj);
     VirtIOInput *vinput = VIRTIO_INPUT(obj);
 
     vhid->handler = &virtio_mouse_handler;
-    virtio_input_init_config(vinput, vhid->wheel_axis
-                             ? virtio_mouse_config_v2
-                             : virtio_mouse_config_v1);
+    virtio_input_init_config(vinput, virtio_mouse_config);
     virtio_input_extend_config(vinput, keymap_button,
                                ARRAY_SIZE(keymap_button),
                                VIRTIO_INPUT_CFG_EV_BITS, EV_KEY);
@@ -409,7 +369,6 @@ static const TypeInfo virtio_mouse_info = {
     .parent        = TYPE_VIRTIO_INPUT_HID,
     .instance_size = sizeof(VirtIOInputHID),
     .instance_init = virtio_mouse_init,
-    .class_init    = virtio_mouse_class_init,
 };
 
 /* ----------------------------------------------------------------- */
@@ -421,44 +380,7 @@ static const QemuInputHandler virtio_tablet_handler = {
     .sync  = virtio_input_handle_sync,
 };
 
-static struct virtio_input_config virtio_tablet_config_v1[] = {
-    {
-        .select    = VIRTIO_INPUT_CFG_ID_NAME,
-        .size      = sizeof(VIRTIO_ID_NAME_TABLET),
-        .u.string  = VIRTIO_ID_NAME_TABLET,
-    },{
-        .select    = VIRTIO_INPUT_CFG_ID_DEVIDS,
-        .size      = sizeof(struct virtio_input_devids),
-        .u.ids     = {
-            .bustype = const_le16(BUS_VIRTUAL),
-            .vendor  = const_le16(0x0627), /* same we use for usb hid devices */
-            .product = const_le16(0x0003),
-            .version = const_le16(0x0001),
-        },
-    },{
-        .select    = VIRTIO_INPUT_CFG_EV_BITS,
-        .subsel    = EV_ABS,
-        .size      = 1,
-        .u.bitmap  = {
-            (1 << ABS_X) | (1 << ABS_Y),
-        },
-    },{
-        .select    = VIRTIO_INPUT_CFG_ABS_INFO,
-        .subsel    = ABS_X,
-        .size      = sizeof(virtio_input_absinfo),
-        .u.abs.min = const_le32(INPUT_EVENT_ABS_MIN),
-        .u.abs.max = const_le32(INPUT_EVENT_ABS_MAX),
-    },{
-        .select    = VIRTIO_INPUT_CFG_ABS_INFO,
-        .subsel    = ABS_Y,
-        .size      = sizeof(virtio_input_absinfo),
-        .u.abs.min = const_le32(INPUT_EVENT_ABS_MIN),
-        .u.abs.max = const_le32(INPUT_EVENT_ABS_MAX),
-    },
-    { /* end of list */ },
-};
-
-static struct virtio_input_config virtio_tablet_config_v2[] = {
+static struct virtio_input_config virtio_tablet_config[] = {
     {
         .select    = VIRTIO_INPUT_CFG_ID_NAME,
         .size      = sizeof(VIRTIO_ID_NAME_TABLET),
@@ -503,26 +425,13 @@ static struct virtio_input_config virtio_tablet_config_v2[] = {
     { /* end of list */ },
 };
 
-static const Property virtio_tablet_properties[] = {
-    DEFINE_PROP_BOOL("wheel-axis", VirtIOInputHID, wheel_axis, true),
-};
-
-static void virtio_tablet_class_init(ObjectClass *klass, const void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-
-    device_class_set_props(dc, virtio_tablet_properties);
-}
-
 static void virtio_tablet_init(Object *obj)
 {
     VirtIOInputHID *vhid = VIRTIO_INPUT_HID(obj);
     VirtIOInput *vinput = VIRTIO_INPUT(obj);
 
     vhid->handler = &virtio_tablet_handler;
-    virtio_input_init_config(vinput, vhid->wheel_axis
-                             ? virtio_tablet_config_v2
-                             : virtio_tablet_config_v1);
+    virtio_input_init_config(vinput, virtio_tablet_config);
     virtio_input_extend_config(vinput, keymap_button,
                                ARRAY_SIZE(keymap_button),
                                VIRTIO_INPUT_CFG_EV_BITS, EV_KEY);
@@ -533,7 +442,6 @@ static const TypeInfo virtio_tablet_info = {
     .parent        = TYPE_VIRTIO_INPUT_HID,
     .instance_size = sizeof(VirtIOInputHID),
     .instance_init = virtio_tablet_init,
-    .class_init    = virtio_tablet_class_init,
 };
 
 /* ----------------------------------------------------------------- */
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 25/28] hw/core/machine: Remove hw_compat_2_11[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (23 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 24/28] hw/input/virtio-input: Remove VirtIOInputHID::wheel_axis field Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 26/28] hw/core/machine: Remove hw_compat_2_12[] array Thomas Huth
                   ` (3 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The hw_compat_2_11[] array was only used by the pc-q35-2.11,
pc-i440fx-2.11 and s390-ccw-virtio-2.11 machines, which got
removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501230129.2596-5-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/core/boards.h | 3 ---
 hw/core/machine.c        | 8 --------
 2 files changed, 11 deletions(-)

diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h
index 54988ecbcfb..30a55b61f6d 100644
--- a/include/hw/core/boards.h
+++ b/include/hw/core/boards.h
@@ -877,7 +877,4 @@ extern const size_t hw_compat_3_0_len;
 extern GlobalProperty hw_compat_2_12[];
 extern const size_t hw_compat_2_12_len;
 
-extern GlobalProperty hw_compat_2_11[];
-extern const size_t hw_compat_2_11_len;
-
 #endif
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 285adf1e07d..3e10aec07e1 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -250,14 +250,6 @@ GlobalProperty hw_compat_2_12[] = {
 };
 const size_t hw_compat_2_12_len = G_N_ELEMENTS(hw_compat_2_12);
 
-GlobalProperty hw_compat_2_11[] = {
-    { "hpet", "hpet-offset-saved", "false" },
-    { "virtio-blk-pci", "vectors", "2" },
-    { "vhost-user-blk-pci", "vectors", "2" },
-    { "e1000", "migrate_tso_props", "off" },
-};
-const size_t hw_compat_2_11_len = G_N_ELEMENTS(hw_compat_2_11);
-
 MachineState *current_machine;
 
 static char *machine_get_kernel(Object *obj, Error **errp)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 26/28] hw/core/machine: Remove hw_compat_2_12[] array
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (24 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 25/28] hw/core/machine: Remove hw_compat_2_11[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 27/28] hw/audio/hda-codec: Remove HDAAudioState::use_timer field Thomas Huth
                   ` (2 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The hw_compat_2_12[] array was only used by the pc-q35-2.12,
pc-i440fx-2.12 and s390-ccw-virtio-2.12 machines, which got
removed. Remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501230129.2596-9-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/core/boards.h | 3 ---
 hw/core/machine.c        | 9 ---------
 2 files changed, 12 deletions(-)

diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h
index 30a55b61f6d..f4ee68bbea5 100644
--- a/include/hw/core/boards.h
+++ b/include/hw/core/boards.h
@@ -874,7 +874,4 @@ extern const size_t hw_compat_3_1_len;
 extern GlobalProperty hw_compat_3_0[];
 extern const size_t hw_compat_3_0_len;
 
-extern GlobalProperty hw_compat_2_12[];
-extern const size_t hw_compat_2_12_len;
-
 #endif
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 3e10aec07e1..4770618b559 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -241,15 +241,6 @@ const size_t hw_compat_3_1_len = G_N_ELEMENTS(hw_compat_3_1);
 GlobalProperty hw_compat_3_0[] = {};
 const size_t hw_compat_3_0_len = G_N_ELEMENTS(hw_compat_3_0);
 
-GlobalProperty hw_compat_2_12[] = {
-    { "hda-audio", "use-timer", "false" },
-    { "cirrus-vga", "global-vmstate", "true" },
-    { "VGA", "global-vmstate", "true" },
-    { "vmware-svga", "global-vmstate", "true" },
-    { "qxl-vga", "global-vmstate", "true" },
-};
-const size_t hw_compat_2_12_len = G_N_ELEMENTS(hw_compat_2_12);
-
 MachineState *current_machine;
 
 static char *machine_get_kernel(Object *obj, Error **errp)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 27/28] hw/audio/hda-codec: Remove HDAAudioState::use_timer field
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (25 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 26/28] hw/core/machine: Remove hw_compat_2_12[] array Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 10:52 ` [PULL 28/28] hw/display/vga-pci: Do not expose the 'global-vmstate' property Thomas Huth
  2026-03-05 17:47 ` [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Peter Maydell
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The HDAAudioState::use_timer boolean was only set in the
hw_compat_2_12[] array, via the 'use-timer=false' property.
We removed all machines using that array, lets remove that
property and all the code around it, like the compatibility
callbacks.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501230129.2596-10-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
[thuth: Rebased the patch to current master branch, fixed conflicts]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/audio/hda-codec.c | 93 +++++++-------------------------------------
 1 file changed, 13 insertions(+), 80 deletions(-)

diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c
index 984029a8db1..173fe56bea3 100644
--- a/hw/audio/hda-codec.c
+++ b/hw/audio/hda-codec.c
@@ -187,7 +187,6 @@ struct HDAAudioState {
     /* properties */
     uint32_t debug;
     bool     mixer;
-    bool     use_timer;
 };
 
 static inline uint32_t hda_bytes_per_second(HDAAudioStream *st)
@@ -368,60 +367,6 @@ static void hda_audio_output_cb(void *opaque, int avail)
     hda_timer_sync_adjust(st, (wpos - rpos) - (B_SIZE >> 1));
 }
 
-static void hda_audio_compat_input_cb(void *opaque, int avail)
-{
-    HDAAudioStream *st = opaque;
-    int recv = 0;
-    int len;
-    bool rc;
-
-    while (avail - recv >= sizeof(st->compat_buf)) {
-        if (st->compat_bpos != sizeof(st->compat_buf)) {
-            len = audio_be_read(st->state->audio_be, st->voice.in,
-                                st->compat_buf + st->compat_bpos,
-                                sizeof(st->compat_buf) - st->compat_bpos);
-            st->compat_bpos += len;
-            recv += len;
-            if (st->compat_bpos != sizeof(st->compat_buf)) {
-                break;
-            }
-        }
-        rc = hda_codec_xfer(&st->state->hda, st->stream, false,
-                            st->compat_buf, sizeof(st->compat_buf));
-        if (!rc) {
-            break;
-        }
-        st->compat_bpos = 0;
-    }
-}
-
-static void hda_audio_compat_output_cb(void *opaque, int avail)
-{
-    HDAAudioStream *st = opaque;
-    int sent = 0;
-    int len;
-    bool rc;
-
-    while (avail - sent >= sizeof(st->compat_buf)) {
-        if (st->compat_bpos == sizeof(st->compat_buf)) {
-            rc = hda_codec_xfer(&st->state->hda, st->stream, true,
-                                st->compat_buf, sizeof(st->compat_buf));
-            if (!rc) {
-                break;
-            }
-            st->compat_bpos = 0;
-        }
-        len = audio_be_write(st->state->audio_be, st->voice.out,
-                             st->compat_buf + st->compat_bpos,
-                             sizeof(st->compat_buf) - st->compat_bpos);
-        st->compat_bpos += len;
-        sent += len;
-        if (st->compat_bpos != sizeof(st->compat_buf)) {
-            break;
-        }
-    }
-}
-
 static void hda_audio_set_running(HDAAudioStream *st, bool running)
 {
     if (st->node == NULL) {
@@ -432,16 +377,14 @@ static void hda_audio_set_running(HDAAudioStream *st, bool running)
     }
     st->running = running;
     trace_hda_audio_running(st->node->name, st->stream, st->running);
-    if (st->state->use_timer) {
-        if (running) {
-            int64_t now = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
-            st->rpos = 0;
-            st->wpos = 0;
-            st->buft_start = now;
-            timer_mod_anticipate_ns(st->buft, now + HDA_TIMER_TICKS);
-        } else {
-            timer_del(st->buft);
-        }
+    if (running) {
+        int64_t now = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
+        st->rpos = 0;
+        st->wpos = 0;
+        st->buft_start = now;
+        timer_mod_anticipate_ns(st->buft, now + HDA_TIMER_TICKS);
+    } else {
+        timer_del(st->buft);
     }
     if (st->output) {
         audio_be_set_active_out(st->state->audio_be, st->voice.out, st->running);
@@ -480,7 +423,6 @@ static void hda_audio_set_amp(HDAAudioStream *st)
 
 static void hda_audio_setup(HDAAudioStream *st)
 {
-    bool use_timer = st->state->use_timer;
     audio_callback_fn cb;
 
     if (st->node == NULL) {
@@ -491,21 +433,13 @@ static void hda_audio_setup(HDAAudioStream *st)
                            fmt2name[st->as.fmt], st->as.freq);
 
     if (st->output) {
-        if (use_timer) {
-            cb = hda_audio_output_cb;
-            timer_del(st->buft);
-        } else {
-            cb = hda_audio_compat_output_cb;
-        }
+        cb = hda_audio_output_cb;
+        timer_del(st->buft);
         st->voice.out = audio_be_open_out(st->state->audio_be, st->voice.out,
                                      st->node->name, st, cb, &st->as);
     } else {
-        if (use_timer) {
-            cb = hda_audio_input_cb;
-            timer_del(st->buft);
-        } else {
-            cb = hda_audio_compat_input_cb;
-        }
+        cb = hda_audio_input_cb;
+        timer_del(st->buft);
         st->voice.in = audio_be_open_in(st->state->audio_be, st->voice.in,
                                    st->node->name, st, cb, &st->as);
     }
@@ -810,7 +744,7 @@ static void hda_audio_reset(DeviceState *dev)
 static bool vmstate_hda_audio_stream_buf_needed(void *opaque)
 {
     HDAAudioStream *st = opaque;
-    return st->state && st->state->use_timer;
+    return st->state;
 }
 
 static const VMStateDescription vmstate_hda_audio_stream_buf = {
@@ -866,7 +800,6 @@ static const Property hda_audio_properties[] = {
     DEFINE_AUDIO_PROPERTIES(HDAAudioState, audio_be),
     DEFINE_PROP_UINT32("debug", HDAAudioState, debug,   0),
     DEFINE_PROP_BOOL("mixer", HDAAudioState, mixer,  true),
-    DEFINE_PROP_BOOL("use-timer", HDAAudioState, use_timer,  true),
 };
 
 static void hda_audio_init_output(HDACodecDevice *hda, Error **errp)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PULL 28/28] hw/display/vga-pci: Do not expose the 'global-vmstate' property
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (26 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 27/28] hw/audio/hda-codec: Remove HDAAudioState::use_timer field Thomas Huth
@ 2026-03-05 10:52 ` Thomas Huth
  2026-03-05 17:47 ` [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Peter Maydell
  28 siblings, 0 replies; 32+ messages in thread
From: Thomas Huth @ 2026-03-05 10:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, Philippe Mathieu-Daudé

From: Philippe Mathieu-Daudé <philmd@linaro.org>

The "global-vmstate" property is 'false' by default, and was only
set to 'true' in the hw_compat_2_12[] array. We removed all machines
using that array. Stop exposing that property on the PCI devices.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501230129.2596-11-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/display/cirrus_vga.c | 2 --
 hw/display/qxl.c        | 1 -
 hw/display/vga-pci.c    | 1 -
 hw/display/vmware_vga.c | 2 --
 4 files changed, 6 deletions(-)

diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index 37228ff1345..629b34fc68d 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -2987,8 +2987,6 @@ static const Property pci_vga_cirrus_properties[] = {
                        cirrus_vga.vga.vram_size_mb, 4),
     DEFINE_PROP_BOOL("blitter", struct PCICirrusVGAState,
                      cirrus_vga.enable_blitter, true),
-    DEFINE_PROP_BOOL("global-vmstate", struct PCICirrusVGAState,
-                     cirrus_vga.vga.global_vmstate, false),
 };
 
 static void cirrus_vga_class_init(ObjectClass *klass, const void *data)
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 0551b38230b..3d4b5635568 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -2476,7 +2476,6 @@ static const Property qxl_properties[] = {
         DEFINE_PROP_UINT16("max_outputs", PCIQXLDevice, max_outputs, 0),
         DEFINE_PROP_UINT32("xres", PCIQXLDevice, xres, 0),
         DEFINE_PROP_UINT32("yres", PCIQXLDevice, yres, 0),
-        DEFINE_PROP_BOOL("global-vmstate", PCIQXLDevice, vga.global_vmstate, false),
 };
 
 static void qxl_pci_class_init(ObjectClass *klass, const void *data)
diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index d0f9de1ab35..4e68dd57a17 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -338,7 +338,6 @@ static const Property vga_pci_properties[] = {
     DEFINE_PROP_BIT("edid",
                     PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_EDID, true),
     DEFINE_EDID_PROPERTIES(PCIVGAState, edid_info),
-    DEFINE_PROP_BOOL("global-vmstate", PCIVGAState, vga.global_vmstate, false),
 };
 
 static const Property secondary_pci_properties[] = {
diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index ea7a9fca04e..c2c6bc76e90 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -1335,8 +1335,6 @@ static void pci_vmsvga_realize(PCIDevice *dev, Error **errp)
 static const Property vga_vmware_properties[] = {
     DEFINE_PROP_UINT32("vgamem_mb", struct pci_vmsvga_state_s,
                        chip.vga.vram_size_mb, 16),
-    DEFINE_PROP_BOOL("global-vmstate", struct pci_vmsvga_state_s,
-                     chip.vga.global_vmstate, false),
 };
 
 static void vmsvga_class_init(ObjectClass *klass, const void *data)
-- 
2.53.0



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12
  2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
                   ` (27 preceding siblings ...)
  2026-03-05 10:52 ` [PULL 28/28] hw/display/vga-pci: Do not expose the 'global-vmstate' property Thomas Huth
@ 2026-03-05 17:47 ` Peter Maydell
  28 siblings, 0 replies; 32+ messages in thread
From: Peter Maydell @ 2026-03-05 17:47 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel

On Thu, 5 Mar 2026 at 10:52, Thomas Huth <thuth@redhat.com> wrote:
>
>  Hi Peter!
>
> The following changes since commit 3fb456e9a0e9eef6a71d9b49bfff596a0f0046e9:
>
>   Merge tag 'pull-request-2026-03-02' of https://gitlab.com/thuth/qemu into staging (2026-03-02 14:01:46 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/thuth/qemu.git tags/pull-request-2026-03-05
>
> for you to fetch changes up to 711de639d571b6ac6981020536ff816130768f58:
>
>   hw/display/vga-pci: Do not expose the 'global-vmstate' property (2026-03-05 10:33:25 +0100)
>
> ----------------------------------------------------------------
> * Remove deprecated i440fx and q35 machine types -2.8 up to -2.12
> * Remove the related hw_compat handling in various devices
>



Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/11.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array
  2026-03-05 10:52 ` [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array Thomas Huth
@ 2026-03-10 10:10   ` Zhao Liu
  2026-03-10 10:51     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 32+ messages in thread
From: Zhao Liu @ 2026-03-10 10:10 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Peter Maydell, qemu-devel, Philippe Mathieu-Daudé,
	Xiaoyao Li

> -GlobalProperty pc_compat_2_12[] = {
> -    { TYPE_X86_CPU, "legacy-cache", "on" },

It seems "legacy-cache" property could be deprecated later.

> -    { TYPE_X86_CPU, "topoext", "off" },
> -    { "EPYC-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
> -    { "EPYC-IBPB-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
> -};
> -const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12);

Thanks,
Zhao



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array
  2026-03-10 10:10   ` Zhao Liu
@ 2026-03-10 10:51     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 32+ messages in thread
From: Philippe Mathieu-Daudé @ 2026-03-10 10:51 UTC (permalink / raw)
  To: Zhao Liu, Thomas Huth; +Cc: Peter Maydell, qemu-devel, Xiaoyao Li

Hi,

On 10/3/26 11:10, Zhao Liu wrote:
>> -GlobalProperty pc_compat_2_12[] = {
>> -    { TYPE_X86_CPU, "legacy-cache", "on" },
> 
> It seems "legacy-cache" property could be deprecated later.

FTR I focus on machines and don't have enough X86 knowledge to
understand the scope of each X86 CPU properties, I rather let
these specific deprecation cleanups for developers more familiar
with the X86 architecture.

>> -    { TYPE_X86_CPU, "topoext", "off" },
>> -    { "EPYC-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
>> -    { "EPYC-IBPB-" TYPE_X86_CPU, "xlevel", "0x8000000a" },
>> -};
>> -const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12);
> 
> Thanks,
> Zhao
> 



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2026-03-10 10:52 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 10:51 [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Thomas Huth
2026-03-05 10:51 ` [PULL 01/28] hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines Thomas Huth
2026-03-05 10:51 ` [PULL 02/28] hw/i386/pc: Remove pc_compat_2_8[] array Thomas Huth
2026-03-05 10:51 ` [PULL 03/28] hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field Thomas Huth
2026-03-05 10:51 ` [PULL 04/28] hw/core/machine: Remove hw_compat_2_8[] array Thomas Huth
2026-03-05 10:51 ` [PULL 05/28] hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field Thomas Huth
2026-03-05 10:51 ` [PULL 06/28] hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition Thomas Huth
2026-03-05 10:51 ` [PULL 07/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition Thomas Huth
2026-03-05 10:51 ` [PULL 08/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition Thomas Huth
2026-03-05 10:51 ` [PULL 09/28] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition Thomas Huth
2026-03-05 10:51 ` [PULL 10/28] hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines Thomas Huth
2026-03-05 10:51 ` [PULL 11/28] hw/i386/pc: Remove pc_compat_2_9[] array Thomas Huth
2026-03-05 10:51 ` [PULL 12/28] hw/core/machine: Remove hw_compat_2_9[] array Thomas Huth
2026-03-05 10:52 ` [PULL 13/28] hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field Thomas Huth
2026-03-05 10:52 ` [PULL 14/28] hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field Thomas Huth
2026-03-05 10:52 ` [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field Thomas Huth
2026-03-05 10:52 ` [PULL 16/28] tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine Thomas Huth
2026-03-05 10:52 ` [PULL 17/28] hw/i386/pc: Remove deprecated pc-q35-2.10 and pc-i440fx-2.10 machines Thomas Huth
2026-03-05 10:52 ` [PULL 18/28] hw/i386/pc: Remove pc_compat_2_10[] array Thomas Huth
2026-03-05 10:52 ` [PULL 19/28] hw/i386/pc: Remove deprecated pc-q35-2.11 and pc-i440fx-2.11 machines Thomas Huth
2026-03-05 10:52 ` [PULL 20/28] hw/i386/pc: Remove pc_compat_2_11[] array Thomas Huth
2026-03-05 10:52 ` [PULL 21/28] hw/i386/pc: Remove deprecated pc-q35-2.12 and pc-i440fx-2.12 machines Thomas Huth
2026-03-05 10:52 ` [PULL 22/28] hw/i386/pc: Remove pc_compat_2_12[] array Thomas Huth
2026-03-10 10:10   ` Zhao Liu
2026-03-10 10:51     ` Philippe Mathieu-Daudé
2026-03-05 10:52 ` [PULL 23/28] hw/core/machine: Remove hw_compat_2_10[] array Thomas Huth
2026-03-05 10:52 ` [PULL 24/28] hw/input/virtio-input: Remove VirtIOInputHID::wheel_axis field Thomas Huth
2026-03-05 10:52 ` [PULL 25/28] hw/core/machine: Remove hw_compat_2_11[] array Thomas Huth
2026-03-05 10:52 ` [PULL 26/28] hw/core/machine: Remove hw_compat_2_12[] array Thomas Huth
2026-03-05 10:52 ` [PULL 27/28] hw/audio/hda-codec: Remove HDAAudioState::use_timer field Thomas Huth
2026-03-05 10:52 ` [PULL 28/28] hw/display/vga-pci: Do not expose the 'global-vmstate' property Thomas Huth
2026-03-05 17:47 ` [PULL 00/28] Remove deprecated pc machine types -2.8 up to -2.12 Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox