Re: [PATCH v2 17/21] hw/intc/ioapic: deprecate version property

Mark Cave-Ayland <[email protected]>
Newsgroups org.nongnu.qemu-devel
Message-ID <[email protected]>
On 10/02/2026 03:23, Zhao Liu wrote:

> "version" was previously set to "0x11" for v2.7 x86 machines, but v2.7
> machines have been deprecated and will be removed.
> 
> And since v2.8, all x86 machines are using IOAPIC with "0x20" version.
> So it should be not needed to configure the version back to "0x11"
> again.
> 
> Considerring it may have external use, so deprecate it before removal.
> 
> Signed-off-by: Zhao Liu <[email protected]>
> ---
>   docs/about/deprecated.rst | 13 +++++++++++++
>   hw/intc/ioapic.c          |  3 ++-
>   2 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index fed939b7f042..dac1940636a6 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -483,6 +483,19 @@ It was implemented as a no-op instruction in TCG up to QEMU 9.0, but
>   only with ``-cpu max`` (which does not guarantee migration compatibility
>   across versions).
>   
> +
> +Global options
> +--------------
> +
> +``-global ioapic.version=version_id`` (since 11.0)
> +''''''''''''''''''''''''''''''''''''''''''''''''''
> +
> +The ``version`` configures IOAPIC version for x86 machines. It was previously
> +set to ``0x11`` for v2.7 machines, and since v2.8, the default version is
> +bumped up to ``0x20``. The v2.7 machines have been removed, and ``0x11``
> +version should be not needed. Deprecate this property to stop external use.
> +
> +
>   Backwards compatibility
>   -----------------------
>   
> diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c
> index 98de6ca8108f..3bf21f421a71 100644
> --- a/hw/intc/ioapic.c
> +++ b/hw/intc/ioapic.c
> @@ -483,7 +483,8 @@ static void ioapic_unrealize(DeviceState *dev)
>   }
>   
>   static const Property ioapic_properties[] = {
> -    DEFINE_PROP_UINT8("version", IOAPICCommonState, version, IOAPIC_VER_DEF),
> +    DEFINE_PROP_UINT8("version", IOAPICCommonState, version, IOAPIC_VER_DEF,
> +                      .flags = OBJ_PROP_FLAG_DEPRECATED),
>   };
>   
>   static void ioapic_class_init(ObjectClass *klass, const void *data)

Hi Zhao,

I noticed in the context of our recent KVM SEOIB behavior patch that 
despite this series, we never ended up deprecating the IOAPIC version 
property. Are there any plans to resurrect the deprecation process here?


ATB,

Mark.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.