"version" was previously set to "0x11" for v2.7 x86 machines, but v2.7 machines have been 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 741c1a71728b..076940ad0826 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -522,6 +522,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 +-------------- + +``-device -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 38e438464861..45fdfb56636b 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_DEPRECATED("version", IOAPICCommonState, + version, IOAPIC_VER_DEF), }; static void ioapic_class_init(ObjectClass *klass, const void *data) -- 2.34.1
