[PATCH v2 00/16] hw/i386/pc: Remove deprecated 2.8 and 2.9 PC machines

Thomas Huth posted 16 patches 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260225092024.794595-1-thuth@redhat.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <anisinha@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Yanan Wang <wangyanan55@huawei.com>, Zhao Liu <zhao1.liu@intel.com>, Jason Wang <jasowang@redhat.com>, Yi Liu <yi.l.liu@intel.com>, "Clément Mathieu--Drif" <clement.mathieu--drif@eviden.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>
include/hw/core/boards.h            |  6 -----
include/hw/i386/pc.h                |  6 -----
include/hw/i386/x86-iommu.h         |  1 -
include/hw/pci/pci.h                |  2 --
include/hw/virtio/virtio-net.h      |  1 -
include/hw/virtio/virtio-pci.h      | 12 ----------
hw/block/pflash_cfi01.c             | 14 +++---------
hw/core/machine.c                   | 22 ------------------
hw/i386/intel_iommu.c               | 13 ++---------
hw/i386/kvm/clock.c                 | 18 ---------------
hw/i386/pc.c                        | 14 ------------
hw/i386/pc_piix.c                   | 18 ---------------
hw/i386/pc_q35.c                    | 18 ---------------
hw/i386/x86-iommu.c                 |  1 -
hw/net/virtio-net.c                 |  8 ++-----
hw/pci-bridge/gen_pcie_root_port.c  | 16 ++-----------
hw/pci/pci.c                        |  2 --
hw/pci/pcie.c                       |  6 ++---
hw/virtio/virtio-pci.c              | 35 ++++++++---------------------
tests/qtest/test-x86-cpuid-compat.c | 11 ---------
20 files changed, 20 insertions(+), 204 deletions(-)
[PATCH v2 00/16] hw/i386/pc: Remove deprecated 2.8 and 2.9 PC machines
Posted by Thomas Huth 1 month, 2 weeks ago
The -2.8 and -2.9 machine types of the i440fx and q35 machines are
older than 6 years, so according to our support policy we can remove
them, together with a lot of the compatibility knobs that they were
using.

This is a respin of Philippe's original series here:

 https://lore.kernel.org/qemu-devel/20250501210456.89071-1-philmd@linaro.org

The following three patches still need a review:

- hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition
- hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
- tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine

Changes in v2:

- Rebased all patches to current master, and fixed the contextual conflicts
- Added Igor's Reviewed-bys
- Dropped the "hw/southbridge/ich9: Remove ICH9_LPC_SMI_F_BROADCAST_BIT
  definition" patch since the code is still required (the guest can decide
  whether to use this feature or not)
- Dropped the two "hw/nvram/fw_cfg" patches since Igor mentioned that it
  still might be useful to keep this configuration knob
- Fix "hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition" according to
  Igor's review
- Adjusted "hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field":
  The problematic hunk has already been merged in upstream, so I dropped
  it from this patch.
- Added the final patch to drop a qtest that required this machine

Philippe Mathieu-Daudé (15):
  hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines
  hw/i386/pc: Remove pc_compat_2_8[] array
  hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field
  hw/core/machine: Remove hw_compat_2_8[] array
  hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field
  hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition
  hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition
  hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition
  hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition
  hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines
  hw/i386/pc: Remove pc_compat_2_9[] array
  hw/core/machine: Remove hw_compat_2_9[] array
  hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field
  hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field
  hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field

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

 include/hw/core/boards.h            |  6 -----
 include/hw/i386/pc.h                |  6 -----
 include/hw/i386/x86-iommu.h         |  1 -
 include/hw/pci/pci.h                |  2 --
 include/hw/virtio/virtio-net.h      |  1 -
 include/hw/virtio/virtio-pci.h      | 12 ----------
 hw/block/pflash_cfi01.c             | 14 +++---------
 hw/core/machine.c                   | 22 ------------------
 hw/i386/intel_iommu.c               | 13 ++---------
 hw/i386/kvm/clock.c                 | 18 ---------------
 hw/i386/pc.c                        | 14 ------------
 hw/i386/pc_piix.c                   | 18 ---------------
 hw/i386/pc_q35.c                    | 18 ---------------
 hw/i386/x86-iommu.c                 |  1 -
 hw/net/virtio-net.c                 |  8 ++-----
 hw/pci-bridge/gen_pcie_root_port.c  | 16 ++-----------
 hw/pci/pci.c                        |  2 --
 hw/pci/pcie.c                       |  6 ++---
 hw/virtio/virtio-pci.c              | 35 ++++++++---------------------
 tests/qtest/test-x86-cpuid-compat.c | 11 ---------
 20 files changed, 20 insertions(+), 204 deletions(-)

-- 
2.53.0


Re: [PATCH v2 00/16] hw/i386/pc: Remove deprecated 2.8 and 2.9 PC machines
Posted by Thomas Huth 1 month, 1 week ago
On 25/02/2026 10.20, Thomas Huth wrote:
> The -2.8 and -2.9 machine types of the i440fx and q35 machines are
> older than 6 years, so according to our support policy we can remove
> them, together with a lot of the compatibility knobs that they were
> using.
> 
> This is a respin of Philippe's original series here:
> 
>   https://lore.kernel.org/qemu-devel/20250501210456.89071-1-philmd@linaro.org
> 
> The following three patches still need a review:
> 
> - hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition
> - hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
> - tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9 machine
> 
> Changes in v2:
> 
> - Rebased all patches to current master, and fixed the contextual conflicts
> - Added Igor's Reviewed-bys
> - Dropped the "hw/southbridge/ich9: Remove ICH9_LPC_SMI_F_BROADCAST_BIT
>    definition" patch since the code is still required (the guest can decide
>    whether to use this feature or not)
> - Dropped the two "hw/nvram/fw_cfg" patches since Igor mentioned that it
>    still might be useful to keep this configuration knob
> - Fix "hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition" according to
>    Igor's review
> - Adjusted "hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field":
>    The problematic hunk has already been merged in upstream, so I dropped
>    it from this patch.
> - Added the final patch to drop a qtest that required this machine
> 
> Philippe Mathieu-Daudé (15):
>    hw/i386/pc: Remove deprecated pc-q35-2.8 and pc-i440fx-2.8 machines
>    hw/i386/pc: Remove pc_compat_2_8[] array
>    hw/i386/kvm: Remove KVMClockState::mach_use_reliable_get_clock field
>    hw/core/machine: Remove hw_compat_2_8[] array
>    hw/block/pflash: Remove PFlashCFI01::old_multiple_chip_handling field
>    hw/pci/pcie: Remove QEMU_PCIE_EXTCAP_INIT definition
>    hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_DEVERR definition
>    hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_LNKCTL definition
>    hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_INIT_PM definition
>    hw/i386/pc: Remove deprecated pc-q35-2.9 and pc-i440fx-2.9 machines
>    hw/i386/pc: Remove pc_compat_2_9[] array
>    hw/core/machine: Remove hw_compat_2_9[] array
>    hw/net/virtio-net: Remove VirtIONet::mtu_bypass_backend field
>    hw/pci-bridge/gen_pcie_rp: Remove GenPCIERootPort::migrate_msix field
>    hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
> 
> Thomas Huth (1):
>    tests/qtest/test-x86-cpuid-compat: Remove the test with the i440fx-2.9
>      machine

If there are no objections (and Paolo or Michael do not plan to take these 
with their next pull request anyway), I'll add these patches (excluding 17 
which needs some more work) to my next pull request, so that we finally get 
these in before the next softfreeze.

  Thomas