upgrade to fedora-2.6.12-1.1398.FC4 + vserver 2.0.rc7
[linux-2.6.git] / arch / i386 / kernel / cpu / proc.c
index 4ba834c..f6da999 100644 (file)
@@ -25,10 +25,10 @@ static int show_cpuinfo(struct seq_file *m, void *v)
                "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe",
 
                /* AMD-defined */
-               "pni", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
                NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL,
                NULL, NULL, NULL, "mp", "nx", NULL, "mmxext", NULL,
-               NULL, NULL, NULL, NULL, NULL, "lm", "3dnowext", "3dnow",
+               NULL, "fxsr_opt", NULL, NULL, NULL, "lm", "3dnowext", "3dnow",
 
                /* Transmeta-defined */
                "recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL,
@@ -45,7 +45,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 
                /* Intel-defined (#2) */
                "pni", NULL, NULL, "monitor", "ds_cpl", NULL, NULL, "est",
-               "tm2", NULL, "cid", NULL, NULL, NULL, "xtpr", NULL,
+               "tm2", NULL, "cid", NULL, NULL, "cx16", "xtpr", NULL,
                NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
                NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
 
@@ -54,6 +54,12 @@ static int show_cpuinfo(struct seq_file *m, void *v)
                NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
                NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
                NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+
+               /* AMD-defined (#2) */
+               "lahf_lm", "cmp_legacy", NULL, NULL, NULL, NULL, NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+               NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
        };
        struct cpuinfo_x86 *c = v;
        int i, n = c - cpu_data;
@@ -88,10 +94,12 @@ static int show_cpuinfo(struct seq_file *m, void *v)
        if (c->x86_cache_size >= 0)
                seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size);
 #ifdef CONFIG_X86_HT
-       if (smp_num_siblings > 1) {
-               extern int phys_proc_id[NR_CPUS];
+       if (c->x86_num_cores * smp_num_siblings > 1) {
                seq_printf(m, "physical id\t: %d\n", phys_proc_id[n]);
-               seq_printf(m, "siblings\t: %d\n", smp_num_siblings);
+               seq_printf(m, "siblings\t: %d\n",
+                               c->x86_num_cores * smp_num_siblings);
+               seq_printf(m, "core id\t\t: %d\n", cpu_core_id[n]);
+               seq_printf(m, "cpu cores\t: %d\n", c->x86_num_cores);
        }
 #endif
        
@@ -121,8 +129,9 @@ static int show_cpuinfo(struct seq_file *m, void *v)
                        seq_printf(m, " %s", x86_cap_flags[i]);
 
        seq_printf(m, "\nbogomips\t: %lu.%02lu\n\n",
-                    c->loops_per_jiffy/(500000/HZ),
-                    (c->loops_per_jiffy/(5000/HZ)) % 100);
+                    HZ*(c->loops_per_jiffy >> 3)/62500,
+                    (HZ*(c->loops_per_jiffy >> 3)/625) % 100);
+
        return 0;
 }