On Tue, Jun 25, 2019 at 03:32:16PM +0100, Dr. David Alan Gilbert wrote: > * Eduardo Habkost (ehabk...@redhat.com) wrote: > > On Tue, Jun 25, 2019 at 10:32:01AM +0100, Dr. David Alan Gilbert wrote: > > > * Eduardo Habkost (ehabk...@redhat.com) wrote: > > > > Base code for versioned CPU models. This will register a "-4.1" > > > > version of all existing CPU models, and make the unversioned CPU > > > > models be an alias for the -4.1 versions on the pc-*-4.1 machine > > > > types. > > > > > > > > On older machine types, the unversioned CPU models will keep the > > > > old behavior. This way, management software can use old machine > > > > types while resolving aliases if compatibility with older QEMU > > > > versions is required. > > > > > > > > Using "-machine none", the unversioned CPU models will be aliases > > > > to the latest CPU model version. > > > > > > > > Includes a test case to ensure that: > > > > old machine types won't report any alias to versioned CPU models; > > > > "pc-*-4.1" will return aliases to -4.1 CPU models; > > > > and "-machine none" will report aliases to some versioned CPU model. > > > > > > > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > > > > > > What happens when we add the next new CPU model? So say in 4.2 we add > > > a new CPU, does that default to being newcpu-4.2 ? > > > > We can choose between providing old versions of the CPU model > > retroactively ("NewModel-4.1" and "NewModel-4.2"), or providing > > only "NewModel-4.2". > > > > The question is: if we provide only "NewModel-4.2", what should > > be the behavior of "-machine pc-i440fx-4.1 -cpu NewModel"? > > Perhaps the existing CPUs and the first instance of a new CPU > we should use something non-numeric, e.g. 'orig' rather than 4.1; > we only go numeric when we cause a divergence.
What would be the advantage of a non-numeric version identifier? I believe it would be more confusing to have (e.g.) ["NewModel-orig", "NewModel-4.3"] in QEMU 4.3 instead of ["NewModel-4.2", "NewModel-4.3"]. However, you have another interesting point: should we introduce -4.2 versions of all CPU models in QEMU 4.2, or only for the ones that actually changed? I think I prefer consistency, even if it means making the list of CPU models larger. What do others think? -- Eduardo