On 13.02.25 17:17, Igor Mammedov wrote:
On Thu, 13 Feb 2025 12:48:30 +0100
Markus Armbruster <arm...@redhat.com> wrote:
gaosong <gaos...@loongson.cn> writes:
Cc: Markus
hi, Markus
What is the difference between CPU_MODEL_EXPANSION_TYPE_STATIC and
CPU_MODEL_EXPANSION_TYPE_FULL?
the only difference is that 'static' expansion will not report properties
not mentioned in hard-codded CPU model definition see: builtin_x86_defs
while 'full' will iterate over/report all rw properties of CPU object
created from provided model name.
I don't know :)
Here's the documentation:
##
# @CpuModelExpansionType:
#
# An enumeration of CPU model expansion types.
#
# @static: Expand to a static CPU model, a combination of a static
# base model name and property delta changes. As the static base
# model will never change, the expanded CPU model will be the
# same, independent of QEMU version, machine type, machine
# options, and accelerator options. Therefore, the resulting
# model can be used by tooling without having to specify a
# compatibility machine - e.g. when displaying the "host" model.
# The @static CPU models are migration-safe.
Looking at related x86 code above description sounds like a fiction.
On s390x, which added that interface, that is how it's work.
It resolves to "-base" models that are fixed for all eternity.
x86-64 probably didn't adhere to the description because they were not
interested in adding stable base models.
--
Cheers,
David / dhildenb