Message ID | 20240327095124.73639-20-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | [PATCH-for-9.1,v2,01/21] hw/i386/pc: Remove deprecated pc-i440fx-2.0 machine | expand |
Hi Philippe, On Wed, Mar 27, 2024 at 10:51:21AM +0100, Philippe Mathieu-Daudé wrote: > Date: Wed, 27 Mar 2024 10:51:21 +0100 > From: Philippe Mathieu-Daudé <philmd@linaro.org> > Subject: [PATCH-for-9.1 v2 19/21] hw/i386/pc: Remove 2.3 and deprecate 2.4 > to 2.7 pc-i440fx machines > X-Mailer: git-send-email 2.41.0 > > The pc-i440fx-2.3 machine was deprecated for the 8.2 > release (see commit c7437f0ddb "docs/about: Mark the > old pc-i440fx-2.0 - 2.3 machine types as deprecated"), > time to remove it. Similarly to the cited commit, > deprecate the 2.4 to 2.7 machines. I suggest split the deprecation of 2.4-2.7 in another patch. And when a old machine is marked as deprecated, is it necessary to set "deprecation_reason" as commit c7437f0ddb? I tend to set that field since boards.h said: /** * MachineClass: * @deprecation_reason: If set, the machine is marked as deprecated. The * string should provide some clear information about what to use instead. *... */ And that field would be printed when user boots the machine. Additionally, could we define rules for deprecating old machines? For example, if it's more than 8 years old (as commit c7437f0ddb) or after how many releases, the old machine can be considered for deprecation. Thanks, Zhao
Hi Zhao, On 28/3/24 04:44, Zhao Liu wrote: > Hi Philippe, > > On Wed, Mar 27, 2024 at 10:51:21AM +0100, Philippe Mathieu-Daudé wrote: >> Date: Wed, 27 Mar 2024 10:51:21 +0100 >> From: Philippe Mathieu-Daudé <philmd@linaro.org> >> Subject: [PATCH-for-9.1 v2 19/21] hw/i386/pc: Remove 2.3 and deprecate 2.4 >> to 2.7 pc-i440fx machines >> X-Mailer: git-send-email 2.41.0 >> >> The pc-i440fx-2.3 machine was deprecated for the 8.2 >> release (see commit c7437f0ddb "docs/about: Mark the >> old pc-i440fx-2.0 - 2.3 machine types as deprecated"), >> time to remove it. Similarly to the cited commit, >> deprecate the 2.4 to 2.7 machines. > > I suggest split the deprecation of 2.4-2.7 in another patch. Thomas suggested to do it in the same commit to avoid churn in documentation: https://lore.kernel.org/qemu-devel/2a01baa6-b6a3-4572-94cd-63b2eaab7b38@redhat.com/ > And when a old machine is marked as deprecated, is it necessary to > set "deprecation_reason" as commit c7437f0ddb? Indeed you are right, I forgot that. > I tend to set that field since boards.h said: > > /** > * MachineClass: > * @deprecation_reason: If set, the machine is marked as deprecated. The > * string should provide some clear information about what to use instead. > *... > */ > > And that field would be printed when user boots the machine. > > Additionally, could we define rules for deprecating old machines? > For example, if it's more than 8 years old (as commit c7437f0ddb) or > after how many releases, the old machine can be considered for > deprecation. Daniel recently (last 2 months) replied to a thread with a coherent rule set, but I can't find it. Older post: https://lore.kernel.org/qemu-devel/YeXNoKzsFeIPSy6E@redhat.com/ > Thanks, > Zhao >
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index f6eac988c0..22335ef6b0 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -219,10 +219,10 @@ 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.3`` (since 8.2) -''''''''''''''''''''''''''''' +``pc-i440fx-2.4`` up to ``pc-i440fx-2.7`` (since 9.1) +''''''''''''''''''''''''''''''''''''''''''''''''''''' -This old machine type is quite neglected nowadays and thus might have +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. diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 4664974a8b..0caa6a63e4 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -816,7 +816,7 @@ mips ``fulong2e`` machine alias (removed in 6.0) This machine has been renamed ``fuloong2e``. -``pc-0.10`` up to ``pc-i440fx-2.2`` (removed in 4.0 up to 9.0) +``pc-0.10`` up to ``pc-i440fx-2.3`` (removed in 4.0 up to 9.0) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' These machine types were very old and likely could not be used for live diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 5fd83010ba..27e04c52f6 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -256,31 +256,6 @@ GlobalProperty pc_compat_2_4[] = { }; const size_t pc_compat_2_4_len = G_N_ELEMENTS(pc_compat_2_4); -GlobalProperty pc_compat_2_3[] = { - PC_CPU_MODEL_IDS("2.3.0") - { TYPE_X86_CPU, "arat", "off" }, - { "qemu64" "-" TYPE_X86_CPU, "min-level", "4" }, - { "kvm64" "-" TYPE_X86_CPU, "min-level", "5" }, - { "pentium3" "-" TYPE_X86_CPU, "min-level", "2" }, - { "n270" "-" TYPE_X86_CPU, "min-level", "5" }, - { "Conroe" "-" TYPE_X86_CPU, "min-level", "4" }, - { "Penryn" "-" TYPE_X86_CPU, "min-level", "4" }, - { "Nehalem" "-" TYPE_X86_CPU, "min-level", "4" }, - { "n270" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Penryn" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Conroe" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Nehalem" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Westmere" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "SandyBridge" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "IvyBridge" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Haswell" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Haswell-noTSX" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Broadwell" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { "Broadwell-noTSX" "-" TYPE_X86_CPU, "min-xlevel", "0x8000000a" }, - { TYPE_X86_CPU, "kvm-no-smi-migration", "on" }, -}; -const size_t pc_compat_2_3_len = G_N_ELEMENTS(pc_compat_2_3); - GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled) { GSIState *s; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 9615e25d56..c00d2a66a6 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -421,14 +421,6 @@ static void pc_set_south_bridge(Object *obj, int value, Error **errp) * hw_compat_*, pc_compat_*, or * pc_*_machine_options(). */ -static void pc_compat_2_3_fn(MachineState *machine) -{ - X86MachineState *x86ms = X86_MACHINE(machine); - if (kvm_enabled()) { - x86ms->smm = ON_OFF_AUTO_OFF; - } -} - #ifdef CONFIG_ISAPC static void pc_init_isa(MachineState *machine) { @@ -811,18 +803,6 @@ static void pc_i440fx_2_4_machine_options(MachineClass *m) DEFINE_I440FX_MACHINE(v2_4, "pc-i440fx-2.4", NULL, pc_i440fx_2_4_machine_options) -static void pc_i440fx_2_3_machine_options(MachineClass *m) -{ - pc_i440fx_2_4_machine_options(m); - m->hw_version = "2.3.0"; - m->deprecation_reason = "old and unattended - use a newer version instead"; - compat_props_add(m->compat_props, hw_compat_2_3, hw_compat_2_3_len); - compat_props_add(m->compat_props, pc_compat_2_3, pc_compat_2_3_len); -} - -DEFINE_I440FX_MACHINE(v2_3, "pc-i440fx-2.3", pc_compat_2_3_fn, - pc_i440fx_2_3_machine_options); - #ifdef CONFIG_ISAPC static void isapc_machine_options(MachineClass *m) {
The pc-i440fx-2.3 machine was deprecated for the 8.2 release (see commit c7437f0ddb "docs/about: Mark the old pc-i440fx-2.0 - 2.3 machine types as deprecated"), time to remove it. Similarly to the cited commit, deprecate the 2.4 to 2.7 machines. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- docs/about/deprecated.rst | 6 +++--- docs/about/removed-features.rst | 2 +- hw/i386/pc.c | 25 ------------------------- hw/i386/pc_piix.c | 20 -------------------- 4 files changed, 4 insertions(+), 49 deletions(-)