diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2010-03-25 09:51:51 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-03-26 06:33:57 -0400 |
commit | ea8e61b7bbc4a2faef77db34eb2db2a2c2372ff6 (patch) | |
tree | df2998225dc10245ce3d392576a724ab788e456c /arch/x86/include/asm/processor.h | |
parent | faa4602e47690fb11221e00f9b9697c8dc0d4b19 (diff) |
x86, ptrace: Fix block-step
Implement ptrace-block-step using TIF_BLOCKSTEP which will set
DEBUGCTLMSR_BTF when set for a task while preserving any other
DEBUGCTLMSR bits.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20100325135414.017536066@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/include/asm/processor.h')
-rw-r--r-- | arch/x86/include/asm/processor.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 5bec21a66dc5..32428b410b55 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
@@ -799,7 +799,7 @@ extern void cpu_init(void); | |||
799 | 799 | ||
800 | static inline unsigned long get_debugctlmsr(void) | 800 | static inline unsigned long get_debugctlmsr(void) |
801 | { | 801 | { |
802 | unsigned long debugctlmsr = 0; | 802 | unsigned long debugctlmsr = 0; |
803 | 803 | ||
804 | #ifndef CONFIG_X86_DEBUGCTLMSR | 804 | #ifndef CONFIG_X86_DEBUGCTLMSR |
805 | if (boot_cpu_data.x86 < 6) | 805 | if (boot_cpu_data.x86 < 6) |
@@ -807,7 +807,7 @@ static inline unsigned long get_debugctlmsr(void) | |||
807 | #endif | 807 | #endif |
808 | rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr); | 808 | rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr); |
809 | 809 | ||
810 | return debugctlmsr; | 810 | return debugctlmsr; |
811 | } | 811 | } |
812 | 812 | ||
813 | static inline void update_debugctlmsr(unsigned long debugctlmsr) | 813 | static inline void update_debugctlmsr(unsigned long debugctlmsr) |