diff options
author | Markus Metzger <markus.t.metzger@googlemail.com> | 2008-11-09 08:29:21 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-10 02:50:32 -0500 |
commit | f4166c54bfe04f64603974058e44fbd7cfef0ccc (patch) | |
tree | 952c9e53143990dbd6159cb6c2412498d84a49e3 /arch/x86 | |
parent | f7160c7573615ec82c691e294cf80d920b5d588d (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.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/ds.c | 9 | ||||
-rw-r--r-- | arch/x86/kernel/ptrace.c | 9 |
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: |