From: John Villalovos on
Version 2:

Incorporating suggested changes from Robert Richter.

Back when the patch was submitted for "Add Xeon 7500 series support to
oprofile", Robert Richter had asked for a followon patch that converted all the
CPU ID values to hex.

I have done that here for the "i386/core_i7" and "i386/atom" class
processors in the ppro_init() function and also added some comments on
where to find documentation on the Intel processors.

Signed-off-by: John L. Villalovos <john.l.villalovos(a)intel.com>

diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index 9f001d9..2de5f44 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -586,6 +586,13 @@ static int __init ppro_init(char **cpu_type)
if (force_arch_perfmon && cpu_has_arch_perfmon)
return 0;

+ /* Documentation on identifying Intel processors by CPU Family and Model
+ * can be found in the Intel Software Developer's Manual (SDM).
+ * http://www.intel.com/products/processor/manuals/
+ * As of May 2010 the documentation for this was in the:
+ * "Intel 64 and IA-32 Architectures Software Developer's Manual Volume
+ * 3B: System Programming Guide",
+ * "Table B-1 CPUID Signature Values of DisplayFamily_DisplayModel" */
switch (cpu_model) {
case 0 ... 2:
*cpu_type = "i386/ppro";
@@ -607,12 +614,12 @@ static int __init ppro_init(char **cpu_type)
case 15: case 23:
*cpu_type = "i386/core_2";
break;
+ case 0x1a:
case 0x2e:
- case 26:
spec = &op_arch_perfmon_spec;
*cpu_type = "i386/core_i7";
break;
- case 28:
+ case 0x1c:
*cpu_type = "i386/atom";
break;
default:


--
John Villalovos
Intel Corporation on-site partner engineer at Red Hat, Inc.

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