aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@googlemail.com>2008-11-09 08:29:21 -0500
committerIngo Molnar <mingo@elte.hu>2008-11-10 02:50:32 -0500
commitf4166c54bfe04f64603974058e44fbd7cfef0ccc (patch)
tree952c9e53143990dbd6159cb6c2412498d84a49e3 /arch/x86
parentf7160c7573615ec82c691e294cf80d920b5d588d (diff)
x86, bts: DS and BTS initialization
Impact: widen BTS/PEBS ptrace enablement to more CPU models Move BTS initialisation out of an #ifdef CONFIG_X86_64 guard. Assume core2 BTS and DS layout for future models of family 6 processors. Signed-off-by: Markus Metzger <markus.t.metzger@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/cpu/intel.c3
-rw-r--r--arch/x86/kernel/ds.c9
-rw-r--r--arch/x86/kernel/ptrace.c9
3 files changed, 9 insertions, 12 deletions
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index cce0b6118d55..816f27f289b1 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -307,12 +307,11 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
307 set_cpu_cap(c, X86_FEATURE_P4); 307 set_cpu_cap(c, X86_FEATURE_P4);
308 if (c->x86 == 6) 308 if (c->x86 == 6)
309 set_cpu_cap(c, X86_FEATURE_P3); 309 set_cpu_cap(c, X86_FEATURE_P3);
310#endif
310 311
311 if (cpu_has_bts) 312 if (cpu_has_bts)
312 ptrace_bts_init_intel(c); 313 ptrace_bts_init_intel(c);
313 314
314#endif
315
316 detect_extended_topology(c); 315 detect_extended_topology(c);
317 if (!cpu_has(c, X86_FEATURE_XTOPOLOGY)) { 316 if (!cpu_has(c, X86_FEATURE_XTOPOLOGY)) {
318 /* 317 /*
diff --git a/arch/x86/kernel/ds.c b/arch/x86/kernel/ds.c
index 2b69994fd3a8..c570252905a1 100644
--- a/arch/x86/kernel/ds.c
+++ b/arch/x86/kernel/ds.c
@@ -821,17 +821,16 @@ void __cpuinit ds_init_intel(struct cpuinfo_x86 *c)
821 switch (c->x86) { 821 switch (c->x86) {
822 case 0x6: 822 case 0x6:
823 switch (c->x86_model) { 823 switch (c->x86_model) {
824 case 0 ... 0xC:
825 /* sorry, don't know about them */
826 break;
824 case 0xD: 827 case 0xD:
825 case 0xE: /* Pentium M */ 828 case 0xE: /* Pentium M */
826 ds_configure(&ds_cfg_var); 829 ds_configure(&ds_cfg_var);
827 break; 830 break;
828 case 0xF: /* Core2 */ 831 default: /* Core2, Atom, ... */
829 case 0x1C: /* Atom */
830 ds_configure(&ds_cfg_64); 832 ds_configure(&ds_cfg_64);
831 break; 833 break;
832 default:
833 /* sorry, don't know about them */
834 break;
835 } 834 }
836 break; 835 break;
837 case 0xF: 836 case 0xF:
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index 0a6d8c12e10d..06180dff5b2e 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -929,17 +929,16 @@ void __cpuinit ptrace_bts_init_intel(struct cpuinfo_x86 *c)
929 switch (c->x86) { 929 switch (c->x86) {
930 case 0x6: 930 case 0x6:
931 switch (c->x86_model) { 931 switch (c->x86_model) {
932 case 0 ... 0xC:
933 /* sorry, don't know about them */
934 break;
932 case 0xD: 935 case 0xD:
933 case 0xE: /* Pentium M */ 936 case 0xE: /* Pentium M */
934 bts_configure(&bts_cfg_pentium_m); 937 bts_configure(&bts_cfg_pentium_m);
935 break; 938 break;
936 case 0xF: /* Core2 */ 939 default: /* Core2, Atom, ... */
937 case 0x1C: /* Atom */
938 bts_configure(&bts_cfg_core2); 940 bts_configure(&bts_cfg_core2);
939 break; 941 break;
940 default:
941 /* sorry, don't know about them */
942 break;
943 } 942 }
944 break; 943 break;
945 case 0xF: 944 case 0xF: