On 2/20/25 07:53, Ani Sinha wrote:
commit 0788a56bd1ae3 ("i386: Make unversioned CPU models be aliases")
introduced 'default_cpu_version' for PCMachineClass. This created three
categories of CPU models:
- Most unversioned CPU models would use version 1 by default.
- For machines 4.0.1 and older that do not support cpu model aliases, a
special default_cpu_version value of CPU_VERSION_LEGACY is used.
- It was thought that future machines would use the latest value of cpu
versions corresponding to default_cpu_version value of
CPU_VERSION_LATEST [1].
All pc machines still use the default cpu version of 1 for
unversioned cpu models. CPU_VERSION_LATEST is a moving target and
changes with time.
Personally I believe this is a problem and I'd rather use
CPU_VERSION_LATEST for the unversioned pc and q35 models, just like
microvm does.
Unversioned models change the hardware properties and there's no reason
for CPU properties to be treated differently. Unversioned models are
exactly for when you are okay with a moving target.
And independent of this, microvm could start having versioned variants,
so that pc and q35 work the same way.
Paolo