qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 08/21] cpuid: list all known x86 CPUID feature fl


From: Andre Przywara
Subject: [Qemu-devel] [PATCH v2 08/21] cpuid: list all known x86 CPUID feature flags
Date: Fri, 18 Sep 2009 13:48:01 +0200

-cpu ? currently gives us a list of known CPU models. Add a list
of known CPUID feature flags to the output.

Signed-off-by: Andre Przywara <address@hidden>
---
 target-i386/cpuid.c |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/target-i386/cpuid.c b/target-i386/cpuid.c
index 0d6e37a..8243f44 100644
--- a/target-i386/cpuid.c
+++ b/target-i386/cpuid.c
@@ -553,10 +553,27 @@ error:
 
 void x86_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...))
 {
-    unsigned int i;
+    unsigned int i, j;
+    const char **stringlist[] = {feature_name, ext_feature_name,
+                                 ext2_feature_name, ext3_feature_name};
 
     for (i = 0; i < ARRAY_SIZE(x86_defs); i++)
         (*cpu_fprintf)(f, "x86 %16s\n", x86_defs[i].name);
+
+    (*cpu_fprintf)(f, "x86 recognized feature flags:\n    ");
+    for (j = 0; j < 4; j++) {
+        for (i = 0; i < 32; i++) {
+            if (j == 2 && ((1 << i) & EXT2_FEATURE_MASK))
+                continue;
+            if (stringlist[j][i] == NULL)
+                continue;
+            (*cpu_fprintf)(f, "%s ", stringlist[j][i]);
+            if (i == 15)
+                (*cpu_fprintf)(f, "\n    ");
+        }
+        (*cpu_fprintf)(f, "\n    ");
+    }
+    return;
 }
 
 int cpu_x86_register (CPUX86State *env, const char *cpu_model)
-- 
1.6.1.3






reply via email to

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