* [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12
@ 2025-01-17 10:27 Thomas Huth
2025-01-17 10:27 ` [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3 Thomas Huth
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Thomas Huth @ 2025-01-17 10:27 UTC (permalink / raw)
To: qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: Philippe Mathieu-Daudé, devel, Daniel P. Berrangé,
Kashyap Chamarthy, Paolo Bonzini, Richard Henderson,
Marcel Apfelbaum
While our new auto-disablement of old machine types will only kick
in with the next (v10.1) release, the pc-i440fx-2.* machine types
have been explicitly marked as deprecated via our old deprecation
policy mechanism before (two releases ago), so it should be fine to
remove them now already.
Note that we can not do much additional clean ups on top yet since
the corresponding q35 machines (which share the same compatibility knobs)
are still around and only will be removed for the 10.1 release instead.
So the bigger clean-up can only be done for 10.1, but removing the i440fx
machine types now will still have at least a small benefit of accelerating
our CI a little bit (since we don't have to run tests for these old machine
types anymore).
Thomas Huth (3):
tests/qtest/test-x86-cpuid-compat: Remove tests related to
pc-i440fx-2.3
hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12
tests/qtest/test-x86-cpuid-compat: Replaced the removed pc-i440fx-2.*
machines
docs/about/deprecated.rst | 7 ---
docs/about/removed-features.rst | 4 +-
docs/interop/firmware.json | 2 +-
hw/i386/pc_piix.c | 95 -----------------------------
tests/qtest/test-x86-cpuid-compat.c | 52 ++++++----------
qemu-options.hx | 10 +--
6 files changed, 25 insertions(+), 145 deletions(-)
--
2.47.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3
2025-01-17 10:27 [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
@ 2025-01-17 10:27 ` Thomas Huth
2025-01-17 12:12 ` Fabiano Rosas
2025-01-17 16:48 ` Philippe Mathieu-Daudé
2025-01-17 10:27 ` [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
` (3 subsequent siblings)
4 siblings, 2 replies; 12+ messages in thread
From: Thomas Huth @ 2025-01-17 10:27 UTC (permalink / raw)
To: qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: Philippe Mathieu-Daudé, devel, Daniel P. Berrangé,
Kashyap Chamarthy, Paolo Bonzini, Richard Henderson,
Marcel Apfelbaum
The pc-i440fx-2.3 machine type has been removed in commit 46a2bd5257
("hw/i386/pc: Remove deprecated pc-i440fx-2.3 machine") already, so
these tests are just dead code by now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/test-x86-cpuid-compat.c | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/tests/qtest/test-x86-cpuid-compat.c b/tests/qtest/test-x86-cpuid-compat.c
index b9e7e5ef7b..9cbc8b7ae9 100644
--- a/tests/qtest/test-x86-cpuid-compat.c
+++ b/tests/qtest/test-x86-cpuid-compat.c
@@ -357,19 +357,6 @@ int main(int argc, char **argv)
"486", "xstore=on", "pc-i440fx-2.7",
"xlevel2", 0);
}
- /*
- * QEMU 2.3.0 had auto-level enabled for CPUID[7], already,
- * and the compat code that sets default level shouldn't
- * disable the auto-level=7 code:
- */
- if (qtest_has_machine("pc-i440fx-2.3")) {
- add_cpuid_test("x86/cpuid/auto-level7/pc-i440fx-2.3/off",
- "Penryn", NULL, "pc-i440fx-2.3",
- "level", 4);
- add_cpuid_test("x86/cpuid/auto-level7/pc-i440fx-2.3/on",
- "Penryn", "erms=on", "pc-i440fx-2.3",
- "level", 7);
- }
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",
@@ -384,11 +371,6 @@ int main(int argc, char **argv)
* code on old machine-types. Just check that the compat code
* is working correctly:
*/
- if (qtest_has_machine("pc-i440fx-2.3")) {
- add_cpuid_test("x86/cpuid/xlevel-compat/pc-i440fx-2.3",
- "SandyBridge", NULL, "pc-i440fx-2.3",
- "xlevel", 0x8000000a);
- }
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",
--
2.47.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 10:27 [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
2025-01-17 10:27 ` [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3 Thomas Huth
@ 2025-01-17 10:27 ` Thomas Huth
2025-01-17 11:58 ` Kashyap Chamarthy
2025-01-17 16:52 ` Philippe Mathieu-Daudé
2025-01-17 10:27 ` [PATCH 3/3] tests/qtest/test-x86-cpuid-compat: Replaced the removed pc-i440fx-2.* machines Thomas Huth
` (2 subsequent siblings)
4 siblings, 2 replies; 12+ messages in thread
From: Thomas Huth @ 2025-01-17 10:27 UTC (permalink / raw)
To: qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: Philippe Mathieu-Daudé, devel, Daniel P. Berrangé,
Kashyap Chamarthy, Paolo Bonzini, Richard Henderson,
Marcel Apfelbaum
These machines have explicitly been marked as deprecated in
QEMU 9.1, so it should be fine to remove these antique versioned
machine types two releases later in 10.0.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 7 ---
docs/about/removed-features.rst | 4 +-
docs/interop/firmware.json | 2 +-
hw/i386/pc_piix.c | 95 ---------------------------------
qemu-options.hx | 10 ++--
5 files changed, 8 insertions(+), 110 deletions(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 4a3c302962..7b42d6eecc 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name
better reflects the way this property affects all random data within
the device tree blob, not just the ``kaslr-seed`` node.
-``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1)
-''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-These old machine types are quite neglected nowadays and thus might have
-various pitfalls with regards to live migration. Use a newer machine type
-instead.
-
PPC 405 ``ref405ep`` machine (since 9.1)
''''''''''''''''''''''''''''''''''''''''
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index c6616ce05e..936846ed7b 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1006,8 +1006,8 @@ mips ``fulong2e`` machine alias (removed in 6.0)
This machine has been renamed ``fuloong2e``.
-``pc-0.10`` up to ``pc-i440fx-2.3`` (removed in 4.0 up to 9.0)
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+``pc-0.10`` up to ``pc-i440fx-2.12`` (removed in 4.0 up to 10.0)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
These machine types were very old and likely could not be used for live
migration from old QEMU versions anymore. Use a newer machine type instead.
diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json
index 57f55f6c54..f1e74318ff 100644
--- a/docs/interop/firmware.json
+++ b/docs/interop/firmware.json
@@ -97,7 +97,7 @@
# machine types, not aliases. Glob patterns are understood,
# which is especially useful for versioned machine types.
# (For example, the glob pattern "pc-i440fx-*" matches
-# "pc-i440fx-2.12".) On the QEMU command line, "-machine
+# "pc-i440fx-9.1".) On the QEMU command line, "-machine
# type=..." specifies the requested machine type (but that
# option does not accept glob patterns).
#
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 04d2957adc..b821c32b38 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -698,101 +698,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);
-
-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);
-
-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);
-
-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);
-
-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);
-
-static void pc_i440fx_machine_2_7_options(MachineClass *m)
-{
- pc_i440fx_machine_2_8_options(m);
- compat_props_add(m->compat_props, hw_compat_2_7, hw_compat_2_7_len);
- compat_props_add(m->compat_props, pc_compat_2_7, pc_compat_2_7_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 7);
-
-static void pc_i440fx_machine_2_6_options(MachineClass *m)
-{
- X86MachineClass *x86mc = X86_MACHINE_CLASS(m);
- PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-
- pc_i440fx_machine_2_7_options(m);
- pcmc->legacy_cpu_hotplug = true;
- x86mc->fwcfg_dma_enabled = false;
- compat_props_add(m->compat_props, hw_compat_2_6, hw_compat_2_6_len);
- compat_props_add(m->compat_props, pc_compat_2_6, pc_compat_2_6_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 6);
-
-static void pc_i440fx_machine_2_5_options(MachineClass *m)
-{
- X86MachineClass *x86mc = X86_MACHINE_CLASS(m);
-
- pc_i440fx_machine_2_6_options(m);
- x86mc->save_tsc_khz = false;
- m->legacy_fw_cfg_order = 1;
- compat_props_add(m->compat_props, hw_compat_2_5, hw_compat_2_5_len);
- compat_props_add(m->compat_props, pc_compat_2_5, pc_compat_2_5_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 5);
-
-static void pc_i440fx_machine_2_4_options(MachineClass *m)
-{
- PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-
- pc_i440fx_machine_2_5_options(m);
- m->hw_version = "2.4.0";
- pcmc->broken_reserved_end = true;
- compat_props_add(m->compat_props, hw_compat_2_4, hw_compat_2_4_len);
- compat_props_add(m->compat_props, pc_compat_2_4, pc_compat_2_4_len);
-}
-
-DEFINE_I440FX_MACHINE(2, 4);
-
#ifdef CONFIG_ISAPC
static void isapc_machine_options(MachineClass *m)
{
diff --git a/qemu-options.hx b/qemu-options.hx
index 7090d59f6f..a7cc4894f6 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -48,12 +48,12 @@ SRST
For architectures which aim to support live migration compatibility
across releases, each release will introduce a new versioned machine
- type. For example, the 2.8.0 release introduced machine types
- "pc-i440fx-2.8" and "pc-q35-2.8" for the x86\_64/i686 architectures.
+ type. For example, the 9.1.0 release introduced machine types
+ "pc-i440fx-9.1" and "pc-q35-9.1" for the x86\_64/i686 architectures.
- To allow live migration of guests from QEMU version 2.8.0, to QEMU
- version 2.9.0, the 2.9.0 version must support the "pc-i440fx-2.8"
- and "pc-q35-2.8" machines too. To allow users live migrating VMs to
+ To allow live migration of guests from QEMU version 9.1.0 to QEMU
+ version 9.2.0, the 9.2.0 version must support the "pc-i440fx-9.1"
+ and "pc-q35-9.1" machines too. To allow users live migrating VMs to
skip multiple intermediate releases when upgrading, new releases of
QEMU will support machine types from many previous versions.
--
2.47.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/3] tests/qtest/test-x86-cpuid-compat: Replaced the removed pc-i440fx-2.* machines
2025-01-17 10:27 [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
2025-01-17 10:27 ` [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3 Thomas Huth
2025-01-17 10:27 ` [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
@ 2025-01-17 10:27 ` Thomas Huth
2025-01-17 11:07 ` [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Daniel P. Berrangé
2025-01-17 16:52 ` Philippe Mathieu-Daudé
4 siblings, 0 replies; 12+ messages in thread
From: Thomas Huth @ 2025-01-17 10:27 UTC (permalink / raw)
To: qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: Philippe Mathieu-Daudé, devel, Daniel P. Berrangé,
Kashyap Chamarthy, Paolo Bonzini, Richard Henderson,
Marcel Apfelbaum
Since the pc-i440fx-2.* machine types have been removed, let's run
the tests with the corresponding q35 machine types instead (until
those get removed, too, then we have to remove the tests completely).
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/test-x86-cpuid-compat.c | 34 ++++++++++++++---------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/tests/qtest/test-x86-cpuid-compat.c b/tests/qtest/test-x86-cpuid-compat.c
index 9cbc8b7ae9..f77e481279 100644
--- a/tests/qtest/test-x86-cpuid-compat.c
+++ b/tests/qtest/test-x86-cpuid-compat.c
@@ -346,23 +346,23 @@ int main(int argc, char **argv)
/* Check compatibility of old machine-types that didn't
* auto-increase level/xlevel/xlevel2: */
- if (qtest_has_machine("pc-i440fx-2.7")) {
- add_cpuid_test("x86/cpuid/auto-level/pc-2.7",
+ if (qtest_has_machine("pc-q35-2.7")) {
+ add_cpuid_test("x86/cpuid/auto-level/pc-q35-2.7",
"486", "arat=on,avx512vbmi=on,xsaveopt=on",
- "pc-i440fx-2.7", "level", 1);
- add_cpuid_test("x86/cpuid/auto-xlevel/pc-2.7",
+ "pc-q35-2.7", "level", 1);
+ add_cpuid_test("x86/cpuid/auto-xlevel/pc-q35-2.7",
"486", "3dnow=on,sse4a=on,invtsc=on,npt=on,svm=on",
- "pc-i440fx-2.7", "xlevel", 0);
- add_cpuid_test("x86/cpuid/auto-xlevel2/pc-2.7",
- "486", "xstore=on", "pc-i440fx-2.7",
+ "pc-q35-2.7", "xlevel", 0);
+ add_cpuid_test("x86/cpuid/auto-xlevel2/pc-q35-2.7",
+ "486", "xstore=on", "pc-q35-2.7",
"xlevel2", 0);
}
- 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",
+ if (qtest_has_machine("pc-q35-2.9")) {
+ add_cpuid_test("x86/cpuid/auto-level7/pc-q35-2.9/off",
+ "Conroe", NULL, "pc-q35-2.9",
"level", 10);
- add_cpuid_test("x86/cpuid/auto-level7/pc-i440fx-2.9/on",
- "Conroe", "erms=on", "pc-i440fx-2.9",
+ add_cpuid_test("x86/cpuid/auto-level7/pc-q35-2.9/on",
+ "Conroe", "erms=on", "pc-q35-2.9",
"level", 10);
}
@@ -371,12 +371,12 @@ int main(int argc, char **argv)
* 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",
+ if (qtest_has_machine("pc-q35-2.4")) {
+ add_cpuid_test("x86/cpuid/xlevel-compat/pc-q35-2.4/npt-off",
+ "SandyBridge", NULL, "pc-q35-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",
+ add_cpuid_test("x86/cpuid/xlevel-compat/pc-q35-2.4/npt-on",
+ "SandyBridge", "svm=on,npt=on", "pc-q35-2.4",
"xlevel", 0x80000008);
}
--
2.47.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 10:27 [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
` (2 preceding siblings ...)
2025-01-17 10:27 ` [PATCH 3/3] tests/qtest/test-x86-cpuid-compat: Replaced the removed pc-i440fx-2.* machines Thomas Huth
@ 2025-01-17 11:07 ` Daniel P. Berrangé
2025-01-17 11:14 ` Thomas Huth
2025-01-17 16:52 ` Philippe Mathieu-Daudé
4 siblings, 1 reply; 12+ messages in thread
From: Daniel P. Berrangé @ 2025-01-17 11:07 UTC (permalink / raw)
To: Thomas Huth
Cc: qemu-devel, Michael S. Tsirkin, Fabiano Rosas,
Philippe Mathieu-Daudé, devel, Kashyap Chamarthy,
Paolo Bonzini, Richard Henderson, Marcel Apfelbaum
On Fri, Jan 17, 2025 at 11:27:35AM +0100, Thomas Huth wrote:
> While our new auto-disablement of old machine types will only kick
> in with the next (v10.1) release, the pc-i440fx-2.* machine types
> have been explicitly marked as deprecated via our old deprecation
> policy mechanism before (two releases ago), so it should be fine to
> remove them now already.
These were marked deprecated manually in 9.1.0 with:
commit 792b4fdd4eb8197bd6eb9e80a1dfaf0cb3b54aeb
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: Wed Feb 28 10:34:35 2024 +0100
hw/i386/pc: Deprecate 2.4 to 2.12 pc-i440fx machines
Similarly to the commit c7437f0ddb "docs/about: Mark the
old pc-i440fx-2.0 - 2.3 machine types as deprecated",
deprecate the 2.4 to 2.12 machines.
but that commit was reverted a couple of weeks later in 9.1.0 dev
when I added the automatic deprecation/deletion logic
commit 37193b7b43b6a973e56fa115098c5895ebdc7145
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Thu Jun 20 17:57:41 2024 +0100
hw/i386: remove obsolete manual deprecation reason string of i440fx machines
IOW, in terms of releases, these deprecations were introduced under
the new policy rather than the old policy.
> Note that we can not do much additional clean ups on top yet since
> the corresponding q35 machines (which share the same compatibility knobs)
> are still around and only will be removed for the 10.1 release instead.
> So the bigger clean-up can only be done for 10.1, but removing the i440fx
> machine types now will still have at least a small benefit of accelerating
> our CI a little bit (since we don't have to run tests for these old machine
> types anymore).
FYI Philippe had a series removing i440fx 2.4 & 2.5 which includes alot of
the extra cleanups:
https://lists.nongnu.org/archive/html/qemu-devel/2025-01/msg02710.html
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 11:07 ` [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Daniel P. Berrangé
@ 2025-01-17 11:14 ` Thomas Huth
2025-01-17 11:25 ` Daniel P. Berrangé
0 siblings, 1 reply; 12+ messages in thread
From: Thomas Huth @ 2025-01-17 11:14 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Michael S. Tsirkin, Fabiano Rosas,
Philippe Mathieu-Daudé, devel, Kashyap Chamarthy,
Paolo Bonzini, Richard Henderson, Marcel Apfelbaum
On 17/01/2025 12.07, Daniel P. Berrangé wrote:
> On Fri, Jan 17, 2025 at 11:27:35AM +0100, Thomas Huth wrote:
>> While our new auto-disablement of old machine types will only kick
>> in with the next (v10.1) release, the pc-i440fx-2.* machine types
>> have been explicitly marked as deprecated via our old deprecation
>> policy mechanism before (two releases ago), so it should be fine to
>> remove them now already.
>
> These were marked deprecated manually in 9.1.0 with:
>
> commit 792b4fdd4eb8197bd6eb9e80a1dfaf0cb3b54aeb
> Author: Philippe Mathieu-Daudé <philmd@linaro.org>
> Date: Wed Feb 28 10:34:35 2024 +0100
>
> hw/i386/pc: Deprecate 2.4 to 2.12 pc-i440fx machines
>
> Similarly to the commit c7437f0ddb "docs/about: Mark the
> old pc-i440fx-2.0 - 2.3 machine types as deprecated",
> deprecate the 2.4 to 2.12 machines.
>
> but that commit was reverted a couple of weeks later in 9.1.0 dev
No, we did not revert that commit, the text is still there, so I think it
still applies.
> when I added the automatic deprecation/deletion logic
>
> commit 37193b7b43b6a973e56fa115098c5895ebdc7145
> Author: Daniel P. Berrangé <berrange@redhat.com>
> Date: Thu Jun 20 17:57:41 2024 +0100
>
> hw/i386: remove obsolete manual deprecation reason string of i440fx machines
>
> IOW, in terms of releases, these deprecations were introduced under
> the new policy rather than the old policy.
Why should your generic policy override an explicit statement for those
machines?
>> Note that we can not do much additional clean ups on top yet since
>> the corresponding q35 machines (which share the same compatibility knobs)
>> are still around and only will be removed for the 10.1 release instead.
>> So the bigger clean-up can only be done for 10.1, but removing the i440fx
>> machine types now will still have at least a small benefit of accelerating
>> our CI a little bit (since we don't have to run tests for these old machine
>> types anymore).
>
> FYI Philippe had a series removing i440fx 2.4 & 2.5 which includes alot of
> the extra cleanups:
Sure, I saw it, but since you question whether we can already start removing
the q35 machines for 10.0, we cannot do the extra clean-ups yet. But in my
opinion, we could at least start removing the i440fx machines that have an
explicit deprecation statement.
Thomas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 11:14 ` Thomas Huth
@ 2025-01-17 11:25 ` Daniel P. Berrangé
0 siblings, 0 replies; 12+ messages in thread
From: Daniel P. Berrangé @ 2025-01-17 11:25 UTC (permalink / raw)
To: Thomas Huth
Cc: qemu-devel, Michael S. Tsirkin, Fabiano Rosas,
Philippe Mathieu-Daudé, devel, Kashyap Chamarthy,
Paolo Bonzini, Richard Henderson, Marcel Apfelbaum
On Fri, Jan 17, 2025 at 12:14:43PM +0100, Thomas Huth wrote:
> On 17/01/2025 12.07, Daniel P. Berrangé wrote:
> > On Fri, Jan 17, 2025 at 11:27:35AM +0100, Thomas Huth wrote:
> > > While our new auto-disablement of old machine types will only kick
> > > in with the next (v10.1) release, the pc-i440fx-2.* machine types
> > > have been explicitly marked as deprecated via our old deprecation
> > > policy mechanism before (two releases ago), so it should be fine to
> > > remove them now already.
> >
> > These were marked deprecated manually in 9.1.0 with:
> >
> > commit 792b4fdd4eb8197bd6eb9e80a1dfaf0cb3b54aeb
> > Author: Philippe Mathieu-Daudé <philmd@linaro.org>
> > Date: Wed Feb 28 10:34:35 2024 +0100
> >
> > hw/i386/pc: Deprecate 2.4 to 2.12 pc-i440fx machines
> > Similarly to the commit c7437f0ddb "docs/about: Mark the
> > old pc-i440fx-2.0 - 2.3 machine types as deprecated",
> > deprecate the 2.4 to 2.12 machines.
> >
> > but that commit was reverted a couple of weeks later in 9.1.0 dev
>
> No, we did not revert that commit, the text is still there, so I think it
> still applies.
Oh, you mean the text in deprecated.rst. I just reverted the manual
deprecation in the code.
> > when I added the automatic deprecation/deletion logic
> >
> > commit 37193b7b43b6a973e56fa115098c5895ebdc7145
> > Author: Daniel P. Berrangé <berrange@redhat.com>
> > Date: Thu Jun 20 17:57:41 2024 +0100
> >
> > hw/i386: remove obsolete manual deprecation reason string of i440fx machines
> >
> > IOW, in terms of releases, these deprecations were introduced under
> > the new policy rather than the old policy.
>
> Why should your generic policy override an explicit statement for those
> machines?
I guess that's matter of opinion. I considered the policy to apply to
all versioned machine types deprecated from 9.1.0 onwards. Having them
mentioned in deprecated.rst doesn't alter the policy, IMHO, it is merely
a bit of redundant documentation.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 10:27 ` [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
@ 2025-01-17 11:58 ` Kashyap Chamarthy
2025-01-17 16:52 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 12+ messages in thread
From: Kashyap Chamarthy @ 2025-01-17 11:58 UTC (permalink / raw)
To: Thomas Huth
Cc: qemu-devel, Michael S. Tsirkin, Fabiano Rosas,
Philippe Mathieu-Daudé, devel, Daniel P. Berrangé,
Paolo Bonzini, Richard Henderson, Marcel Apfelbaum
On Fri, Jan 17, 2025 at 11:27:37AM +0100, Thomas Huth wrote:
> These machines have explicitly been marked as deprecated in
> QEMU 9.1, so it should be fine to remove these antique versioned
> machine types two releases later in 10.0.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> docs/about/deprecated.rst | 7 ---
> docs/about/removed-features.rst | 4 +-
> docs/interop/firmware.json | 2 +-
> hw/i386/pc_piix.c | 95 ---------------------------------
> qemu-options.hx | 10 ++--
> 5 files changed, 8 insertions(+), 110 deletions(-)
Looks good to me. Nice that it has the side-effect of speeding up a
bit of the upstream CI, as it drops unncessary tests. I also saw your
note in the cover letter that the corresponding Q35 machine types will
be removed in QEMU 10.1. Thanks!
FWIW:
Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 4a3c302962..7b42d6eecc 100644
[...]
> PPC 405 ``ref405ep`` machine (since 9.1)
> ''''''''''''''''''''''''''''''''''''''''
>
> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
> index c6616ce05e..936846ed7b 100644
> --- a/docs/about/removed-features.rst
> +++ b/docs/about/removed-features.rst
> @@ -1006,8 +1006,8 @@ mips ``fulong2e`` machine alias (removed in 6.0)
>
> This machine has been renamed ``fuloong2e``.
>
> -``pc-0.10`` up to ``pc-i440fx-2.3`` (removed in 4.0 up to 9.0)
> -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> +``pc-0.10`` up to ``pc-i440fx-2.12`` (removed in 4.0 up to 10.0)
> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>
> These machine types were very old and likely could not be used for live
> migration from old QEMU versions anymore. Use a newer machine type instead.
> diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json
> index 57f55f6c54..f1e74318ff 100644
> --- a/docs/interop/firmware.json
> +++ b/docs/interop/firmware.json
> @@ -97,7 +97,7 @@
> # machine types, not aliases. Glob patterns are understood,
> # which is especially useful for versioned machine types.
> # (For example, the glob pattern "pc-i440fx-*" matches
> -# "pc-i440fx-2.12".) On the QEMU command line, "-machine
> +# "pc-i440fx-9.1".) On the QEMU command line, "-machine
> # type=..." specifies the requested machine type (but that
> # option does not accept glob patterns).
> #
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 04d2957adc..b821c32b38 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -698,101 +698,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);
> -}
[...]
--
/kashyap
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3
2025-01-17 10:27 ` [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3 Thomas Huth
@ 2025-01-17 12:12 ` Fabiano Rosas
2025-01-17 16:48 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 12+ messages in thread
From: Fabiano Rosas @ 2025-01-17 12:12 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Michael S. Tsirkin
Cc: Philippe Mathieu-Daudé, devel, Daniel P. Berrangé,
Kashyap Chamarthy, Paolo Bonzini, Richard Henderson,
Marcel Apfelbaum
Thomas Huth <thuth@redhat.com> writes:
> The pc-i440fx-2.3 machine type has been removed in commit 46a2bd5257
> ("hw/i386/pc: Remove deprecated pc-i440fx-2.3 machine") already, so
> these tests are just dead code by now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
I'm queuing this one individually for now.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3
2025-01-17 10:27 ` [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3 Thomas Huth
2025-01-17 12:12 ` Fabiano Rosas
@ 2025-01-17 16:48 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-17 16:48 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: devel, Daniel P. Berrangé, Kashyap Chamarthy, Paolo Bonzini,
Richard Henderson, Marcel Apfelbaum
On 17/1/25 11:27, Thomas Huth wrote:
> The pc-i440fx-2.3 machine type has been removed in commit 46a2bd5257
> ("hw/i386/pc: Remove deprecated pc-i440fx-2.3 machine") already, so
> these tests are just dead code by now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/qtest/test-x86-cpuid-compat.c | 18 ------------------
> 1 file changed, 18 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 10:27 [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
` (3 preceding siblings ...)
2025-01-17 11:07 ` [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Daniel P. Berrangé
@ 2025-01-17 16:52 ` Philippe Mathieu-Daudé
4 siblings, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-17 16:52 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: devel, Daniel P. Berrangé, Kashyap Chamarthy, Paolo Bonzini,
Richard Henderson, Marcel Apfelbaum
On 17/1/25 11:27, Thomas Huth wrote:
> While our new auto-disablement of old machine types will only kick
> in with the next (v10.1) release, the pc-i440fx-2.* machine types
> have been explicitly marked as deprecated via our old deprecation
> policy mechanism before (two releases ago), so it should be fine to
> remove them now already.
>
> Note that we can not do much additional clean ups on top yet since
> the corresponding q35 machines (which share the same compatibility knobs)
> are still around and only will be removed for the 10.1 release instead.
> So the bigger clean-up can only be done for 10.1, but removing the i440fx
> machine types now will still have at least a small benefit of accelerating
> our CI a little bit (since we don't have to run tests for these old machine
> types anymore).
>
> Thomas Huth (3):
> tests/qtest/test-x86-cpuid-compat: Remove tests related to
> pc-i440fx-2.3
> hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12
> tests/qtest/test-x86-cpuid-compat: Replaced the removed pc-i440fx-2.*
> machines
Moving #3 before #2 seems a bit more logical to me :)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12
2025-01-17 10:27 ` [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
2025-01-17 11:58 ` Kashyap Chamarthy
@ 2025-01-17 16:52 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-17 16:52 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Michael S. Tsirkin, Fabiano Rosas
Cc: devel, Daniel P. Berrangé, Kashyap Chamarthy, Paolo Bonzini,
Richard Henderson, Marcel Apfelbaum
On 17/1/25 11:27, Thomas Huth wrote:
> These machines have explicitly been marked as deprecated in
> QEMU 9.1, so it should be fine to remove these antique versioned
> machine types two releases later in 10.0.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> docs/about/deprecated.rst | 7 ---
> docs/about/removed-features.rst | 4 +-
> docs/interop/firmware.json | 2 +-
> hw/i386/pc_piix.c | 95 ---------------------------------
> qemu-options.hx | 10 ++--
> 5 files changed, 8 insertions(+), 110 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-01-17 16:53 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-17 10:27 [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
2025-01-17 10:27 ` [PATCH 1/3] tests/qtest/test-x86-cpuid-compat: Remove tests related to pc-i440fx-2.3 Thomas Huth
2025-01-17 12:12 ` Fabiano Rosas
2025-01-17 16:48 ` Philippe Mathieu-Daudé
2025-01-17 10:27 ` [PATCH 2/3] hw/i386/pc_piix: Remove pc-i440fx-2.4 up to pc-i440fx-2.12 Thomas Huth
2025-01-17 11:58 ` Kashyap Chamarthy
2025-01-17 16:52 ` Philippe Mathieu-Daudé
2025-01-17 10:27 ` [PATCH 3/3] tests/qtest/test-x86-cpuid-compat: Replaced the removed pc-i440fx-2.* machines Thomas Huth
2025-01-17 11:07 ` [PATCH 0/3] Remove deprecated machines pc-i440fx-2.4 up to pc-i440fx-2.12 Daniel P. Berrangé
2025-01-17 11:14 ` Thomas Huth
2025-01-17 11:25 ` Daniel P. Berrangé
2025-01-17 16:52 ` Philippe Mathieu-Daudé
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.