diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2008-01-30 07:31:09 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:09 -0500 |
commit | eee3af4a2c83a97fff107ddc445d9df6fded9ce4 (patch) | |
tree | a7e9179b82b4df9e4cf6e810c54309324589395b /arch/x86/kernel/cpu | |
parent | 7796931f542518092d1fd2fb7cf1f1d96e0cd4b5 (diff) |
x86, ptrace: support for branch trace store(BTS)
Resend using different mail client
Changes to the last version:
- split implementation into two layers: ds/bts and ptrace
- renamed TIF's
- save/restore ds save area msr in __switch_to_xtra()
- make block-stepping only look at BTF bit
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/cpu')
-rw-r--r-- | arch/x86/kernel/cpu/intel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index 867ff94579be..e4b7e73e9024 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c | |||
@@ -11,6 +11,8 @@ | |||
11 | #include <asm/pgtable.h> | 11 | #include <asm/pgtable.h> |
12 | #include <asm/msr.h> | 12 | #include <asm/msr.h> |
13 | #include <asm/uaccess.h> | 13 | #include <asm/uaccess.h> |
14 | #include <asm/ptrace.h> | ||
15 | #include <asm/ds.h> | ||
14 | 16 | ||
15 | #include "cpu.h" | 17 | #include "cpu.h" |
16 | 18 | ||
@@ -219,6 +221,9 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c) | |||
219 | if (!(l1 & (1<<12))) | 221 | if (!(l1 & (1<<12))) |
220 | set_bit(X86_FEATURE_PEBS, c->x86_capability); | 222 | set_bit(X86_FEATURE_PEBS, c->x86_capability); |
221 | } | 223 | } |
224 | |||
225 | if (cpu_has_bts) | ||
226 | ds_init_intel(c); | ||
222 | } | 227 | } |
223 | 228 | ||
224 | static unsigned int __cpuinit intel_size_cache(struct cpuinfo_x86 * c, unsigned int size) | 229 | static unsigned int __cpuinit intel_size_cache(struct cpuinfo_x86 * c, unsigned int size) |