diff options
author | Roland McGrath <roland@redhat.com> | 2005-04-16 18:24:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:24:46 -0400 |
commit | ecd02dddd1d5bfc2141cbd0e205a53fb9d849c9e (patch) | |
tree | 06660dbabc1df1a5c6ee23d48bb07e09e2960a88 /arch/i386 | |
parent | b0a70b57f909647d79e0cc30772a0664fbf9830a (diff) |
[PATCH] i386: Use loaddebug macro consistently
This moves the macro loaddebug from asm-i386/suspend.h to
asm-i386/processor.h, which is the place that makes sense for it to be
defined, removes the extra copy of the same macro in
arch/i386/kernel/process.c, and makes arch/i386/kernel/signal.c use the
macro in place of its expansion.
This is a purely cosmetic cleanup for the normal i386 kernel. However, it
is handy for Xen to be able to just redefine the loaddebug macro once
instead of also changing the signal.c code.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/process.c | 7 | ||||
-rw-r--r-- | arch/i386/kernel/signal.c | 2 |
2 files changed, 1 insertions, 8 deletions
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c index 36145efc61b5..b2203e21acb3 100644 --- a/arch/i386/kernel/process.c +++ b/arch/i386/kernel/process.c | |||
@@ -558,13 +558,6 @@ handle_io_bitmap(struct thread_struct *next, struct tss_struct *tss) | |||
558 | */ | 558 | */ |
559 | tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY; | 559 | tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY; |
560 | } | 560 | } |
561 | /* | ||
562 | * This special macro can be used to load a debugging register | ||
563 | */ | ||
564 | #define loaddebug(thread,register) \ | ||
565 | __asm__("movl %0,%%db" #register \ | ||
566 | : /* no output */ \ | ||
567 | :"r" (thread->debugreg[register])) | ||
568 | 561 | ||
569 | /* | 562 | /* |
570 | * switch_to(x,yn) should switch tasks from x to y. | 563 | * switch_to(x,yn) should switch tasks from x to y. |
diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c index ef3602e1c052..ea46d028af08 100644 --- a/arch/i386/kernel/signal.c +++ b/arch/i386/kernel/signal.c | |||
@@ -618,7 +618,7 @@ int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset) | |||
618 | * inside the kernel. | 618 | * inside the kernel. |
619 | */ | 619 | */ |
620 | if (unlikely(current->thread.debugreg[7])) { | 620 | if (unlikely(current->thread.debugreg[7])) { |
621 | __asm__("movl %0,%%db7" : : "r" (current->thread.debugreg[7])); | 621 | loaddebug(¤t->thread, 7); |
622 | } | 622 | } |
623 | 623 | ||
624 | /* Whee! Actually deliver the signal. */ | 624 | /* Whee! Actually deliver the signal. */ |