Re: [PATCH x86 for review III] [17/29] x86: Add new CPUID bits forAMD Family 10 CPUs in /proc/cpuinfo

From: Chuck Ebbert
Date: Mon Feb 12 2007 - 17:11:12 EST


Andi Kleen wrote:
> Just various new acronyms. The new popcnt bit is in the middle
> of Intel space. This looks a little weird, but I've been assured
> it's ok.
>
> Also I fixed RDTSCP for i386 which was at the wrong place.
>
> For i386 and x86-64.
>
> Signed-off-by: Andi Kleen <ak@xxxxxxx>
>
> ---
> arch/i386/kernel/cpu/proc.c | 14 +++++++++-----
> arch/x86_64/kernel/setup.c | 14 ++++++++++----
> 2 files changed, 19 insertions(+), 9 deletions(-)
>
> Index: linux/arch/x86_64/kernel/setup.c
> ===================================================================
> --- linux.orig/arch/x86_64/kernel/setup.c
> +++ linux/arch/x86_64/kernel/setup.c
> @@ -942,7 +942,8 @@ static int show_cpuinfo(struct seq_file
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, "nx", NULL, "mmxext", NULL,
> - NULL, "fxsr_opt", NULL, "rdtscp", NULL, "lm", "3dnowext", "3dnow",
> + NULL, "fxsr_opt", "pdpe1gb", "rdtscp", NULL, "lm",
> + "3dnowext", "3dnow",
>
> /* Transmeta-defined */
> "recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL,
> @@ -960,7 +961,7 @@ static int show_cpuinfo(struct seq_file
> /* Intel-defined (#2) */
> "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est",
> "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL,
> - NULL, NULL, "dca", NULL, NULL, NULL, NULL, NULL,
> + NULL, NULL, "dca", NULL, NULL, NULL, NULL, "popcnt",
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
>
> /* VIA/Cyrix/Centaur-defined */
> @@ -970,8 +971,10 @@ static int show_cpuinfo(struct seq_file
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
>
> /* AMD-defined (#2) */
> - "lahf_lm", "cmp_legacy", "svm", NULL, "cr8_legacy", NULL, NULL, NULL,
> - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> + "lahf_lm", "cmp_legacy", "svm", "extapic", "cr8_legacy",
> + "altmovcr8", "abm", "sse4a",
> + "misalignsse", "3dnowprefetch",
> + "osvw", "ibs", NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> };
> @@ -982,6 +985,9 @@ static int show_cpuinfo(struct seq_file
> "ttp", /* thermal trip */
> "tm",
> "stc",
> + "100mhzsteps",
> + "hwpstate",
> + NULL, /* tsc invariant mapped to constant_tsc */
> NULL,
> /* nothing */ /* constant_tsc - moved to flags */
> };
> Index: linux/arch/i386/kernel/cpu/proc.c
> ===================================================================
> --- linux.orig/arch/i386/kernel/cpu/proc.c
> +++ linux/arch/i386/kernel/cpu/proc.c
> @@ -29,7 +29,7 @@ static int show_cpuinfo(struct seq_file
> 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, "fxsr_opt", "rdtscp", NULL, NULL, "lm", "3dnowext", "3dnow",
> + NULL, "fxsr_opt", "pdpe1gb", "rdtscp", NULL, "lm", "3dnowext", "3dnow",
>
> /* Transmeta-defined */
> "recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL,
> @@ -47,7 +47,7 @@ static int show_cpuinfo(struct seq_file
> /* Intel-defined (#2) */
> "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est",
> "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL,
> - NULL, NULL, "dca", NULL, NULL, NULL, NULL, NULL,
> + NULL, NULL, "dca", NULL, NULL, NULL, NULL, "popcnt",
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
>
> /* VIA/Cyrix/Centaur-defined */
> @@ -57,8 +57,9 @@ static int show_cpuinfo(struct seq_file
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
>
> /* AMD-defined (#2) */
> - "lahf_lm", "cmp_legacy", "svm", NULL, "cr8legacy", NULL, NULL, NULL,
> - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> + "lahf_lm", "cmp_legacy", "svm", "extapic", "cr8legacy", "abm",
> + "sse4a", "misalignsse",
> + "3dnowprefetch", "osvw", "ibs", NULL, NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> };
> @@ -69,8 +70,11 @@ static int show_cpuinfo(struct seq_file
> "ttp", /* thermal trip */
> "tm",
> "stc",
> + "100mhzsteps",
> + "hwpstate",
> NULL,
> - /* nothing */ /* constant_tsc - moved to flags */
> + NULL, /* constant_tsc - moved to flags */
> + /* nothing */
> };
> struct cpuinfo_x86 *c = v;
> int i, n = c - cpu_data;
> -

Since we seem to have become the place where all these are collected,
shouldn't we document what they mean? I've got some this machine that
I'd like to know more about:

dts ss ds_cpl est tm2 ssse3 xtpr


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/