Patchwork [09/17] target-i386: move out CPU features initialization to separate func

login
register
mail settings
Submitter Eduardo Habkost
Date Nov. 12, 2012, 9:38 p.m.
Message ID <1352756342-13716-10-git-send-email-ehabkost@redhat.com>
Download mbox | patch
Permalink /patch/198486/
State New
Headers show

Comments

Eduardo Habkost - Nov. 12, 2012, 9:38 p.m.
From: Igor Mammedov <imammedo@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 <imammedo@redhat.com>
[ehabkost: added error reporting to function]
Signed-off-by: Eduardo Habkost <ehabkost@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(-)
Blue Swirl - Nov. 17, 2012, 4:03 p.m.
On Mon, Nov 12, 2012 at 9:38 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> From: Igor Mammedov <imammedo@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 <imammedo@redhat.com>
> [ehabkost: added error reporting to function]
> Signed-off-by: Eduardo Habkost <ehabkost@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)

Please add braces, also below.

> +        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
>
>

Patch

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;