From: Zhao Liu <zhao1.liu@intel.com>
To: "Paolo Bonzini" <pbonzini@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Thomas Huth" <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, devel@lists.libvirt.org,
kvm@vger.kernel.org, qemu-riscv@nongnu.org, qemu-arm@nongnu.org,
"Richard Henderson" <richard.henderson@linaro.org>,
"Sergio Lopez" <slp@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Laurent Vivier" <lvivier@redhat.com>,
"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
"Yi Liu" <yi.l.liu@intel.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Alistair Francis" <alistair.francis@wdc.com>,
"Daniel Henrique Barboza" <dbarboza@ventanamicro.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
"Weiwei Li" <liwei1518@gmail.com>, "Amit Shah" <amit@kernel.org>,
"Xiaoyao Li" <xiaoyao.li@intel.com>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Helge Deller" <deller@gmx.de>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Fabiano Rosas" <farosas@suse.de>,
"Liu Zhiwei" <zhiwei_liu@linux.alibaba.com>,
"Clément Mathieu--Drif" <clement.mathieu--drif@eviden.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Huacai Chen" <chenhuacai@kernel.org>,
"Jason Wang" <jasowang@redhat.com>,
"Mark Cave-Ayland" <mark.caveayland@nutanix.com>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
"Peter Krempa" <pkrempa@redhat.com>,
"Jiri Denemark" <jdenemar@redhat.com>,
"Zhao Liu" <zhao1.liu@intel.com>
Subject: [PATCH v5 00/28] hw/i386/pc: Remove deprecated 2.6 and 2.7 PC machines
Date: Wed, 3 Dec 2025 00:28:07 +0800 [thread overview]
Message-ID: <20251202162835.3227894-1-zhao1.liu@intel.com> (raw)
Hi,
A brief introduction from Philippe's v4:
The versioned 'pc' and 'q35' machines up to 2.12 been marked
as deprecated three releases ago, and are older than 6 years,
so according to our support policy we can remove them.
This series only includes the 2.6 and 2.7 machines removal,
as it is a big enough number of LoC removed. Rest will
follow.
This v5 is based on the master branch at the commit 66ec38b6fa59
("Merge tag 'pull-target-arm-20251201' of https://gitlab.com/pm215/qemu
into staging").
(Main) changes since v4:
* Completely remove the legacy CPU hotplug approach.
- New patch 2-8.
- Test CPU hot-plug & hot-unplug via qmp.
* Keep "dma_enabled" property in fw_cfg_io_properties[] since Sun4u &
Sun4v are still using it.
- About more details, please see commit message of patch 15.
* Temporarily keep these properties: "cpuid-0xb" (of X86CPU),
"fill-mtrr-mask" (of X86CPU), "version" (of IOAPICCommonState).
- These properties will be deprecated first before removal, in
another series.
* Keep "l3-cache" (of X86CPU) and "page-per-vq" (of VirtIOPCIProxy),
since they are still in use (e.g., libvirt).
Thank you everyone for the reviews and patience, and also thank you
Philippe for the guidance and Igor for the patch.
Best Regards,
Zhao
---
Igor Mammedov (3):
tests/acpi: Allow DSDT table change for x86 machines
pc: Start with modern CPU hotplug interface by default
acpi: Remove legacy cpu hotplug utilities
Philippe Mathieu-Daudé (22):
hw/i386/pc: Remove deprecated pc-q35-2.6 and pc-i440fx-2.6 machines
hw/i386/pc: Remove PCMachineClass::legacy_cpu_hotplug field
hw/nvram/fw_cfg: Rename fw_cfg_init_mem() with '_nodma' suffix
hw/mips/loongson3_virt: Prefer using fw_cfg_init_mem_nodma()
hw/nvram/fw_cfg: Factor fw_cfg_init_mem_internal() out
hw/nvram/fw_cfg: Rename fw_cfg_init_mem_wide() ->
fw_cfg_init_mem_dma()
hw/i386/x86: Remove X86MachineClass::fwcfg_dma_enabled field
hw/i386/pc: Remove multiboot.bin
hw/i386: Assume fw_cfg DMA is always enabled
hw/i386: Remove linuxboot.bin
hw/i386/pc: Remove pc_compat_2_6[] array
hw/intc/apic: Remove APICCommonState::legacy_instance_id field
hw/core/machine: Remove hw_compat_2_6[] array
hw/virtio/virtio-mmio: Remove
VirtIOMMIOProxy::format_transport_address field
hw/i386/pc: Remove deprecated pc-q35-2.7 and pc-i440fx-2.7 machines
hw/i386/pc: Remove pc_compat_2_7[] array
target/i386/cpu: Remove CPUX86State::full_cpuid_auto_level field
hw/audio/pcspk: Remove PCSpkState::migrate field
hw/core/machine: Remove hw_compat_2_7[] array
hw/i386/intel_iommu: Remove IntelIOMMUState::buggy_eim field
hw/virtio/virtio-pci: Remove VirtIOPCIProxy::ignore_backend_features
field
hw/char/virtio-serial: Do not expose the 'emergency-write' property
Zhao Liu (3):
docs/specs/acpi_cpu_hotplug: Remove legacy cpu hotplug descriptions
tests/acpi: Update DSDT tables for pc machine
tests/acpi: Update DSDT tables for q35 machine
docs/specs/acpi_cpu_hotplug.rst | 28 +-
hw/acpi/acpi-cpu-hotplug-stub.c | 19 +-
hw/acpi/cpu.c | 10 -
hw/acpi/cpu_hotplug.c | 348 ------------------
hw/acpi/generic_event_device.c | 1 +
hw/acpi/ich9.c | 61 +--
hw/acpi/meson.build | 2 +-
hw/acpi/piix4.c | 61 +--
hw/arm/virt.c | 2 +-
hw/audio/pcspk.c | 10 -
hw/char/virtio-serial-bus.c | 9 +-
hw/core/machine.c | 17 -
hw/hppa/machine.c | 2 +-
hw/i386/acpi-build.c | 7 +-
hw/i386/fw_cfg.c | 16 +-
hw/i386/intel_iommu.c | 5 +-
hw/i386/microvm.c | 3 -
hw/i386/multiboot.c | 7 +-
hw/i386/pc.c | 25 +-
hw/i386/pc_piix.c | 23 --
hw/i386/pc_q35.c | 24 --
hw/i386/x86-common.c | 8 +-
hw/i386/x86.c | 2 -
hw/intc/apic_common.c | 5 -
hw/loongarch/fw_cfg.c | 4 +-
hw/loongarch/virt-acpi-build.c | 1 -
hw/mips/loongson3_virt.c | 2 +-
hw/nvram/fw_cfg.c | 22 +-
hw/riscv/virt.c | 4 +-
hw/virtio/virtio-mmio.c | 15 -
hw/virtio/virtio-pci.c | 5 +-
include/hw/acpi/cpu.h | 1 -
include/hw/acpi/cpu_hotplug.h | 40 --
include/hw/acpi/ich9.h | 4 +-
include/hw/acpi/piix4.h | 4 +-
include/hw/boards.h | 6 -
include/hw/i386/apic_internal.h | 1 -
include/hw/i386/intel_iommu.h | 1 -
include/hw/i386/pc.h | 9 -
include/hw/i386/x86.h | 2 -
include/hw/nvram/fw_cfg.h | 9 +-
include/hw/virtio/virtio-mmio.h | 1 -
include/hw/virtio/virtio-pci.h | 1 -
include/hw/virtio/virtio-serial.h | 2 -
pc-bios/meson.build | 2 -
pc-bios/multiboot.bin | Bin 1024 -> 0 bytes
pc-bios/optionrom/Makefile | 2 +-
pc-bios/optionrom/linuxboot.S | 195 ----------
pc-bios/optionrom/multiboot.S | 232 ------------
pc-bios/optionrom/multiboot_dma.S | 234 +++++++++++-
pc-bios/optionrom/optionrom.h | 4 -
target/i386/cpu.c | 111 +++---
target/i386/cpu.h | 3 -
tests/data/acpi/x86/pc/DSDT | Bin 8611 -> 8598 bytes
tests/data/acpi/x86/pc/DSDT.acpierst | Bin 8522 -> 8509 bytes
tests/data/acpi/x86/pc/DSDT.acpihmat | Bin 9936 -> 9923 bytes
tests/data/acpi/x86/pc/DSDT.bridge | Bin 15482 -> 15469 bytes
tests/data/acpi/x86/pc/DSDT.cphp | Bin 9075 -> 9062 bytes
tests/data/acpi/x86/pc/DSDT.dimmpxm | Bin 10265 -> 10252 bytes
tests/data/acpi/x86/pc/DSDT.hpbridge | Bin 8562 -> 8549 bytes
tests/data/acpi/x86/pc/DSDT.hpbrroot | Bin 5100 -> 5087 bytes
tests/data/acpi/x86/pc/DSDT.ipmikcs | Bin 8683 -> 8670 bytes
tests/data/acpi/x86/pc/DSDT.memhp | Bin 9970 -> 9957 bytes
tests/data/acpi/x86/pc/DSDT.nohpet | Bin 8469 -> 8456 bytes
tests/data/acpi/x86/pc/DSDT.numamem | Bin 8617 -> 8604 bytes
tests/data/acpi/x86/pc/DSDT.roothp | Bin 12404 -> 12391 bytes
tests/data/acpi/x86/q35/DSDT | Bin 8440 -> 8427 bytes
tests/data/acpi/x86/q35/DSDT.acpierst | Bin 8457 -> 8444 bytes
tests/data/acpi/x86/q35/DSDT.acpihmat | Bin 9765 -> 9752 bytes
.../data/acpi/x86/q35/DSDT.acpihmat-generic-x | Bin 12650 -> 12637 bytes
.../acpi/x86/q35/DSDT.acpihmat-noinitiator | Bin 8719 -> 8706 bytes
tests/data/acpi/x86/q35/DSDT.applesmc | Bin 8486 -> 8473 bytes
tests/data/acpi/x86/q35/DSDT.bridge | Bin 12053 -> 12040 bytes
tests/data/acpi/x86/q35/DSDT.core-count | Bin 12998 -> 12985 bytes
tests/data/acpi/x86/q35/DSDT.core-count2 | Bin 33855 -> 33842 bytes
tests/data/acpi/x86/q35/DSDT.cphp | Bin 8904 -> 8891 bytes
tests/data/acpi/x86/q35/DSDT.cxl | Bin 13231 -> 13218 bytes
tests/data/acpi/x86/q35/DSDT.dimmpxm | Bin 10094 -> 10081 bytes
tests/data/acpi/x86/q35/DSDT.ipmibt | Bin 8515 -> 8502 bytes
tests/data/acpi/x86/q35/DSDT.ipmismbus | Bin 8528 -> 8515 bytes
tests/data/acpi/x86/q35/DSDT.ivrs | Bin 8457 -> 8444 bytes
tests/data/acpi/x86/q35/DSDT.memhp | Bin 9799 -> 9786 bytes
tests/data/acpi/x86/q35/DSDT.mmio64 | Bin 9570 -> 9557 bytes
tests/data/acpi/x86/q35/DSDT.multi-bridge | Bin 13293 -> 13280 bytes
tests/data/acpi/x86/q35/DSDT.noacpihp | Bin 8302 -> 8289 bytes
tests/data/acpi/x86/q35/DSDT.nohpet | Bin 8298 -> 8285 bytes
tests/data/acpi/x86/q35/DSDT.numamem | Bin 8446 -> 8433 bytes
tests/data/acpi/x86/q35/DSDT.pvpanic-isa | Bin 8541 -> 8528 bytes
tests/data/acpi/x86/q35/DSDT.thread-count | Bin 12998 -> 12985 bytes
tests/data/acpi/x86/q35/DSDT.thread-count2 | Bin 33855 -> 33842 bytes
tests/data/acpi/x86/q35/DSDT.tis.tpm12 | Bin 9046 -> 9033 bytes
tests/data/acpi/x86/q35/DSDT.tis.tpm2 | Bin 9072 -> 9059 bytes
tests/data/acpi/x86/q35/DSDT.type4-count | Bin 18674 -> 18661 bytes
tests/data/acpi/x86/q35/DSDT.viot | Bin 14697 -> 14684 bytes
tests/data/acpi/x86/q35/DSDT.xapic | Bin 35803 -> 35790 bytes
tests/qtest/test-x86-cpuid-compat.c | 11 -
96 files changed, 359 insertions(+), 1264 deletions(-)
delete mode 100644 hw/acpi/cpu_hotplug.c
delete mode 100644 include/hw/acpi/cpu_hotplug.h
delete mode 100644 pc-bios/multiboot.bin
delete mode 100644 pc-bios/optionrom/linuxboot.S
delete mode 100644 pc-bios/optionrom/multiboot.S
--
2.34.1
next reply other threads:[~2025-12-02 16:05 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-02 16:28 Zhao Liu [this message]
2025-12-02 16:28 ` [PATCH v5 01/28] hw/i386/pc: Remove deprecated pc-q35-2.6 and pc-i440fx-2.6 machines Zhao Liu
2025-12-10 14:01 ` Igor Mammedov
2025-12-02 16:28 ` [PATCH v5 02/28] tests/acpi: Allow DSDT table change for x86 machines Zhao Liu
2025-12-02 16:28 ` [PATCH v5 03/28] pc: Start with modern CPU hotplug interface by default Zhao Liu
2025-12-02 16:28 ` [PATCH v5 04/28] hw/i386/pc: Remove PCMachineClass::legacy_cpu_hotplug field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 05/28] acpi: Remove legacy cpu hotplug utilities Zhao Liu
2025-12-02 16:28 ` [PATCH v5 06/28] docs/specs/acpi_cpu_hotplug: Remove legacy cpu hotplug descriptions Zhao Liu
2025-12-02 16:28 ` [PATCH v5 07/28] tests/acpi: Update DSDT tables for pc machine Zhao Liu
2025-12-02 16:28 ` [PATCH v5 08/28] tests/acpi: Update DSDT tables for q35 machine Zhao Liu
2025-12-02 16:28 ` [PATCH v5 09/28] hw/nvram/fw_cfg: Rename fw_cfg_init_mem() with '_nodma' suffix Zhao Liu
2025-12-02 16:28 ` [PATCH v5 10/28] hw/mips/loongson3_virt: Prefer using fw_cfg_init_mem_nodma() Zhao Liu
2025-12-02 16:28 ` [PATCH v5 11/28] hw/nvram/fw_cfg: Factor fw_cfg_init_mem_internal() out Zhao Liu
2025-12-02 16:28 ` [PATCH v5 12/28] hw/nvram/fw_cfg: Rename fw_cfg_init_mem_wide() -> fw_cfg_init_mem_dma() Zhao Liu
2025-12-02 16:28 ` [PATCH v5 13/28] hw/i386/x86: Remove X86MachineClass::fwcfg_dma_enabled field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 14/28] hw/i386/pc: Remove multiboot.bin Zhao Liu
2025-12-02 16:28 ` [PATCH v5 15/28] hw/i386: Assume fw_cfg DMA is always enabled Zhao Liu
2025-12-03 6:11 ` Philippe Mathieu-Daudé
2025-12-02 16:28 ` [PATCH v5 16/28] hw/i386: Remove linuxboot.bin Zhao Liu
2025-12-02 16:28 ` [PATCH v5 17/28] hw/i386/pc: Remove pc_compat_2_6[] array Zhao Liu
2025-12-02 16:28 ` [PATCH v5 18/28] hw/intc/apic: Remove APICCommonState::legacy_instance_id field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 19/28] hw/core/machine: Remove hw_compat_2_6[] array Zhao Liu
2025-12-02 16:28 ` [PATCH v5 20/28] hw/virtio/virtio-mmio: Remove VirtIOMMIOProxy::format_transport_address field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 21/28] hw/i386/pc: Remove deprecated pc-q35-2.7 and pc-i440fx-2.7 machines Zhao Liu
2025-12-02 16:28 ` [PATCH v5 22/28] hw/i386/pc: Remove pc_compat_2_7[] array Zhao Liu
2025-12-02 16:28 ` [PATCH v5 23/28] target/i386/cpu: Remove CPUX86State::full_cpuid_auto_level field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 24/28] hw/audio/pcspk: Remove PCSpkState::migrate field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 25/28] hw/core/machine: Remove hw_compat_2_7[] array Zhao Liu
2025-12-02 16:28 ` [PATCH v5 26/28] hw/i386/intel_iommu: Remove IntelIOMMUState::buggy_eim field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 27/28] hw/virtio/virtio-pci: Remove VirtIOPCIProxy::ignore_backend_features field Zhao Liu
2025-12-02 16:28 ` [PATCH v5 28/28] hw/char/virtio-serial: Do not expose the 'emergency-write' property Zhao Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251202162835.3227894-1-zhao1.liu@intel.com \
--to=zhao1.liu@intel.com \
--cc=alistair.francis@wdc.com \
--cc=amit@kernel.org \
--cc=anisinha@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=berrange@redhat.com \
--cc=chenhuacai@kernel.org \
--cc=clement.mathieu--drif@eviden.com \
--cc=dbarboza@ventanamicro.com \
--cc=deller@gmx.de \
--cc=devel@lists.libvirt.org \
--cc=eduardo@habkost.net \
--cc=farosas@suse.de \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=jdenemar@redhat.com \
--cc=jiaxun.yang@flygoat.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=liwei1518@gmail.com \
--cc=lvivier@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mark.caveayland@nutanix.com \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=palmer@dabbelt.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=pkrempa@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=slp@redhat.com \
--cc=thuth@redhat.com \
--cc=wangyanan55@huawei.com \
--cc=xiaoyao.li@intel.com \
--cc=yi.l.liu@intel.com \
--cc=zhiwei_liu@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).