* [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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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-06-18 7:55 ` Peter Krempa
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, 1 reply; 35+ 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] 35+ messages in thread* Re: [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
2026-03-05 10:52 ` [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field Thomas Huth
@ 2026-06-18 7:55 ` Peter Krempa
2026-06-18 8:51 ` Thomas Huth
2026-06-18 9:19 ` Daniel P. Berrangé
0 siblings, 2 replies; 35+ messages in thread
From: Peter Krempa @ 2026-06-18 7:55 UTC (permalink / raw)
To: Thomas Huth
Cc: Peter Maydell, qemu-devel, Philippe Mathieu-Daudé,
Igor Mammedov
On Thu, Mar 05, 2026 at 11:52:02 +0100, Thomas Huth wrote:
> 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/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),
Sorry for necromancing this 3 months later.
This removes the 'pt' option from the 'amd-iommu' device too since
it inherits from X86IOMMUState. Libvirt does expose the setting for
that option although I no longer remember why that was added.
I'm not sure based on the commit message though whether that was an
intended outcome.
When updating the libvirt dumps of capability probing I unfortunately
mis-read the diff and thought that 'pt' was added instead of removed so
I didn't pay any closer attention:
https://gitlab.com/libvirt/libvirt/-/commit/75edc7ae98938ae0548e4c368d9c291d3763289a
IMO since device properties are visible from outside changes like this
should be mentioned in the 'deprecated.rst' document.
Since this is just an optional setting it doesn't cause any problems for
users who didn't set it though so it's not really too big of a problem.
Libvirt will likely add a capability to reject it.
^ permalink raw reply [flat|nested] 35+ messages in thread* Re: [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
2026-06-18 7:55 ` Peter Krempa
@ 2026-06-18 8:51 ` Thomas Huth
2026-06-18 9:19 ` Daniel P. Berrangé
1 sibling, 0 replies; 35+ messages in thread
From: Thomas Huth @ 2026-06-18 8:51 UTC (permalink / raw)
To: Peter Krempa, Philippe Mathieu-Daudé
Cc: Peter Maydell, qemu-devel, Igor Mammedov
On 18/06/2026 09.55, Peter Krempa wrote:
> On Thu, Mar 05, 2026 at 11:52:02 +0100, Thomas Huth wrote:
>> 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/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),
>
> Sorry for necromancing this 3 months later.
>
> This removes the 'pt' option from the 'amd-iommu' device too since
> it inherits from X86IOMMUState. Libvirt does expose the setting for
> that option although I no longer remember why that was added.
>
> I'm not sure based on the commit message though whether that was an
> intended outcome.
>
> When updating the libvirt dumps of capability probing I unfortunately
> mis-read the diff and thought that 'pt' was added instead of removed so
> I didn't pay any closer attention:
>
> https://gitlab.com/libvirt/libvirt/-/commit/75edc7ae98938ae0548e4c368d9c291d3763289a
>
> IMO since device properties are visible from outside changes like this
> should be mentioned in the 'deprecated.rst' document.
Drat, this should not happen, indeed.
The problem is that from QEMU's point of view, you can hardly distinguish
any properties that were just meant for internal compatibility handling, and
properties that are meant as config knobs for the users. In this case, it
looked like an internal property only.
Now that we know that this has somehow been exposed to users, it's maybe
best to revert the QEMU patch, WDYT?
Thomas
^ permalink raw reply [flat|nested] 35+ messages in thread* Re: [PULL 15/28] hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
2026-06-18 7:55 ` Peter Krempa
2026-06-18 8:51 ` Thomas Huth
@ 2026-06-18 9:19 ` Daniel P. Berrangé
1 sibling, 0 replies; 35+ messages in thread
From: Daniel P. Berrangé @ 2026-06-18 9:19 UTC (permalink / raw)
To: Peter Krempa
Cc: Thomas Huth, Peter Maydell, qemu-devel,
Philippe Mathieu-Daudé, Igor Mammedov
On Thu, Jun 18, 2026 at 09:55:48AM +0200, Peter Krempa wrote:
> On Thu, Mar 05, 2026 at 11:52:02 +0100, Thomas Huth wrote:
> > 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/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),
>
> Sorry for necromancing this 3 months later.
>
> This removes the 'pt' option from the 'amd-iommu' device too since
> it inherits from X86IOMMUState. Libvirt does expose the setting for
> that option although I no longer remember why that was added.
IIUC, the 'pt' option was already dead code for the amd-iommu
device before this patch, per Thomas' mention of commit 31753d5a336f
which removed 'pt' logic from amd-iommu.
The AMD IOMMU device was unsupportable prior to f864a3235
because it could not have its PCI adderssing controlled.
IOW, 10.1.0 was the first QEMU release where libvirt could
use amd-iommu, and 'pt' logic was already removed from the
amd-iommu code at that point.
So, while libvirt offered a "pt" setting for amd-iommu, it
never had any effect.
Meanwhile libvirt did NOT offer a "pt" setting for intel-iommu,
despite it existing in QEMU until 11.0.0
> I'm not sure based on the commit message though whether that was an
> intended outcome.
>
> When updating the libvirt dumps of capability probing I unfortunately
> mis-read the diff and thought that 'pt' was added instead of removed so
> I didn't pay any closer attention:
>
> https://gitlab.com/libvirt/libvirt/-/commit/75edc7ae98938ae0548e4c368d9c291d3763289a
>
> IMO since device properties are visible from outside changes like this
> should be mentioned in the 'deprecated.rst' document.
>
> Since this is just an optional setting it doesn't cause any problems for
> users who didn't set it though so it's not really too big of a problem.
> Libvirt will likely add a capability to reject it.
We don't need a capability - we can reject it for amd-iommu
unconditionally since it never had any effect AFAICT.
We could wire up "pt" for the intel-iommu though so we the XML
schema for it is not entirely useless :-)
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
^ permalink raw reply [flat|nested] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ 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; 35+ 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] 35+ messages in thread