From: Harvey Harrison Date: Wed, 30 Jan 2008 12:33:12 +0000 (+0100) Subject: x86: use wrmsrl in kprobes.c, step.c X-Git-Tag: v2.6.25-rc1~1143^2~290 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=f13bd3e7935f7020f7c622bf3f8cae8eee757a53;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c index 93aff49798e..edc0a8e5924 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, static void __kprobes clear_btf(void) { if (test_thread_flag(TIF_DEBUGCTLMSR)) - wrmsr(MSR_IA32_DEBUGCTLMSR, 0, 0); + wrmsrl(MSR_IA32_DEBUGCTLMSR, 0); } static void __kprobes restore_btf(void) { if (test_thread_flag(TIF_DEBUGCTLMSR)) - wrmsr(MSR_IA32_DEBUGCTLMSR, current->thread.debugctlmsr, 0); + wrmsrl(MSR_IA32_DEBUGCTLMSR, current->thread.debugctlmsr); } 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 5884dd485db..b801e76cebf 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) if (child != current) return; -#ifdef CONFIG_X86_64 wrmsrl(MSR_IA32_DEBUGCTLMSR, val); -#else - wrmsr(MSR_IA32_DEBUGCTLMSR, val, 0); -#endif } /*