qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC 08/19] i386: extract CPU model lookup to a separate fu


From: Eduardo Habkost
Subject: [Qemu-devel] [RFC 08/19] i386: extract CPU model lookup to a separate function
Date: Thu, 2 Aug 2012 23:59:15 -0300

Signed-off-by: Eduardo Habkost <address@hidden>
---
 target-i386/cpu.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index dd2dc45..e5be586 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1231,16 +1231,10 @@ error:
     return -1;
 }
 
-static int cpu_x86_build_from_name(x86_def_t *x86_cpu_def,
-                                   const char *cpu_model)
+static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def, const char *name)
 {
     x86_def_t *def;
 
-    char *last;
-    char *s = g_strdup(cpu_model);
-    char *name = strtok_r(s, ",", &last);
-    char *featlist = strtok_r(NULL, "", &last);
-
     for (def = x86_defs; def; def = def->next) {
         if (name && !strcmp(name, def->name)) {
             break;
@@ -1254,6 +1248,22 @@ static int cpu_x86_build_from_name(x86_def_t 
*x86_cpu_def,
     } else {
         memcpy(x86_cpu_def, def, sizeof(*def));
     }
+    return 0;
+error:
+    return -1;
+}
+
+static int cpu_x86_build_from_name(x86_def_t *x86_cpu_def,
+                                   const char *cpu_model)
+{
+    char *last;
+    char *s = g_strdup(cpu_model);
+    char *name = strtok_r(s, ",", &last);
+    char *featlist = strtok_r(NULL, "", &last);
+
+    if (cpu_x86_find_by_name(x86_cpu_def, name) != 0) {
+        goto error;
+    }
 
     if (cpu_x86_extend_features(x86_cpu_def, featlist) < 0) {
         goto error;
-- 
1.7.11.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]