On Sun, Dec 09, 2012 at 08:45:50PM +0100, Andreas Färber wrote: > Simplifies the upcoming cleanup of cpu_x86_find_by_name().
...by making cpu_x86_register() more complicated, and having CPU model name lookup spread into different parts of the code. The CPU model lookup is a bit complex because of the "host" exception, but at least the complexity was hidden inside cpu_x86_find_by_name() (making it very easy to replace that logic by a CPU subclass lookup, later). > > Signed-off-by: Andreas Färber <afaer...@suse.de> > --- > target-i386/cpu.c | 12 +++++++----- > 1 Datei geändert, 7 Zeilen hinzugefügt(+), 5 Zeilen entfernt(-) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index 7be3ad8..a46faa2 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -1217,9 +1217,7 @@ static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def, > const char *name) > break; > } > } > - if (kvm_enabled() && name && strcmp(name, "host") == 0) { > - kvm_cpu_fill_host(x86_cpu_def); > - } else if (!def) { > + if (!def) { > return -1; > } else { > memcpy(x86_cpu_def, def, sizeof(*def)); > @@ -1505,8 +1503,12 @@ int cpu_x86_register(X86CPU *cpu, const char > *cpu_model) > name = model_pieces[0]; > features = model_pieces[1]; > > - if (cpu_x86_find_by_name(def, name) < 0) { > - goto error; > + if (kvm_enabled() && strcmp(name, "host") == 0) { > + kvm_cpu_fill_host(def); > + } else { > + if (cpu_x86_find_by_name(def, name) < 0) { > + goto error; > + } > } > > if (cpu_x86_parse_featurestr(def, features) < 0) { > -- > 1.7.10.4 > -- Eduardo