mbox series

[v2,00/19] hw/i386/pc: Remove deprecated 2.4 and 2.5 PC machines

Message ID 20250429140825.25964-1-philmd@linaro.org
Headers show
Series hw/i386/pc: Remove deprecated 2.4 and 2.5 PC machines | expand

Message

Philippe Mathieu-Daudé April 29, 2025, 2:08 p.m. UTC
Since v1:
- Fixed issues noticed by Thomas

The versioned 'pc' and 'q35' machines up to 2.12 been marked
as deprecated two releases ago, and are older than 6 years,
so according to our support policy we can remove them.

This series only includes the 2.4 and 2.5 machines removal,
as it is a big enough number of LoC removed. Rest will
follow. Highlight is the legacy fw_cfg API removal :)

Philippe Mathieu-Daudé (19):
  hw/i386/pc: Remove deprecated pc-q35-2.4 and pc-i440fx-2.4 machines
  hw/i386/pc: Remove PCMachineClass::broken_reserved_end field
  hw/i386/pc: Remove pc_compat_2_4[] array
  target/i386/cpu: Remove X86CPU::check_cpuid field
  hw/core/machine: Remove hw_compat_2_4[] array
  hw/net/e1000: Remove unused E1000_FLAG_MAC flag
  hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_MIGRATE_EXTRA definition
  hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_DISABLE_PCIE definition
  hw/i386/pc: Remove deprecated pc-q35-2.5 and pc-i440fx-2.5 machines
  hw/i386/x86: Remove X86MachineClass::save_tsc_khz field
  hw/nvram/fw_cfg: Remove legacy FW_CFG_ORDER_OVERRIDE
  hw/core/machine: Remove hw_compat_2_5[] array
  hw/block/fdc-isa: Remove 'fallback' property
  hw/scsi/vmw_pvscsi: Remove PVSCSI_COMPAT_OLD_PCI_CONFIGURATION
    definition
  hw/scsi/vmw_pvscsi: Remove PVSCSI_COMPAT_DISABLE_PCIE_BIT definition
  hw/scsi/vmw_pvscsi: Convert DeviceRealize -> InstanceInit
  hw/net/vmxnet3: Remove VMXNET3_COMPAT_FLAG_OLD_MSI_OFFSETS definition
  hw/net/vmxnet3: Remove VMXNET3_COMPAT_FLAG_DISABLE_PCIE definition
  hw/net/vmxnet3: Merge DeviceRealize in InstanceInit

 include/hw/boards.h            |   9 +--
 include/hw/i386/pc.h           |   7 ---
 include/hw/i386/x86.h          |   5 --
 include/hw/loader.h            |   2 -
 include/hw/nvram/fw_cfg.h      |  10 ---
 include/hw/virtio/virtio-pci.h |   8 ---
 target/i386/cpu.h              |   1 -
 hw/block/fdc-isa.c             |   4 +-
 hw/core/loader.c               |  14 -----
 hw/core/machine.c              |  18 ------
 hw/i386/pc.c                   |  42 ++-----------
 hw/i386/pc_piix.c              |  26 --------
 hw/i386/pc_q35.c               |  26 --------
 hw/i386/x86.c                  |   1 -
 hw/net/e1000.c                 |  72 +++++-----------------
 hw/net/vmxnet3.c               |  44 +++----------
 hw/nvram/fw_cfg.c              | 109 +++------------------------------
 hw/scsi/vmw_pvscsi.c           |  67 +++-----------------
 hw/virtio/virtio-pci.c         |  11 +---
 system/vl.c                    |   5 --
 target/i386/cpu.c              |   3 +-
 target/i386/machine.c          |   5 +-
 22 files changed, 51 insertions(+), 438 deletions(-)

Comments

Thomas Huth May 5, 2025, 8:23 a.m. UTC | #1
On 29/04/2025 16.08, Philippe Mathieu-Daudé wrote:
> Since v1:
> - Fixed issues noticed by Thomas
> 
> The versioned 'pc' and 'q35' machines up to 2.12 been marked
> as deprecated two releases ago, and are older than 6 years,
> so according to our support policy we can remove them.
> 
> This series only includes the 2.4 and 2.5 machines removal,
> as it is a big enough number of LoC removed. Rest will
> follow. Highlight is the legacy fw_cfg API removal :)

There is one more occurance of "pc-i440fx-2.4" in 
tests/qtest/test-x86-cpuid-compat.c which could get removed now, too. But 
this can also be done in a separate patch later, this patch series here 
should now be good to go, I think.

  Thomas
Philippe Mathieu-Daudé May 5, 2025, 10:30 a.m. UTC | #2
On 5/5/25 10:23, Thomas Huth wrote:
> On 29/04/2025 16.08, Philippe Mathieu-Daudé wrote:
>> Since v1:
>> - Fixed issues noticed by Thomas
>>
>> The versioned 'pc' and 'q35' machines up to 2.12 been marked
>> as deprecated two releases ago, and are older than 6 years,
>> so according to our support policy we can remove them.
>>
>> This series only includes the 2.4 and 2.5 machines removal,
>> as it is a big enough number of LoC removed. Rest will
>> follow. Highlight is the legacy fw_cfg API removal :)
> 
> There is one more occurance of "pc-i440fx-2.4" in tests/qtest/test-x86- 
> cpuid-compat.c which could get removed now, too. But this can also be 
> done in a separate patch later, this patch series here should now be 
> good to go, I think.

Thanks!

Paolo, Michael, if you Ack I can post a PR squashing in patch #1:

-- >8 --
diff --git a/tests/qtest/test-x86-cpuid-compat.c 
b/tests/qtest/test-x86-cpuid-compat.c
index c9de47bb269..456e2af6657 100644
--- a/tests/qtest/test-x86-cpuid-compat.c
+++ b/tests/qtest/test-x86-cpuid-compat.c
@@ -368,14 +367,0 @@ int main(int argc, char **argv)
-    /*
-     * xlevel doesn't have any feature that triggers auto-level
-     * code on old machine-types.  Just check that the compat code
-     * is working correctly:
-     */
-    if (qtest_has_machine("pc-i440fx-2.4")) {
-        add_cpuid_test("x86/cpuid/xlevel-compat/pc-i440fx-2.4/npt-off",
-                       "SandyBridge", NULL, "pc-i440fx-2.4",
-                       "xlevel", 0x80000008);
-        add_cpuid_test("x86/cpuid/xlevel-compat/pc-i440fx-2.4/npt-on",
-                       "SandyBridge", "svm=on,npt=on", "pc-i440fx-2.4",
-                       "xlevel", 0x80000008);
-    }
-
---

Otherwise I can also respin.

Thanks,

Phil.