Commit 2b514e74 authored by Jan Beulich's avatar Jan Beulich Committed by Linus Torvalds

[PATCH] x86_64: eliminate set_debug()

For consistency and to have only a single place of definition, replace
set_debug() uses with set_debugreg(), and eliminate the definition of
thj former.
Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 893efca9
...@@ -508,7 +508,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long rsp, ...@@ -508,7 +508,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long rsp,
/* /*
* This special macro can be used to load a debugging register * This special macro can be used to load a debugging register
*/ */
#define loaddebug(thread,r) set_debug(thread->debugreg ## r, r) #define loaddebug(thread,r) set_debugreg(thread->debugreg ## r, r)
/* /*
* switch_to(x,y) should switch tasks from x to y. * switch_to(x,y) should switch tasks from x to y.
......
...@@ -281,12 +281,12 @@ void __cpuinit cpu_init (void) ...@@ -281,12 +281,12 @@ void __cpuinit cpu_init (void)
* Clear all 6 debug registers: * Clear all 6 debug registers:
*/ */
set_debug(0UL, 0); set_debugreg(0UL, 0);
set_debug(0UL, 1); set_debugreg(0UL, 1);
set_debug(0UL, 2); set_debugreg(0UL, 2);
set_debug(0UL, 3); set_debugreg(0UL, 3);
set_debug(0UL, 6); set_debugreg(0UL, 6);
set_debug(0UL, 7); set_debugreg(0UL, 7);
fpu_init(); fpu_init();
} }
...@@ -39,9 +39,7 @@ extern unsigned long saved_context_r12, saved_context_r13, saved_context_r14, sa ...@@ -39,9 +39,7 @@ extern unsigned long saved_context_r12, saved_context_r13, saved_context_r14, sa
extern unsigned long saved_context_eflags; extern unsigned long saved_context_eflags;
#define loaddebug(thread,register) \ #define loaddebug(thread,register) \
__asm__("movq %0,%%db" #register \ set_debugreg((thread)->debugreg##register, register)
: /* no output */ \
:"r" ((thread)->debugreg##register))
extern void fix_processor_context(void); extern void fix_processor_context(void);
......
...@@ -70,12 +70,6 @@ extern void load_gs_index(unsigned); ...@@ -70,12 +70,6 @@ extern void load_gs_index(unsigned);
".previous" \ ".previous" \
: :"r" (value), "r" (0)) : :"r" (value), "r" (0))
#define set_debug(value,register) \
__asm__("movq %0,%%db" #register \
: /* no output */ \
:"r" ((unsigned long) value))
#ifdef __KERNEL__ #ifdef __KERNEL__
struct alt_instr { struct alt_instr {
__u8 *instr; /* original instruction */ __u8 *instr; /* original instruction */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment