On Thu, Jun 20, 2019 at 11:02:39AM +0200, Igor Mammedov wrote:
On Tue, 18 Jun 2019 10:55:16 -0300
Eduardo Habkost <address@hidden> wrote:
On Tue, Jun 18, 2019 at 01:34:10PM +0200, Igor Mammedov wrote:
On Mon, 17 Jun 2019 13:27:00 -0300
Eduardo Habkost <address@hidden> wrote:
On Mon, Jun 17, 2019 at 05:33:43PM +0200, Igor Mammedov wrote:
On Mon, 17 Jun 2019 17:15:21 +0200
Philippe Mathieu-Daudé <address@hidden> wrote:
[...]
Yes. Eduardo and you should write some lines to explain this, and then
we will follow :)
Unfortunately I don't recall details anymore. One could check out all
implementations of class_by_name callbacks to find out current state.
See this message for a summary of existing class_by_name quirks:
https://www.mail-archive.com/address@hidden/msg615503.html
Date: Wed, 08 May 2019 10:34:44 +0200
Message-ID: <address@hidden>
Subject: Re: [Qemu-devel] [PATCH 0/7] Delete 16 *_cpu_class_by_name()
functions
I'm unsure about Igor's suggestion to get rid of CPU model names
and use only QOM type names in external interfaces. In either
case, we can still simplify the rules rules and reduce the amount
of arch-specific code.
as far as we have cpu_class_by_name, we have to watch over that
new patches/targets won't add some custom handling/fallbac/whatnot.
We can get rid of CPUClass::cpu_class_by_name() without changing
the external interfaces provided by QEMU.
if you mean QMP, than it is possible to keep model there where
it already exists. Based on experiment [1](x86) I did, it's local to
affected target and doesn't pollute other code.
I mean both command line and QMP.
I don't have a strong opinion about using only QOM types at -cpu,
yet. But first we need to get rid of the arch-specific CPU model
name exceptions enumerated at the URL above (which would be very
welcome).
One way to get rid of them is to deprecate them in favor of strict
match (no fallback/substitutions/aliases) to typename and when we
drop it make switch type based naming only.
This is true, but is it desirable? Aren't we just moving
complexity elsewhere? Management software would still need to
translate CPU models from existing VM configurations to QOM type
names.
1) I've just took a quick look at how much of duplicated/confusing
code we could get rid off if we drop cpu_class_by_name/*_cpu_list.
It amounts to >800LOC of trivial removal (not counting ppc/s390
that depend on model naming heavily and in need of some non
trivial refactoring)
Removing the code might be trivial. Coordinating with the
maintainers of all architectures to confirm this is really
something everybody wants is the difficult part.
If you really want to do it, please make sure all the
architecture maintainers (and libvirt developers) are involved in
the discussion.