"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 <zhao1.liu@intel.com>
---
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)
--
2.34.1