diff options
author | Harvey Harrison <harvey.harrison@gmail.com> | 2008-01-30 07:33:12 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:12 -0500 |
commit | f13bd3e7935f7020f7c622bf3f8cae8eee757a53 (patch) | |
tree | 5930ec49601600b9eff35ca440a40b5a7320d357 /arch/x86/kernel | |
parent | e8c10ef9dde3ab7b7d7db6804859d9daf38f01c4 (diff) |
x86: use wrmsrl in kprobes.c, step.c
Where x86_32 passed zero in the high 32 bits, use wrmsrl which
will zero extend for us. This allows ifdefs for 32/64 bit to
be eliminated.
Eliminate ifdef in step.c. Similar cleanup was done when unifying
kprobes_32|64.c and wrmsr() was chosen there over wrmsrl(). This
patch changes these to wrmsrl.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/kprobes.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/step.c | 4 |
2 files changed, 2 insertions, 6 deletions
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c index 93aff49798ee..edc0a8e59247 100644 --- a/arch/x86/kernel/kprobes.c +++ b/arch/x86/kernel/kprobes.c | |||
@@ -410,13 +410,13 @@ static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | |||
410 | static void __kprobes clear_btf(void) | 410 | static void __kprobes clear_btf(void) |
411 | { | 411 | { |
412 | if (test_thread_flag(TIF_DEBUGCTLMSR)) | 412 | if (test_thread_flag(TIF_DEBUGCTLMSR)) |
413 | wrmsr(MSR_IA32_DEBUGCTLMSR, 0, 0); | 413 | wrmsrl(MSR_IA32_DEBUGCTLMSR, 0); |
414 | } | 414 | } |
415 | 415 | ||
416 | static void __kprobes restore_btf(void) | 416 | static void __kprobes restore_btf(void) |
417 | { | 417 | { |
418 | if (test_thread_flag(TIF_DEBUGCTLMSR)) | 418 | if (test_thread_flag(TIF_DEBUGCTLMSR)) |
419 | wrmsr(MSR_IA32_DEBUGCTLMSR, current->thread.debugctlmsr, 0); | 419 | wrmsrl(MSR_IA32_DEBUGCTLMSR, current->thread.debugctlmsr); |
420 | } | 420 | } |
421 | 421 | ||
422 | static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | 422 | static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) |
diff --git a/arch/x86/kernel/step.c b/arch/x86/kernel/step.c index 5884dd485db8..b801e76cebf7 100644 --- a/arch/x86/kernel/step.c +++ b/arch/x86/kernel/step.c | |||
@@ -229,11 +229,7 @@ static void write_debugctlmsr(struct task_struct *child, unsigned long val) | |||
229 | if (child != current) | 229 | if (child != current) |
230 | return; | 230 | return; |
231 | 231 | ||
232 | #ifdef CONFIG_X86_64 | ||
233 | wrmsrl(MSR_IA32_DEBUGCTLMSR, val); | 232 | wrmsrl(MSR_IA32_DEBUGCTLMSR, val); |
234 | #else | ||
235 | wrmsr(MSR_IA32_DEBUGCTLMSR, val, 0); | ||
236 | #endif | ||
237 | } | 233 | } |
238 | 234 | ||
239 | /* | 235 | /* |