On Thu, Feb 20, 2025 at 12:23:26PM +0530, Ani Sinha wrote: > Date: Thu, 20 Feb 2025 12:23:26 +0530 > From: Ani Sinha <anisi...@redhat.com> > Subject: [PATCH v2] microvm: do not use the lastest cpu version > X-Mailer: git-send-email 2.45.2 > > 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. Therefore, if machines use CPU_VERSION_LATEST, it would > mean that over a period of time, for the same versioned machine type, > the cpu version would be different depending on what the latest was at that > time. This would break guests even when they use a constant specific > versioned machine type. > Additionally, microvm machines are not versioned anyway and therefore > there is no requirement to use the latest cpu model by default. > Let microvms use the non-versioned cpu model and remove all references > to CPU_VERSION_LATEST as there are no other users (nor we anticipate > future consumers of CPU_VERSION_LATEST). > > Those users who need spefific cpu versions can use explicit version in > the QEMU command line to select the specific cpu version desired. > > CI pipline does not break with this change. > > 1) See commit dcafd1ef0af227 ("i386: Register versioned CPU models") > > CC: imamm...@redhat.com > CC: zhao1....@intel.com > Reviewed-by: Igor Mammedov <imamm...@redhat.com> > Reviewed-by: Sergio Lopez <s...@redhat.com> > Signed-off-by: Ani Sinha <anisi...@redhat.com> > --- > hw/i386/microvm.c | 2 +- > target/i386/cpu.c | 15 --------------- > target/i386/cpu.h | 4 ---- > 3 files changed, 1 insertion(+), 20 deletions(-) > > changelog: > v2: tags added, more explanation in the commit log.
Reviewed-by: Zhao Liu <zhao1....@intel.com>