From: Igor Mammedov <imamm...@redhat.com> Later it will be used in cpu_x86_init() to init CPU from found cpudef.
This is will make it easier to reorder and clean up the cpu_x86_init() code later. Signed-off-by: Igor Mammedov <imamm...@redhat.com> [ehabkost: added error reporting to function] Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- v2: - rebased on top of "i386: cpu: remove duplicate feature names" http://www.mail-archive.com/qemu-devel@nongnu.org/msg129458.html v3 (ehabkost): - Rebased on top of CPU model classes work in progress - Added error reporting to new function - Changed commit message --- target-i386/cpu.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 7f4e8f0..cef120e 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -1424,16 +1424,11 @@ static void filter_features_for_kvm(X86CPU *cpu) } #endif -static int cpu_x86_register(X86CPU *cpu, const char *cpu_model, Error **errp) +static int cpudef_2_x86_cpu(X86CPU *cpu, X86CPUDefinition *def, Error **errp) { CPUX86State *env = &cpu->env; - X86CPUDefinition def1, *def = &def1; Error *error = NULL; - memset(def, 0, sizeof(*def)); - - if (cpu_x86_find_by_name(def, cpu_model) < 0) - return -1; if (def->vendor1) { env->cpuid_vendor1 = def->vendor1; env->cpuid_vendor2 = def->vendor2; @@ -1494,6 +1489,19 @@ static int cpu_x86_register(X86CPU *cpu, const char *cpu_model, Error **errp) return 0; } +static int cpu_x86_register(X86CPU *cpu, const char *cpu_model, Error **errp) +{ + X86CPUDefinition def1, *def = &def1; + + memset(def, 0, sizeof(*def)); + + if (cpu_x86_find_by_name(def, cpu_model) < 0) + return -1; + if (cpudef_2_x86_cpu(cpu, def, errp) < 0) + return -1; + return 0; +} + X86CPU *cpu_x86_init(const char *cpu_model) { X86CPU *cpu; -- 1.7.11.7